From 2d967da0b00c8cd0c6a9d99f535b1d106420e4d0 Mon Sep 17 00:00:00 2001 From: Arie Peterson <arie@greenhost.nl> Date: Tue, 5 Oct 2021 15:20:11 +0200 Subject: [PATCH] Replace custom status checks by flux health assessment --- .gitlab-ci.yml | 171 +----------------- flux2/cluster/base/core.yaml | 12 ++ flux2/cluster/base/infrastructure.yaml | 8 + .../optional/monitoring/monitoring.yaml | 16 ++ .../cluster/optional/nextcloud/nextcloud.yaml | 8 + .../optional/rocketchat/rocketchat.yaml | 4 + flux2/cluster/optional/wekan/wekan.yaml | 4 + .../cluster/optional/wordpress/wordpress.yaml | 4 + 8 files changed, 62 insertions(+), 165 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 623a8d2e0..4688eb837 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -433,165 +433,6 @@ enable-wordpress: - .enable_app_template - .wordpress_rules -# Stage: apps-ready -# ====================== -# -# Tests apps for readiness state - -.apps-deployment: - stage: apps-ready - script: - - *debug_information - - cd ansible/ - - export KUBECONFIG="${PWD}/../clusters/${HOSTNAME}/kube_config_cluster.yml" - - pytest -v -s -m 'deployments' --resource="$RESOURCE" --namespace="$NAMESPACE" --connection=ansible --ansible-inventory=../${CLUSTER_DIR}/inventory.yml --hosts='ansible://*' --reruns 120 --reruns-delay 10 - extends: - - .ssh_setup - interruptible: true - -.apps-statefulset: - stage: apps-ready - script: - - *debug_information - - cd ansible/ - - export KUBECONFIG="${PWD}/../clusters/${HOSTNAME}/kube_config_cluster.yml" - - pytest -v -s -m 'statefulsets' --resource="$RESOURCE" --namespace="$NAMESPACE" --connection=ansible --ansible-inventory=../${CLUSTER_DIR}/inventory.yml --hosts='ansible://*' --reruns 120 --reruns-delay 10 - extends: - - .ssh_setup - interruptible: true - -.apps-daemonset: - stage: apps-ready - script: - - *debug_information - - cd ansible/ - - export KUBECONFIG="${PWD}/../clusters/${HOSTNAME}/kube_config_cluster.yml" - - pytest -v -s -m 'daemonsets' --resource="$RESOURCE" --namespace="$NAMESPACE" --connection=ansible --ansible-inventory=../${CLUSTER_DIR}/inventory.yml --hosts='ansible://*' --reruns 120 --reruns-delay 10 - extends: - - .ssh_setup - interruptible: true - -cert-manager-deployment: - variables: - RESOURCE: "cert-manager" - NAMESPACE: "cert-manager" - needs: - - job: infrastructure-kustomizations-ready - - job: setup-openappstack # Needs makes sure the artifacts from that job are downloaded - extends: - - .apps-deployment - - .cert_manager_rules - -eventrouter-deployment: - variables: - RESOURCE: "eventrouter" - NAMESPACE: "oas" - needs: - - job: enable-monitoring - - job: setup-openappstack - extends: - - .apps-deployment - - .eventrouter_rules - -local-path-provisioner-deployment: - variables: - RESOURCE: "local-path-provisioner" - NAMESPACE: "kube-system" - needs: - - job: infrastructure-kustomizations-ready - - job: setup-openappstack - extends: - - .apps-deployment - - .local_path_provisioner_rules - -loki-statefulset: - variables: - RESOURCE: "loki" - NAMESPACE: "oas" - needs: - - job: enable-monitoring - - job: setup-openappstack - extends: - - .apps-statefulset - - .loki_rules - -promtail-daemonset: - variables: - RESOURCE: "promtail" - NAMESPACE: "oas" - needs: - - job: enable-monitoring - - job: setup-openappstack - extends: - - .apps-daemonset - - .promtail_rules - -nextcloud-deployment: - variables: - RESOURCE: "nextcloud" - NAMESPACE: "oas-apps" - needs: - - job: enable-nextcloud - - job: setup-openappstack - extends: - - .apps-deployment - - .nextcloud_rules - -kube-prometheus-stack-deployment: - variables: - RESOURCE: "kube-prometheus-stack" - NAMESPACE: "oas" - needs: - - job: enable-monitoring - - job: setup-openappstack - extends: - - .apps-deployment - - .kube_prometheus_stack_rules - -rocketchat-deployment: - variables: - RESOURCE: "rocketchat" - NAMESPACE: "oas-apps" - needs: - - job: enable-rocketchat - - job: setup-openappstack - extends: - - .apps-deployment - - .rocketchat_rules - -single-sign-on-deployment: - variables: - RESOURCE: "single-sign-on" - NAMESPACE: "oas" - needs: - - job: core-kustomizations-ready - - job: setup-openappstack - extends: - - .apps-deployment - - .single_sign_on_rules - -wekan-deployment: - variables: - RESOURCE: "wekan" - NAMESPACE: "oas-apps" - needs: - - job: enable-wekan - - job: setup-openappstack - extends: - - .apps-deployment - - .wekan_rules - -wordpress-statefulset: - variables: - RESOURCE: "wordpress" - NAMESPACE: "oas-apps" - needs: - - job: enable-wordpress - - job: setup-openappstack - extends: - - .apps-statefulset - - .wordpress_rules - # Stage: certs # ================ # @@ -611,7 +452,7 @@ nextcloud-cert: variables: RESOURCE: "nextcloud" needs: - - job: nextcloud-deployment + - job: enable-nextcloud - job: setup-openappstack extends: - .apps-cert @@ -621,7 +462,7 @@ kube-prometheus-stack-cert: variables: RESOURCE: "kube-prometheus-stack" needs: - - job: kube-prometheus-stack-deployment + - job: enable-monitoring - job: setup-openappstack extends: - .apps-cert @@ -631,7 +472,7 @@ rocketchat-cert: variables: RESOURCE: "rocketchat" needs: - - job: rocketchat-deployment + - job: enable-rocketchat - job: setup-openappstack extends: - .apps-cert @@ -641,7 +482,7 @@ single-sign-on-cert: variables: RESOURCE: "single-sign-on" needs: - - job: single-sign-on-deployment + - job: core-kustomizations-ready - job: setup-openappstack extends: - .apps-cert @@ -651,7 +492,7 @@ wekan-cert: variables: RESOURCE: "wekan" needs: - - job: wekan-deployment + - job: enable-wekan - job: setup-openappstack extends: - .apps-cert @@ -661,7 +502,7 @@ wordpress-cert: variables: RESOURCE: "wordpress" needs: - - job: wordpress-statefulset + - job: enable-wordpress - job: setup-openappstack extends: - .apps-cert diff --git a/flux2/cluster/base/core.yaml b/flux2/cluster/base/core.yaml index 1ab369502..7a12c2e19 100644 --- a/flux2/cluster/base/core.yaml +++ b/flux2/cluster/base/core.yaml @@ -35,3 +35,15 @@ spec: kind: HelmRelease name: single-sign-on namespace: oas + - apiVersion: apps/v1 + kind: Deployment + name: single-sign-on-userbackend + namespace: oas + - apiVersion: apps/v1 + kind: Deployment + name: single-sign-on-hydra + namespace: oas + - apiVersion: apps/v1 + kind: Deployment + name: single-sign-on-login + namespace: oas diff --git a/flux2/cluster/base/infrastructure.yaml b/flux2/cluster/base/infrastructure.yaml index 53c949da1..51ba9edbe 100644 --- a/flux2/cluster/base/infrastructure.yaml +++ b/flux2/cluster/base/infrastructure.yaml @@ -21,3 +21,11 @@ spec: kind: HelmRelease name: local-path-provisioner namespace: kube-system + - apiVersion: apps/v1 + kind: Deployment + name: cert-manager + namespace: cert-manager + - apiVersion: apps/v1 + kind: Deployment + name: local-path-provisioner + namespace: kube-system diff --git a/flux2/cluster/optional/monitoring/monitoring.yaml b/flux2/cluster/optional/monitoring/monitoring.yaml index a0fb7bc82..c0c529412 100644 --- a/flux2/cluster/optional/monitoring/monitoring.yaml +++ b/flux2/cluster/optional/monitoring/monitoring.yaml @@ -32,6 +32,22 @@ spec: kind: HelmRelease name: promtail namespace: oas + - apiVersion: apps/v1 + kind: Deployment + name: eventrouter + namespace: oas + - apiVersion: apps/v1 + kind: StatefulSet + name: loki + namespace: oas + - apiVersion: apps/v1 + kind: DaemonSet + name: promtail + namespace: oas + - apiVersion: apps/v1 + kind: StatefulSet + name: prometheus-kube-prometheus-stack-prometheus + namespace: oas postBuild: substituteFrom: - kind: Secret diff --git a/flux2/cluster/optional/nextcloud/nextcloud.yaml b/flux2/cluster/optional/nextcloud/nextcloud.yaml index 0059d0312..07fac76dd 100644 --- a/flux2/cluster/optional/nextcloud/nextcloud.yaml +++ b/flux2/cluster/optional/nextcloud/nextcloud.yaml @@ -20,6 +20,14 @@ spec: kind: HelmRelease name: nextcloud namespace: oas-apps + - apiVersion: apps/v1 + kind: Deployment + name: nc-nextcloud + namespace: oas-apps + - apiVersion: apps/v1 + kind: Deployment + name: nc-onlyoffice-documentserver + namespace: oas-apps postBuild: substituteFrom: - kind: Secret diff --git a/flux2/cluster/optional/rocketchat/rocketchat.yaml b/flux2/cluster/optional/rocketchat/rocketchat.yaml index 4cd176485..5b597db0a 100644 --- a/flux2/cluster/optional/rocketchat/rocketchat.yaml +++ b/flux2/cluster/optional/rocketchat/rocketchat.yaml @@ -20,6 +20,10 @@ spec: kind: HelmRelease name: rocketchat namespace: oas-apps + - apiVersion: apps/v1 + kind: Deployment + name: rocketchat-rocketchat + namespace: oas-apps postBuild: substituteFrom: - kind: Secret diff --git a/flux2/cluster/optional/wekan/wekan.yaml b/flux2/cluster/optional/wekan/wekan.yaml index 858bd489f..92cdf331d 100644 --- a/flux2/cluster/optional/wekan/wekan.yaml +++ b/flux2/cluster/optional/wekan/wekan.yaml @@ -20,6 +20,10 @@ spec: kind: HelmRelease name: wekan namespace: oas-apps + - apiVersion: apps/v1 + kind: Deployment + name: wekan + namespace: oas-apps postBuild: substituteFrom: - kind: Secret diff --git a/flux2/cluster/optional/wordpress/wordpress.yaml b/flux2/cluster/optional/wordpress/wordpress.yaml index 49abd36ce..9bb1cff0b 100644 --- a/flux2/cluster/optional/wordpress/wordpress.yaml +++ b/flux2/cluster/optional/wordpress/wordpress.yaml @@ -20,6 +20,10 @@ spec: kind: HelmRelease name: wordpress namespace: oas-apps + - apiVersion: apps/v1 + kind: StatefulSet + name: wordpress + namespace: oas-apps postBuild: substituteFrom: - kind: Secret -- GitLab