- Generate HTPASSWD
htpasswd -c auth <USERNAME>
- Create secret
kubectl create secret generic basic-auth --from-file=auth -n decidim-ai
- Appy ingress
kubectl apply -f ingress.yaml
source: https://kubernetes.github.io/ingress-nginx/examples/auth/basic/
-
You must be on the
main
branch. -
Ensure the
release.sh
script is executable and located at the root of your repository. -
Your GitHub Actions workflow
build_and_push_image.yml
must be configured to trigger on tags matchingv*.*.*
. -
Define the following in Settings → Environments → Repository Variables and Secrets:
REGISTRY_ENDPOINT
(e.g.rg.fr-par.scw.cloud
)REGISTRY_NAMESPACE
(e.g.decidim-ai
)IMAGE_NAME
(e.g.ai_request_handler
)TOKEN
(registry authentication token)
-
Switch to
main
and pull latestgit checkout main git pull origin main
-
Run the release script
chmod +x release.sh ./release.sh
-
You’ll be prompted to enter the new tag (e.g.
1.2.3
). -
The script will:
- Update
gitops/flux-sync.yaml
tonewTag: v1.2.3
- Update
deployment.yaml
to use image…/ai_request_handler:v1.2.3
- Commit both changes and create a Git tag
v1.2.3
- Push
main
and the new tag to the remote
- Update
-
-
Verify the tag was created
git tag --list | grep v1.2.3
-
Once the image is available, Flux (via
gitops/flux-sync.yaml
) notices the updatednewTag
and automatically rolls out the new version in thedecidim-ai
namespace. -
To check rollout status:
kubectl -n decidim-ai rollout status deployment/ai-request-handler-deploy