feat(charts): Now using bjw-s's common library chart (#7)

This commit is contained in:
Romain Pluciennik
2024-08-16 01:09:32 +02:00
committed by GitHub
parent 8a84b5e13a
commit 31bbf1ca94
26 changed files with 787 additions and 536 deletions

View File

@ -1,128 +1,95 @@
# Default values for it-tools.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
---
#
# IMPORTANT NOTE
#
# This chart inherits from our common library chart. You can check the default values/options here:
# https://github.com/bjw-s/helm-charts/blob/main/charts/library/common/values.yaml
#
## @section Global parameters
## @param replicaCount Number of replicas for the it-tools Deployment
replicaCount: 1
controllers:
main:
# -- Controller type
type: deployment
containers:
app:
image:
# -- Image repository
repository: ghcr.io/corentinth/it-tools
# -- Image pull policy
pullPolicy: IfNotPresent
# -- Image tag
tag: 2024.5.13-a0bc346
## @param imagePullSecrets Docker registry pull secrets
## @param nameOverride Name override
## @param fullnameOverride Full name override
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
# -- Environment variables
# @default -- See [values.yaml](./values.yaml)
env: {}
# TZ: UTC
## @param podAnnotations Additional annotations for the Pod resource
## @param podLabels Additional labels for the Pod resource
podAnnotations: {}
podLabels: {}
securityContext:
# -- Mount the container's root filesystem as read-only
readOnlyRootFilesystem: true
# -- Disable privilege escalations
allowPrivilegeEscalation: false
# -- Drop all capabilities
capabilities:
drop:
- ALL
## @param nodeSelector Node labels for pod assignment
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
nodeSelector: {}
pod:
securityContext:
# -- Run container as a non-root user
runAsNonRoot: true
# -- Run as `nobody` user
runAsUser: 65534
# -- Run as `nobody` group
runAsGroup: 65534
# -- Volume binds will be granted to `nobody` group
fsGroup: 65534
## @param tolerations Tolerations for pod assignment
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
tolerations: []
# -- Set the resource requests / limits for the container.
resources: {}
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
## @param affinity Affinity for pod assignment
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
affinity: {}
## @section Image parameters
## @param image.repository Docker image repository
## @param image.pullPolicy Docker image pull policy
## @param image.tag Overrides the image tag whose default is the chart appVersion
image:
repository: ghcr.io/corentinth/it-tools
pullPolicy: IfNotPresent
tag: ""
## @section Service account parameters
## @param serviceAccount.create Specifies whether a service account should be created
## @param serviceAccount.automount Automatically mount a ServiceAccount's API credentials?
## @param serviceAccount.annotations Additional annotations for the ServiceAccount resource
## @param serviceAccount.name The name of the service account to use. If not set and create is true, a name is generated using the fullname template
serviceAccount:
create: false
automount: true
annotations: {}
name: ""
## @section Security context parameters
## @param securityContext.capabilities.drop Capabilities to drop
## @param securityContext.readOnlyRootFilesystem If root filesystem should be read-only
## @param securityContext.runAsNonRoot If pod should be run as non-root
## @param securityContext.runAsUser User to run pod as
## @param securityContext.runAsGroup Group to run pod as
## @param securityContext.allowPrivilegeEscalation If privilege escalation should be allowed
## @param securityContext.seccompProfile.type seccomp profile type
securityContext:
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
runAsNonRoot: true
runAsUser: 10099
runAsGroup: 10099
allowPrivilegeEscalation: false
seccompProfile:
type: RuntimeDefault
## @section Service parameters
## @param service.type Service type to create
## @param service.port Service port to use
# -- Configure the services for the chart here.
# @default -- See [values.yaml](./values.yaml)
service:
type: ClusterIP
port: 80
main:
controller: main
ports:
http:
port: 80
# -- Configure persistence for the chart under this key.
# @default -- See [values.yaml](./values.yaml)
persistence:
data:
enabled: false
retain: true
# storageClass: ""
# accessMode: ReadWriteOnce
# size: 1Gi
## @section Ingress parameters
## Configure the ingress resource that allows you to access the installation
## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
##
## @param ingress.enabled Enable ingress record generation
## @param ingress.className IngressClass that will be be used to implement the Ingress
## @param ingress.annotations Additional annotations for the Ingress resource
## @param ingress.hosts An array with hostname(s) to be covered with the ingress record
## @param ingress.tls TLS configuration for hostname(s) to be covered with this ingress record
ingress:
enabled: false
className: ""
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
hosts: []
# - host: it-tools.example.local
# paths:
# - path: /
# pathType: Prefix
tls: []
# - secretName: it-tools-tls
# hosts:
# - it-tools.example.local
## @section Resources parameters
## @param resources Kubernetes resources
resources: {}
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
## @section Autoscaling parameters
## Autoscaling parameters
## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
## @param autoscaling.enabled Enable Horizontal POD autoscaling
## @param autoscaling.minReplicas Minimum number of replicas
## @param autoscaling.maxReplicas Maximum number of replicas
## @param autoscaling.targetCPUUtilizationPercentage Target CPU utilization percentage
## @param autoscaling.targetMemoryUtilizationPercentage Target Memory utilization percentage
autoscaling:
enabled: false
minReplicas: 1
maxReplicas: 100
targetCPUUtilizationPercentage: 80
targetMemoryUtilizationPercentage: 80
# -- Enable and configure ingress settings for the chart under this key.
# @default -- See [values.yaml](./values.yaml)
main:
enabled: false
# className: ""
# annotations: {}
# hosts:
# - host: &host-main "chart-example.local"
# paths:
# - path: /
# pathType: Prefix
# service:
# identifier: main
# port: http
# tls:
# - secretName: chart-example-tls
# hosts:
# - *host-main