diff --git a/charts/rosa-federated-prometheus/Chart.yaml b/charts/rosa-federated-prometheus/Chart.yaml index f1702f4..2e16a4f 100644 --- a/charts/rosa-federated-prometheus/Chart.yaml +++ b/charts/rosa-federated-prometheus/Chart.yaml @@ -4,7 +4,7 @@ description: A Helm chart for Kubernetes type: application -version: 0.2.0 +version: 0.3.0 appVersion: "0.1.0" @@ -12,3 +12,8 @@ maintainers: - name: paulczar home: https://github.com/rh-mobb/helm-charts + +dependencies: +- name: grafana-cr + version: "0.1.0" + repository: "https://rh-mobb.github.io/helm-charts/" diff --git a/charts/rosa-federated-prometheus/README.md b/charts/rosa-federated-prometheus/README.md index 01bebab..6b2fce6 100644 --- a/charts/rosa-federated-prometheus/README.md +++ b/charts/rosa-federated-prometheus/README.md @@ -12,23 +12,23 @@ This Helm chart will deploy a Prometheus server on ROSA and configure it to slur Set the following environment variables ``` -export PROM_NAMESPACE=custom-prometheus +export NAMESPACE=custom-prometheus ``` ## Install Operators -This relies on the Prometheus and Grafana operators, you can deploy them from the OpenShift Console, or via the script found in `./files/deploy-operators.sh`. +This relies on the Prometheus and Grafana operators, you can deploy them from the OpenShift Console, or via the script found in `./files/pre-install.sh`. Run one of the following: ```bash - curl -sSL https://raw.githubusercontent.com/rh-mobb/helm-charts/main/charts/rosa-federated-prometheus/files/deploy-operators.sh | bash + curl -sSL https://raw.githubusercontent.com/rh-mobb/helm-charts/main/charts/rosa-federated-prometheus/files/pre-install.sh | bash ``` or if you've cloned down this repository ```bash - ./files/deploy-operators.sh + ./files/pre-install.sh ``` ## Deploy the Helm Chart @@ -42,13 +42,13 @@ Run one of the following: 1. Update your Repository ```bash - helm repo update + helm repo update && helm dependency update ``` 1. Install a Chart ```bash - helm install -n my-prometheus mobb/rosa-federated-prometheus + helm install -n $NAMESPACE monitoring mobb/rosa-federated-prometheus ``` 1. Find the Routes diff --git a/charts/rosa-federated-prometheus/files/deploy-operators.sh b/charts/rosa-federated-prometheus/files/pre-install.sh similarity index 63% rename from charts/rosa-federated-prometheus/files/deploy-operators.sh rename to charts/rosa-federated-prometheus/files/pre-install.sh index 8d67f4f..68f1937 100755 --- a/charts/rosa-federated-prometheus/files/deploy-operators.sh +++ b/charts/rosa-federated-prometheus/files/pre-install.sh @@ -1,21 +1,21 @@ #!/bin/bash -if [[ -z $PROM_NAMESPACE ]]; then - echo "Please set PROM_NAMESPACE environment variable" +if [[ -z $NAMESPACE ]]; then + echo "Please set NAMESPACE environment variable" exit 1 fi -echo "--> Creating Namespace - $PROM_NAMESPACE" +echo "--> Creating Namespace - $NAMESPACE" cat << EOF | kubectl apply -f - --- apiVersion: v1 kind: Namespace metadata: - name: ${PROM_NAMESPACE} + name: ${NAMESPACE} EOF -echo "--> Deploying Prometheus Operator to $PROM_NAMESPACE" +echo "--> Deploying Prometheus Operator to $NAMESPACE" cat << EOF | kubectl apply -f - --- @@ -23,16 +23,16 @@ apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: federated-metrics - namespace: ${PROM_NAMESPACE} + namespace: ${NAMESPACE} spec: targetNamespaces: - - ${PROM_NAMESPACE} + - ${NAMESPACE} --- apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: prometheus - namespace: ${PROM_NAMESPACE} + namespace: ${NAMESPACE} spec: channel: beta installPlanApproval: Automatic @@ -41,14 +41,14 @@ spec: sourceNamespace: openshift-marketplace EOF -echo "--> Deploying Grafana Operator to $PROM_NAMESPACE" +echo "--> Deploying Grafana Operator to $NAMESPACE" cat << EOF | kubectl apply -f - apiVersion: operators.coreos.com/v1alpha1 kind: CatalogSource metadata: name: operatorhubio-catalog - namespace: ${PROM_NAMESPACE} + namespace: ${NAMESPACE} spec: sourceType: grpc image: quay.io/operator-framework/upstream-community-operators:latest @@ -59,23 +59,23 @@ apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: grafana-operator - namespace: ${PROM_NAMESPACE} + namespace: ${NAMESPACE} spec: channel: v4 name: grafana-operator installPlanApproval: Automatic source: operatorhubio-catalog - sourceNamespace: ${PROM_NAMESPACE} + sourceNamespace: ${NAMESPACE} EOF echo "--> Waiting for Prometheus Operator to be ready" -while ! kubectl -n $PROM_NAMESPACE get sa prometheus-operator 2> /dev/null > /dev/null; do +while ! kubectl -n $NAMESPACE get sa prometheus-operator 2> /dev/null > /dev/null; do sleep 1 done echo "--> Waiting for Grafana Operator to be ready" -while ! kubectl -n $PROM_NAMESPACE get crd grafanadashboards.integreatly.org 2> /dev/null > /dev/null; do +while ! kubectl -n $NAMESPACE get crd grafanadashboards.integreatly.org 2> /dev/null > /dev/null; do sleep 1 done \ No newline at end of file diff --git a/charts/rosa-federated-prometheus/templates/grafana/grafana.yaml b/charts/rosa-federated-prometheus/templates/grafana/grafana.yaml deleted file mode 100644 index dbe0e0a..0000000 --- a/charts/rosa-federated-prometheus/templates/grafana/grafana.yaml +++ /dev/null @@ -1,87 +0,0 @@ ---- -apiVersion: integreatly.org/v1alpha1 -kind: Grafana -metadata: - name: grafana - labels: - {{- include "rosa-federated-prometheus.labels" . | nindent 4 }} -spec: - deployment: - skipCreateAdminAccount: true - envFrom: - - secretRef: - name: {{ include "rosa-federated-prometheus.fullname" . }}-grafana-creds - config: - log: - mode: "console" - level: "warn" - auth: - disable_login_form: False - disable_signout_menu: False - auth.basic: - enabled: True - auth.anonymous: - enabled: True - security: - cookie_secure: true - users: - allow_sign_up: false - containers: - - args: - - '-provider=openshift' - - '-pass-basic-auth=false' - - '-https-address=:9091' - - '-http-address=' - - '-email-domain=*' - - '-upstream=http://localhost:3000' - - '-openshift-sar={"resource": "namespaces", "verb": "get"}' - - '-openshift-delegate-urls={"/": {"resource": "namespaces", "verb": "get"}}' - - '-tls-cert=/etc/tls/private/tls.crt' - - '-tls-key=/etc/tls/private/tls.key' - - '-client-secret-file=/var/run/secrets/kubernetes.io/serviceaccount/token' - - '-cookie-secret-file=/etc/proxy/secrets/session_secret' - - '-openshift-service-account=grafana-serviceaccount' - - '-openshift-ca=/etc/pki/tls/cert.pem' - - '-openshift-ca=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt' - - '-skip-auth-regex=^/metrics|^/dashboard/snapshot|^/public|^/api' - - '-htpasswd-file=/etc/proxy/htpasswd/auth' - image: 'quay.io/openshift/origin-oauth-proxy:4.8' - name: grafana-proxy - ports: - - containerPort: 9091 - name: grafana-proxy - resources: {} - volumeMounts: - - mountPath: /etc/tls/private - name: secret-{{ include "rosa-federated-prometheus.fullname" . }}-grafana-tls - readOnly: false - - mountPath: /etc/proxy/secrets - name: secret-{{ include "rosa-federated-prometheus.fullname" . }}-grafana-proxy - readOnly: false - - mountPath: /etc/proxy/htpasswd - name: secret-{{ include "rosa-federated-prometheus.fullname" . }}-grafana-htpasswd - readOnly: true - secrets: - - {{ include "rosa-federated-prometheus.fullname" . }}-grafana-tls - - {{ include "rosa-federated-prometheus.fullname" . }}-grafana-proxy - - {{ include "rosa-federated-prometheus.fullname" . }}-grafana-htpasswd - service: - ports: - - name: grafana-proxy - port: 9091 - protocol: TCP - targetPort: grafana-proxy - annotations: - service.alpha.openshift.io/serving-cert-secret-name: {{ include "rosa-federated-prometheus.fullname" . }}-grafana-tls - ingress: - enabled: True - targetPort: grafana-proxy - termination: reencrypt - client: - preferService: True - serviceAccount: - annotations: - serviceaccounts.openshift.io/oauth-redirectreference.primary: '{"kind":"OAuthRedirectReference","apiVersion":"v1","reference":{"kind":"Route","name":"grafana-route"}}' - dashboardLabelSelector: - - matchExpressions: - - { key: "app", operator: In, values: ['grafana'] } \ No newline at end of file diff --git a/charts/rosa-federated-prometheus/templates/grafana/rbac.yaml b/charts/rosa-federated-prometheus/templates/grafana/rbac.yaml deleted file mode 100644 index f4d8f56..0000000 --- a/charts/rosa-federated-prometheus/templates/grafana/rbac.yaml +++ /dev/null @@ -1,31 +0,0 @@ - -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: {{ include "rosa-federated-prometheus.fullname" . }}-grafana -rules: - - apiGroups: - - authentication.k8s.io - resources: - - tokenreviews - verbs: - - create - - apiGroups: - - authorization.k8s.io - resources: - - subjectaccessreviews - verbs: - - create ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: {{ include "rosa-federated-prometheus.fullname" . }}-grafana -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: {{ include "rosa-federated-prometheus.fullname" . }}-grafana -subjects: - - kind: ServiceAccount - name: grafana-serviceaccount - namespace: {{ .Release.Namespace }} diff --git a/charts/rosa-federated-prometheus/templates/grafana/secret.yaml b/charts/rosa-federated-prometheus/templates/grafana/secret.yaml deleted file mode 100644 index ce1578a..0000000 --- a/charts/rosa-federated-prometheus/templates/grafana/secret.yaml +++ /dev/null @@ -1,29 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: {{ include "rosa-federated-prometheus.fullname" . }}-grafana-proxy - labels: - {{- include "rosa-federated-prometheus.labels" . | nindent 4 }} -type: Opaque -stringData: - session_secret: "{{ .Values.grafana.sessionSecret }}" ---- -kind: Secret -apiVersion: v1 -metadata: - name: {{ include "rosa-federated-prometheus.fullname" . }}-grafana-creds -stringData: - GF_SECURITY_ADMIN_PASSWORD: "{{ .Values.grafana.basicAuthPassword }}" - GF_SECURITY_ADMIN_USER: "{{ .Values.grafana.basicAuthUsername }}" -type: Opaque ---- -apiVersion: v1 -kind: Secret -metadata: - name: {{ include "rosa-federated-prometheus.fullname" . }}-grafana-htpasswd - labels: - {{- include "rosa-federated-prometheus.labels" . | nindent 4 }} -type: Opaque -data: - auth: "{{ htpasswd .Values.grafana.basicAuthUsername .Values.grafana.basicAuthPassword | b64enc }}" ---- \ No newline at end of file diff --git a/charts/rosa-federated-prometheus/values.yaml b/charts/rosa-federated-prometheus/values.yaml index 67c1708..b779f06 100644 --- a/charts/rosa-federated-prometheus/values.yaml +++ b/charts/rosa-federated-prometheus/values.yaml @@ -14,13 +14,11 @@ prometheus: basicAuthPassword: "KgX1EUO3eQOBr1u9Df5B6XEhfxWGKaBKMhEa1ALQvu6" grafana: - basicAuthUsername: "internal" + basicAuthUsername: "admin" # Change these two fields sessionSecret: "112RXXaWl7wUQiSdXUMrUya7kN5gOZmHc0s202bKqAw" - basicAuthPassword: "KgX1EUO3eQOBr1u9Df5B6XEhfxWGKaBKMhEa1ALQvu6" - operator: - createSubscription: true - creteCatalogSource: true + basicAuthPassword: "password" + # Update this to suit your slack, or other notification methods alertManager: