bootstrap/sops (age-keygen refusing in-repo, .sops.yaml, install-age-key.sh glue installing the sops-age Secret) + bootstrap/flux (bootstrap.sh: flux install -> apply -k clusters/dev; decryption/url patches). PM wiring: place .sops.yaml at repo root (SOPS walks to root); inline the 3 flux patches into clusters/dev (avoids kustomize ../ load-restriction). clusters/dev builds with decryption enabled; full CI gate PASS. No key material; nothing executed. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
27 lines
1.2 KiB
YAML
27 lines
1.2 KiB
YAML
---
|
|
# Set the reconciliation source URL on the `flux-system` GitRepository (R-GITOPS-01).
|
|
#
|
|
# clusters/base/flux-system.yaml ships a deliberate placeholder:
|
|
# url: https://REPLACE-ME.invalid/home-network-k3s-impl.git
|
|
# because the bootstrap-source URL is environment-specific and unknown at authoring time (Phase 1
|
|
# has no remote git host yet — spec docs/05 "Source-of-truth", CONTRIBUTING.md).
|
|
#
|
|
# This strategic-merge patch overrides that URL at bootstrap WITHOUT editing clusters/base
|
|
# (R-ENV-02). Fill spec.url with the actual bootstrap source, then wire this file into
|
|
# clusters/dev/kustomization.yaml `patches:` (clusters owner / PM). See ../README.md.
|
|
#
|
|
# PHASE 6 CUTOVER (WS-GITOPS): change this URL to
|
|
# https://gitea.home.keithjackson.dev/<org>/home-network-k3s-impl.git
|
|
# and keep an off-cluster mirror (docs/05 "Circularity & DR").
|
|
apiVersion: source.toolkit.fluxcd.io/v1
|
|
kind: GitRepository
|
|
metadata:
|
|
name: flux-system
|
|
namespace: flux-system
|
|
spec:
|
|
# >>> REPLACE-ME <<< actual bootstrap source URL (how the local repo is served to the cluster:
|
|
# git-over-ssh, a git daemon on the workstation NAT gateway, etc. — set by WS-INFRA/operator).
|
|
url: https://REPLACE-ME.invalid/home-network-k3s-impl.git
|
|
ref:
|
|
branch: main
|