4 Commits

Author SHA1 Message Date
372ea5426f Update docker.io/postgres Docker tag to v18
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
lint-test-docker / docker-lint (pull_request) Successful in 15s
lint-test-helm / helm-lint (pull_request) Successful in 19s
2025-12-02 03:48:43 +00:00
f77653ef13 migrate
Some checks failed
lint-test-helm / helm-lint (push) Successful in 9s
renovate / renovate (push) Has been cancelled
render-manifests / render-manifests (push) Successful in 14s
2025-12-01 21:46:49 -06:00
3ca37402c4 add deletion handling
Some checks failed
renovate / renovate (push) Has been cancelled
2025-12-01 21:46:16 -06:00
57d67c12cf check for changes to render 2025-12-01 21:40:41 -06:00
6 changed files with 83 additions and 41 deletions

View File

@@ -10,7 +10,7 @@ on:
workflow_dispatch: workflow_dispatch:
env: env:
CLUSTERS: cl01tl CLUSTER: cl01tl
BASE_BRANCH: manifests BASE_BRANCH: manifests
BRANCH_NAME: auto/update-manifests BRANCH_NAME: auto/update-manifests
ASSIGNEE: alexlebens ASSIGNEE: alexlebens
@@ -18,7 +18,7 @@ env:
MANIFEST_DIR: /workspace/alexlebens/infrastructure/infrastructure-manifests MANIFEST_DIR: /workspace/alexlebens/infrastructure/infrastructure-manifests
jobs: jobs:
render-manifests-helm: render-manifests:
runs-on: ubuntu-js runs-on: ubuntu-js
steps: steps:
- name: Checkout - name: Checkout
@@ -58,64 +58,106 @@ jobs:
git checkout -b $BRANCH_NAME git checkout -b $BRANCH_NAME
fi fi
echo ">> Remove manfiest files and rebuild from source ..." - name: Check Which Directories Have Changes
cd ${MANIFEST_DIR}/clusters id: check-dir-changes
rm -rf ./*
- name: Add Repositories
run: | run: |
cd ${MAIN_DIR} cd ${MAIN_DIR}
for cluster in ${CLUSTERS}; do GIT_STATUS=$(git status --porcelain)
echo ">> Adding repositories for chart dependencies of cluster $cluster ..." CHANGED_DIR=()
for chart_path in ${MAIN_DIR}/clusters/$cluster/helm/*; do
helm dependency list --max-col-width 120 $chart_path 2> /dev/null \ if [ $GIT_STATUS | grep -q . ]; then
| tail +2 | head -n -1 \ echo ">> Changes detected"
| awk '{ print "helm repo add " $1 " " $3 }' \ echo "$GIT_STATUS"
| while read cmd; do echo "$cmd" | sh; done || true
for path in $GIT_STATUS; do
CHANGED_DIR+=("echo "$path" | awk -F '/' '{print $4}' ")
done done
echo "changes-detected=true" >> $GITEA_OUTPUT
echo "changed-dir=$(printf "%s\n" "$CHANGED_DIR" | sort -u)" >> $GITEA_OUTPUT
else
echo ">> No changes detected, skipping rendering"
exit 0
fi
- name: Add Repositories
if: steps.check-dir-changes.outputs.changes-detected == 'true'
env:
CHANGED_DIR: ${{ steps.check-dir-changes.outputs.changed-dir }}
run: |
cd ${MAIN_DIR}
echo ">> Adding repositories for chart dependencies ..."
for dir in ${CHANGED_DIR}; do
helm dependency list --max-col-width 120 ${MAIN_DIR}/clusters/${CLUSTER}/helm/$dir 2> /dev/null \
| tail +2 | head -n -1 \
| awk '{ print "helm repo add " $1 " " $3 }' \
| while read cmd; do echo "$cmd" | sh; done || true
done
- name: Remove Changed Manifest Files
if: steps.check-dir-changes.outputs.changes-detected == 'true'
env:
CHANGED_DIR: ${{ steps.check-dir-changes.outputs.changed-dir }}
run: |
cd ${MANIFEST_DIR}
echo ">> Remove manfiest files and rebuild from source ..."
for dir in ${CHANGED_DIR}; do
chart_path=${MANIFEST_DIR}/clusters/${CLUSTER}/helm/$dir
echo ">> Removing from $chart_path ..."
rm -rf $chart_path/*
done done
- name: Render Helm Manifests - name: Render Helm Manifests
id: render-manifests
if: steps.check-dir-changes.outputs.changes-detected == 'true'
env:
CHANGED_DIR: ${{ steps.check-dir-changes.outputs.changed-dir }}
run: | run: |
cd ${MAIN_DIR} cd ${MAIN_DIR}
for cluster in ${CLUSTERS}; do for dir in ${CHANGED_DIR}; do
for chart_path in ${MAIN_DIR}/clusters/$cluster/helm/*; do chart_path=${MAIN_DIR}/clusters/${CLUSTER}/helm/$dir
chart_name=$(basename "$chart_path") chart_name=$(basename "$chart_path")
echo ">> Rendering chart: $chart_name"
if [ -f "$chart_path/Chart.yaml" ]; then echo ">> Rendering chart: $chart_name"
mkdir -p ${MANIFEST_DIR}/clusters/$cluster/manifests/$chart_name echo ">> Chart path" $chart_path"
OUTPUT_FILE="${MANIFEST_DIR}/clusters/$cluster/manifests/$chart_name/$chart_name.yaml"
cd $chart_path if [ -f "$chart_path/Chart.yaml" ]; then
mkdir -p ${MANIFEST_DIR}/clusters/${CLUSTER}/manifests/$chart_name
OUTPUT_FILE="${MANIFEST_DIR}/clusters/${CLUSTER}/manifests/$chart_name/$chart_name.yaml"
echo "" cd $chart_path
echo ">> Building helm dependency ..."
helm dependency build
echo "" echo ""
echo ">> Linting helm ..." echo ">> Building helm dependency ..."
helm lint --namespace "$chart_name" --with-subcharts helm dependency build
echo "" echo ""
echo ">> Rendering templates ..." echo ">> Linting helm ..."
helm template "$chart_name" ./ --namespace "$chart_name" --include-crds > "$OUTPUT_FILE" helm lint --namespace "$chart_name" --with-subcharts
echo "" echo ""
echo ">> Manifests for $chart_name rendered to $OUTPUT_FILE" echo ">> Rendering templates ..."
echo "" helm template "$chart_name" ./ --namespace "$chart_name" --include-crds > "$OUTPUT_FILE"
else
echo "" echo ""
echo ">> Directory $chart_path does not contain a Chart.yaml. Skipping ..." echo ">> Manifests for $chart_name rendered to $OUTPUT_FILE"
echo "" echo ""
fi else
done echo ""
echo ">> Directory $chart_path does not contain a Chart.yaml. Skipping ..."
echo ""
fi
done done
- name: Check for Changes - name: Check for Changes
id: check-changes id: check-changes
if: steps.check-dir-changes.outputs.changes-detected == 'true'
run: | run: |
cd ${MANIFEST_DIR} cd ${MANIFEST_DIR}

View File

@@ -59,7 +59,7 @@ traefik:
prometheus: prometheus:
service: service:
enabled: true enabled: true
disableAPICheck: disableAPICheck: true
serviceMonitor: serviceMonitor:
enabled: true enabled: true
prometheusRule: prometheusRule: