Compare commits
14 Commits
manifests
...
0a1eeabe16
| Author | SHA1 | Date | |
|---|---|---|---|
|
0a1eeabe16
|
|||
| 8682100cc6 | |||
| 5bad734c75 | |||
| 0343b2d9ee | |||
| 1c100f1c6b | |||
| bee206bec1 | |||
| e4b3d06e1d | |||
| 7408d8effb | |||
| 274ab32e2a | |||
| ce87523597 | |||
| 25710206d5 | |||
| c705885dda | |||
| 783d307998 | |||
| 06397c2b57 |
@@ -8,6 +8,11 @@ on:
|
|||||||
- "clusters/**"
|
- "clusters/**"
|
||||||
- ! "clusters/*/archive"
|
- ! "clusters/*/archive"
|
||||||
|
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
env:
|
||||||
|
CLUSTERS: cl01tl
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
render-manifests-helm:
|
render-manifests-helm:
|
||||||
runs-on: ubuntu-js
|
runs-on: ubuntu-js
|
||||||
@@ -24,38 +29,55 @@ jobs:
|
|||||||
uses: azure/setup-helm@v4
|
uses: azure/setup-helm@v4
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.GITEA_TOKEN }}
|
token: ${{ secrets.GITEA_TOKEN }}
|
||||||
version: latest
|
version: v3.17.2 # Pending https://github.com/helm/helm/pull/30743
|
||||||
|
|
||||||
- name: Render Helm Manifests
|
- name: Render Helm Manifests
|
||||||
env:
|
|
||||||
CLUSTERS: cl01tl
|
|
||||||
run: |
|
run: |
|
||||||
for cluster in $CLUSTERS; do
|
for cluster in $CLUSTERS; do
|
||||||
mkdir clusters/$CLUSTER/manifests
|
mkdir -p ${{ gitea.workspace }}/clusters/$cluster/manifests
|
||||||
|
|
||||||
for chart_path in clusters/$CLUSTER/helm/; do
|
for chart_path in ${{ gitea.workspace }}/clusters/$cluster/helm/*; do
|
||||||
chart_name=$(basename "$chart")
|
chart_name=$(basename "$chart_path")
|
||||||
|
|
||||||
echo "--- Rendering chart: $chart_name ---"
|
echo ">> Rendering chart: $chart_name"
|
||||||
|
|
||||||
if [ -f "$chart_path/Chart.yaml" ]; then
|
if [ -f "$chart_path/Chart.yaml" ]; then
|
||||||
OUTPUT_FILE="clusters/$CLUSTER/manifests/$chart_name.yaml"
|
mkdir -p ${{ gitea.workspace }}/clusters/$cluster/manifests/$chart_name
|
||||||
|
OUTPUT_FILE="${{ gitea.workspace }}/clusters/$cluster/manifests/$chart_name/$chart_name.yaml"
|
||||||
|
|
||||||
helm template "$chart_name" "$chart" --namespace "$chart_name" > "$OUTPUT_FILE"
|
cd $chart_path
|
||||||
|
|
||||||
echo "Manifests for $chart_name rendered to $OUTPUT_FILE"
|
echo ""
|
||||||
|
echo ">> Building helm dependency ..."
|
||||||
|
helm dependency build
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo ">> Linting helm ..."
|
||||||
|
helm lint --namespace "$chart_name" --with-subcharts
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo ">> Rendering templates ..."
|
||||||
|
helm template "$chart_name" ./ --namespace "$chart_name" --include-crds > "$OUTPUT_FILE"
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo ">> Manifests for $chart_name rendered to $OUTPUT_FILE"
|
||||||
|
echo ""
|
||||||
else
|
else
|
||||||
echo "Directory $chart_path does not contain a Chart.yaml. Skipping ..."
|
echo ""
|
||||||
|
echo ">> Directory $chart_path does not contain a Chart.yaml. Skipping ..."
|
||||||
|
echo ""
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
- name: Create Pull Request
|
- name: Create Pull Request
|
||||||
|
id: pull-request
|
||||||
uses: peter-evans/create-pull-request@v7
|
uses: peter-evans/create-pull-request@v7
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.GITEA_TOKEN }}
|
token: ${{ secrets.GITEA_TOKEN }}
|
||||||
commit-message: "chore: Update manifests after chart change"
|
commit-message: "chore: Update manifests after chart change"
|
||||||
branch: auto/update-manifests
|
branch: auto/update-manifests
|
||||||
|
branch-suffix: timestamp
|
||||||
base: manifests
|
base: manifests
|
||||||
title: "Manifest Update: App Changes"
|
title: "Manifest Update: App Changes"
|
||||||
body: |
|
body: |
|
||||||
@@ -63,19 +85,23 @@ jobs:
|
|||||||
|
|
||||||
* Triggered by workflow run ${{ github.run_id }}
|
* Triggered by workflow run ${{ github.run_id }}
|
||||||
* Review the `files changed` tab for the full YAML diff.
|
* Review the `files changed` tab for the full YAML diff.
|
||||||
add-paths: "clusters/*/rendered-manifests/"
|
labels: |
|
||||||
|
manifests
|
||||||
|
automated
|
||||||
|
add-paths: |
|
||||||
|
clusters/**/manifests/
|
||||||
|
|
||||||
- name: ntfy Success
|
- name: ntfy Created
|
||||||
uses: niniyas/ntfy-action@master
|
uses: niniyas/ntfy-action@master
|
||||||
if: success()
|
if: steps.pull-request.outputs.pull-request-operation == 'created'
|
||||||
with:
|
with:
|
||||||
url: "${{ secrets.NTFY_URL }}"
|
url: "${{ secrets.NTFY_URL }}"
|
||||||
topic: "${{ secrets.NTFY_TOPIC }}"
|
topic: "${{ secrets.NTFY_TOPIC }}"
|
||||||
title: "Manifest Render Success - Infrastructure"
|
title: "Manifest Render PR Created - Infrastructure"
|
||||||
priority: 3
|
priority: 3
|
||||||
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
|
||||||
tags: action,successfully,completed
|
tags: action,successfully,completed
|
||||||
details: "Manifest rendering for Infrastructure has succeeded"
|
details: "Manifest rendering for Infrastructure has created PR ${{ steps.pull-request.outputs.pull-request-number }}!"
|
||||||
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png"
|
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png"
|
||||||
|
|
||||||
- name: ntfy Failed
|
- name: ntfy Failed
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ shelly-plug:
|
|||||||
main:
|
main:
|
||||||
image:
|
image:
|
||||||
repository: php
|
repository: php
|
||||||
tag: 8.4.15-apache-bookworm
|
tag: 8.5.0-apache-bookworm
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: SHELLY_HOSTNAME
|
- name: SHELLY_HOSTNAME
|
||||||
|
|||||||
Reference in New Issue
Block a user