fas2discourse: structure to deploy the fas2discourse-operator

Signed-off-by: David Kirwan <dkirwan@redhat.com>
This commit is contained in:
David Kirwan 2023-02-06 13:20:54 +09:00
parent 953f2e5c4a
commit a21dfeea4f
10 changed files with 108 additions and 4 deletions

View file

@ -9,11 +9,23 @@
- /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
tasks:
- name: fas2discourse Role
include_role:
name: fas2discourse
tasks_from: create-keytab
- hosts: os-control-stg #:os-control
user: root
gather_facts: false
vars_files:
- /srv/web/infra/ansible/vars/global.yml
- "/srv/private/ansible/vars.yml"
- /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
tasks:
- name: fas2discourse Role
include_role:
name: fas2discourse
tasks_from: administration-tasks
apply:
tags:
- generate-keytab

View file

@ -1 +1,5 @@
fas2discourse_hostname: "fas2discourse.hostna.me"
fas2discourse_namespace: "fas2discourse-operator"
fas2discourse_project_description: "The fas2discourse-operator is responsible for synchronising group membership for users between Discourse and IPA."
fas2discourse_keytab_file: "OVERRIDEME WITH A FILE LOOKUP"
fas2discourse_discourse_apikey: "OVERRIDEME WITH A DISCOURSE APIKEY"

View file

@ -1,2 +1,15 @@
---
- include_tasks: create-keytab.yml
- name: Create the directories to hold the templates
file:
path: "/root/ocp4/openshift-apps/fas2discourse-operator"
state: directory
owner: root
group: root
mode: 0770
recurse: yes
- include_tasks: create-operator-namespace.yml
- include_tasks: create-keytab-secret.yml
- include_tasks: create-discourse-apikey-secret.yml
- include_tasks: deploy-fas2discourse-operator.yml

View file

@ -0,0 +1,12 @@
---
# generate the templates for project to be created
- name: create the templates
template:
src: "secret-discourse-apikey.yml"
dest: "/root/ocp4/openshift-apps/fas2discourse-operator/secret-discourse-apikey.yml"
mode: 0770
# apply created openshift resources
- name: oc apply resources
command: "/root/bin/oc apply -f /root/ocp4/openshift-apps/fas2discourse-operator/secret-discourse-apikey.yml"

View file

@ -0,0 +1,24 @@
---
# generate the templates for project to be created
- name: create the templates
ansible.builtin.copy:
src: "/etc/openshift_apps/fas2discourse/fas2discourse-keytab.kt"
dest: "/root/ocp4/openshift-apps/fas2discourse-operator/fas2discourse-keytab.kt"
mode: 0770
# generate the templates for project to be created
- name: create the templates
template:
src: "secret-keytab.yml"
dest: "/root/ocp4/openshift-apps/fas2discourse-operator/secret-keytab.yml"
mode: 0770
vars:
fas2discourse_keytab_file:
"{{ lookup('file',
'/etc/openshift_apps/fas2discourse/fas2discourse-keytab.kt')
}}"
# apply created openshift resources
- name: oc apply resources
command: "/root/bin/oc apply -f /root/ocp4/openshift-apps/fas2discourse-operator/secret-keytab.yml"

View file

@ -0,0 +1,11 @@
---
# generate the templates for project to be created
- name: create the templates
template:
src: "namespace.yml"
dest: "/root/ocp4/openshift-apps/fas2discourse-operator/namespace.yml"
mode: 0770
# apply created openshift resources
- name: oc apply resources
command: "/root/bin/oc apply -f /root/ocp4/openshift-apps/fas2discourse-operator/namespace.yml"

View file

@ -0,0 +1,2 @@
---

View file

@ -0,0 +1,8 @@
---
kind: Namespace
apiVersion: v1
metadata:
name: "{{fas2discourse_namespace}}"
annotations:
openshift.io/description: "{{ fas2discourse_project_description }}"
openshift.io/display-name: "{{ fas2discourse_namespace }}"

View file

@ -0,0 +1,9 @@
apiVersion: v1
kind: Secret
metadata:
name: "{{ fas2discourse_namespace }}-discourse-apikey-secret"
namespace: "{{ fas2discourse_namespace }}"
data:
fas2discourse-discourse-apikey:
"{{ fas2discourse_discourse_apikey | b64encode }}"

View file

@ -0,0 +1,9 @@
apiVersion: v1
kind: Secret
metadata:
name: "{{ fas2discourse_namespace }}-keytab-secret"
namespace: "{{ fas2discourse_namespace }}"
data:
fas2discourse-keytab:
"{{ fas2discourse_keytab_file | b64encode }}"