diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 57c78bc740b5867e617b1a08f19737edf0666c27..ca2f072f014a7c1fb56fd2d494a729d3b5fd1bc6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -41,7 +41,7 @@ # - A pipeline gets started from the UI and the job name is included in the # CI variable `TRIGGER_JOBS` # - A commit is pushed containing the pattern TRIGGER_JOBS=.*<job name> -# (i.e. TRIGGER_JOBS=ci-test-image-build,enable-grafana) +# (i.e. TRIGGER_JOBS=ci-test-image-build,enable-nextcloud) # # Gitlab CI allows pushing CI vars via `git push` but a bug prevents this when # using merge request pipelines (see https://gitlab.com/gitlab-org/gitlab/-/issues/326098) @@ -407,15 +407,6 @@ eventrouter-ready: - .apps-ready - .eventrouter_rules -grafana-ready: - variables: - APP: "grafana" - needs: - - job: prometheus-stack-helm-release - extends: - - .apps-ready - - .prometheus_stack_rules - nextcloud-ready: variables: APP: "nextcloud" @@ -480,15 +471,6 @@ wordpress-ready: extends: - .ssh_setup -grafana-cert: - variables: - APP: "grafana" - needs: - - job: grafana-ready - extends: - - .apps-cert - - .prometheus_stack_rules - nextcloud-cert: variables: APP: "nextcloud" @@ -593,11 +575,11 @@ prometheus-stack-alerts: extends: - .ssh_setup -grafana-behave: +prometheus-stack-behave: variables: - APP: "grafana" + APP: "prometheus-stack" needs: - - job: grafana-cert + - job: prometheus-stack-cert extends: - .behave - .prometheus_stack_rules diff --git a/ansible/roles/apps/tasks/grafana.yml b/ansible/roles/apps/tasks/grafana.yml deleted file mode 100644 index 803c5457ef1401c25848adffd42af8d9679722c8..0000000000000000000000000000000000000000 --- a/ansible/roles/apps/tasks/grafana.yml +++ /dev/null @@ -1,41 +0,0 @@ ---- - -- name: Create Kubernetes secret with grafana settings - tags: - - config - - flux - - monitoring - - grafana - vars: - flux_secret: - name: "grafana" - namespace: "oas" - include_tasks: - file: flux_secret.yml - apply: - tags: - - config - - flux - - monitoring - - grafana - -- name: Create monitoring-related persistent volumes - tags: - - config - - monitoring - - grafana - vars: - pvc: - name: "{{ item.name }}" - namespace: "oas" - size: "{{ item.size }}" - include_tasks: - file: pvc.yml - apply: - tags: - - config - - monitoring - - grafana - loop: - - name: "grafana" - size: "2Gi" diff --git a/ansible/roles/apps/templates/settings/prometheus-stack.yaml b/ansible/roles/apps/templates/settings/prometheus-stack.yaml index db6787c6b82493d326287c7881b8170de1e85b08..153ba938960b3b1bcf1a2b6748057a1d321158db 100644 --- a/ansible/roles/apps/templates/settings/prometheus-stack.yaml +++ b/ansible/roles/apps/templates/settings/prometheus-stack.yaml @@ -83,6 +83,21 @@ alertmanager: prometheus: + prometheusSpec: + scrapeInterval: "3m" + evaluationInterval: "3m" + retention: "10d" + +# replicas: 2 +# podAntiAffinity: "hard" + storageSpec: + volumeClaimTemplate: + spec: + accessModes: ["ReadWriteOnce"] + resources: + requests: + storage: 10Gi + {% if prometheus_enable_ingress is defined and prometheus_enable_ingress %} ingress: enabled: true @@ -98,20 +113,6 @@ prometheus: hosts: - "prometheus.{{ domain }}" {% endif %} - prometheusSpec: - scrapeInterval: "3m" - evaluationInterval: "3m" - retention: "10d" - -# replicas: 2 -# podAntiAffinity: "hard" - storageSpec: - volumeClaimTemplate: - spec: - accessModes: ["ReadWriteOnce"] - resources: - requests: - storage: 10Gi # resources: # limits: @@ -158,48 +159,48 @@ grafana: backup.velero.io/backup-volumes: "storage" # This allows us to pick up the Loki datasource - sidecar: - datasources: - enabled: true - label: grafana_datasource - # Make a configmap with the label `grafana_dashboard` to add dashboards to - # Grafana. - dashboards: - enabled: true - lablel: grafana_dashboard + # sidecar: + # datasources: + # enabled: true + # label: grafana_datasource + # # Make a configmap with the label `grafana_dashboard` to add dashboards to + # # Grafana. + # dashboards: + # enabled: true + # lablel: grafana_dashboard - dashboardProviders: - dashboardproviders.yaml: - apiVersion: 1 - providers: - - name: 'default' - orgId: 1 - folder: '' - type: file - disableDeletion: false - editable: true - options: - path: /var/lib/grafana/dashboards - dashboards: - default: - kube-dash: - gnetId: 11074 - revision: 2 - datasource: Prometheus - loki-dash: - gnetId: 10880 - revision: 1 - datasource: Loki + # dashboardProviders: + # dashboardproviders.yaml: + # apiVersion: 1 + # providers: + # - name: 'default' + # orgId: 1 + # folder: '' + # type: file + # disableDeletion: false + # editable: true + # options: + # path: /var/lib/grafana/dashboards + # dashboards: + # default: + # kube-dash: + # gnetId: 11074 + # revision: 2 + # datasource: Prometheus + # loki-dash: + # gnetId: 10880 + # revision: 1 + # datasource: Loki - datasources: - datasources.yaml: - apiVersion: 1 - datasources: - - name: Prometheus - type: prometheus - url: http://prometheus-server - access: proxy - isDefault: true + # datasources: + # datasources.yaml: + # apiVersion: 1 + # datasources: + # - name: Prometheus + # type: prometheus + # url: http://prometheus-server + # access: proxy + # isDefault: true plugins: - grafana-piechart-panel diff --git a/flux/oas/grafana_hr.yaml b/flux/oas/grafana_hr.yaml deleted file mode 100644 index 1b7bbfe80025f540a50c33d54747bccd844743c9..0000000000000000000000000000000000000000 --- a/flux/oas/grafana_hr.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- -apiVersion: helm.fluxcd.io/v1 -kind: HelmRelease -metadata: - name: grafana - namespace: oas - annotations: - flux.weave.works/automated: "false" -spec: - releaseName: grafana - chart: - repository: https://grafana.github.io/helm-charts - name: grafana - version: 6.2.1 - valuesFrom: - - secretKeyRef: - name: grafana-settings - key: values.yaml diff --git a/test/behave/features/grafana.feature b/test/behave/features/prometheus-stack.feature similarity index 98% rename from test/behave/features/grafana.feature rename to test/behave/features/prometheus-stack.feature index d759396f8c8cd70c0d82569c8ea685b6c328b2aa..18ba7f07c504986c315dfb55d6a608a094df1e45 100644 --- a/test/behave/features/grafana.feature +++ b/test/behave/features/prometheus-stack.feature @@ -1,4 +1,4 @@ -@grafana +@prometheus-stack Feature: Test grafana admin login As an OAS admin I want to be able to login to grafana as the user admin diff --git a/test/pytest/test_app_deployments.py b/test/pytest/test_app_deployments.py index 384e3adb5702c6ed93bd76b1625c63b0a7a87b63..444b079b9e1f6f7d7655c9fe044bcaab5c58dc21 100644 --- a/test/pytest/test_app_deployments.py +++ b/test/pytest/test_app_deployments.py @@ -17,7 +17,6 @@ EXPECTED_RELEASES = { 'oas': [ 'ingress', 'prometheus', - 'grafana', 'loki-stack', 'eventrouter', 'single-sign-on' @@ -35,15 +34,12 @@ EXPECTED_APP_LABELS = { 'rocketchat': { 'namespace': 'oas-apps', 'label_selector': 'app.kubernetes.io/instance=rocketchat'}, - 'grafana': { + 'prometheus-stack': { 'namespace': 'oas', - 'label_selector': 'app=grafana'}, + 'label_selector': 'app in (grafana,prometheus)'}, 'eventrouter': { 'namespace': 'oas', 'label_selector': 'app=eventrouter'}, - 'prometheus': { - 'namespace': 'oas', - 'label_selector': 'app=prometheus'}, 'single-sign-on': { 'namespace': 'oas', 'label_selector': 'app.kubernetes.io/name in (hydra,hydra-maester,single-sign-on-userbackend,single-sign-on-consent,single-sign-on-userpanel,single-sign-on-login)'}