covas-deployment/scaleway-k8s/tasks/deploy-backend.yml

67 lines
1.6 KiB
YAML

---
# tasks file for create cluster k8s via terraform
- name: Create directory {{ project_terraform }}
file:
path: "{{ project_backend }}"
state: directory
- name: Copy backend k8s yaml
template:
src: "{{ item }}.yaml.j2"
dest: "{{ project_backend }}/{{ item }}.yaml"
with_items: "{{ backend_yaml }}"
- name: Create a k8s namespace
kubernetes.core.k8s:
name: testing
api_version: v1
kind: Namespace
state: present
- name: Apply deployment
kubernetes.core.k8s:
src: "{{ project_backend }}/backend-deployment.yaml"
state: present
- name: Apply services
kubernetes.core.k8s:
src: "{{ project_backend }}/backend-service.yaml"
state: present
- name: Apply configmap
kubernetes.core.k8s:
src: "{{ project_backend }}/env-configmap.yaml"
state: present
- name: Apply secret
kubernetes.core.k8s:
src: "{{ project_backend }}/secret.yaml"
state: present
- name: Pause for 2 minutes to build app cache
ansible.builtin.pause:
minutes: 2
- name: Fetch services
set_fact:
service: "{{ query('kubernetes.core.k8s', kind='Service', namespace='testing', label_selector='io.kompose.service=backend') }}"
register: result
tags: [ "services"]
- name: debug services
debug:
msg: "{{ result.ansible_facts.service[0].status.loadBalancer.ingress[0].ip }}"
tags: [ "services"]
- name: Test API Backend
ansible.builtin.uri:
url: "http://{{ result.ansible_facts.service[0].status.loadBalancer.ingress[0].ip }}:{{ port }}/api/hello"
status_code: 200
method: GET
tags: [ "services" ]