The current chart with katenarry 3.0.0-rc2

This commit is contained in:
2024-12-05 06:20:50 +01:00
commit 74b73cafc1
9 changed files with 647 additions and 0 deletions

18
chart/Chart.yaml Normal file
View File

@@ -0,0 +1,18 @@
# This is the main values.yaml file for the website chart.
# More information can be found in the chart's README.md file.
#
# generated at: 2024-12-04T10:05:52+01:00
# compose files: compose.katenary.yaml, compose.yaml
# compose hash (sha1): 07a6c3341d6d1030ebf49ee3a618c3296c87ae32
# Name of the chart (required), basically the name of the project.
name: website
apiVersion: v2
# Version of the chart (required)
version: 0.1.0
# Version of the application (required).
# This should be the main application version.
appVersion: 0.1.0
description: A Helm chart for website

39
chart/README.md Normal file
View File

@@ -0,0 +1,39 @@
# website
A Helm chart for website
## Installing the Chart
To install the chart with the release name `my-release`:
```bash
# Standard Helm install
$ helm install my-release website
# To use a custom namespace and force the creation of the namespace
$ helm install my-release --namespace my-namespace --create-namespace website
# To use a custom values file
$ helm install my-release -f my-values.yaml website
```
See the [Helm documentation](https://helm.sh/docs/intro/using_helm/) for more information on installing and managing the chart.
## Configuration
The following table lists the configurable parameters of the website chart and their default values.
| Parameter | Default |
| ---------------------------- | ----------------- |
| `server.imagePullPolicy` | `IfNotPresent` |
| `server.ingress.class` | `-` |
| `server.ingress.enabled` | `false` |
| `server.ingress.host` | `katenary.org` |
| `server.ingress.path` | `/` |
| `server.ingress.tls.enabled` | `true` |
| `server.replicas` | `1` |
| `server.repository.image` | `docker.io/nginx` |
| `server.repository.tag` | `` |
| `server.serviceAccount` | `` |

41
chart/templates/NOTES.txt Normal file
View File

@@ -0,0 +1,41 @@
Thanks to have installed {{ .Chart.Name }} {{ .Chart.Version }} as {{ .Release.Name }} ({{.Chart.AppVersion }}).
# Get release information
To learn more about the release, try:
$ helm -n {{ .Release.Namespace }} status {{ .Release.Name }}
$ helm -n {{ .Release.Namespace }} get values {{ .Release.Name }}
$ helm -n {{ .Release.Namespace }} get all {{ .Release.Name }}
# To delete the release
Use helm uninstall command to delete the release.
$ helm -n {{ .Release.Namespace }} uninstall {{ .Release.Name }}
Note that some resources may still be in use after a release is deleted. For exemple, PersistentVolumeClaims are not deleted by default for some storage classes or if some annotations are set.
# More information
You can see this notes again by running:
$ helm -n {{ .Release.Namespace }} get notes {{ .Release.Name }}
{{- $count := 0 -}}
{{- $listOfURL := "" -}}
{{- if and .Values.server.ingress .Values.server.ingress.enabled }}
{{- $count = add1 $count -}}{{- $listOfURL = printf "%s\n- http://%s" $listOfURL (tpl .Values.server.ingress.host .) -}}
{{- end }}
{{- if gt $count 0 }}
# List of activated ingresses URL:
{{ $listOfURL }}
You can get these urls with kubectl:
kubeclt get ingress -n {{ .Release.Namespace }}
{{- end }}
Thanks for using Helm!

View File

@@ -0,0 +1,36 @@
{{- define "website.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- define "website.name" -}}
{{- if .Values.nameOverride -}}
{{- .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- define "website.labels" -}}
{{ include "website.selectorLabels" .}}
{{ if .Chart.Version -}}
{{ printf "katenary.v3/chart-version: '%s'" .Chart.Version }}
{{- end }}
{{ if .Chart.AppVersion -}}
{{ printf "katenary.v3/app-version: '%s'" .Chart.AppVersion }}
{{- end }}
{{- end -}}
{{- define "website.selectorLabels" -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{ printf "katenary.v3/name: %s" $name }}
{{ printf "katenary.v3/instance: %s" .Release.Name }}
{{- end -}}

View File

@@ -0,0 +1,52 @@
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
katenary.v3/compose-hash: 07a6c3341d6d1030ebf49ee3a618c3296c87ae32
katenary.v3/version: develop-628b35d
labels:
{{- include "website.labels" . | nindent 4 }}
katenary.v3/component: server
name: '{{ include "website.fullname" . }}-server'
spec:
replicas: {{ .Values.server.replicas }}
selector:
matchLabels:
{{- include "website.selectorLabels" . | nindent 6 }}
katenary.v3/component: server
strategy: {}
template:
metadata:
labels:
{{- include "website.selectorLabels" . | nindent 8 }}
katenary.v3/component: server
spec:
containers:
- image: '{{ tpl .Values.server.repository.image $ }}:{{ tpl .Values.server.repository.tag $ | default "latest" }}'
imagePullPolicy: {{ .Values.server.imagePullPolicy }}
name: server
ports:
- containerPort: 80
name: http
{{- if .Values.server.resources }}
resources:
{{ .Values.server.resources | toYaml | nindent 10 }}
{{- end }}
volumeMounts:
- mountPath: /usr/share/nginx/html
name: dist
{{- if .Values.pullSecrets }}
imagePullSecrets:
{{- .Values.pullSecrets | toYaml | nindent 6 }}
{{- end }}
{{- if .Values.server.nodeSelector }}
nodeSelector:
{{- .Values.server.nodeSelector | toYaml | nindent 8 }}
{{- end }}
{{- if ne .Values.server.serviceAccount "" }}
serviceAccountName: {{ .Values.server.serviceAccount | quote }}
{{- end }}
volumes:
- configMap:
name: '{{ include "website.fullname" . }}-server-dist'
name: dist

View File

@@ -0,0 +1,37 @@
{{- if .Values.server.ingress.enabled -}}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
katenary.v3/compose-hash: 07a6c3341d6d1030ebf49ee3a618c3296c87ae32
katenary.v3/version: develop-628b35d
{{- if .Values.server.ingress.annotations -}}
{{- toYaml .Values.server.ingress.annotations | nindent 4 }}
{{- end }}
labels:
{{- include "website.labels" . | nindent 4 }}
katenary.v3/component: server
name: '{{ include "website.fullname" . }}-server'
spec:
{{- if ne .Values.server.ingress.class "-" }}
ingressClassName: '{{ tpl .Values.server.ingress.class $ }}'
{{- end }}
rules:
- host: '{{ tpl .Values.server.ingress.host $ }}'
http:
paths:
- backend:
service:
name: '{{ include "website.fullname" . }}-server'
port:
name: http
path: '{{ tpl .Values.server.ingress.path $ }}'
pathType: ImplementationSpecific
{{- if .Values.server.ingress.tls.enabled }}
tls:
- hosts:
- '{{ tpl .Values.server.ingress.host . }}'
secretName: '{{ include "website.fullname" . }}-server-tls'
{{ end -}}
{{- end -}}

View File

@@ -0,0 +1,19 @@
apiVersion: v1
kind: Service
metadata:
annotations:
katenary.v3/compose-hash: 07a6c3341d6d1030ebf49ee3a618c3296c87ae32
katenary.v3/version: develop-628b35d
labels:
{{- include "website.labels" . | nindent 4 }}
katenary.v3/component: server
name: '{{ include "website.fullname" . }}-server'
spec:
ports:
- name: http
port: 80
protocol: TCP
targetPort: http
selector:
{{- include "website.selectorLabels" . | nindent 4 }}
katenary.v3/component: server

File diff suppressed because one or more lines are too long

78
chart/values.yaml Normal file
View File

@@ -0,0 +1,78 @@
# This file is autogenerated by katenary
#
# DO NOT EDIT IT BY HAND UNLESS YOU KNOW WHAT YOU ARE DOING
#
# If you want to change the content of this file, you should edit the
# compose file and run katenary again.
# If you need to override some values, you can do it in a override file
# and use the -f flag to specify it when running the helm command.
# imagePullSecrets allows you to specify a name of an image pull secret.
# You must provide a list of object with the name field set to the name of the
# e.g.
# pullSecrets:
# - name: regcred
# You are, for now, responsible for creating the secret.
pullSecrets: []
# server configuration
server:
# key: server.repository
repository:
# key: server.repository.image
image: docker.io/nginx
# key: server.repository.tag
tag: ""
# Default value for ingress.class annotation
# class: "-"
# If the value is "-", controller will not set ingressClassName
# If the value is "", Ingress will be set to an empty string, so
# controller will use the default value for ingressClass
# If the value is specified, controller will set the named class e.g. "nginx"
# key: server.ingress
ingress:
# key: server.ingress.annotations
annotations: {}
# key: server.ingress.host
host: katenary.org
# key: server.ingress.path
path: /
# key: server.ingress.class
class: '-'
# key: server.ingress.enabled
enabled: false
# key: server.ingress.tls
tls:
# key: server.ingress.tls.enabled
enabled: true
# key: server.replicas
replicas: 1
# key: server.nodeSelector
nodeSelector: {}
# Resources allows you to specify the resource requests and limits for a service.
# Resources are used to specify the amount of CPU and memory that
# a container needs.
#
# e.g.
# resources:
# requests:
# memory: "64Mi"
# cpu: "250m"
# limits:
# memory: "128Mi"
# cpu: "500m"
# key: server.resources
resources: {}
# imagePullPolicy allows you to specify a policy to cache or always pull an image.
# You must provide a string value with one of the following values:
# - Always -> will always pull the image
# - Never -> will never pull the image, the image should be present on the node
# - IfNotPresent -> will pull the image only if it is not present on the node
# key: server.imagePullPolicy
imagePullPolicy: IfNotPresent
# key: server.serviceAccount
serviceAccount: ""
# vim: ft=yaml