Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions Taskfile.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -396,3 +396,47 @@ tasks:

# Run the selected task
[ -n "$task_name" ] && task "$task_name"

render-helmfile-local:
desc: Render helmfile locally using dagger helm module
cmds:
- |
set -e

# Find helmfiles in specific directories
HELMFILES=$(find apps cicd database infra monitoring -maxdepth 1 -type f \( -name "*.yaml.gotmpl" -o -name "*.yaml" \) 2>/dev/null | sort)

if [ -z "$HELMFILES" ]; then
echo "❌ No helmfiles found in apps, cicd, database, infra, or monitoring directories"
exit 1
fi

# Let user choose helmfile
HELMFILE=$(echo "$HELMFILES" | gum choose --header "Select helmfile to render:")

if [ -z "$HELMFILE" ]; then
echo "❌ No helmfile selected"
exit 1
fi

# Extract directory and filename
HELMFILE_DIR=$(dirname "$HELMFILE")
HELMFILE_NAME=$(basename "$HELMFILE")

# Normalize path (remove ./ prefix)
SRC="${HELMFILE_DIR#./}"
[ "$SRC" = "." ] && SRC="."

echo ""
echo "📋 Rendering helmfile:"
echo " Source : $SRC"
echo " File : $HELMFILE_NAME"
echo ""

# Render using dagger
dagger call -m github.com/stuttgart-things/dagger/helm@v0.57.0 \
helmfile-operation \
--operation template \
--src "$SRC" \
--helmfile-ref "$HELMFILE_NAME" \
--progress plain -vv
15 changes: 14 additions & 1 deletion cicd/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,20 @@ helmfiles:
<details><summary>CROSSPLANE</summary>

```bash
dagger call -m github.com/stuttgart-things/dagger/helm@v0.57.0 \ helmfile-operation \
# TEST RENDER w/ VALUES FROM LOCAL SOURCE (REPO ROOT)
dagger call -m github.com/stuttgart-things/dagger/helm@v0.57.0 \
helmfile-operation \
--operation template \
--src "cicd" \
--helmfile-ref "crossplane.yaml.gotmpl" \
--state-values "version=2.1.3,terraform.configName=terraform-runtime-config,terraform.s3SecretName=terraform-s3,terraform.image=ghcr.io/stuttgart-things/sthings-cptf:1.14.3,terraform.poll=30s,deployTeraformProvider=true,terraform.reconcileRate=10,terraform.package=xpkg.upbound.io/upbound/provider-terraform,terraform.version=v1.0.5" \
--progress plain -vv
```

```bash
# DEPLOY DEFAULTS + VERSION
dagger call -m github.com/stuttgart-things/dagger/helm@v0.57.0 \
helmfile-operation \
--helmfile-ref "git::https://github.com/stuttgart-things/helm.git@cicd/crossplane.yaml.gotmpl" \
--operation apply \
--state-values "version=2.1.3" \
Expand Down
23 changes: 21 additions & 2 deletions cicd/crossplane.yaml.gotmpl
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,28 @@ environments:
- namespace: crossplane-system
- version: 2.1.3
- providers:
- xpkg.upbound.io/crossplane-contrib/provider-helm:v0.21.0
- xpkg.upbound.io/crossplane-contrib/provider-kubernetes:v0.18.0
- xpkg.upbound.io/crossplane-contrib/provider-helm:v1.0.6
- xpkg.upbound.io/crossplane-contrib/provider-kubernetes:v1.2.0
- configurations:
- ghcr.io/stuttgart-things/crossplane/cloud-config:v0.3.0
- ghcr.io/stuttgart-things/crossplane/harvester-vm:v0.1.1
- ghcr.io/stuttgart-things/crossplane/volume-claim:v0.1.0
- deployTeraformProvider: false
- terraform:
secrets:
terraform-s3:
namespace: crossplane-system
kvs:
AWS_ACCESS_KEY_ID: AKIAEXAMPLEKEY
AWS_SECRET_ACCESS_KEY: secret123
AWS_REGION: eu-central-1
configName: terraform-runtime-config
s3SecretName: terraform-s3
image: ghcr.io/stuttgart-things/sthings-cptf:1.14.3
poll: 30s
reconcileRate: 10
package: xpkg.upbound.io/upbound/provider-terraform
version: v1.0.5
---
releases:
- name: crossplane-deployment
Expand Down
20 changes: 11 additions & 9 deletions cicd/values/crossplane-terraform-provider.values.yaml.gotmpl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
secrets:
{{- range $k, $v := .Values.secrets }}
{{- range $k, $v := .Values.terraform.secrets }}
{{ $k }}:
name: {{ $k }}
namespace: {{ $v.namespace }}
Expand All @@ -24,16 +24,18 @@ customresources:
template:
spec:
containers:
- envFrom:
{{- if .Values.terraform.s3SecretName }}
envFrom:
- secretRef:
name: {{ .Values.terraform.s3SecretName }}
name: package-runtime
image: {{ .Values.terraform.image }}
args:
- -d
- --poll={{ .Values.terraform.poll }}
- --max-reconcile-rate={{ .Values.terraform.reconcileRate }}
resources: {}
{{- end }}
name: package-runtime
image: {{ .Values.terraform.image }}
args:
- -d
- --poll={{ .Values.terraform.poll }}
- --max-reconcile-rate={{ .Values.terraform.reconcileRate }}
resources: {}
provider:
apiVersion: pkg.crossplane.io/v1
kind: Provider
Expand Down
11 changes: 11 additions & 0 deletions cicd/values/crossplane.values.yaml.gotmpl
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,19 @@
args:
- '--debug'
- '--enable-usages'

{{- if .Values.providers }}
provider:
packages:
{{- range .Values.providers }}
- {{ . }}
{{- end }}
{{- end }}

{{- if .Values.configurations }}
configuration:
packages:
{{- range .Values.configurations }}
- {{ . }}
{{- end }}
{{- end }}
Loading