feat(ansible): add semaphore docker splash demo with dagster config
This commit is contained in:
72
ansible-semaphore-docker-demo/README.md
Normal file
72
ansible-semaphore-docker-demo/README.md
Normal file
@@ -0,0 +1,72 @@
|
||||
# SemaphoreUI Docker Splash Demo
|
||||
|
||||
Demo Ansible molto semplice, pensata per essere eseguita da SemaphoreUI:
|
||||
- `test.yml`: verifica connettivita e prerequisiti
|
||||
- `deploy.yml`: deploy di un container Nginx Docker con pagina HTML custom
|
||||
- `undeploy.yml`: rimozione container e cleanup
|
||||
|
||||
## Struttura
|
||||
|
||||
```text
|
||||
ansible-semaphore-docker-demo/
|
||||
ansible.cfg
|
||||
inventory
|
||||
requirements.yml
|
||||
deploy.yml
|
||||
test.yml
|
||||
undeploy.yml
|
||||
group_vars/
|
||||
all.yml
|
||||
secrets.yml
|
||||
roles/
|
||||
splash/
|
||||
tasks/main.yml
|
||||
templates/index.html.j2
|
||||
templates/nginx.conf.j2
|
||||
semaphore_dagster_config.example.yml
|
||||
```
|
||||
|
||||
## Prerequisiti host target
|
||||
|
||||
- Linux con accesso SSH
|
||||
- Privilegi sudo/root
|
||||
- Debian/Ubuntu (nel playbook installo `docker.io` e `python3-docker`)
|
||||
|
||||
## Uso locale rapido
|
||||
|
||||
```bash
|
||||
cd ansible-semaphore-docker-demo
|
||||
ansible-galaxy collection install -r requirements.yml
|
||||
ansible-playbook -i inventory test.yml
|
||||
ansible-playbook -i inventory deploy.yml
|
||||
ansible-playbook -i inventory undeploy.yml
|
||||
```
|
||||
|
||||
## Accesso app
|
||||
|
||||
Dopo il deploy:
|
||||
- `http://<IP_SERVER>:8090`
|
||||
- healthcheck: `http://<IP_SERVER>:8090/health`
|
||||
|
||||
## Variabili principali
|
||||
|
||||
In `group_vars/all.yml`:
|
||||
- `app_port`
|
||||
- `greeting_message`
|
||||
- `container_name`
|
||||
- `nginx_version`
|
||||
- `accent_color`
|
||||
- `secondary_color`
|
||||
|
||||
In `group_vars/secrets.yml`:
|
||||
- `app_secret`
|
||||
- `release_id`
|
||||
|
||||
Per produzione: cifra `group_vars/secrets.yml` con Ansible Vault.
|
||||
|
||||
## SemaphoreUI
|
||||
|
||||
Per bootstrap automatico con il tuo DAG, usa il file:
|
||||
- `semaphore_dagster_config.example.yml`
|
||||
|
||||
Basta aggiornare URL Semaphore, token API, project ID, repo URL e inventory content.
|
||||
Reference in New Issue
Block a user