mirror of
https://github.com/immich-app/yucca.git
synced 2026-09-30 13:33:00 +08:00
* feat: introduce partition/region/ceph-cluster model across the stack
Formalize partition -> region -> {one k8s cluster, many ceph clusters} and
thread it through every layer plus a new yuctl ops CLI.
- tf: deployment/<partition>/<region>/<stack> layout; terragrunt path-parse +
state key yucca/<partition>/<region>/<stack>; per-region region.hcl (role,
site_id, datacenter, provider_code, domain); env->partition / site->region
renames (NetBird object names byte-identical); standardized per-stack
`discovery` output contract (secrets as op:// refs).
- k8s: clusters/<partition>/<region>/ (staging/austin, prod/htz-fsn1, dev/local);
role-based kustomize components (primary/secondary); hybrid cluster-settings
(TF-rendered identity + human fragment); dev-mirror folded into dev/local;
charts regrouped into charts/{apps,platform,lib,dev}.
- ci: infra.yml partition/region discovery matrix; partition-keyed path filters;
<partition>-<region> environment gates; image-versions path moves.
- ansible: inventories under <partition>-<region>/<cluster>.
- yuctl: Go/cobra CLI reading the discovery contract from TF state.
- Retire the sietch-talos libvirt VM cluster (dev@local is the k3d cluster);
ceph inventory_dirname -> <partition>-<region>/<cluster>.
Verified: mise k8s:validate green (3 clusters); yuctl go build/vet; tofu
validate pre-merge (all 9 stacks). Live-staging state migration NOT run.
* fix typo
* commit
43 lines
1.1 KiB
Plaintext
43 lines
1.1 KiB
Plaintext
# Ansible
|
|
ansible.log
|
|
ansible.*.log
|
|
*.retry
|
|
.ansible/
|
|
.ansible_facts_cache/
|
|
|
|
# Transient outputs — benchmark results, hardware inventory snapshots, backups, exports
|
|
bench/
|
|
hardware/
|
|
backups/
|
|
exports/
|
|
|
|
# TF-generated artifacts — do not commit; re-render with `tofu apply` in tf/deployment/<partition>/<region>/ceph/
|
|
# Inventories are region-scoped with a friendly cluster leaf: inventories/<partition>-<region>/<cluster>/
|
|
inventories/*/*/inventory.ini
|
|
inventories/*/*/inventory-provision.ini
|
|
inventories/*/*/inventory-destroy.ini
|
|
inventories/*/*/secrets.yml.tpl
|
|
inventories/*/*/group_vars/all/operators.yml
|
|
|
|
# host_vars IS committed (per-node hardware facts — stable, part of the inventory
|
|
# source of truth). Operator-local overrides use host_vars/*.local.yml if needed.
|
|
inventories/*/*/host_vars/*.local.yml
|
|
|
|
# Rendered installimage scripts (source of truth is the .tpl file).
|
|
inventories/*/*/installimage/post-install.sh
|
|
|
|
# Python virtualenv (mise setup) and bytecode
|
|
.venv/
|
|
__pycache__/
|
|
*.pyc
|
|
|
|
# Ansible navigator artifacts
|
|
.artifacts/
|
|
ansible-navigator.log
|
|
|
|
# OS / editor
|
|
.DS_Store
|
|
*.swp
|
|
*.swo
|
|
*~
|