diff --git a/Chart.yaml b/Chart.yaml index 6c70971..8ece3c9 100644 --- a/Chart.yaml +++ b/Chart.yaml @@ -5,4 +5,6 @@ description: A helm chart to deploy a Grafana dashboard for monitoring VK type: application version: 0.1.0 -appVersion: "0.1.0" \ No newline at end of file +appVersion: "0.1.0" + +maintainer: "gibianch@pg.infn.it" \ No newline at end of file diff --git a/templates/configmaps/cfg-grafana.yaml b/templates/configmaps/cfg-grafana.yaml index 05782d6..5d1c00e 100644 --- a/templates/configmaps/cfg-grafana.yaml +++ b/templates/configmaps/cfg-grafana.yaml @@ -27,6 +27,7 @@ data: "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 0, + "id": 2, "links": [], "liveNow": true, "panels": [ @@ -1986,6 +1987,7 @@ data: }, { "datasource": { + "default": true, "type": "tempo", "uid": "1" }, @@ -2050,7 +2052,7 @@ data: "scope": "span", "tag": "name", "value": [ - "StatusHttpCall" + "LogHttpCall" ], "valueType": "string" }, @@ -2071,8 +2073,8 @@ data: } ], "limit": 100000, - "query": "{name=\"CreateHttpCall\" && resource.service.name=\"InterLink-service\" && .exit.code=200 }", - "queryType": "traceqlSearch", + "query": "{name=\"LogHttpCall\" && resource.service.name=\"InterLink-service\" && .exit.code=200 }", + "queryType": "traceql", "refId": "A", "tableType": "spans" } diff --git a/templates/ingresses/ing-tempo.yaml b/templates/ingresses/ing-tempo.yaml index d21095f..c30afcb 100644 --- a/templates/ingresses/ing-tempo.yaml +++ b/templates/ingresses/ing-tempo.yaml @@ -1,10 +1,49 @@ +apiVersion: cert-manager.io/v1 +kind: ClusterIssuer +metadata: + name: letsencrypt-prod + namespace: {{ .Release.Namespace }} +spec: + acme: + server: https://acme-v02.api.letsencrypt.org/directory + email: {{ .Values.maintainerEmail }} + privateKeySecretRef: + name: letsencrypt-prod + solvers: + - http01: + ingress: + class: nginx + +--- + +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: example-certificate + namespace: {{ .Release.Namespace }} +spec: + secretName: tempo-tls + issuerRef: + name: letsencrypt-prod + kind: ClusterIssuer + commonName: {{ .Values.ingresses.tempo.host }} + dnsNames: + - {{ .Values.ingresses.tempo.host }} + +--- + apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: - nginx.ingress.kubernetes.io/backend-protocol: "GRPC" - nginx.ingress.kubernetes.io/ssl-passthrough: "true" - nginx.ingress.kubernetes.io/ssl-redirect: "true" + kubernetes.io/ingress.class: nginx + {{- if .Values.ingresses.tempo.auth_enabled }} + nginx.ingress.kubernetes.io/auth-type: basic + nginx.ingress.kubernetes.io/auth-secret: basic-auth + nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required' + {{- end }} + nginx.ingress.kubernetes.io/backend-protocol: "GRPC" + name: tempo-ingress namespace: {{ .Release.Namespace }} spec: @@ -18,9 +57,9 @@ spec: service: name: {{ .Values.services.tempo.name }} port: - number: 443 + number: {{ .Values.ingresses.tempo.port }} host: {{ .Values.ingresses.tempo.host }} tls: - hosts: - {{ .Values.ingresses.tempo.host }} - secretName: tempo-tls-secret \ No newline at end of file + secretName: tempo-tls \ No newline at end of file diff --git a/templates/secrets/basicauth.yaml b/templates/secrets/basicauth.yaml new file mode 100644 index 0000000..887ee4c --- /dev/null +++ b/templates/secrets/basicauth.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Secret +metadata: + name: basic-auth + namespace: {{ .Release.Namespace }} # This will automatically use the namespace where the Helm release is deployed + labels: + app.kubernetes.io/name: {{ .Chart.Name }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }} +type: Opaque +data: + auth: {{ printf "%s:%s" .Values.auth.tempo.username .Values.auth.tempo.password | b64enc | quote }} \ No newline at end of file diff --git a/templates/secrets/scttls.yaml b/templates/secrets/scttls.yaml deleted file mode 100644 index 89eac6a..0000000 --- a/templates/secrets/scttls.yaml +++ /dev/null @@ -1,111 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: ca-crt - namespace: {{ .Release.Namespace }} -data: - ca.crt: | - LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVpakNDQXZLZ0F3SUJBZ0lSQUpGV093TFha - bDVmVU1GYXkvenpWam93RFFZSktvWklodmNOQVFFTEJRQXcKWFRFZU1Cd0dBMVVFQ2hNVmJXdGpa - WEowSUdSbGRtVnNiM0J0Wlc1MElFTkJNUmt3RndZRFZRUUxEQkJuYVhWcwphVzlBWjJsMWJHbHZM - WEJqTVNBd0hnWURWUVFEREJkdGEyTmxjblFnWjJsMWJHbHZRR2RwZFd4cGJ5MXdZekFlCkZ3MHlO - REEzTWpRd09URTJORFphRncwek5EQTNNalF3T1RFMk5EWmFNRjB4SGpBY0JnTlZCQW9URlcxclky - VnkKZENCa1pYWmxiRzl3YldWdWRDQkRRVEVaTUJjR0ExVUVDd3dRWjJsMWJHbHZRR2RwZFd4cGJ5 - MXdZekVnTUI0RwpBMVVFQXd3WGJXdGpaWEowSUdkcGRXeHBiMEJuYVhWc2FXOHRjR013Z2dHaU1B - MEdDU3FHU0liM0RRRUJBUVVBCkE0SUJqd0F3Z2dHS0FvSUJnUURGS0pqR2pUb2gwcmlrQkxWSno3 - bUJmaEdWeGdJQWQ0cFJUTlErR3RyNmVKcXQKSFJubjVSNE5uMy8weXFLM2d0WS8rNWNYRnRaMW5l - T25vM0t3bmFaaGlIVEpCWFFjNmF1WldaWnpHMGR4NkNDTwpuOThjTkJhMmJ5TldYYitXdTZVcVhE - VnhONzg2TVA3VlJwYVZMVmlWekU2cFFXek5WK2dsemFPNnR2MWV6b3haClJnQWYzOXBlVTBWSW5j - b0x4M29DQno3VVZyRDB3TEs2RVhEeElpdjJaK2RlKzd5VWxmRmxaUnFDSXJzR0IvK0kKTFBXUXYx - Q2p4K21VeklsaHJHRVpqWEVUTzhQN0FvN2txbkwraGNhQk96UlZtMjdtdTlTMFA0T1VOTU5hTnJC - bQpLZjdWeTJuUWVKU1VJckFJcWJVSmwvVENYZVZwNHdsNGluREpuc3N5YjlmaHBkT2dKOHFBeFIy - cEpFN3ZwcW5LCkxyYkl3N3VMaTkwc0g4RGNVaVdyUnJ1UlhXYlZyRXB2SjRCY2ZFdDYyZkl2Wmd2 - UHRIRlYrOTRLb1A3Q2wrZ2wKRTVseDBHWHZoMXdqQlZMZWlHTWZWT25vbEQrT2F0YTlRWWVkZ0lB - NkY4WkRQVDR6L053bjZDOG8zZHhReEQ1bwoyaFUvVE85aUltdnM4ZExVZzJVQ0F3RUFBYU5GTUVN - d0RnWURWUjBQQVFIL0JBUURBZ0lFTUJJR0ExVWRFd0VCCi93UUlNQVlCQWY4Q0FRQXdIUVlEVlIw - T0JCWUVGTDN5Yi9RWmhXWnN3d3pLbEdsTHVzUFpkcXVUTUEwR0NTcUcKU0liM0RRRUJDd1VBQTRJ - QmdRQzEzek9tdzQzODFyMlFaYlBXdTBFaEN4amk1UExNU1VndlRSR2VHaTdQTkE0ZgpKWTU2Ui83 - MlAyQnl6SE1oOC9TUGxvM2sxWVVtUkluU0lRQ3NiOHA1TW1aVENRK3FOTHM1bm8xRFB5MmovV0pV - Cm1ycHhJVFRUK3BXaTJacU9na0lXcDkyNjNoQUFDQ0VjcnBuM2tPY2hXL0hiTFp0M2w3Z2x1UWNu - SEtFQTQwV0UKUEl4U1k3RlNhMmJyYkJsQjFVNDNhbmlEcnFVMEg0SEVmanVnWkh5TWlBVnY5M2ox - ck1XakxlMVVLN2RyNU9RcwphZ0RrS3gvMWlXelVyRzNIK3NVZHhrQVlSaXg0VlBHeU8rcnF6OWVB - cXVzNmt2d2o1enl3eUQxbmZIUWFST2ZJClAvVWJrS3NNZDJkdlVSeW1Xb2w0akhSdGxMZ0FUb1Qr - bUpMM1F4Y1NKMHhFRndKbHEwMHlaaTd3L2xZei9rOEUKVm9zQmFZRzg0b1Zoa3RMb1paeTZoSG5G - WlprcWI1WDEzK3g3RC9EOFQveG56bVEvT09hUzg1bzRhMy9zcFdDYwo1TERYREd3RGZLa3diMFFl - NGREVjMrZTA1YjlRRjBYVE5oZ1gyWTlUOTdTQWt5TzQ1QVNiQVhneWNhanAvN3AzCldaMDR0RjZy - UlpOSUJIQmRSd1U9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K ---- -apiVersion: v1 -kind: Secret -metadata: - name: server-crt - namespace: {{ .Release.Namespace }} -data: - server.crt: | - LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVlVENDQXVHZ0F3SUJBZ0lSQU9pZ0ZvT3F3 - T1BIWEVBVUtoZ3lORW93RFFZSktvWklodmNOQVFFTEJRQXcKWFRFZU1Cd0dBMVVFQ2hNVmJXdGpa - WEowSUdSbGRtVnNiM0J0Wlc1MElFTkJNUmt3RndZRFZRUUxEQkJuYVhWcwphVzlBWjJsMWJHbHZM - WEJqTVNBd0hnWURWUVFEREJkdGEyTmxjblFnWjJsMWJHbHZRR2RwZFd4cGJ5MXdZekFlCkZ3MHlO - REEzTXpBd09EQTVNamxhRncweU5qRXdNekF3T1RBNU1qbGFNRVF4SnpBbEJnTlZCQW9USG0xclky - VnkKZENCa1pYWmxiRzl3YldWdWRDQmpaWEowYVdacFkyRjBaVEVaTUJjR0ExVUVDd3dRWjJsMWJH - bHZRR2RwZFd4cApieTF3WXpDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dn - RUJBTFNpWVlDVVovNkVqb1ZqCjlJVHZ0ZGhuWXpnK0lIQ1E5Z1hac0JkRU9MdnNuaDRWb0dmY2F6 - bEtmbTE3RWRacThmR2ZqU2gxcVZ6Ty9nR00KM0VWSStDTFF0UmV5N0llVXNEVy9HZEVJOTNHM1Q1 - cjhpY1c5eHVVT1ViUHJYb3hNR01Rck1hT3h2S0RyL3V4bgpIQVpETGZkbGlnZWJEMDVwVXhzZ3A3 - Rk1uMGVHS2pNamc1eFNxMkNLd2JTSGQyNHRSRHp5T2cyZ1lWZEYzcHIxCllLYUNoelJTcGpwUmhK - em1DWFFpR1FscHhZbVNoNnZSd1JOTXJOeHMwRHRSOFFTYVJsa0lQSXo3Q1ovemZSUVIKZzZnZVhw - dWt3b3NCbXd6N3lsWnlyTFAyTnY5OTNBSlNjckp6WmE4WGlFbEY2S0xqaDBzeHM5c3Zmc3FZR3Zu - VApCQ3dFMkkwQ0F3RUFBYU9CekRDQnlUQU9CZ05WSFE4QkFmOEVCQU1DQmFBd0V3WURWUjBsQkF3 - d0NnWUlLd1lCCkJRVUhBd0V3SHdZRFZSMGpCQmd3Rm9BVXZmSnY5Qm1GWm16RERNcVVhVXU2dzls - MnE1TXdnWUFHQTFVZEVRUjUKTUhlQ0l5b3VNVE14TGpFMU5DNDVPQzR5TURZdWJYbHBjQzVqYkc5 - MVpDNXBibVp1TG1sMGdpZDBaVzF3Ynk0eApNekV1TVRVMExqazRMakl3Tmk1dGVXbHdMbU5zYjNW - a0xtbHVabTR1YVhTQ0NXeHZZMkZzYUc5emRJY0VBQUFBCkFJY0Vmd0FBQVljUUFBQUFBQUFBQUFB - QUFBQUFBQUFBQVRBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVlFQUlVdXoKbTBkS05JYkdmMzlXZUJ6 - R1pNYkxrNTh6OGszbzZ3bDNDV1ZSQUZ6eHA4RzB4S01uVWcybTNVMVdMOGEwclRTaAo1ZFNmYmVN - RjUyQWlTYkZ3Q0g5VkJMZGhEVEZXektXZEJQd2wvUUw0WDFwdG94bXhtSWtUVlRleVpZOHBoa2RU - CmNTaG05RWJXZTZjNVQ5RG9sYjdMZzFjK2tqS3d2T09mWURCOFN3UWY2Y2YrbnVNcXlBa1RBNE9a - V0F6bnZBS0UKUHpOYk9ZME5xUlR3Z1ROMDBPNEthTTFmeGlHcXB1RVFjVUVTMkJMTTZ1WGdQbWhs - aGduZXhPMHFMTnFCY0ptTAozSmRSdWU2dmNYSGJlMHNhbFQwbzNjTWN5Z3NKTUphNi8rMmdsWEpt - VTJwTkg0VWZUNnNvdXZUQVozQVZRdlRECk5yaHZBK1hpTHB0R0hnVUxpUGpGQml0SFFmS0Ntbjdt - dnlrai92M3cxd2lXbDUyQUEwV3QvajBaZHloam9nZG8KZGsxeERmL0gwRWpMM3R6YTdwQWVFY3Vl - TjlkVXhtdGhTYkhGL3VabjhoWnNLL2xTS3NHUSs3WjFKRmdnbzFLTApUTHRXU1pBYmt1UWJJUWJo - VHVWVm1GZUNkdEM4a0hRdjZFTWJwUVZ4L2RPdkE5UEVWV0tEOWFWNFVIOG4KLS0tLS1FTkQgQ0VS - VElGSUNBVEUtLS0tLQo= ---- -apiVersion: v1 -kind: Secret -metadata: - name: server-key - namespace: {{ .Release.Namespace }} -data: - server.key: | - LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2UUlCQURBTkJna3Foa2lHOXcwQkFRRUZB - QVNDQktjd2dnU2pBZ0VBQW9JQkFRQzBvbUdBbEdmK2hJNkYKWS9TRTc3WFlaMk00UGlCd2tQWUYy - YkFYUkRpNzdKNGVGYUJuM0dzNVNuNXRleEhXYXZIeG40MG9kYWxjenY0QgpqTnhGU1BnaTBMVVhz - dXlIbExBMXZ4blJDUGR4dDArYS9JbkZ2Y2JsRGxHejYxNk1UQmpFS3pHanNieWc2LzdzClp4d0dR - eTMzWllvSG13OU9hVk1iSUtleFRKOUhoaW96STRPY1VxdGdpc0cwaDNkdUxVUTg4am9Ob0dGWFJk - NmEKOVdDbWdvYzBVcVk2VVlTYzVnbDBJaGtKYWNXSmtvZXIwY0VUVEt6Y2JOQTdVZkVFbWtaWkNE - eU0rd21mODMwVQpFWU9vSGw2YnBNS0xBWnNNKzhwV2NxeXo5amIvZmR3Q1VuS3ljMld2RjRoSlJl - aWk0NGRMTWJQYkwzN0ttQnI1CjB3UXNCTmlOQWdNQkFBRUNnZ0VBWnMwclZIUWhvMVpwamp6T3dv - RnlLcERjaFB2R2xvbkptcGJEZ3RwT3Q1VDQKZ0FLcTRiRXVUTks2bFRBL2ZKb3N5K2lUKzN6TFFJ - aUZRdmladTh6RmUzcndOV2FjK3FTQ2pIUVFDMGxoR2hUTApkMWRXU1hXeUpsWTU1WDJFdDYvdlFH - V2N3SjY4elpEQjZtVGNMQ3c3a3RyMDdWTXdLTjRFY0NIcmpob2ZaQ0plCjRuMEtidmh3ZzZLNGh1 - Mi8veDBQMjdxUEl0a0x5YTBxSHFLNFhESk5HSkh4cFhMcWkxQ2x1MGhYN3dMOWlaOXAKU1BSVkpH - eVc2cjR5UWtJbnlKYjQ1bEtMaHlTNjJ4ZWF2SUJvaFQ1T1AwcVZxdCtZSzJYN0NDMy9iWTZOajlC - RQovam9obG9JT3pXRUkrMmU1bU1FQmhDMU9kWHFUbTd4Mml1Q0p1eFFjZVFLQmdRREJPc2U1c2RX - VWphaGswVjBlCkxmUVFlTFlUTEk4VVQxaVlTTUVBSElsbjd4RDUxVS9icldDTElOc1pUNVRUSHM3 - RUFkWVZwaUV1YTE0RVJ3bnkKUzRxb1lNalZOTWtXMmVvc2dPTUpNNjNjVENyQUszNVhPUTA3VWhH - cGV6YTNzUHkrY3N6TWYxeTM0THg4VEZHaQpHSzRTemtOOWJscEd1Mm0rVjJVWGZkRExId0tCZ1FE - dlVDaWljekZON0s3Yll2cHJuSzdoSm4zdzFzVlg4RzdWCmlnY1ZmOVorT3RnWWJyR3ZVVFhYTWpp - MjFxY2JtRHlWNkpHQWtJK0hjNGpvWGRkVnY2d2dFV1pjMitnVTlLb3YKbG1uUWVPd3gvck1ZTFB6 - YW9RQ3MrNDhaQmcybkdYb2ZiSlFUN2xoRnlOMm96alU5YUcrQmZrd3ZaN1NiOXRzYQpuK0htOGZM - UzB3S0JnUUM3RDhHTWxvbHlmOVRXalF4OWkvVXNBUUFhL2RjaHpWS3lValJ0ZkRMVmFFM2gzc3lw - Cm1XWE9LcWVSRUVhK1A2UGhndm1UQ2JvenF3TmdWcmxkVkI1T3RTdVhvN3RNb1BlZno4SjdCUW02 - TEE1eTdXZ28KM25WZHlTeUtDMXRFWjFXMnRZSm9NcUE2N3BqcUtDUWJMWk5QWjFsVTA0RVgycFVi - REpZME1Mdng5d0tCZ0ZEVAoyeFdiSUlENE9zckFjR0llUm5hbklJeFNqYzY0MTBacVd5QW8wRkpN - SDZhSTVKeVpLajBucWo0ZTI4d1hMQWRaCnlLTUtzRitJWnlwTVg2bUhsbVF5WEVkcXdzVXBLYjN1 - NkloUC96NlhqdmZRWWdxWnJIZkFjMEY1YU8wU1Rzd0UKU1RNK0lqUlh0bjRJUDdVZzYrQnB2dU9Y - L0VsZEkvMm5HSTUvRTR1ZkFvR0FNZ1c3VEtiQVdoZGNJUHpMYjErOQozS2VXK1lUeUIwaHkwc3pC - dWI5aDJHOEpYd0J1aWxjSldnYjgwQWlrYjZYWnpIS0ZrSDZPSVdGUW8yVUJ1NVdBCkJKTTN6WDd1 - U3k2aWFKM20vWWtwcUxoOGNhdVVpTmRIWmZsVHRzWEhieFR0ZHgxNG9EdGRtaFNGZ3MzZnNNSXEK - SnFEMk5pNGFNdUdlOUkwZHZaODcwYlU9Ci0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0K \ No newline at end of file diff --git a/templates/services/svctempo.yaml b/templates/services/svctempo.yaml index 7532f97..11a2439 100644 --- a/templates/services/svctempo.yaml +++ b/templates/services/svctempo.yaml @@ -6,7 +6,7 @@ metadata: spec: ports: - name: {{ .Values.services.tempo.name }} - port: 4317 + port: {{ .Values.ingresses.tempo.port }} protocol: TCP targetPort: {{ .Values.services.tempo.port }} selector: diff --git a/values.yaml b/values.yaml index d1878a1..123dc58 100644 --- a/values.yaml +++ b/values.yaml @@ -13,6 +13,8 @@ app: ingresses: tempo: host: tempo.131.154.98.206.myip.cloud.infn.it # change this to your desired hostname + port: 443 # external port where the service is exposed + auth_enabled: false grafana: host: grafanavk.131.154.98.206.myip.cloud.infn.it # change this to your desired hostname @@ -20,6 +22,13 @@ ingresses: config: grafana: admin_user: admin # change this to your desired username - admin_password: admin # change this to your desired password + admin_password: password # change this to your desired password http_port: 3000 # do not change if you don't know what you are doing - http_addr: 0.0.0.0 # do not change if you don't know what you are doing \ No newline at end of file + http_addr: 0.0.0.0 # do not change if you don't know what you are doing + +auth: + tempo: + username: username # change this to your desired username + password: $apr1$6BZqNMcL$ITbyluYyeslJuxVTUyd4v0 # change this to your desired passwor; to generate a new password use htpasswd -c auth username + +maintainerEmail: "gibianch@pg.infn.it" \ No newline at end of file