diff --git a/projects/kluctl.io/.kluctl.yml b/projects/kluctl.io/.kluctl.yml new file mode 100644 index 00000000..2ccb49f2 --- /dev/null +++ b/projects/kluctl.io/.kluctl.yml @@ -0,0 +1,9 @@ +discriminator: kluctl-examples-simple-{{ target.name }} + +targets: + - name: simple + args: + environment: simple + +args: + - name: environment diff --git a/projects/kluctl.io/deployment.yml b/projects/kluctl.io/deployment.yml new file mode 100644 index 00000000..88ff5e9d --- /dev/null +++ b/projects/kluctl.io/deployment.yml @@ -0,0 +1,6 @@ +deployments: + - path: "." + +commonLabels: + examples.kluctl.io/environment: "{{ args.environment }}" + examples.kluctl.io/deployment-project: k8s-deployment-simple diff --git a/projects/kluctl.io/kustomization.yml b/projects/kluctl.io/kustomization.yml new file mode 100644 index 00000000..62a189fa --- /dev/null +++ b/projects/kluctl.io/kustomization.yml @@ -0,0 +1,4 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - nginx.yml diff --git a/projects/kluctl.io/nginx.yml b/projects/kluctl.io/nginx.yml new file mode 100644 index 00000000..735a0296 --- /dev/null +++ b/projects/kluctl.io/nginx.yml @@ -0,0 +1,21 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: nginx-deployment-{{ args.environment }} + labels: + app: nginx +spec: + replicas: 3 + selector: + matchLabels: + app: nginx + template: + metadata: + labels: + app: nginx + spec: + containers: + - name: nginx + image: nginx:1.14.2 + ports: + - containerPort: 80 diff --git a/projects/kluctl.io/package.yml b/projects/kluctl.io/package.yml new file mode 100644 index 00000000..3b683464 --- /dev/null +++ b/projects/kluctl.io/package.yml @@ -0,0 +1,35 @@ +distributable: + url: https://github.com/kluctl/kluctl/archive/refs/tags/v{{version}}.tar.gz + strip-components: 1 + +versions: + github: kluctl/kluctl + strip: /^kluctl-v/ + +build: + dependencies: + go.dev: ^1.21 + nodejs.org: ^18 + npmjs.com: "*" + gnu.org/make: "*" + env: + CGO_ENABLED: 0 + LDFLAGS: + - -extldflags=-static + - -w + - -s + - -X=main.version=v{{version}} + script: | + make build-webui + go build -v -ldflags="$LDFLAGS" -o bin/kluctl cmd/main.go + mkdir -p "{{ prefix }}"/bin + mv bin/kluctl "{{ prefix }}"/bin + +provides: + - bin/kluctl + +test: + script: | + test "$(kluctl version)" = v{{version}} + kluctl render --print-all --offline-kubernetes -t simple > simple.yml + test -f simple.yml