renamed the stuff and stuff to do stff on stuff blablabla
This commit is contained in:
+60
-26
@@ -98,34 +98,68 @@ jobs:
|
|||||||
&& echo "NetBird management connected." \
|
&& echo "NetBird management connected." \
|
||||||
|| { echo "::error title=NetBird not connected::Management not connected after netbird up."; exit 1; }
|
|| { echo "::error title=NetBird not connected::Management not connected after netbird up."; exit 1; }
|
||||||
|
|
||||||
- name: Deploy to RPIC-Cluster
|
- name: Install kubectl
|
||||||
# RPIC cluster is temporarily out of service. Don't let its failure
|
uses: azure/setup-kubectl@v4
|
||||||
# block the Gimli deploy or fail the whole job. Remove this line once
|
|
||||||
# the cluster is back.
|
|
||||||
continue-on-error: true
|
|
||||||
uses: appleboy/ssh-action@v1
|
|
||||||
with:
|
with:
|
||||||
host: ${{ secrets.RPIC_HOST }}
|
version: 'v1.36.2'
|
||||||
username: ${{ secrets.SSH_USER }}
|
|
||||||
key: ${{ secrets.RPIC_KEY }}
|
- name: Configure Kubernetes access
|
||||||
port: ${{ secrets.SSH_PORT }}
|
env:
|
||||||
script: 'kubectl rollout restart deployment blog -n blog-ahmza-com'
|
KUBE_CONFIG: ${{ secrets.TALOS_PROD_KUBE_CONFIG }}
|
||||||
|
run: |
|
||||||
|
mkdir -p "$HOME/.kube"
|
||||||
|
|
||||||
|
printf '%s' "$KUBE_CONFIG" \
|
||||||
|
| base64 -d \
|
||||||
|
> "$HOME/.kube/config"
|
||||||
|
|
||||||
|
chmod 600 "$HOME/.kube/config"
|
||||||
|
|
||||||
|
- name: Verify Kubernetes access
|
||||||
|
run: |
|
||||||
|
kubectl version --client
|
||||||
|
|
||||||
|
echo "Deployment patch:"
|
||||||
|
kubectl auth can-i patch deployments \
|
||||||
|
-n blog-ahmza-com
|
||||||
|
|
||||||
|
echo "Secret read:"
|
||||||
|
kubectl auth can-i get secrets \
|
||||||
|
-n blog-ahmza-com
|
||||||
|
|
||||||
|
kubectl -n blog-ahmza-com get deployment blog
|
||||||
|
|
||||||
|
- name: Deploy to Kubernetes
|
||||||
|
env:
|
||||||
|
IMAGE: tea.ahmza.com/ahmza/blog-ahmza-com:${{ gitea.event.head_commit.id }}
|
||||||
|
run: |
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
echo "Deploying:"
|
||||||
|
echo "$IMAGE"
|
||||||
|
|
||||||
|
kubectl -n blog-ahmza-com \
|
||||||
|
set image deployment/blog \
|
||||||
|
blog="$IMAGE"
|
||||||
|
|
||||||
|
if ! kubectl -n blog-ahmza-com \
|
||||||
|
rollout status deployment/blog \
|
||||||
|
--timeout=5m
|
||||||
|
then
|
||||||
|
echo "::error::Deployment failed; rolling back"
|
||||||
|
|
||||||
|
kubectl -n blog-ahmza-com \
|
||||||
|
rollout undo deployment/blog
|
||||||
|
|
||||||
|
kubectl -n blog-ahmza-com \
|
||||||
|
rollout status deployment/blog \
|
||||||
|
--timeout=5m
|
||||||
|
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
kubectl -n blog-ahmza-com get pods -o wide
|
||||||
|
|
||||||
- name: Deploy to Gimli
|
|
||||||
uses: appleboy/ssh-action@v1
|
|
||||||
with:
|
|
||||||
host: ${{ secrets.GIMLI_HOST }}
|
|
||||||
username: ${{ secrets.SSH_USER }}
|
|
||||||
key: ${{ secrets.GIMLI_KEY }}
|
|
||||||
port: ${{ secrets.SSH_PORT }}
|
|
||||||
# Pull first, then reconcile in place with `up -d`. Avoid `compose down`:
|
|
||||||
# it removes caddy_cf and the default network, which severs the SSH
|
|
||||||
# session's own path before `up` can restore it (intermittent
|
|
||||||
# "remote command exited without exit status"). `up -d` only recreates
|
|
||||||
# containers whose image/config changed and never tears the network out
|
|
||||||
# from under the connection. --force-recreate ensures the new :latest
|
|
||||||
# image is picked up even when the tag digest changed.
|
|
||||||
script: 'docker compose pull && docker compose up -d --force-recreate --remove-orphans'
|
|
||||||
|
|
||||||
- name: NetBird diagnostics & disconnect
|
- name: NetBird diagnostics & disconnect
|
||||||
# Runs even on failure: captures final state for debugging and tears the
|
# Runs even on failure: captures final state for debugging and tears the
|
||||||
Reference in New Issue
Block a user