Skip to content

Staging Deployment

Inventory

Het belangerijkste hiervoor, is het aanpassen van de juiste Inventory File, voor staging is dat inventory/staging/hosts.yml.

Instellen Hosts:

Onder all:hosts: zien we al een paar hosts defined, deze kunnen vernoemd worden naar keuze, maar om het duidelijk te houden kozen we ervoor om deze te benoemen met hun groep en een nummer. eg: frontend & 01. Dit met een prefix "bwv", die staat gewoon voor Belgian Wildfire Viewer.

Bij ansible_host: kun je zowel een domein als een IP meegeven. Voor Staging kan dit dus ook staging.wildfire.be worden bijvoorbeeld.

yaml
#
# (🖥️) Staging Hosts (Odisee)
# ==================================================
---
all:
  hosts:
    controlhost:
      ansible_host: localhost
      ansible_connection: local
    bwv-proxy-01:
      ansible_host: 10.129.80.89
    bwv-frontend-01:
      ansible_host: 10.129.80.89
    bwv-backend-01:
      ansible_host: 10.129.80.64

Deze file stopt hier niet, we komen nu tot all:children:. Hier kunnen we groepen toevoegen zoals proxy, frontend en backend.

Belangerijk is dat je hieronder de naam van de host die je eerder bij all:hosts: aanmaakte toevoegd aan de juiste groep.

yaml
 children:
    # Proxies:
    # -------------------------
    proxy:
      hosts:
        bwv-proxy-01:
V
    # Frontend:
    # -------------------------
    frontend:
      children:
        viewer:
          hosts:
            bwv-frontend-01:
        adminportal:
          hosts:
            bwv-frontend-01:

    # Backend:
    # -------------------------
    backend:
      children:
        api:
          hosts:
            bwv-backend-01:
        database:
          hosts:
            bwv-backend-01:

Variabelen

Belangerijkste deel hierbij is het aanpassen van de Backend & Frontend ENV Variabelen.

Deze zijn te vinden in volgende files:

  • inventory/staging/group_vars/frontend/vault.yml
  • inventory/staging/group_vars/backend/vault.yml

Deze moeten mogelijks nog gedecrypt worden met ansible-vault decrypt <FILE>.

Deployen

Via Pipeline

Als alles klaar is in je Ansible Code, kan deze gepushed worden naar de Repo. Wanneer er in de toekomst updates komen aan de Frontend of Backend, worden deze respectievelijk gedeployed via de Ansible Pipeline Trigger.

Via Local Controlhost

Kan volgens het zelfde commando uit vorige stap: ansible-playbook full.yml -i inventory/staging/hosts.yml --ask-vault-pass

Fire Management System Documentation