+kluctl.io -- Kluctl is the missing glue to put together large Kubernetes deployments (#3849)

* +kluctl.io -- Kluctl is the missing glue to put together large Kubernetes deployments

* +kluctl.io -- add missing npm dependency
This commit is contained in:
Tobias Germer 2023-10-27 02:03:50 +02:00 committed by GitHub
parent 4171f6d6c1
commit 8360279400
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 75 additions and 0 deletions

View file

@ -0,0 +1,9 @@
discriminator: kluctl-examples-simple-{{ target.name }}
targets:
- name: simple
args:
environment: simple
args:
- name: environment

View file

@ -0,0 +1,6 @@
deployments:
- path: "."
commonLabels:
examples.kluctl.io/environment: "{{ args.environment }}"
examples.kluctl.io/deployment-project: k8s-deployment-simple

View file

@ -0,0 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- nginx.yml

View file

@ -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

View file

@ -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