artefacts : la forge sert aussi les binaires
serveur_artefacts colocalise sur forge-01. Toute la flotte prend ses paquets Debian dans l'ecosysteme. Eprouve en coupant l'amont. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
aeb0e1635a
commit
163383185c
3 changed files with 26 additions and 7 deletions
14
README.md
14
README.md
|
|
@ -48,7 +48,7 @@ Les cinq machines tournent. L'adressage dérive du seul seed `index: 29` — sup
|
||||||
| `infra-dns-01` | infra-dns | `10.29.19.11` | PowerDNS autoritatif |
|
| `infra-dns-01` | infra-dns | `10.29.19.11` | PowerDNS autoritatif |
|
||||||
| `infra-pki-01` | infra-pki | `10.29.19.21` | step-ca — l'autorité interne |
|
| `infra-pki-01` | infra-pki | `10.29.19.21` | step-ca — l'autorité interne |
|
||||||
| `ops-01` | ops | `10.29.19.41` | le **poste d'exploitation** |
|
| `ops-01` | ops | `10.29.19.41` | le **poste d'exploitation** |
|
||||||
| `forge-01` | forge | `10.29.21.11` | Forgejo — le génome |
|
| `forge-01` | forge | `10.29.21.11` | Forgejo — le génome, **et** le cache d'artefacts |
|
||||||
|
|
||||||
**Forgejo tourne sur SQLite**, pas sur une VM PostgreSQL dédiée : une base qu'une
|
**Forgejo tourne sur SQLite**, pas sur une VM PostgreSQL dédiée : une base qu'une
|
||||||
poignée de personnes sollicite ne justifie pas un serveur, une zone, un secret et une
|
poignée de personnes sollicite ne justifie pas un serveur, une zone, un secret et une
|
||||||
|
|
@ -64,6 +64,11 @@ d'irremplaçable (les clés de l'AC, les dépôts).
|
||||||
**Il est hébergé par la fabric de Chezlepro** (`SITE-Chezlepro`), au même titre qu'un
|
**Il est hébergé par la fabric de Chezlepro** (`SITE-Chezlepro`), au même titre qu'un
|
||||||
autre tenant. Il n'a pas d'underlay à lui.
|
autre tenant. Il n'a pas d'underlay à lui.
|
||||||
|
|
||||||
|
**Il sert ses propres binaires.** `forge-01` porte aussi la source d'artefacts
|
||||||
|
(apt-cacher-ng) : toute la flotte y prend ses paquets Debian au lieu d'aller chez Debian.
|
||||||
|
La forge est la source, du code **et** des binaires. Éprouvé en coupant l'amont — un
|
||||||
|
paquet en cache est servi en `0 o/s`, un paquet absent est refusé par un `503`.
|
||||||
|
|
||||||
**Il résout par lui-même.** Les quatre hôtes clients interrogent un Unbound local, qui
|
**Il résout par lui-même.** Les quatre hôtes clients interrogent un Unbound local, qui
|
||||||
tient la zone `genese.internal` de `infra-dns-01` et **récurse depuis les serveurs
|
tient la zone `genese.internal` de `infra-dns-01` et **récurse depuis les serveurs
|
||||||
racine** pour le reste — `forward-addr` = 0, aucun résolveur tiers n'est consulté.
|
racine** pour le reste — `forward-addr` = 0, aucun résolveur tiers n'est consulté.
|
||||||
|
|
@ -154,7 +159,6 @@ ses VLAN n'auraient existé nulle part.
|
||||||
déménagement tient en **trois** valeurs de `group_vars/proxmox.yml` — nœud, stockage,
|
déménagement tient en **trois** valeurs de `group_vars/proxmox.yml` — nœud, stockage,
|
||||||
gabarit. Le pont n'en fait pas partie : chaque VM atterrit sur le VNet dérivé de sa
|
gabarit. Le pont n'en fait pas partie : chaque VM atterrit sur le VNet dérivé de sa
|
||||||
zone.
|
zone.
|
||||||
- [ ] **Une source d'artefacts.** Sa forge héberge du code, pas des binaires. Les
|
- [ ] **Les dépôts tiers en HTTPS** (Smallstep, Grafana, Icinga) vont encore en direct :
|
||||||
collections Ansible sont réglées (cache du contrôleur, poussé par SSH) ; Forgejo,
|
les faire passer par le cache demande de réécrire leurs sources en
|
||||||
step-ca et les autres viennent encore du dehors. Un enfant coupé de l'internet ne
|
`http://cache/<remap>/…`. Les dépôts Debian, eux, sont couverts.
|
||||||
se construit pas.
|
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,13 @@
|
||||||
# Source : instance/plan/serveurs.yml + instance/plan/applications.yml + instance/plan/nomenclature.yml.
|
# Source : instance/plan/serveurs.yml + instance/plan/applications.yml + instance/plan/nomenclature.yml.
|
||||||
all:
|
all:
|
||||||
children:
|
children:
|
||||||
|
client_artefacts:
|
||||||
|
hosts:
|
||||||
|
forge-01: null
|
||||||
|
infra-dns-01: null
|
||||||
|
infra-edge-01: null
|
||||||
|
infra-pki-01: null
|
||||||
|
ops-01: null
|
||||||
client_backup:
|
client_backup:
|
||||||
hosts:
|
hosts:
|
||||||
forge-01: null
|
forge-01: null
|
||||||
|
|
@ -26,10 +33,10 @@ all:
|
||||||
ansible_host: 10.29.21.11
|
ansible_host: 10.29.21.11
|
||||||
ansible_user: ansible
|
ansible_user: ansible
|
||||||
proxmox_cidr: 24
|
proxmox_cidr: 24
|
||||||
proxmox_coeurs: 1
|
proxmox_coeurs: 2
|
||||||
proxmox_disque_taille: 80G
|
proxmox_disque_taille: 80G
|
||||||
proxmox_etiquette_vlan: ''
|
proxmox_etiquette_vlan: ''
|
||||||
proxmox_memoire: 2048
|
proxmox_memoire: 2560
|
||||||
proxmox_passerelle: 10.29.21.1
|
proxmox_passerelle: 10.29.21.1
|
||||||
proxmox_pont: t29appl
|
proxmox_pont: t29appl
|
||||||
proxmox_vlan: 1296
|
proxmox_vlan: 1296
|
||||||
|
|
@ -93,6 +100,9 @@ all:
|
||||||
hosts: {}
|
hosts: {}
|
||||||
modeles_vm:
|
modeles_vm:
|
||||||
hosts: {}
|
hosts: {}
|
||||||
|
serveur_artefacts:
|
||||||
|
hosts:
|
||||||
|
forge-01: null
|
||||||
serveur_debian:
|
serveur_debian:
|
||||||
hosts:
|
hosts:
|
||||||
forge-01: null
|
forge-01: null
|
||||||
|
|
|
||||||
|
|
@ -5,3 +5,8 @@ applications:
|
||||||
powerdns: { groupe: serveur_powerdns, hote: infra-dns-01 }
|
powerdns: { groupe: serveur_powerdns, hote: infra-dns-01 }
|
||||||
forgejo: { groupe: serveur_forgejo, hote: forge-01, port: 3000, expose: [forge.genese.internal] }
|
forgejo: { groupe: serveur_forgejo, hote: forge-01, port: 3000, expose: [forge.genese.internal] }
|
||||||
ops: { groupe: serveur_ops, hote: ops-01 }
|
ops: { groupe: serveur_ops, hote: ops-01 }
|
||||||
|
# LA FORGE EST LA SOURCE — du code ET des binaires. Colocalise sur forge-01 plutot
|
||||||
|
# que sur une VM a elle : c'est la meme fonction (servir a ses enfants ce dont ils
|
||||||
|
# ont besoin pour exister), et patient 0 est deliberement le plus petit ecosysteme
|
||||||
|
# complet. Un autre ecosysteme peut le placer ou il veut.
|
||||||
|
artefacts: { groupe: serveur_artefacts, hote: forge-01 }
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue