Hey,
I’m trying to configure a Jenkins job running on a local server to add annotations to Grafana on successful deployments. Grafana lives on AWS in a Kubernetes cluster. It’s deployed via the Loki helm chart along with Loki and Prometheus.
Currently I have server domain and root url set like this:
--set grafana."grafana\.ini".server.domain=${APPLICATION_URL} \
--set grafana."grafana\.ini".server.root_url="https://${APPLICATION_URL}/logs/" \
And Ingress for AWS load balancer is set like this:
apiVersion: v1
items:
- apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
alb.ingress.kubernetes.io/backend-protocol: HTTP
alb.ingress.kubernetes.io/certificate-arn: <cert>
alb.ingress.kubernetes.io/group.name: <group-name>
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/target-type: instance
kubectl.kubernetes.io/last-applied-configuration: <stuff>
kubernetes.io/ingress.class: alb
finalizers:
- group.ingress.k8s.aws/<name>
generation: 1
name: grafana
namespace: grafana
spec:
rules:
- http:
paths:
- backend:
service:
name: loki-grafana
port:
number: 1234
path: /logs
pathType: Prefix
status:
loadBalancer:
ingress:
- hostname: <blahblah.com>
kind: List
metadata:
resourceVersion: ""
selfLink: ""
However, I believe the annotations API requires routing to ‘/api/annotations’. Is there a way to configure this via helm and an ingress?
Or is there a better way to get Jenkins deployments to annotate Grafana?
Thanks
Grafana v8.1.6