Skip to content

BouyguesTelecom/charts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌀 Spin Helm Chart Template Repository ⎈

Type: Helm Chart AppVersion: 1.16.0

Hello World! I'm the spin helm chart that You ( 🫵 ) need to get started quickly, without ( little 🤏 ) devops knowledge.

This project provides template Helm Charts for deploying a web application into Kubernetes.

It offers the following documents 👇 :

File Description
/spin/Chart.yaml The definition file for your application.
/spin/values.yaml Configurable values that are inserted into the following template files.
/spin/values.schema.json Validate values in a chart's values.yaml file with JSON schemas.
/spin/templates/deployment.yaml Template to configure your application's deployment.
/spin/templates/service.yaml Template to configure your application's service.
/spin/templates/hpa.yaml Template to configure your application's horizontal pod autoscaler.
/spin/templates/ingress.yaml Template to configure your application's ingress .
/spin/templates/cm.yaml Template to configure your application's config map.
/spin/templates/poddisruptionbudget.yaml Template to configure your application's disruption budget .
/spin/templates/secret.yaml Template to configure your secret data's applications.
/spin/templates/serviceaccount.yaml Template to configure your application's service account.
/spin/templates/NOTES.txt Helper to enable locating your application IP and PORT
/spin/templates/_helpers.tpl Helper to store partials and helpers.
/spin/templates/tests Tests folder application

🟢 Prerequisites

  • Kubernetes 1.19+
  • Helm 3.8.0+

🌐 Chart Sources

  • spin/: Chart with API version v2

🤓 Getting started

1️⃣ Add this repository as a dependencies to your Chart.yaml

dependencies:
  - name: spin
    version: 0.1.2
    repository: https://sara-picoud.github.io/spin-helms/

Learn more about subchart helm dependency 👈

2️⃣ Configuring the spin's values in the values.yaml of your application

The most important thing is to declare the 'spin' variable to be able to consume the values from the template. If a value is declared outside the 'spin' scope, the value cannot be read by this template.

For example: 👇

spin:
  fullnameOverride: myApp
  deployment:
    imagePullSecrets:
      - name: myApp-secret
    image:
      repository: registry.artifcatory
      tag: 0.0.1
    ......

📚 API Values

Key Type Default Description
autoscaling.enabled bool true Enable or disable Horizontal Pod Autoscaler (Autoscalling)
More about HPA
autoscaling.maxReplicas int 10 Maximum number of pod replicas
autoscaling.minReplicas int 2 Minimum number of pod replicas
autoscaling.targetCPUUtilizationPercentage int 100 Target CPU Utilization Percentage
autoscaling.targetMemoryUtilizationPercentage int 100 Target Memory Utilization Percentage
canary.cookie.enabled bool false Enable or disable cookie-based routing
More about canary release
canary.cookie.name string "x-hidden-prod" Name of the cookie to match
canary.enabled bool false Enable or disable Canary releases
canary.header.enabled bool false Enable or disable header-based routing
canary.header.name string "cookie" Name of the HTTP header to match
canary.header.regex string " " Regular expression to match the header value
canary.percent object {"enabled":false,"value":20} Percentage-based routing settings
canary.percent.enabled bool false Enable or disable percentage-based routing
canary.percent.value int 20 Percentage of traffic to route to the Canary release
configFiles object {} Set configurations files in configmaps.
More about configMap
deployment.affinity object {} Pod affinity configurartion : Hard node and soft zone anti-affinity
deployment.args list [] Additional arguments to pass to the command
deployment.containerAdminPort string "" If defined, forces the container to use an admin port other than the one defined in service.httpAdminPort.
deployment.containerEnv object {} Additional ENV
deployment.containerExtraPorts string "" Add extra ports to container
deployment.containerExtraSpecs string "" Add extra specifications to container
deployment.containerPort string "" If defined, forces the container to use a port other than the one defined in service.httpPort.
More about deployment
deployment.extraInitContainers list [] Add initContainers
deployment.extraVolumeMounts list [] Add additionnal volumeMounts
deployment.extraVolumes string "" Add additionnal volumes
deployment.image.pullPolicy string "IfNotPresent" docker image pull policy
deployment.image.repository string "nginx" docker image repository url
deployment.image.tag string "latest" docker image tag
deployment.livenessProbe object
{"failureThreshold":5,"httpGet":
{"path":"/","port":80,"scheme":"HTTP"},
"initialDelaySeconds":50,"periodSeconds":10,
"successThreshold":1,"timeoutSeconds":1}
Liveness probe configuration
More about liveness probes
deployment.livenessProbe.failureThreshold int 5 Number of consecutive unsuccessful checks to be considered not alive
deployment.livenessProbe.httpGet.path string "/" The path to be used for the HTTP GET request
deployment.livenessProbe.httpGet.port int 80 The port on which to perform the GET request
deployment.livenessProbe.httpGet.scheme string "HTTP" The scheme for the GET request (e.g., HTTP or HTTPS)
deployment.livenessProbe.initialDelaySeconds int 50 Initial delay before starting the check (in seconds)
deployment.livenessProbe.periodSeconds int 10 Check frequency (in seconds)
deployment.livenessProbe.successThreshold int 1 Number of consecutive successful checks to be considered alive
deployment.livenessProbe.timeoutSeconds int 1 Maximum wait time for a response (in seconds)
deployment.nodeSelector object {} An empty object means no node selector is applied, and the pod can be scheduled on any node
deployment.podAnnotations object {} Additional annotations for the Pod
deployment.podSecurityContext object
{"enabled":false,"fsGroup":1001}
Pod-level security context configuration
deployment.podSecurityContext.enabled bool false
More about security context
Enable or disable the pod security context
deployment.podSecurityContext.fsGroup int 1001 Set the File System Group (fsGroup) for the pod volumes
deployment.readinessProbe object
{"failureThreshold":10,"httpGet":
{"path":"/","port":80,"scheme":"HTTP"},
"initialDelaySeconds":5,"periodSeconds":5,
"successThreshold":1,"timeoutSeconds":5}
Readiness probe configuration
More about readiness probes
deployment.readinessProbe.failureThreshold int 10 Number of consecutive unsuccessful checks to be considered not ready
deployment.readinessProbe.httpGet.path string "/" The path to be used for the HTTP GET request
deployment.readinessProbe.httpGet.port int 80 The port on which to perform the GET request
deployment.readinessProbe.httpGet.scheme string "HTTP" The scheme for the GET request (e.g., HTTP or HTTPS)
deployment.readinessProbe.initialDelaySeconds int 5 Initial delay before starting the check (in seconds)
deployment.readinessProbe.periodSeconds int 5 Check frequency (in seconds)
deployment.readinessProbe.successThreshold int 1 Number of consecutive successful checks to be considered ready
deployment.readinessProbe.timeoutSeconds int 5 Maximum wait time for a response (in seconds)
deployment.replicaCount int 2 ReplicaCount for the Pod
deployment.resources object {limits : {cpu: 100m , memory: 128mi} , requests: {cpu: 100m , memory: 128mi } } Resource Management for Pods and Containers
More about resources
deployment.restartPolicy string "Always" Pod restart policy. One of Always, OnFailure, or Never
deployment.securityContext object {"enabled":false} Security context of the containers
deployment.startupProbe string "" Empty means no startup probe is configured
deployment.tolerations list [] Empty list means no tolerations are applied
deployment.volumes string "" Volumes
deployment.volumeMounts list [] VolumeMounts
flux object
{"configmap":{"enabled":false,
"filename":"flux.json"
,"filepath":"/usr/src/app/"},
"enabled":false,"internal":{}}
List of allowed entities for ENP
More about egress-network-policies
flux.configmap.enabled bool false Indicates if the ConfigMap is enabled (false by default)
flux.configmap.filename string "flux.json" The name of the Flux configuration file (default: flux.json)
flux.configmap.filepath string "/usr/src/app/" The file path for Flux configuration (default: /usr/src/app/)
flux.enabled bool false Indicates if Flux is enabled (false by default)
flux.internal object {} Internal settings for Flux (empty by default)
fullnameOverride string ""
github object
{"enabled":false,"organization":
"votre-organisation",
"repository":"votre-repo"}
Log into github to generate tag image
ingress.annotations object {} Additional annotations for the Ingress
ingress.enabled bool true Enable or disable the creation of an Ingress resource for the deployment
More about ingress
ingress.labels object {} Additional labels for the Ingress
ingress.rules list
[{"host":"chart-example.local","paths":
[{"path":"/","pathType":
"ImplementationSpecific"}]}]
List of rules for the Ingress
nameOverride string ""
podDisruptionBudget object {} Empty means no PDB is applied
More about disruption budget
secrets object {"data":{},"type":""} Configuration settings for Kubernetes secrets
More about secrets
secrets.data object {} Key-value pairs stored as base64-encoded strings
service.enabled bool true Enable or disable the creation of a Kubernetes service for the deployment
More about service
service.extraPorts list [] Additional Service ports, e. g. for custom admin console
service.httpAdminNodePort string "" The Management node port if type is NodePort (The range of valid ports is 30000-32767)
service.httpAdminPort int 8081 The Management port
service.httpAdminPortName string "http-admin" The Management port name
service.httpNodePort string "" The HTTP Service node port if type is NodePort (The range of valid ports is 30000-32767)
service.httpPort int 8080 The http Service port
service.type string "ClusterIP" The Service type
serviceAccount.create bool true Specifies whether a service account should be created
More about service account
serviceAccount.annotations object {} Annotations to add to the service account
serviceAccount.imagePullSecrets list [] Image pull secrets that are attached to the ServiceAccount
serviceAccount.name string "" If not set and create is true, a name is generated using the fullname template

Autogenerated from chart metadata using helm-docs v1.11.3

About

Scalable frontend application server & app hosting

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages