Skip to content

[codex] Deploy Even G2 main app on lolice#597

Merged
boxp merged 4 commits into
mainfrom
feature/BOXP-17-even-g2-main-deploy
May 30, 2026
Merged

[codex] Deploy Even G2 main app on lolice#597
boxp merged 4 commits into
mainfrom
feature/BOXP-17-even-g2-main-deploy

Conversation

@boxp
Copy link
Copy Markdown
Owner

@boxp boxp commented May 29, 2026

Summary

  • Add an even-g2-lab Argo CD application.
  • Deploy the main branch G2 client image as a ClusterIP service.
  • Add a dedicated cloudflared Deployment in the even-g2-lab namespace.
  • Read the tunnel token from SSM Parameter Store via ExternalSecret (even-g2-lab-tunnel-token).
  • Add Calico ingress policy allowing only the local even-g2-lab cloudflared connector to reach the app.
  • Add Argo CD Image Updater config for the ECR image.
  • Add/update the BOXP-17 implementation plan.

Validation

  • YAML validation for argoproj/even-g2-lab/*.yaml
  • git diff --cached --check

Notes

The initial Deployment uses a bootstrap image tag and will not become healthy until the first real image is pushed and Image Updater writes back the selected tag.

Cloudflare private hostname routing should send WARP/Gateway traffic for even-g2-main.b0xp.io through the dedicated even-g2-lab cloudflared connector, whose ingress rule forwards it to http://even-g2-main.even-g2-lab.svc.cluster.local:80.

Dependencies

  • Requires the arch PR to create ECR/IAM and the dedicated Cloudflare private hostname + tunnel + SSM token.
  • Requires the even-g2-lab PR to publish the ECR image from main.

@github-actions
Copy link
Copy Markdown
Contributor

ArgoCD Diff Result

Auth path: tailscale

アプリケーション: argocd-image-updater の差分

パス: argoproj/argocd-image-updater

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/ark-discord-bot ======
119a120
>   namespace: argocd

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/ark-survival-ascended ======
119a120
>   namespace: argocd

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/palserver ======
119a120
>   namespace: argocd

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/prod-hitohub ======
142a143
>   namespace: argocd

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/stage-hitohub ======
142a143
>   namespace: argocd

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/even-g2-lab ======
0a1,24
> apiVersion: argocd-image-updater.argoproj.io/v1alpha1
> kind: ImageUpdater
> metadata:
>   annotations:
>     argocd.argoproj.io/tracking-id: argocd-image-updater:argocd-image-updater.argoproj.io/ImageUpdater:argocd/even-g2-lab
>   name: even-g2-lab
>   namespace: argocd
> spec:
>   applicationRefs:
>   - images:
>     - alias: web
>       commonUpdateSettings:
>         pullSecret: pullsecret:argocd/regcred
>         updateStrategy: newest-build
>       imageName: 839695154978.dkr.ecr.ap-northeast-1.amazonaws.com/even-g2-client-main:latest
>       manifestTargets:
>         kustomize:
>           name: 839695154978.dkr.ecr.ap-northeast-1.amazonaws.com/even-g2-client-main
>     namePattern: even-g2-lab
>   namespace: argocd
>   writeBackConfig:
>     gitConfig:
>       branch: main
>     method: git:secret:argocd/repo-lolice
ℹ️ 上記の差分が見つかりました

アプリケーション: even-g2-lab の差分

パス: argoproj/even-g2-lab

@boxp boxp force-pushed the feature/BOXP-17-even-g2-main-deploy branch from f32a65d to c295b03 Compare May 29, 2026 22:24
@github-actions
Copy link
Copy Markdown
Contributor

ArgoCD Diff Result

Auth path: tailscale

アプリケーション: argocd-image-updater の差分

パス: argoproj/argocd-image-updater

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/ark-discord-bot ======
119a120
>   namespace: argocd

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/ark-survival-ascended ======
119a120
>   namespace: argocd

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/palserver ======
119a120
>   namespace: argocd

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/prod-hitohub ======
142a143
>   namespace: argocd

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/stage-hitohub ======
142a143
>   namespace: argocd

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/even-g2-lab ======
0a1,24
> apiVersion: argocd-image-updater.argoproj.io/v1alpha1
> kind: ImageUpdater
> metadata:
>   annotations:
>     argocd.argoproj.io/tracking-id: argocd-image-updater:argocd-image-updater.argoproj.io/ImageUpdater:argocd/even-g2-lab
>   name: even-g2-lab
>   namespace: argocd
> spec:
>   applicationRefs:
>   - images:
>     - alias: web
>       commonUpdateSettings:
>         pullSecret: pullsecret:argocd/regcred
>         updateStrategy: newest-build
>       imageName: 839695154978.dkr.ecr.ap-northeast-1.amazonaws.com/even-g2-client-main:latest
>       manifestTargets:
>         kustomize:
>           name: 839695154978.dkr.ecr.ap-northeast-1.amazonaws.com/even-g2-client-main
>     namePattern: even-g2-lab
>   namespace: argocd
>   writeBackConfig:
>     gitConfig:
>       branch: main
>     method: git:secret:argocd/repo-lolice
ℹ️ 上記の差分が見つかりました

アプリケーション: even-g2-lab の差分

パス: argoproj/even-g2-lab

@github-actions
Copy link
Copy Markdown
Contributor

ArgoCD Diff Result

Auth path: tailscale

アプリケーション: argocd-image-updater の差分

パス: argoproj/argocd-image-updater

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/ark-discord-bot ======
119a120
>   namespace: argocd

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/ark-survival-ascended ======
119a120
>   namespace: argocd

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/palserver ======
119a120
>   namespace: argocd

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/prod-hitohub ======
142a143
>   namespace: argocd

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/stage-hitohub ======
142a143
>   namespace: argocd

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/even-g2-lab ======
0a1,24
> apiVersion: argocd-image-updater.argoproj.io/v1alpha1
> kind: ImageUpdater
> metadata:
>   annotations:
>     argocd.argoproj.io/tracking-id: argocd-image-updater:argocd-image-updater.argoproj.io/ImageUpdater:argocd/even-g2-lab
>   name: even-g2-lab
>   namespace: argocd
> spec:
>   applicationRefs:
>   - images:
>     - alias: web
>       commonUpdateSettings:
>         pullSecret: pullsecret:argocd/regcred
>         updateStrategy: newest-build
>       imageName: 839695154978.dkr.ecr.ap-northeast-1.amazonaws.com/even-g2-client-main:latest
>       manifestTargets:
>         kustomize:
>           name: 839695154978.dkr.ecr.ap-northeast-1.amazonaws.com/even-g2-client-main
>     namePattern: even-g2-lab
>   namespace: argocd
>   writeBackConfig:
>     gitConfig:
>       branch: main
>     method: git:secret:argocd/repo-lolice
ℹ️ 上記の差分が見つかりました

アプリケーション: even-g2-lab の差分

パス: argoproj/even-g2-lab

@github-actions
Copy link
Copy Markdown
Contributor

ArgoCD Diff Result

Auth path: tailscale

アプリケーション: argocd-image-updater の差分

パス: argoproj/argocd-image-updater

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/ark-discord-bot ======
119a120
>   namespace: argocd

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/ark-survival-ascended ======
119a120
>   namespace: argocd

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/palserver ======
119a120
>   namespace: argocd

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/prod-hitohub ======
142a143
>   namespace: argocd

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/stage-hitohub ======
142a143
>   namespace: argocd

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/even-g2-lab ======
0a1,24
> apiVersion: argocd-image-updater.argoproj.io/v1alpha1
> kind: ImageUpdater
> metadata:
>   annotations:
>     argocd.argoproj.io/tracking-id: argocd-image-updater:argocd-image-updater.argoproj.io/ImageUpdater:argocd/even-g2-lab
>   name: even-g2-lab
>   namespace: argocd
> spec:
>   applicationRefs:
>   - images:
>     - alias: web
>       commonUpdateSettings:
>         pullSecret: pullsecret:argocd/regcred
>         updateStrategy: newest-build
>       imageName: 839695154978.dkr.ecr.ap-northeast-1.amazonaws.com/even-g2-client-main:latest
>       manifestTargets:
>         kustomize:
>           name: 839695154978.dkr.ecr.ap-northeast-1.amazonaws.com/even-g2-client-main
>     namePattern: even-g2-lab
>   namespace: argocd
>   writeBackConfig:
>     gitConfig:
>       branch: main
>     method: git:secret:argocd/repo-lolice
ℹ️ 上記の差分が見つかりました

アプリケーション: even-g2-lab の差分

パス: argoproj/even-g2-lab

@github-actions
Copy link
Copy Markdown
Contributor

ArgoCD Diff Result

Auth path: tailscale

アプリケーション: argocd-image-updater の差分

パス: argoproj/argocd-image-updater

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/ark-discord-bot ======
119a120
>   namespace: argocd

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/ark-survival-ascended ======
119a120
>   namespace: argocd

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/palserver ======
119a120
>   namespace: argocd

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/prod-hitohub ======
142a143
>   namespace: argocd

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/stage-hitohub ======
142a143
>   namespace: argocd

===== argocd-image-updater.argoproj.io/ImageUpdater argocd/even-g2-lab ======
0a1,24
> apiVersion: argocd-image-updater.argoproj.io/v1alpha1
> kind: ImageUpdater
> metadata:
>   annotations:
>     argocd.argoproj.io/tracking-id: argocd-image-updater:argocd-image-updater.argoproj.io/ImageUpdater:argocd/even-g2-lab
>   name: even-g2-lab
>   namespace: argocd
> spec:
>   applicationRefs:
>   - images:
>     - alias: web
>       commonUpdateSettings:
>         pullSecret: pullsecret:argocd/regcred
>         updateStrategy: newest-build
>       imageName: 839695154978.dkr.ecr.ap-northeast-1.amazonaws.com/even-g2-client-main:latest
>       manifestTargets:
>         kustomize:
>           name: 839695154978.dkr.ecr.ap-northeast-1.amazonaws.com/even-g2-client-main
>     namePattern: even-g2-lab
>   namespace: argocd
>   writeBackConfig:
>     gitConfig:
>       branch: main
>     method: git:secret:argocd/repo-lolice
ℹ️ 上記の差分が見つかりました

アプリケーション: even-g2-lab の差分

パス: argoproj/even-g2-lab

@boxp boxp marked this pull request as ready for review May 30, 2026 00:04
@boxp boxp merged commit c8fb319 into main May 30, 2026
2 checks passed
@boxp boxp deleted the feature/BOXP-17-even-g2-main-deploy branch May 30, 2026 00:06
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b3ce48da40

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +16 to +17
imagePullSecrets:
- name: regcred
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge ECR pull secret を先に用意してください

新規 namespace に対してこの Deployment がすぐ作られる一方、regcredargoproj/k8s-ecr-token-updater/cronjob.yaml の 10 時間ごとの CronJob が全 namespace を巡回して作る仕組みでした。CronJob の直後に even-g2-lab が作成されると、次回実行までこの private ECR image を pull できず ImagePullBackOff になるため、アプリ初回デプロイや再作成時に最大 10 時間立ち上がりません。この namespace 用の pull secret を同じ Application で作るか、namespace 作成直後に同期される仕組みにしてください。

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant