Full web : clusters gérés dans l'UI, primaire et cibles, comptes pve
This commit is contained in:
1 parent
0fb88cb4b0
commit
3e9cb563be
11 files changed
+93
-414
No files matched your search
+10
-40
@@ -1,25 +1,20 @@
|
||||
# Interface web (phases 1-2) :
|
||||
# docker compose up -d confsync-web # http://<hôte>:8080 ; mot de passe admin dans les logs au 1er démarrage
|
||||
# CLI de la phase 0, lancée à la demande avec confsync.yaml :
|
||||
# docker compose run --rm confsync check
|
||||
# docker compose run --rm confsync diff
|
||||
# docker compose run --rm confsync export -o /data/ref.yaml
|
||||
# docker compose run --rm confsync apply # dry-run
|
||||
# docker compose run --rm confsync apply -confirm # application (confirmation SDN interactive)
|
||||
# Interface web :
|
||||
# docker compose up -d # http://<hôte>:8080
|
||||
# Base vide : la page de connexion crée le premier administrateur (ne pas exposer
|
||||
# l'instance avant), sauf si CONFSYNC_ADMIN_PASSWORD(_FILE) est fourni.
|
||||
# Clusters, mots de passe root (chiffrés en base) et réglages : tout se fait dans l'UI.
|
||||
services:
|
||||
confsync-web:
|
||||
confsync:
|
||||
build: .
|
||||
image: pve-confsync:dev
|
||||
container_name: pve-confsync-web
|
||||
command: ["serve"]
|
||||
container_name: pve-confsync
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8080:8080" # ou derrière Traefik (HTTPS : cookies Secure)
|
||||
environment:
|
||||
TZ: ${TZ:-Europe/Paris}
|
||||
CONFSYNC_SECRET_KEY_FILE: /run/secrets/confsync_key # clé des secrets en base, hors volume /data
|
||||
CONFSYNC_SECRET_KEY_FILE: /run/secrets/confsync_key # clé AES des mots de passe en base, hors volume /data
|
||||
# CONFSYNC_ADMIN_PASSWORD_FILE: /run/secrets/confsync_admin
|
||||
# CONFSYNC_IMPORT: /config/confsync.yaml # import initial de la config CLI (base vide)
|
||||
# OIDC_ISSUER: https://auth.example.org/application/o/confsync/
|
||||
# OIDC_CLIENT_ID: confsync
|
||||
# OIDC_CLIENT_SECRET_FILE: /run/secrets/oidc_client
|
||||
@@ -34,36 +29,11 @@ services:
|
||||
secrets:
|
||||
- confsync_key
|
||||
|
||||
confsync:
|
||||
image: pve-confsync:dev
|
||||
container_name: pve-confsync
|
||||
profiles: ["cli"] # pas démarré par "up" ; "run" l'active
|
||||
command: ["check"]
|
||||
environment:
|
||||
TZ: ${TZ:-Europe/Paris}
|
||||
PVE_SITE_B_SECRET: ${PVE_SITE_B_SECRET:-} # secrets par variable (voir token_secret_env)
|
||||
env_file:
|
||||
- path: .env
|
||||
required: false
|
||||
volumes:
|
||||
- ./confsync.yaml:/config/confsync.yaml:ro
|
||||
- confsync-cli:/data # exports YAML
|
||||
secrets:
|
||||
- pve_ref
|
||||
- pve_site_a
|
||||
stdin_open: true
|
||||
tty: true
|
||||
|
||||
# Fichiers chmod 600, propriétaire 10001, montés dans /run/secrets/<nom>.
|
||||
# confsync_key : openssl rand -hex 32 > secrets/confsync_key
|
||||
# Fichier chmod 600, propriétaire 10001, monté dans /run/secrets/confsync_key.
|
||||
# mkdir -p secrets && openssl rand -hex 32 > secrets/confsync_key
|
||||
secrets:
|
||||
confsync_key:
|
||||
file: ./secrets/confsync_key
|
||||
pve_ref:
|
||||
file: ./secrets/pve_ref
|
||||
pve_site_a:
|
||||
file: ./secrets/pve_site_a
|
||||
|
||||
volumes:
|
||||
confsync-data:
|
||||
confsync-cli:
|
||||
Reference in new issue
Block a user