feat: add Kubernetes validation workflow for pull requests

This commit is contained in:
Lorenzo Venerandi
2026-01-22 10:57:28 +01:00
parent 2ff6bb34b2
commit 143b301bcb

View File

@@ -0,0 +1,57 @@
name: Kubernetes Validation
on:
pull_request:
branches:
- main
- beta
- dev
paths:
- 'kubernetes/**'
- 'helm/**'
- '.github/workflows/kubernetes-validation.yml'
permissions:
contents: read
jobs:
validate-manifests:
name: Validate Kubernetes Manifests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Validate YAML syntax
run: |
for manifest in kubernetes/**/*.yaml; do
if [ -f "$manifest" ]; then
echo "Validating YAML syntax: $manifest"
python3 -c "import yaml, sys; yaml.safe_load(open('$manifest'))" || exit 1
fi
done
- name: Validate manifest structure
run: |
for manifest in kubernetes/**/*.yaml; do
if [ -f "$manifest" ]; then
echo "Checking $manifest"
if ! grep -q "kind:" "$manifest"; then
echo "Error: $manifest does not contain a Kubernetes kind"
exit 1
fi
fi
done
validate-helm:
name: Validate Helm Chart
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: azure/setup-helm@v4
- name: Helm lint
run: helm lint ./helm
- name: Helm template validation
run: helm template krawl ./helm > /tmp/helm-output.yaml