Open3
[Argo CD] インストール
Argo CDインストール
-
apps/
に親Appのローカルチャート置く- Argo CD用は
apps/argo-cd
- Argo CD用は
- ローカルチャートのdependenciesに公式
argo-cd
を含める - ローカルチャートのtemplatesに
-
argocd
AppProjectを定義-
default
AppProjectを後で不使用にするため
-
-
argocd
Applicationを定義、自分のいるチャートを指し、argocd
AppProjectを参照 -
app-projects
Applicationを定義、AppProjectをまとめて定義したチャートを指す- App of Appsの親Appが
argocd
、子Appがapp-projects
の形
- App of Appsの親Appが
-
やっぱりやめた(CRDとApplication / AppProjectの作成順)
ApplicationとAppProjectにはアノテーションを付ける
annotations:
helm.sh/hook: post-install
helm.sh/hook-delete-policy: hook-failed
上は初回のhelm install
時にCRDより後に作らせるため
The resources that a hook creates are currently not tracked or managed as part of the release.
install後にhookを付けたリソースのマニフェストをどこか変更してhelm upgrade
しても、そのリソースは更新されない
Helmは初回インストールでしか直接利用しないためよしとする
Argo CDにSyncさせた場合は更新される
下はArgo CDでSync時に削除されないようにするため
やっぱりこうする(CRDとApplication / AppProjectの作成順)
初回のhelm installはhelmfile applyによって行うことにして
そこではカスタムリソース(Application / AppProject)の作成をしない
hookを使って別枠で後から作成する
ApplicationSetのインストール
-
apps/*
に親Appを置くためGit generatorのdirectory typeを使う
directories:
- path: apps/argo-cd
exclude: true
- path: apps/*
事故防止
管理者向けにビルトインのrole:admin
をそのまま使っていると、argo-cd
Application傘下のリソースを管理者が削除できてしまう。
denyポリシーを作って削除を禁止する。
ただしビルトインポリシーに不満があるならば自前のポリシーを定義するのが良いとも言われている。
いまのところビルトインポリシーに付け足したいポリシーが1行しかないため
流用+1行のdenyポリシー付け足し
を続けることにする。