Repository navigation
refactor: talos/ を bootstrap/ にまとめ、ArgoCD が当てるものを apps/ へ移す - #633
Conversation
- talos/ のファイルを bootstrap/ へ(render.sh・versions.yaml・local-path.yaml、 controlplane.yaml → talos.sops.yaml、secrets.yaml → talos-secrets.sops.yaml、README → talos.md) - bootstrap/ の部品のディレクトリをやめ、1 部品 1 ファイルを基本に直下へ置く (<name>-values.yaml、<name>-secret-values.sops.yaml、apiserver-rbac.yaml など) - chart の版は version.yaml をやめ、<name>-values.yaml の先頭の `# renovate:` と `# version:` の 2 行に書く。render.sh・cilium-drift・Renovate がそこを読む - Namespace は render.sh が描く(namespace.yaml をやめた)。add-namespace.awk は render.sh に入れた - ArgoCD の Application `bootstrap` が当てていた平文のマニフェスト(gateway・auth・ClusterIssuer・ argocd の HTTPRoute と InfisicalSecret・infisical の SMTP の InfisicalSecret)を apps/ へ移し、 Application `bootstrap` を消す(自動同期は前の PR で止めてある。finalizer が無いのでリソースは残り、 gitops の Application が引き取る) - bootstrap/argocd/repos.yaml だけは場所が machine config に焼いてあるので動かさない machine config は YAML のコメントが 4 か所変わるだけ(cert-manager の Namespace の先頭のコメントと、 apiserver-rbac.yaml・local-path.yaml のコメントの中のパス)。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T9PbUfqG4pPxus99UeLiJs
|
Claude finished @5ym's task in 59s —— View job レビュー結果大きな不具合は見つかりませんでした。以下は確認した内容と、小さな指摘です。 確認して問題なかった点
指摘(軽微)
テスト 全体として、移動と持ち主の移し替えの手順がよく考えられています。上の 1 を確認してもらえれば十分です。 |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T9PbUfqG4pPxus99UeLiJs
|
レビューの 1: helm-values の対象は前と変わらない(前も既定のパターン |
|
Claude finished @5ym's task in 26s —— View job レビュー結果大きな不具合は見つかりませんでした。f74a4ed( 確認して問題なかった点
指摘(軽微・任意)
テスト |
talos/をbootstrap/にまとめ、bootstrap/の部品のディレクトリをやめて 1 部品 1 ファイルを基本にする。ArgoCD が当てていた平文のマニフェストはapps/へ移す。置き場
version.yamlをやめ、<name>-values.yamlの先頭の 2 行に書く:render.sh(bverとchart)、cilium-drift.yml、Renovate の customManagers が同じ 2 行を読む。Renovate は(?:#\s*)?version:でversions.yamlと同じ規則に入れた。helm-values の manager は既定がvalues.yamlだけなので、bootstrap/*-values.yamlを足した(argocd の redis のイメージを拾うため)namespace.yamlをやめ、render.shが kube-system 以外の chart の前に付けるbootstrap/README.mdに入れたbootstrap/argocd/repos.yamlは 動かさない。machine config のappsの Application(argocd-values.yamlのextraObjects)がpath: bootstrap/argocd/include: repos.yamlを焼いているので、動かすと machine config の当て直しが要る.sops.yamlの規則、renovate.json、talos-boot / cilium-drift の paths とファイル、tools/creds.sh、docs・コメントのパスを全部直した。pulumi/のコメント 2 か所(bootstrap/auth)は触っていない.gitignoreは出力先をbootstrap/clusterconfig/にし、手元に残った古いtalos/も無視するArgoCD の持ち主の移し替え
gateway・auth・ClusterIssuer・InfisicalSecretなどは Applicationbootstrapの追跡(annotation の tracking-id)に入っている。Applicationbootstrapは prune 付きの自動同期だったので、そのまま中身を入れ替えると、古い exclude のまま新しいbootstrap/で同期して、移したもの(authの Namespace ごと)を prune しかねない。bootstrapの自動同期を止めた(automated.enabled: false)。マージ後にappsが当てたのを live で確認済みbootstrapをrepos.yamlから消す →appsが prune する。finalizer が無い(kubectl get application -n argocd bootstrapで確認)ので、中のリソースは消えずに残るgitopsの Application(apps/を再帰で同期)が同じオブジェクトを見つけて当て、tracking-id がgitops:に書き換わる。中身は同じなので変更は注釈だけどの順で起きても、消えるのは Application
bootstrapの CR だけ。machine config
前後で
render.shを通して比べた。違いは YAML のコメント 4 か所だけ(cert-manager の Namespace の先頭のコメント 2 行が無くなった、apiserver-rbac.yamlとlocal-path.yamlのコメントの中のパス)。Kubernetes のオブジェクトは同じなので、当て直しは急がない(次に何かを当てるときに一緒に入る)。確認
bootstrap/render.shを tools のコンテナで前後に通して比べた(上)renovate-config-validator --strictは通った。--platform=local --dry-run=lookupで cilium・cert-manager・argo-cd・infisical-standalone(bootstrap/*-values.yaml)、siderolabs/talos・kubernetes/kubernetes・kubernetes-sigs/gateway-api(bootstrap/versions.yaml)、argocd の redis のイメージを拾うことを確かめた🤖 Generated with Claude Code
https://claude.ai/code/session_01T9PbUfqG4pPxus99UeLiJs