From d61c0a142bfbfeef01ad106733b6e75153ac418d Mon Sep 17 00:00:00 2001
From: Varac <varac@varac.net>
Date: Thu, 5 Dec 2019 12:48:12 +0100
Subject: [PATCH] Use common ansible resource for flux secrets

Closes: #409
---
 ansible/roles/apps/tasks/cert-manager.yml       | 14 ++++----------
 ansible/roles/apps/tasks/flux_secret.yml        | 16 ++++++++++++++++
 ansible/roles/apps/tasks/local-storage.yml      | 17 +++++------------
 ansible/roles/apps/tasks/nextcloud.yml          | 16 +++++-----------
 ansible/roles/apps/tasks/nginx.yml              | 14 ++++----------
 ansible/roles/apps/tasks/prometheus.yml         | 14 ++++----------
 ...r-values.yaml => cert-manager-settings.yaml} |  0
 ...ngress-values.yaml => ingress-settings.yaml} |  0
 ...-values.yaml => local-storage-settings.yaml} |  0
 ...ing-values.yaml => monitoring-settings.yaml} |  0
 ...loud-values.yaml => nextcloud-settings.yaml} |  0
 11 files changed, 38 insertions(+), 53 deletions(-)
 create mode 100644 ansible/roles/apps/tasks/flux_secret.yml
 rename ansible/roles/apps/templates/{cert-manager-values.yaml => cert-manager-settings.yaml} (100%)
 rename ansible/roles/apps/templates/{ingress-values.yaml => ingress-settings.yaml} (100%)
 rename ansible/roles/apps/templates/{local-storage-values.yaml => local-storage-settings.yaml} (100%)
 rename ansible/roles/apps/templates/{monitoring-values.yaml => monitoring-settings.yaml} (100%)
 rename ansible/roles/apps/templates/{nextcloud-values.yaml => nextcloud-settings.yaml} (100%)

diff --git a/ansible/roles/apps/tasks/cert-manager.yml b/ansible/roles/apps/tasks/cert-manager.yml
index 6ad323494..7d78b5ac4 100644
--- a/ansible/roles/apps/tasks/cert-manager.yml
+++ b/ansible/roles/apps/tasks/cert-manager.yml
@@ -50,13 +50,7 @@
     - config
     - flux
     - cert-manager
-  k8s:
-    state: present
-    definition:
-      api_version: v1
-      kind: Secret
-      metadata:
-        namespace: "oas"
-        name: "cert-manager-settings"
-      data:
-        values.yaml: "{{ lookup('template','cert-manager-values.yaml') | b64encode }}"
+  vars:
+    flux:
+      name: "cert-manager-settings"
+  include_tasks: flux_secret.yml
diff --git a/ansible/roles/apps/tasks/flux_secret.yml b/ansible/roles/apps/tasks/flux_secret.yml
new file mode 100644
index 000000000..dcfc0e41d
--- /dev/null
+++ b/ansible/roles/apps/tasks/flux_secret.yml
@@ -0,0 +1,16 @@
+---
+- name: Create Kubernetes secret with app settings
+  tags:
+    - config
+    - flux
+    - secret
+  k8s:
+    state: present
+    definition:
+      api_version: v1
+      kind: Secret
+      metadata:
+        namespace: "oas"
+        name: "{{ flux.name }}"
+      data:
+        values.yaml: "{{ lookup('template','{{ flux.name }}.yaml') | b64encode }}"
diff --git a/ansible/roles/apps/tasks/local-storage.yml b/ansible/roles/apps/tasks/local-storage.yml
index 8b01f5bf0..b39bbd1da 100644
--- a/ansible/roles/apps/tasks/local-storage.yml
+++ b/ansible/roles/apps/tasks/local-storage.yml
@@ -1,17 +1,10 @@
 ---
-
-- name: Create Kubernetes secret with local-storage values
+- name: Create Kubernetes secret with local-storage settings
   tags:
     - config
     - flux
     - local-storage
-  k8s:
-    state: present
-    definition:
-      api_version: v1
-      kind: Secret
-      metadata:
-        namespace: "oas"
-        name: "local-storage-settings"
-      data:
-        values.yaml: "{{ lookup('template','local-storage-values.yaml') | b64encode }}"
+  vars:
+    flux:
+      name: "local-storage-settings"
+  include_tasks: flux_secret.yml
diff --git a/ansible/roles/apps/tasks/nextcloud.yml b/ansible/roles/apps/tasks/nextcloud.yml
index af3bdc578..3ecf26ee4 100644
--- a/ansible/roles/apps/tasks/nextcloud.yml
+++ b/ansible/roles/apps/tasks/nextcloud.yml
@@ -1,17 +1,11 @@
 ---
 
-- name: Create Kubernetes secret with NextCloud settings
+- name: Create Kubernetes secret with nextcloud settings
   tags:
     - config
     - flux
     - nextcloud
-  k8s:
-    state: present
-    definition:
-      api_version: v1
-      kind: Secret
-      metadata:
-        namespace: "oas-apps"
-        name: "nextcloud-settings"
-      data:
-        values.yaml: "{{ lookup('template','nextcloud-values.yaml') | b64encode }}"
+  vars:
+    flux:
+      name: "nextcloud-settings"
+  include_tasks: flux_secret.yml
diff --git a/ansible/roles/apps/tasks/nginx.yml b/ansible/roles/apps/tasks/nginx.yml
index a84dd7174..f206843a7 100644
--- a/ansible/roles/apps/tasks/nginx.yml
+++ b/ansible/roles/apps/tasks/nginx.yml
@@ -5,13 +5,7 @@
     - config
     - flux
     - nginx
-  k8s:
-    state: present
-    definition:
-      api_version: v1
-      kind: Secret
-      metadata:
-        namespace: "oas"
-        name: "ingress-settings"
-      data:
-        values.yaml: "{{ lookup('template','ingress-values.yaml') | b64encode }}"
+  vars:
+    flux:
+      name: "ingress-settings"
+  include_tasks: flux_secret.yml
diff --git a/ansible/roles/apps/tasks/prometheus.yml b/ansible/roles/apps/tasks/prometheus.yml
index 9866fa726..08c09909c 100644
--- a/ansible/roles/apps/tasks/prometheus.yml
+++ b/ansible/roles/apps/tasks/prometheus.yml
@@ -37,13 +37,7 @@
     - flux
     - monitoring
     - prometheus
-  k8s:
-    state: present
-    definition:
-      api_version: v1
-      kind: Secret
-      metadata:
-        namespace: "oas"
-        name: "monitoring-settings"
-      data:
-        values.yaml: "{{ lookup('template','monitoring-values.yaml') | b64encode }}"
+  vars:
+    flux:
+      name: "monitoring-settings"
+  include_tasks: flux_secret.yml
diff --git a/ansible/roles/apps/templates/cert-manager-values.yaml b/ansible/roles/apps/templates/cert-manager-settings.yaml
similarity index 100%
rename from ansible/roles/apps/templates/cert-manager-values.yaml
rename to ansible/roles/apps/templates/cert-manager-settings.yaml
diff --git a/ansible/roles/apps/templates/ingress-values.yaml b/ansible/roles/apps/templates/ingress-settings.yaml
similarity index 100%
rename from ansible/roles/apps/templates/ingress-values.yaml
rename to ansible/roles/apps/templates/ingress-settings.yaml
diff --git a/ansible/roles/apps/templates/local-storage-values.yaml b/ansible/roles/apps/templates/local-storage-settings.yaml
similarity index 100%
rename from ansible/roles/apps/templates/local-storage-values.yaml
rename to ansible/roles/apps/templates/local-storage-settings.yaml
diff --git a/ansible/roles/apps/templates/monitoring-values.yaml b/ansible/roles/apps/templates/monitoring-settings.yaml
similarity index 100%
rename from ansible/roles/apps/templates/monitoring-values.yaml
rename to ansible/roles/apps/templates/monitoring-settings.yaml
diff --git a/ansible/roles/apps/templates/nextcloud-values.yaml b/ansible/roles/apps/templates/nextcloud-settings.yaml
similarity index 100%
rename from ansible/roles/apps/templates/nextcloud-values.yaml
rename to ansible/roles/apps/templates/nextcloud-settings.yaml
-- 
GitLab