diff --git a/helm/oncall/QUICKSTART.md b/helm/oncall/QUICKSTART.md deleted file mode 100644 index 6576bd3f..00000000 --- a/helm/oncall/QUICKSTART.md +++ /dev/null @@ -1,50 +0,0 @@ -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 index d9989285..6840b245 100644 --- a/helm/oncall/README.md +++ b/helm/oncall/README.md @@ -10,6 +10,10 @@ Architecture diagram can be found [here](https://raw.githubusercontent.com/grafa > which is not recommended for production usage. It is recommended to run stateful services such as MySQL and RabbitMQ > separately from this release or use managed PaaS solutions. It will significantly reduce the overhead of managing them + +Cluster requirements: +* ensure you can run x86-64/amd64 workloads. arm64 architecture is currently not supported + ## Install ### Installing the helm chart ```bash @@ -19,7 +23,7 @@ helm install \ --wait \ --set base_url=example.com \ --set grafana."grafana\.ini".server.domain=example.com \ - grafana-oncall \ + oncall \ grafana/oncall ``` @@ -34,7 +38,7 @@ helm upgrade \ --wait \ --set base_url=example.com \ --set grafana."grafana\.ini".server.domain=example.com \ - grafana-oncall \ + oncall \ grafana/oncall ``` @@ -102,17 +106,17 @@ externalRabbitmq: ## Uninstall ### Uninstalling the helm chart ```bash -helm delete grafana-oncall +helm delete oncall ``` ### Clean up PVC's ```bash -kubectl delete pvc data-grafana-oncall-mariadb-0 data-grafana-oncall-rabbitmq-0 \ -redis-data-grafana-oncall-redis-master-0 redis-data-grafana-oncall-redis-replicas-0 \ -redis-data-grafana-oncall-redis-replicas-1 redis-data-grafana-oncall-redis-replicas-2 +kubectl delete pvc data-oncall-mariadb-0 data-oncall-rabbitmq-0 \ +redis-data-oncall-redis-master-0 redis-data-oncall-redis-replicas-0 \ +redis-data-oncall-redis-replicas-1 redis-data-oncall-redis-replicas-2 ``` ### Clean up secrets ```bash -kubectl delete secrets certificate-tls grafana-oncall-cert-manager-webhook-ca grafana-oncall-ingress-nginx-admission +kubectl delete secrets certificate-tls oncall-cert-manager-webhook-ca oncall-ingress-nginx-admission ``` diff --git a/helm/oncall/templates/NOTES.txt b/helm/oncall/templates/NOTES.txt index 11260295..95573ac4 100644 --- a/helm/oncall/templates/NOTES.txt +++ b/helm/oncall/templates/NOTES.txt @@ -16,7 +16,7 @@ TODO: Add disclaimer about stateful services, ingress controller, certificates ❗ Set up a DNS record for your domain (use A Record and "@" to point a root domain to the IP address) Get the external IP address by running the following commands and point {{ .Values.base_url }} to it: - kubectl get ingress {{ include "oncall.engine.fullname" . }} -o jsonpath="{.status.loadBalancer.ingress[0].ip}" + kubectl get ingress {{ include "oncall.fullname" . }} -o jsonpath="{.status.loadBalancer.ingress[0].ip}" Wait until the dns record got propagated. NOTE: Check with the following command: nslookup {{ .Values.base_url }} diff --git a/helm/oncall/templates/cert-issuer.yaml b/helm/oncall/templates/cert-issuer.yaml index 8cad693b..60c2b690 100644 --- a/helm/oncall/templates/cert-issuer.yaml +++ b/helm/oncall/templates/cert-issuer.yaml @@ -1,4 +1,4 @@ -{{- if .Values.ildar.enabled }} +{{- if (index .Values "cert-manager") }} apiVersion: cert-manager.io/v1 kind: Issuer metadata: diff --git a/helm/oncall/values.yaml b/helm/oncall/values.yaml index f1cc235b..80d67d87 100644 --- a/helm/oncall/values.yaml +++ b/helm/oncall/values.yaml @@ -85,6 +85,20 @@ cert-manager: # Set mariadb.enabled = false and configure externalMysql mariadb: enabled: true + auth: + database: oncall + primary: + extraEnvVars: + - name: MARIADB_COLLATE + value: utf8mb4_unicode_ci + - name: MARIADB_CHARACTER_SET + value: utf8mb4 + secondary: + extraEnvVars: + - name: MARIADB_COLLATE + value: utf8mb4_unicode_ci + - name: MARIADB_CHARACTER_SET + value: utf8mb4 # Make sure to create the database with the following parameters: # CREATE DATABASE oncall CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;