Compare commits

...

7 Commits

Author SHA1 Message Date
t.behrendt feb33eb0dc feat: add restic backup secret 2026-04-29 17:19:46 +02:00
t.behrendt d03c9283b1 remove custom branch and secrets, also rename some things 2026-04-29 17:17:11 +02:00
t.behrendt 12909ec275 ci(renovate): modernize config 2026-04-29 17:16:51 +02:00
renovate-bot dc62bc4e6a chore(deps): update azure/k8s-deploy action to v6 (#45)
Release / Release (push) Successful in 10s
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [azure/k8s-deploy](https://github.com/azure/k8s-deploy) | action | major | `v5.1.0` → `v6.0.0` |

---

### Release Notes

<details>
<summary>azure/k8s-deploy (azure/k8s-deploy)</summary>

### [`v6.0.0`](https://github.com/Azure/k8s-deploy/releases/tag/v6.0.0)

[Compare Source](https://github.com/azure/k8s-deploy/compare/v5.1.0...v6.0.0)

##### Changed

- [#&#8203;504](https://github.com/azure/k8s-deploy/issues/504) [Update Node.js runtime from node20 to node24](https://github.com/Azure/k8s-deploy/pull/504)
- [#&#8203;500](https://github.com/azure/k8s-deploy/issues/500) [Update action version references in README to latest majors](https://github.com/Azure/k8s-deploy/pull/500)

##### Security

- [#&#8203;506](https://github.com/azure/k8s-deploy/issues/506) [Bump undici from 6.23.0 to 6.24.1](https://github.com/Azure/k8s-deploy/pull/506)
- [#&#8203;513](https://github.com/azure/k8s-deploy/issues/513) [Bump vite from 8.0.3 to 8.0.5](https://github.com/Azure/k8s-deploy/pull/513)
- [#&#8203;509](https://github.com/azure/k8s-deploy/issues/509) [Bump the actions group across 1 directory with 4 updates](https://github.com/Azure/k8s-deploy/pull/509)
- [#&#8203;510](https://github.com/azure/k8s-deploy/issues/510) [Bump the actions group across 1 directory with 2 updates](https://github.com/Azure/k8s-deploy/pull/510)
- [#&#8203;511](https://github.com/azure/k8s-deploy/issues/511) [Bump vitest from 4.1.1 to 4.1.2](https://github.com/Azure/k8s-deploy/pull/511)
- [#&#8203;514](https://github.com/azure/k8s-deploy/issues/514) [Bump the actions group with 2 updates](https://github.com/Azure/k8s-deploy/pull/514)
- [#&#8203;501](https://github.com/azure/k8s-deploy/issues/501) [Bump @&#8203;types/node from 25.3.3 to 25.4.0](https://github.com/Azure/k8s-deploy/pull/501)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41LjQiLCJ1cGRhdGVkSW5WZXIiOiI0My41LjQiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImFjdGlvbiIsImRlcHMiXX0=-->

Reviewed-on: https://gitea.t000-n.de/t.behrendt/k_deploy_workflows/pulls/45
Reviewed-by: t.behrendt <t.behrendt@noreply.localhost>
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-04-28 17:11:14 +02:00
renovate-bot d7d914ca4a chore(deps): update https://gitea.t000-n.de/t.behrendt/actions action to v0.2.3 (#46)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [https://gitea.t000-n.de/t.behrendt/actions](https://gitea.t000-n.de/t.behrendt/actions) | action | patch | `0.2.2` → `0.2.3` |

---

### Release Notes

<details>
<summary>t.behrendt/actions (https://gitea.t000-n.de/t.behrendt/actions)</summary>

### [`v0.2.3`](https://gitea.t000-n.de/t.behrendt/actions/compare/0.2.2...0.2.3)

[Compare Source](https://gitea.t000-n.de/t.behrendt/actions/compare/0.2.2...0.2.3)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41LjQiLCJ1cGRhdGVkSW5WZXIiOiI0My41LjQiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImFjdGlvbiIsImRlcHMiXX0=-->

Reviewed-on: #46
Reviewed-by: t.behrendt <t.behrendt@noreply.localhost>
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-04-28 17:11:03 +02:00
renovate-bot 5982457d82 chore(deps): update helmfile/helmfile-action action to v2.4.3 (#47)
Release / Release (push) Successful in 20s
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [helmfile/helmfile-action](https://github.com/helmfile/helmfile-action) | action | patch | `v2.4.2` → `v2.4.3` |

---

### Release Notes

<details>
<summary>helmfile/helmfile-action (helmfile/helmfile-action)</summary>

### [`v2.4.3`](https://github.com/helmfile/helmfile-action/releases/tag/v2.4.3)

[Compare Source](https://github.com/helmfile/helmfile-action/compare/v2.4.2...v2.4.3)

##### What's Changed

- build(deps-dev): bump [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser) from 8.58.0 to 8.58.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;670](https://github.com/helmfile/helmfile-action/pull/670)
- build(deps-dev): bump eslint-plugin-jest from 29.15.1 to 29.15.2 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;673](https://github.com/helmfile/helmfile-action/pull/673)
- build(deps-dev): bump prettier from 3.8.1 to 3.8.2 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;672](https://github.com/helmfile/helmfile-action/pull/672)
- build(deps-dev): bump [@&#8203;typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/eslint-plugin) from 8.58.0 to 8.58.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;669](https://github.com/helmfile/helmfile-action/pull/669)
- build(deps-dev): bump [@&#8203;types/node](https://github.com/types/node) from 25.5.2 to 25.6.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;671](https://github.com/helmfile/helmfile-action/pull/671)
- build(deps-dev): bump globals from 17.4.0 to 17.5.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;674](https://github.com/helmfile/helmfile-action/pull/674)
- build(deps-dev): bump [@&#8203;typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/eslint-plugin) from 8.58.1 to 8.58.2 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;676](https://github.com/helmfile/helmfile-action/pull/676)
- build(deps-dev): bump typescript from 6.0.2 to 6.0.3 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;679](https://github.com/helmfile/helmfile-action/pull/679)
- build(deps-dev): bump [@&#8203;swc/core](https://github.com/swc/core) from 1.15.24 to 1.15.30 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;680](https://github.com/helmfile/helmfile-action/pull/680)
- build(deps-dev): bump prettier from 3.8.2 to 3.8.3 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;677](https://github.com/helmfile/helmfile-action/pull/677)
- build(deps-dev): bump [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser) from 8.58.1 to 8.58.2 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;675](https://github.com/helmfile/helmfile-action/pull/675)

**Full Changelog**: <https://github.com/helmfile/helmfile-action/compare/v2.4.2...v2.4.3>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41LjQiLCJ1cGRhdGVkSW5WZXIiOiI0My41LjQiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImFjdGlvbiIsImRlcHMiXX0=-->

Reviewed-on: #47
Reviewed-by: t.behrendt <t.behrendt@noreply.localhost>
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-04-28 17:09:07 +02:00
renovate-bot 2d3fc7613a chore(deps): update https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment action to v0.1.32 (#48)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment](https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment) | action | patch | `0.1.31` → `0.1.32` |

---

### Release Notes

<details>
<summary>t.behrendt/conventional-semantic-git-tag-increment (https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment)</summary>

### [`v0.1.32`](https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment/compare/0.1.31...0.1.32)

[Compare Source](https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment/compare/0.1.31...0.1.32)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41LjQiLCJ1cGRhdGVkSW5WZXIiOiI0My41LjQiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImFjdGlvbiIsImRlcHMiXX0=-->

Reviewed-on: #48
Reviewed-by: t.behrendt <t.behrendt@noreply.localhost>
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-04-28 17:04:11 +02:00
4 changed files with 33 additions and 84 deletions
+29 -77
View File
@@ -3,36 +3,26 @@ name: Deploy
on: on:
workflow_call: workflow_call:
inputs: inputs:
# Optional: Override the default k8s directory path
k8s_dir: k8s_dir:
description: "Path to Kubernetes manifests directory" description: "Override the default k8s directory path (k8s/)"
required: false required: false
default: "k8s/" default: "k8s/"
type: string type: string
# Optional: Override the default helmfile path
helmfile_path: helmfile_path:
description: "Path to helmfile.yaml" description: "Override the default helmfile path (hemfile.yaml)"
required: false required: false
default: "helmfile.yaml" default: "helmfile.yaml"
type: string type: string
# Optional: Skip Helm deployment even if helmfile exists
skip_helm_deployment: skip_helm_deployment:
description: "Skip Helm deployment even if helmfile.yaml exists" description: "Skip Helm deployment even if helmfile.yaml exists"
required: false required: false
default: false default: false
type: boolean type: boolean
# Optional: Custom secrets to create (JSON array of secret objects) skip_shared_secrets_deployment:
custom_secrets: description: "Skip shared secrets deployment (e.g. restic backup secret)"
description: "JSON array of secrets to create. Each secret should have: name, type, data"
required: false required: false
default: "[]" default: false
type: string type: boolean
# Optional: Branch to deploy from
deploy_branch:
description: "Branch to deploy from"
required: false
default: "main"
type: string
jobs: jobs:
detect-service-type: detect-service-type:
@@ -63,14 +53,32 @@ jobs:
echo "No k8s directory found at ${{ inputs.k8s_dir }}" echo "No k8s directory found at ${{ inputs.k8s_dir }}"
fi fi
deploy-shared-secrets:
runs-on: ubuntu-latest
needs: detect-service-type
if: inputs.skip_shared_secrets_deployment != 'true'
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set restic backup secret
uses: azure/k8s-create-secret@6e0ba8047235646753f2a3a3b359b4d0006ff218 # v5.0.1
with:
namespace: ${{ steps.namespace.outputs.namespace }}
secret-name: backupsidecar-secret
secret-type: generic
data: |
{
"restic_password": "${{ secrets.RESTIC_PASSWORD }}",
"restic_rest_username": "${{ secrets.RESTIC_REST_USERNAME }}",
"restic_rest_password": "${{ secrets.RESTIC_REST_PASSWORD }}",
"gotify_token": "${{ secrets.GOTIFY_TOKEN }}"
}
deploy-k8s: deploy-k8s:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: detect-service-type needs: detect-service-type
if: needs.detect-service-type.outputs.has_k8s == 'true' if: needs.detect-service-type.outputs.has_k8s == 'true'
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ref: ${{ inputs.deploy_branch }}
- uses: ./.gitea/actions/extract-namespace-from-repo-name - uses: ./.gitea/actions/extract-namespace-from-repo-name
id: namespace id: namespace
with: with:
@@ -80,31 +88,8 @@ jobs:
with: with:
method: kubeconfig method: kubeconfig
kubeconfig: ${{ secrets.KUBECONFIG }} kubeconfig: ${{ secrets.KUBECONFIG }}
- name: Create custom secrets
id: create-secrets
run: |
# Parse custom secrets from input
SECRETS='${{ inputs.custom_secrets }}'
if [ "$SECRETS" != "[]" ]; then
echo "Creating custom secrets..."
echo "$SECRETS" | jq -c '.[]' | while read -r secret; do
SECRET_NAME=$(echo "$secret" | jq -r '.name')
SECRET_TYPE=$(echo "$secret" | jq -r '.type // "generic"')
SECRET_DATA=$(echo "$secret" | jq -r '.data')
echo "Creating secret: $SECRET_NAME (type: $SECRET_TYPE)"
# Create the secret using kubectl
echo "$SECRET_DATA" | kubectl create secret $SECRET_TYPE $SECRET_NAME \
--from-literal=secret.json="$SECRET_DATA" \
--namespace=${{ steps.namespace.outputs.namespace }} \
--dry-run=client -o yaml | kubectl apply -f -
done
else
echo "No custom secrets to create"
fi
- name: Deploy Kubernetes manifests - name: Deploy Kubernetes manifests
uses: azure/k8s-deploy@c8cfec839dc09896b3b8cc40cd13d04792680771 # v5.1.0 uses: azure/k8s-deploy@c7ebd0d5f39477a23f1b5dea0f52e6db04adf28e # v6.0.0
with: with:
action: deploy action: deploy
manifests: "${{ inputs.k8s_dir }}" manifests: "${{ inputs.k8s_dir }}"
@@ -120,8 +105,6 @@ jobs:
inputs.skip_helm_deployment != 'true' inputs.skip_helm_deployment != 'true'
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ref: ${{ inputs.deploy_branch }}
- uses: ./.gitea/actions/extract-namespace-from-repo-name - uses: ./.gitea/actions/extract-namespace-from-repo-name
id: namespace id: namespace
with: with:
@@ -132,38 +115,15 @@ jobs:
with: with:
method: kubeconfig method: kubeconfig
kubeconfig: ${{ secrets.KUBECONFIG }} kubeconfig: ${{ secrets.KUBECONFIG }}
- name: Create custom secrets
id: create-secrets
run: |
# Parse custom secrets from input
SECRETS='${{ inputs.custom_secrets }}'
if [ "$SECRETS" != "[]" ]; then
echo "Creating custom secrets..."
echo "$SECRETS" | jq -c '.[]' | while read -r secret; do
SECRET_NAME=$(echo "$secret" | jq -r '.name')
SECRET_TYPE=$(echo "$secret" | jq -r '.type // "generic"')
SECRET_DATA=$(echo "$secret" | jq -r '.data')
echo "Creating secret: $SECRET_NAME (type: $SECRET_TYPE)"
# Create the secret using kubectl
echo "$SECRET_DATA" | kubectl create secret $SECRET_TYPE $SECRET_NAME \
--from-literal=secret.json="$SECRET_DATA" \
--namespace=${{ steps.namespace.outputs.namespace }} \
--dry-run=client -o yaml | kubectl apply -f -
done
else
echo "No custom secrets to create"
fi
- name: Deploy Helm - name: Deploy Helm
uses: helmfile/helmfile-action@8676eae58f17e6232c519147a0729f5f3d67a8a0 # v2.4.2 uses: helmfile/helmfile-action@02671705b1dda1dc4b0a4ddd4f9f1ea8f4568c6f # v2.4.3
with: with:
helmfile-args: apply helmfile-args: apply
# Summary job that always runs to show what was deployed # Summary job that always runs to show what was deployed
deployment-summary: deployment-summary:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [ detect-service-type, deploy-k8s, deploy-helm ] needs: [detect-service-type, deploy-k8s, deploy-helm]
if: always() if: always()
steps: steps:
- name: Deployment Summary - name: Deployment Summary
@@ -187,11 +147,3 @@ jobs:
echo "" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY
echo "**Service Type**: ${{ needs.detect-service-type.outputs.has_helmfile == 'true' && 'Helm + Kubernetes' || 'Kubernetes Only' }}" >> $GITHUB_STEP_SUMMARY echo "**Service Type**: ${{ needs.detect-service-type.outputs.has_helmfile == 'true' && 'Helm + Kubernetes' || 'Kubernetes Only' }}" >> $GITHUB_STEP_SUMMARY
# Show custom secrets info
SECRETS='${{ inputs.custom_secrets }}'
if [ "$SECRETS" != "[]" ]; then
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Custom Secrets Created**: $(echo "$SECRETS" | jq length)" >> $GITHUB_STEP_SUMMARY
echo "$SECRETS" | jq -r '.[] | "- " + .name + " (" + (.type // "generic") + ")"' >> $GITHUB_STEP_SUMMARY
fi
+1 -1
View File
@@ -90,7 +90,7 @@ jobs:
method: kubeconfig method: kubeconfig
kubeconfig: ${{ secrets.KUBECONFIG }} kubeconfig: ${{ secrets.KUBECONFIG }}
- name: Validate Helm - name: Validate Helm
uses: helmfile/helmfile-action@8676eae58f17e6232c519147a0729f5f3d67a8a0 # v2.4.2 uses: helmfile/helmfile-action@02671705b1dda1dc4b0a4ddd4f9f1ea8f4568c6f # v2.4.3
with: with:
helmfile-args: diff helmfile-args: diff
+2 -2
View File
@@ -18,10 +18,10 @@ jobs:
fetch-depth: 0 fetch-depth: 0
- name: Increment tag - name: Increment tag
id: tag id: tag
uses: https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment@74d41d9bd9c243f295b53762681c714f3d24fd4c # 0.1.31 uses: https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment@ef0c23189db33220a73022d8c29a27709d0df440 # 0.1.32
with: with:
token: ${{ secrets.GITEA_TOKEN }} token: ${{ secrets.GITEA_TOKEN }}
- name: Push tag - name: Push tag
uses: https://gitea.t000-n.de/t.behrendt/actions/release-git-tag@f386e2570df6a796ba0a69865c89ea0c1a7109ab # 0.2.2 uses: https://gitea.t000-n.de/t.behrendt/actions/release-git-tag@47a1c635cfc76cfb4eeee3db0d0b89bf19007c7a # 0.2.3
with: with:
tag: ${{ steps.tag.outputs.new-tag }} tag: ${{ steps.tag.outputs.new-tag }}
+1 -4
View File
@@ -1,7 +1,4 @@
{ {
"$schema": "https://docs.renovatebot.com/renovate-schema.json", "$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [ "extends": ["local>t.behrendt/renovate-configs:action"]
"local>t.behrendt/renovate-configs:common",
"local>t.behrendt/renovate-configs:action"
]
} }