You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hetzner-ansible/roles/awx/tasks/main.yml

107 lines
2.3 KiB
YAML

---
- name: "Install Pip3 for {{ service_name }}"
apt:
name: python3-pip
state: present
become: True
tags:
- kube_apply
- name: "Install Kubernetes over Pip3 for {{ service_name }}"
pip:
name: kubernetes
state: present
become: True
tags:
- kube_apply
- name: "Install and Setup Kubernetes (Single node, Master-only cluster) for {{ service_name }}"
include_role:
name: geerlingguy.kubernetes
vars:
kubernetes_allow_pods_on_master: true
tags:
- kube_install
- name: "Download AWX {{ awx_operator_version }} to Kubernetes Template for {{ service_name }}"
get_url:
url: "{{ awx_operator_url }}"
dest: /tmp/awx-operator.yaml
mode: '0664'
tags:
- kube_apply
- name: "Apply AWX {{ awx_operator_version }} to Kubernetes {{ service_name }}"
k8s:
state: present
src: /tmp/awx-operator.yaml
namespace: default
wait: yes
wait_timeout: 300
tags:
- kube_apply
- name: "Ensure that postgres volume directory exists for {{ service_name }}"
file:
path: "{{ item }}"
state: directory
owner: 'root'
group: 'root'
loop:
- "{{ kubernetes_awx_postgres_volume_path }}"
- "{{ kubernetes_awx_project_volume_path }}"
tags:
- kube_apply
- name: "Copy Deployment Template for {{ service_name }}"
template:
src: awx-deployment.yml.j2
dest: /tmp/awx-deployment.yml
owner: root
group: root
mode: '0644'
tags:
- kube_apply
- name: "Create a AWX k8s namespace for {{ service_name }}"
k8s:
name: "{{ kubernetes_awx_namespace }}"
api_version: v1
kind: Namespace
state: present
tags:
- kube_apply
- name: "Apply AWX Deployment for {{ service_name }}"
k8s:
state: present
src: /tmp/awx-deployment.yml
namespace: "{{ kubernetes_awx_namespace }}"
wait: yes
wait_timeout: 300
tags:
- kube_apply
- name: "Cleanup for {{ service_name }}"
file:
path: "{{ item }}"
state: absent
loop:
- /tmp/awx-operator.yaml
- /tmp/awx-deployment.yml
tags:
- kube_apply
- name: "Wait for AWX service {{ service_name }}"
uri:
url: "http://{{ stage_server_ip }}:{{ kubernetes_awx_service_port }}"
status_code: 200
validate_certs: False
register: result
until: result.status == 200
retries: 60
delay: 20
tags:
- kube_apply