100 lines
2.7 KiB
YAML
100 lines
2.7 KiB
YAML
---
|
|
- name: Converge
|
|
hosts: localhost
|
|
connection: local
|
|
gather_facts: no
|
|
vars:
|
|
ansible_python_interpreter: '{{ virtualenv_interpreter }}'
|
|
vars_files:
|
|
- vars/main.yml
|
|
tasks:
|
|
# OpenShift Resources
|
|
- name: Create a project
|
|
community.okd.k8s:
|
|
name: testing
|
|
kind: Project
|
|
api_version: project.openshift.io/v1
|
|
apply: no
|
|
register: output
|
|
|
|
- name: show output
|
|
debug:
|
|
var: output
|
|
|
|
- name: Create deployment config
|
|
community.okd.k8s:
|
|
state: present
|
|
name: hello-world
|
|
namespace: testing
|
|
definition: '{{ okd_dc_template }}'
|
|
wait: yes
|
|
wait_condition:
|
|
type: Available
|
|
status: True
|
|
vars:
|
|
k8s_pod_name: hello-world
|
|
k8s_pod_image: python
|
|
k8s_pod_command:
|
|
- python
|
|
- '-m'
|
|
- http.server
|
|
k8s_pod_env:
|
|
- name: TEST
|
|
value: test
|
|
okd_dc_triggers:
|
|
- type: ConfigChange
|
|
register: output
|
|
|
|
- name: Show output
|
|
debug:
|
|
var: output
|
|
|
|
- vars:
|
|
image: docker.io/python
|
|
image_name: python
|
|
image_tag: latest
|
|
k8s_pod_image: python
|
|
k8s_pod_command:
|
|
- python
|
|
- '-m'
|
|
- http.server
|
|
namespace: idempotence-testing
|
|
block:
|
|
- name: Create a namespace
|
|
community.okd.k8s:
|
|
name: '{{ namespace }}'
|
|
kind: Namespace
|
|
api_version: v1
|
|
|
|
- name: Create imagestream
|
|
community.okd.k8s:
|
|
namespace: '{{ namespace }}'
|
|
definition: '{{ okd_imagestream_template }}'
|
|
|
|
- name: Create DeploymentConfig to reference ImageStream
|
|
community.okd.k8s:
|
|
name: '{{ k8s_pod_name }}'
|
|
namespace: '{{ namespace }}'
|
|
definition: '{{ okd_dc_template }}'
|
|
vars:
|
|
k8s_pod_name: is-idempotent-dc
|
|
|
|
- name: Create Deployment to reference ImageStream
|
|
community.okd.k8s:
|
|
name: '{{ k8s_pod_name }}'
|
|
namespace: '{{ namespace }}'
|
|
definition: '{{ k8s_deployment_template | combine(metadata) }}'
|
|
vars:
|
|
k8s_pod_annotations:
|
|
"alpha.image.policy.openshift.io/resolve-names": "*"
|
|
k8s_pod_name: is-idempotent-deployment
|
|
annotation:
|
|
- from:
|
|
kind: ImageStreamTag
|
|
name: "{{ image_name }}:{{ image_tag}}}"
|
|
fieldPath: 'spec.template.spec.containers[?(@.name=="{{ k8s_pod_name }}")].image}'
|
|
metadata:
|
|
metadata:
|
|
annotations:
|
|
image.openshift.io/triggers: '{{ annotation | to_json }}'
|