diff --git a/Chart.lock b/Chart.lock new file mode 100644 index 0000000..a26a5b2 --- /dev/null +++ b/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: traefik + repository: https://traefik.github.io/charts + version: 36.2.0 +digest: sha256:90390336f074dd887423346a0397fd8adbceec6a8835d803abaa0b21f586da6b +generated: "2025-06-24T16:18:26.388158324+02:00" diff --git a/Chart.yaml b/Chart.yaml new file mode 100644 index 0000000..546b9ec --- /dev/null +++ b/Chart.yaml @@ -0,0 +1,10 @@ +apiVersion: v2 +name: laravel-stack +version: 0.1.0 +dependencies: + - name: traefik + version: 36.2.0 + repository: https://traefik.github.io/charts + - name: whoami + version: 0.1.0 + repository: "file://charts/whoami" diff --git a/charts/traefik-36.2.0.tgz b/charts/traefik-36.2.0.tgz new file mode 100644 index 0000000..62f7ac0 Binary files /dev/null and b/charts/traefik-36.2.0.tgz differ diff --git a/charts/whoami/Chart.yaml b/charts/whoami/Chart.yaml new file mode 100644 index 0000000..f0fa70b --- /dev/null +++ b/charts/whoami/Chart.yaml @@ -0,0 +1,3 @@ +apiVersion: v2 +name: whoami +version: 0.1.0 diff --git a/charts/whoami/templates/deployment.yaml b/charts/whoami/templates/deployment.yaml new file mode 100644 index 0000000..9262d97 --- /dev/null +++ b/charts/whoami/templates/deployment.yaml @@ -0,0 +1,18 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: "{{ .Release.Name }}-{{ .Chart.Name }}-deployment" + namespace: {{ .Values.namespace }} +spec: + replicas: 1 + selector: + matchLabels: + app: "{{ .Release.Name }}-{{ .Chart.Name }}-pod" + template: + metadata: + labels: + app: "{{ .Release.Name }}-{{ .Chart.Name }}-pod" + spec: + containers: + - name: "{{ .Release.Name }}-{{ .Chart.Name }}-pod" + image: traefik/whoami diff --git a/charts/whoami/templates/httproute.yaml b/charts/whoami/templates/httproute.yaml new file mode 100644 index 0000000..512b093 --- /dev/null +++ b/charts/whoami/templates/httproute.yaml @@ -0,0 +1,13 @@ +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: "{{ .Release.Name }}-{{ .Chart.Name }}-httproute" + namespace: {{ .Values.namespace }} +spec: + parentRefs: + - name: {{ .Values.global.gateway.name }} + namespace: {{ .Values.global.gateway.namespace }} + rules: + - backendRefs: + - name: "{{ .Release.Name }}-{{ .Chart.Name }}-service" + port: {{ .Values.service.port }} diff --git a/charts/whoami/templates/service.yaml b/charts/whoami/templates/service.yaml new file mode 100644 index 0000000..8a0e2b2 --- /dev/null +++ b/charts/whoami/templates/service.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: Service +metadata: + name: "{{ .Release.Name }}-{{ .Chart.Name }}-service" + namespace: {{ .Values.namespace }} +spec: + selector: + app: "{{ .Release.Name }}-{{ .Chart.Name }}-pod" + ports: + - port: {{ .Values.service.port }} diff --git a/charts/whoami/values.yaml b/charts/whoami/values.yaml new file mode 100644 index 0000000..5039c29 --- /dev/null +++ b/charts/whoami/values.yaml @@ -0,0 +1,4 @@ +namespace: default + +service: + port: 80 diff --git a/values.yaml b/values.yaml new file mode 100644 index 0000000..8fa73db --- /dev/null +++ b/values.yaml @@ -0,0 +1,15 @@ +global: + gateway: + name: traefik-gateway + namespace: default + +traefik: + gateway: + name: traefik-gateway + namespace: default + hostNetwork: true + providers: + kubernetesGateway: + enabled: true + kubernetesIngress: + enabled: false