From d9fd7d4e3e946fe0b097abdff6b8e88a34133e95 Mon Sep 17 00:00:00 2001 From: Ildar Iskhakov Date: Tue, 14 Jun 2022 03:14:17 +0300 Subject: [PATCH] Fix chart --- helm/oncall/Chart.yaml | 9 ++ helm/oncall/QUICKSTART.md | 50 ++++++++ helm/oncall/README.md | 73 +++++++++++ helm/oncall/charts/cert-manager-v1.8.0.tgz | Bin 0 -> 62023 bytes helm/oncall/charts/ingress-nginx-4.1.4.tgz | Bin 0 -> 40555 bytes helm/oncall/templates/NOTES.txt | 79 ++++-------- helm/oncall/templates/_env.tpl | 2 + helm/oncall/templates/cert-issuer.yaml | 22 ++++ helm/oncall/templates/engine/ingress.yaml | 61 ---------- .../templates/engine/service-external.yaml | 17 +++ .../{service.yaml => service-internal.yaml} | 4 +- helm/oncall/templates/ingress-regular.yaml | 34 ++++++ helm/oncall/values.yaml | 113 +++++++++++------- 13 files changed, 299 insertions(+), 165 deletions(-) create mode 100644 helm/oncall/QUICKSTART.md create mode 100644 helm/oncall/README.md create mode 100644 helm/oncall/charts/cert-manager-v1.8.0.tgz create mode 100644 helm/oncall/charts/ingress-nginx-4.1.4.tgz create mode 100644 helm/oncall/templates/cert-issuer.yaml delete mode 100644 helm/oncall/templates/engine/ingress.yaml create mode 100644 helm/oncall/templates/engine/service-external.yaml rename helm/oncall/templates/engine/{service.yaml => service-internal.yaml} (80%) create mode 100644 helm/oncall/templates/ingress-regular.yaml diff --git a/helm/oncall/Chart.yaml b/helm/oncall/Chart.yaml index 75cb31bf..3f2cf5dd 100644 --- a/helm/oncall/Chart.yaml +++ b/helm/oncall/Chart.yaml @@ -23,6 +23,11 @@ version: 0.1.0 # It is recommended to use it with quotes. appVersion: "1.16.0" dependencies: + - name: cert-manager + version: v1.8.0 + repository: https://charts.jetstack.io + condition: cert-manager.enabled + - name: mariadb version: 11.0.10 repository: https://charts.bitnami.com/bitnami @@ -39,3 +44,7 @@ dependencies: version: 6.29.6 repository: https://grafana.github.io/helm-charts condition: grafana.enabled + - name: ingress-nginx + version: 4.1.4 + repository: https://kubernetes.github.io/ingress-nginx + condition: ingress-nginx.enabled \ No newline at end of file diff --git a/helm/oncall/QUICKSTART.md b/helm/oncall/QUICKSTART.md new file mode 100644 index 00000000..6576bd3f --- /dev/null +++ b/helm/oncall/QUICKSTART.md @@ -0,0 +1,50 @@ +Quick Start + +Cluster requirements: +* ensure you can run x86-64/amd64 workloads. arm64 architecture is currently not supported + + +NOTE: + +Default chart places the stateful services into the current installation into the cluster. +This services are provided for the convenience and are not intended for production. +They need to be properly managed, maintained and backed up. +We recommend to run stateful applications, such as MySql and RabbitMQ separately or use managed solutions +as grafana does in Grafana Cloud. +https://gitlab.com/gitlab-org/charts/gitlab/-/blob/master/doc/installation/index.md + +Prerequisites: +Tools: +* kubectl v1.22 +* helm v3 + +Infrastructure: +* kubernetes cluster. Recomended resources: X vcpu and Y Gb of RAM +Stateful services are recommended outside of the cluster using managed solutions or compute nodes + 1. MySQL 5.7 database +We recommend using + 2. Rabbitmq + + + +1. Prepare the chart values + +2. Install the chart + +3. Finish the configuration + +3.1. Get the external ip address + +3.2. Set up the DNS +The external IP that is allocated to the ingress-controller is the IP to which all incoming traffic should be routed. To enable this, add it to a DNS zone you control, for example as www.example.com. +This quick-start assumes you know how to assign a DNS entry to an IP address and will do so. + +3.3. Open Grafana and connect Grafana OnCall plugin to Grafana OnCall Backend + + +Troubleshooting: +Error: failed post-install: warning: Hook post-install oncall/templates/cert-issuer.yaml failed: Internal error occurred: failed calling webhook "webhook.cert-manager.io": failed to call webhook: Post "https://oncall-ildar-cert-manager-webhook.default.svc:443/mutate?timeout=30s": no endpoints available for service "oncall-ildar-cert-manager-webhook" +Upgrade the release + +Error: failed post-install: warning: Hook post-install oncall/templates/cert-issuer.yaml failed: Internal error occurred: failed calling webhook "webhook.cert-manager.io": failed to call webhook: Post "https://oncall-ildar-cert-manager-webhook.default.svc:443/mutate?timeout=30s": no endpoints available for service "oncall-ildar-cert-manager-webhook" + diff --git a/helm/oncall/README.md b/helm/oncall/README.md new file mode 100644 index 00000000..bbec683f --- /dev/null +++ b/helm/oncall/README.md @@ -0,0 +1,73 @@ +# oncall + +![Version: 0.1.0](https://img.shields.io/badge/Version-0.1.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.16.0](https://img.shields.io/badge/AppVersion-1.16.0-informational?style=flat-square) + +A Helm chart for Kubernetes + +## Requirements + +| Repository | Name | Version | +|------------|------|---------| +| https://charts.bitnami.com/bitnami | mariadb | 11.0.10 | +| https://charts.bitnami.com/bitnami | rabbitmq | 10.1.1 | +| https://charts.bitnami.com/bitnami | redis | 16.10.1 | +| https://charts.jetstack.io | cert-manager | v1.8.0 | +| https://grafana.github.io/helm-charts | grafana | 6.29.6 | +| https://helm.nginx.com/stable | nginx-ingress | 0.13.2 | + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| base_url | string | `"ildari.me"` | | +| celery.replicaCount | int | `1` | | +| celery.resources | object | `{}` | | +| cert-manager.enabled | bool | `true` | | +| cert-manager.installCRDs | bool | `true` | | +| cert-manager.webhook.securePort | int | `10260` | | +| cert-manager.webhook.timeoutSeconds | int | `30` | | +| engine.replicaCount | int | `1` | | +| engine.resources | object | `{}` | | +| env | list | `[]` | | +| externalMysql.db_name | string | `nil` | | +| externalMysql.host | string | `nil` | | +| externalMysql.password | string | `nil` | | +| externalMysql.port | string | `nil` | | +| externalMysql.user | string | `nil` | | +| externalRabbitmq.host | string | `nil` | | +| externalRabbitmq.password | string | `nil` | | +| externalRabbitmq.port | string | `nil` | | +| externalRabbitmq.user | string | `nil` | | +| external_redis.host | string | `nil` | | +| external_redis.password | string | `nil` | | +| fullnameOverride | string | `""` | | +| grafana."grafana.ini".server.domain | string | `"example.com"` | | +| grafana."grafana.ini".server.root_url | string | `"%(protocol)s://%(domain)s/grafana"` | | +| grafana."grafana.ini".server.serve_from_sub_path | bool | `true` | | +| grafana.enabled | bool | `true` | | +| grafana.persistence.enabled | bool | `true` | | +| grafana.plugins[0] | string | `"grafana-oncall-app"` | | +| ildar.enabled | bool | `true` | | +| image.pullPolicy | string | `"IfNotPresent"` | | +| image.repository | string | `"registry.digitalocean.com/ildar-testing/hobby-oncall-2"` | | +| image.tag | string | `"latest"` | | +| imagePullSecrets[0].name | string | `"registry-ildar-testing"` | | +| ingress.enabled | bool | `true` | | +| mariadb.auth.database | string | `"oncall"` | | +| mariadb.enabled | bool | `true` | | +| nameOverride | string | `""` | | +| nginx-ingress.enabled | bool | `true` | | +| podAnnotations | object | `{}` | | +| podSecurityContext | object | `{}` | | +| rabbitmq.enabled | bool | `true` | | +| redis.enabled | bool | `true` | | +| securityContext | object | `{}` | | +| service.enabled | bool | `false` | | +| service.port | int | `8080` | | +| service.type | string | `"LoadBalancer"` | | +| serviceAccount.annotations | object | `{}` | | +| serviceAccount.create | bool | `true` | | +| serviceAccount.name | string | `""` | | + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.10.0](https://github.com/norwoodj/helm-docs/releases/v1.10.0) diff --git a/helm/oncall/charts/cert-manager-v1.8.0.tgz b/helm/oncall/charts/cert-manager-v1.8.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..c04b5b79bd8fafc4c345558e2ac60b1122fbf511 GIT binary patch literal 62023 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%0A+DM4a2fz6F_hmKIOv@6J85 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 X-i_xg1b~Eu1ONv~Ig?1}Pmul#R "Plugins" and find Grafana OnCall plugin - 4.2. Fill the "Invite token" issued on step 3 - NOTE: you can re-issue the token by running this command: kubectl exec -it $POD_NAME -- bash -c "python manage.py issue_invite_for_the_frontend --override" - 4.3. Fill the Grafana OnCall Backend URL from Step 1 - NOTE: Run this command to get it one more time: - echo $GRAFANA_ONCALL_BE_URL - 4.4. Fill the Grafana URL from step 4. - NOTE: this URL should be accessible by Grafana OnCall Backend container{{ if .Values.grafana.enabled }}: http://{{ include "oncall.grafana.fullname" . }}:3000{{- end }} +4. Configure Grafana OnCall plugin to work with Grafana OnCall backend + echo Open Grafana, go to "Configuration" -> "Plugins" and find Grafana OnCall plugin + echo Fill the "Invite token" issued on step 2 + echo NOTE: you can re-issue the token by running this command: kubectl exec -it $POD_NAME -- bash -c "python manage.py issue_invite_for_the_frontend --override" + echo Fill the Grafana OnCall Backend URL: http://{{ include "oncall.engine.fullname" . }}:8080 + echo Fill the Grafana URL from step 3{{ if .Values.grafana.enabled }}: http://{{ include "oncall.grafana.fullname" . }}{{- end }} + echo NOTE: this URL should be accessible by Grafana OnCall Backend container -🎉🎉🎉 Done! 🎉🎉🎉 \ No newline at end of file + + +echo 🎉🎉🎉 Done! 🎉🎉🎉 diff --git a/helm/oncall/templates/_env.tpl b/helm/oncall/templates/_env.tpl index 6c964813..aafe05e1 100644 --- a/helm/oncall/templates/_env.tpl +++ b/helm/oncall/templates/_env.tpl @@ -1,4 +1,6 @@ {{- define "snippet.oncall.env" -}} +- name: BASE_URL + value: {{ .Values.base_url | quote }} - name: SECRET_KEY valueFrom: secretKeyRef: diff --git a/helm/oncall/templates/cert-issuer.yaml b/helm/oncall/templates/cert-issuer.yaml new file mode 100644 index 00000000..8cad693b --- /dev/null +++ b/helm/oncall/templates/cert-issuer.yaml @@ -0,0 +1,22 @@ +{{- if .Values.ildar.enabled }} +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + name: letsencrypt-prod + annotations: + "helm.sh/hook": post-install,post-upgrade +spec: + acme: + # The ACME server URL + server: https://acme-v02.api.letsencrypt.org/directory + # Email address used for ACME registration + email: no-reply@{{ .Values.base_url }} + # Name of a secret used to store the ACME account private key + privateKeySecretRef: + name: letsencrypt-prod + # Enable the HTTP-01 challenge provider + solvers: + - http01: + ingress: + class: nginx +{{- end }} diff --git a/helm/oncall/templates/engine/ingress.yaml b/helm/oncall/templates/engine/ingress.yaml deleted file mode 100644 index 4d81f19e..00000000 --- a/helm/oncall/templates/engine/ingress.yaml +++ /dev/null @@ -1,61 +0,0 @@ -{{- if .Values.ingress.enabled -}} -{{- $fullName := include "oncall.fullname" . -}} -{{- $svcPort := .Values.service.port -}} -{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }} - {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }} - {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}} - {{- end }} -{{- end }} -{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}} -apiVersion: networking.k8s.io/v1 -{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}} -apiVersion: networking.k8s.io/v1beta1 -{{- else -}} -apiVersion: extensions/v1beta1 -{{- end }} -kind: Ingress -metadata: - name: {{ $fullName }} - labels: - {{- include "oncall.labels" . | nindent 4 }} - {{- with .Values.ingress.annotations }} - annotations: - {{- toYaml . | nindent 4 }} - {{- end }} -spec: - {{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }} - ingressClassName: {{ .Values.ingress.className }} - {{- end }} - {{- if .Values.ingress.tls }} - tls: - {{- range .Values.ingress.tls }} - - hosts: - {{- range .hosts }} - - {{ . | quote }} - {{- end }} - secretName: {{ .secretName }} - {{- end }} - {{- end }} - rules: - {{- range .Values.ingress.hosts }} - - host: {{ .host | quote }} - http: - paths: - {{- range .paths }} - - path: {{ .path }} - {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }} - pathType: {{ .pathType }} - {{- end }} - backend: - {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} - service: - name: {{ $fullName }} - port: - number: {{ $svcPort }} - {{- else }} - serviceName: {{ $fullName }} - servicePort: {{ $svcPort }} - {{- end }} - {{- end }} - {{- end }} -{{- end }} diff --git a/helm/oncall/templates/engine/service-external.yaml b/helm/oncall/templates/engine/service-external.yaml new file mode 100644 index 00000000..9c204a24 --- /dev/null +++ b/helm/oncall/templates/engine/service-external.yaml @@ -0,0 +1,17 @@ +{{- if .Values.service.enabled }} +apiVersion: v1 +kind: Service +metadata: + name: {{ include "oncall.engine.fullname" . }}-external + labels: + {{- include "oncall.engine.labels" . | nindent 4 }} +spec: + type: {{ .Values.service.type }} + ports: + - port: {{ .Values.service.port }} + targetPort: http + protocol: TCP + name: http + selector: + {{- include "oncall.engine.selectorLabels" . | nindent 4 }} +{{- end }} \ No newline at end of file diff --git a/helm/oncall/templates/engine/service.yaml b/helm/oncall/templates/engine/service-internal.yaml similarity index 80% rename from helm/oncall/templates/engine/service.yaml rename to helm/oncall/templates/engine/service-internal.yaml index 49787cd5..07785035 100644 --- a/helm/oncall/templates/engine/service.yaml +++ b/helm/oncall/templates/engine/service-internal.yaml @@ -5,9 +5,9 @@ metadata: labels: {{- include "oncall.engine.labels" . | nindent 4 }} spec: - type: {{ .Values.service.type }} + type: ClusterIP ports: - - port: {{ .Values.service.port }} + - port: 8080 targetPort: http protocol: TCP name: http diff --git a/helm/oncall/templates/ingress-regular.yaml b/helm/oncall/templates/ingress-regular.yaml new file mode 100644 index 00000000..d98519ac --- /dev/null +++ b/helm/oncall/templates/ingress-regular.yaml @@ -0,0 +1,34 @@ +{{- if .Values.ingress.enabled }} +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: {{ include "oncall.engine.fullname" . }} + labels: + {{- include "oncall.labels" . | nindent 4 }} + annotations: + kubernetes.io/ingress.class: "nginx" + cert-manager.io/issuer: "letsencrypt-prod" +spec: + tls: + - hosts: + - {{ .Values.base_url | quote }} + secretName: quickstart-example-tls + rules: + - host: {{ .Values.base_url | quote }} + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: {{ include "oncall.engine.fullname" . }} + port: + number: 8080 + - path: /grafana + pathType: Prefix + backend: + service: + name: {{ include "oncall.grafana.fullname" . }} + port: + number: 80 +{{- end }} diff --git a/helm/oncall/values.yaml b/helm/oncall/values.yaml index 8affaf0d..93d750d2 100644 --- a/helm/oncall/values.yaml +++ b/helm/oncall/values.yaml @@ -1,4 +1,8 @@ -# Grafana OnCall image used by engine and celery +# Default values for Grafana OnCall + +# i.e. example.com +base_url: ildari.me + image: # TODO: use our public repo repository: registry.digitalocean.com/ildar-testing/hobby-oncall-2 @@ -8,10 +12,7 @@ image: # TODO: remove this after we use public image imagePullSecrets: - - name: "ildar-testing" - -nameOverride: "" -fullnameOverride: "" + - name: "registry-ildar-testing" engine: replicaCount: 1 @@ -33,52 +34,40 @@ celery: # cpu: 100m # memory: 128Mi -serviceAccount: - # Specifies whether a service account should be created - create: true - # Annotations to add to the service account - annotations: {} - # The name of the service account to use. - # If not set and create is true, a name is generated using the fullname template - name: "" - -podAnnotations: {} - -podSecurityContext: {} - # fsGroup: 2000 - -securityContext: {} - # capabilities: - # drop: - # - ALL - # readOnlyRootFilesystem: true - # runAsNonRoot: true - # runAsUser: 1000 - -env: - - name: BASE_URL - value: "localhost:8000" +env: [] service: + enabled: false type: LoadBalancer -# type: ClusterIP port: 8080 ingress: - enabled: false - className: "" - annotations: {} -# kubernetes.io/ingress.class: nginx -# kubernetes.io/tls-acme: "true" - hosts: [] -# - host: oncall.example.com -# paths: -# - path: / -# pathType: ImplementationSpecific - tls: # [] -# - secretName: oncall-example-com-tls -# hosts: -# - oncall.example.com + enabled: true +# className: "" +# annotations: {} +## kubernetes.io/ingress.class: nginx +## kubernetes.io/tls-acme: "true" +# hosts: [] +## - host: oncall.example.com +## paths: +## - path: / +## pathType: ImplementationSpecific +# tls: # [] +## - secretName: oncall-example-com-tls +## hosts: +## - oncall.example.com + +nginx-ingress: + enabled: true + +cert-manager: + enabled: true + installCRDs: true + webhook: + timeoutSeconds: 30 + # cert-manager tries to use the already used port, changing to another one + # https://github.com/cert-manager/cert-manager/issues/3237 + securePort: 10260 # Additional services configuration # We recommend using external services to reduce the overhead of managing statefule services @@ -112,7 +101,41 @@ external_redis: grafana: enabled: true + grafana.ini: + server: + domain: example.com + root_url: "%(protocol)s://%(domain)s/grafana" + serve_from_sub_path: true persistence: enabled: true plugins: - grafana-oncall-app + +nameOverride: "" +fullnameOverride: "" + +serviceAccount: + # Specifies whether a service account should be created + create: true + # Annotations to add to the service account + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: "" + +podAnnotations: {} + +podSecurityContext: {} + # fsGroup: 2000 + +securityContext: {} + # capabilities: + # drop: + # - ALL + # readOnlyRootFilesystem: true + # runAsNonRoot: true + # runAsUser: 1000 + + +ildar: + enabled: true \ No newline at end of file