Compare commits
8 Commits
b929e64011
...
c72b03c715
Author | SHA1 | Date |
---|---|---|
|
c72b03c715 | |
|
fe8cec4075 | |
|
22a3df98c8 | |
|
9a6b440441 | |
|
6306426bed | |
|
ff645ddecd | |
|
3619d89003 | |
|
69782ad928 |
|
@ -0,0 +1,16 @@
|
||||||
|
apiVersion: v2
|
||||||
|
name: ingress-management
|
||||||
|
description: A Helm chart to manage Ingress traffic
|
||||||
|
version: 0.1.0
|
||||||
|
appVersion: "1.0"
|
||||||
|
home: https://github.com/ot-container-kit/helm-charts
|
||||||
|
maintainers:
|
||||||
|
- name: sharvarikhamkar1304
|
||||||
|
keywords:
|
||||||
|
- ingress
|
||||||
|
- kong
|
||||||
|
- httpRoute
|
||||||
|
- kubernetes
|
||||||
|
icon: https://raw.githubusercontent.com/OT-CONTAINER-KIT/helm-charts/main/static/helm-chart-logo.svg
|
||||||
|
sources:
|
||||||
|
- https://github.com/ot-container-kit/helm-charts
|
|
@ -0,0 +1,49 @@
|
||||||
|
|
||||||
|
# Ingress Management Helm Chart
|
||||||
|
|
||||||
|
A simple and reusable Helm chart to manage Kubernetes Gateway API HTTPRoutes for routing traffic to backend services.
|
||||||
|
|
||||||
|
This chart helps manage HTTPRoute resources to expose services using the Kubernetes Gateway API. You can customize host, path, service, and namespace via values.
|
||||||
|
|
||||||
|
|
||||||
|
## Homepage
|
||||||
|
|
||||||
|
[https://github.com/ot-container-kit/helm-charts](https://github.com/ot-container-kit/helm-charts)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Maintainers
|
||||||
|
|
||||||
|
| Name | URL |
|
||||||
|
| ---------------- | --------------------------------------------- |
|
||||||
|
| sharvari-khamkar | [GitHub](https://github.com/sharvari-khamkar) |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Source Code
|
||||||
|
|
||||||
|
[GitHub - ot-container-kit/helm-charts](https://github.com/ot-container-kit/helm-charts)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
| Repository | Name | Version |
|
||||||
|
| ------------------------------------------------------------------------------------------------ | ---- | ------- |
|
||||||
|
| [https://ot-container-kit.github.io/helm-charts](https://ot-container-kit.github.io/helm-charts) | base | 0.1.0 |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Values
|
||||||
|
|
||||||
|
| **Attribute** | **Scope** | **Example** | **Description** | **Default** |
|
||||||
|
|------------------|------------------|------------------------|------------------------------------------------------------------------|--------------|
|
||||||
|
| <br> `name` <br> <br> | <br> Global <br> <br> | <br> `"my-app"` <br> <br> | <br> Name of the HTTPRoute and backend service (the app name)<br><br> | `""` |
|
||||||
|
| <br> `namespace` <br> <br> | <br> Global <br> <br> | <br> `"default"` <br> <br> | <br> Kubernetes namespace where resources like HTTPRoute will be deployed<br><br> | `""` |
|
||||||
|
| <br> `host` <br> <br> | Routing | `"app.example.com"` | Hostname to expose the app<br><br> | `""` |
|
||||||
|
| <br>`path` <br> <br> | Routing | `"/api"` | Path under the host<br><br> | `""` |
|
||||||
|
| <br>`service.name` <br> <br> | Service Config | `"my-backend-svc"` | Name of the backend service to which traffic will be routed<br><br> | `""` |
|
||||||
|
| <br>`service.kind` <br> <br> | Service Config | `"Service"` | Kind of backend resource (Service by default)<br><br> | `"Service"` |
|
||||||
|
| <br>`service.port` <br> <br> | Service Config | `80` | Port on which the backend service listens<br><br> | `80` |
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
---
|
||||||
|
apiVersion: gateway.networking.k8s.io/v1
|
||||||
|
kind: HTTPRoute
|
||||||
|
metadata:
|
||||||
|
name: {{ required "A valid 'name' is required!" .Values.name }}
|
||||||
|
{{- if .Values.labels }}
|
||||||
|
labels:
|
||||||
|
{{ toYaml .Values.labels | indent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{ toYaml .Values.annotations | indent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
{{- if .Values.parentRefs }}
|
||||||
|
parentRefs:
|
||||||
|
{{- range .Values.parentRefs }}
|
||||||
|
- name: {{ .name }}
|
||||||
|
{{- if .namespace }}
|
||||||
|
namespace: {{ .namespace }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- if .Values.hostnames }}
|
||||||
|
hostnames:
|
||||||
|
{{- range .Values.hostnames }}
|
||||||
|
- "{{ . }}"
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
rules:
|
||||||
|
{{- range .Values.rules }}
|
||||||
|
- matches:
|
||||||
|
{{- range .matches }}
|
||||||
|
- path:
|
||||||
|
type: {{ .path.type }}
|
||||||
|
value: {{ .path.value | quote }}
|
||||||
|
{{- end }}
|
||||||
|
backendRefs:
|
||||||
|
{{- range .backendRefs }}
|
||||||
|
- name: {{ .name }}
|
||||||
|
kind: {{ .kind | default "Service" }}
|
||||||
|
port: {{ .port }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,60 @@
|
||||||
|
---
|
||||||
|
# charts/ingress-management/values.yaml
|
||||||
|
|
||||||
|
# -- Name of the HTTPRoute and backend service (typically the app name)
|
||||||
|
name: ""
|
||||||
|
|
||||||
|
# -- Labels to apply to the HTTPRoute metadata
|
||||||
|
labels:
|
||||||
|
app: ""
|
||||||
|
|
||||||
|
# -- Optional annotations to apply to the HTTPRoute resource
|
||||||
|
annotations: {}
|
||||||
|
|
||||||
|
# -- Reference to the Gateway (parentRefs)
|
||||||
|
parentRefs:
|
||||||
|
- name: ""
|
||||||
|
namespace: ""
|
||||||
|
# -- Hostnames to be matched in the HTTPRoute
|
||||||
|
hostnames:
|
||||||
|
- ""
|
||||||
|
|
||||||
|
# -- Routing rules for HTTPRoute
|
||||||
|
rules:
|
||||||
|
- matches:
|
||||||
|
- path:
|
||||||
|
type: PathPrefix
|
||||||
|
value: ""
|
||||||
|
backendRefs:
|
||||||
|
- name: ""
|
||||||
|
kind: Service
|
||||||
|
port: 80
|
||||||
|
|
||||||
|
# -----------------------------------------------------
|
||||||
|
# Example values.yaml File
|
||||||
|
# -----------------------------------------------------
|
||||||
|
# name: open-webui
|
||||||
|
|
||||||
|
# labels:
|
||||||
|
# app: open-webui
|
||||||
|
|
||||||
|
# annotations:
|
||||||
|
# konghq.com/protocols: https
|
||||||
|
# konghq.com/https-redirect-status-code: "301"
|
||||||
|
|
||||||
|
# parentRefs:
|
||||||
|
# - name: kong
|
||||||
|
# namespace: default
|
||||||
|
|
||||||
|
# hostnames:
|
||||||
|
# - bp-ai.opstree.dev
|
||||||
|
|
||||||
|
# rules:
|
||||||
|
# - matches:
|
||||||
|
# - path:
|
||||||
|
# type: PathPrefix
|
||||||
|
# value: /
|
||||||
|
# backendRefs:
|
||||||
|
# - name: open-webui
|
||||||
|
# kind: Service
|
||||||
|
# port: 80
|
|
@ -2,7 +2,7 @@ apiVersion: v2
|
||||||
name: microservice
|
name: microservice
|
||||||
description: Basic helm chart for deploying microservices on kubernetes with best practices
|
description: Basic helm chart for deploying microservices on kubernetes with best practices
|
||||||
type: application
|
type: application
|
||||||
version: 0.1.6
|
version: 0.1.8
|
||||||
appVersion: "0.1.2"
|
appVersion: "0.1.2"
|
||||||
maintainers:
|
maintainers:
|
||||||
- name: ashwani-opstree
|
- name: ashwani-opstree
|
||||||
|
|
|
@ -33,7 +33,7 @@ spec:
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
spec:
|
spec:
|
||||||
{{- with .Values.imagePullSecrets }}
|
{{- with .Values.global.imagePullSecrets }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -67,11 +67,11 @@ spec:
|
||||||
value: {{ $value | quote }}
|
value: {{ $value | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if and .Values.deployment.healthProbes.enabled .Values.deployment.livenessProbe }}
|
{{- if and .Values.deployment.healthProbes.enabled .Values.deployment.livenessProbe.httpGet }}
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
{{- toYaml .Values.deployment.livenessProbe | nindent 12 }}
|
{{- toYaml .Values.deployment.livenessProbe | nindent 12 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if and .Values.deployment.healthProbes.enabled .Values.deployment.readinessProbe }}
|
{{- if and .Values.deployment.healthProbes.enabled .Values.deployment.readinessProbe.httpGet }}
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
{{- toYaml .Values.deployment.readinessProbe | nindent 12 }}
|
{{- toYaml .Values.deployment.readinessProbe | nindent 12 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
|
@ -21,7 +21,35 @@ helm dependency build
|
||||||
helm install my-db <path-to-chart> --namespace my-namespace
|
helm install my-db <path-to-chart> --namespace my-namespace
|
||||||
```
|
```
|
||||||
|
|
||||||
The chart can be customized using the following configurable parameters:
|
#These parameters are for psmdb-operator:
|
||||||
|
|
||||||
|
| Parameter | Description | Default |
|
||||||
|
| ---------------------------- | --------------------------------------------------------------------------------------------------- | ----------------------------------------- |
|
||||||
|
| `image.repository` | PSMDB Operator Container image name | `percona/percona-server-mongodb-operator` |
|
||||||
|
| `image.tag` | PSMDB Operator Container image tag | `1.18.0` |
|
||||||
|
| `image.pullPolicy` | PSMDB Operator Container pull policy | `Always` |
|
||||||
|
| `image.pullSecrets` | PSMDB Operator Pod pull secret | `[]` |
|
||||||
|
| `replicaCount` | PSMDB Operator Pod quantity | `1` |
|
||||||
|
| `tolerations` | List of node taints to tolerate | `[]` |
|
||||||
|
| `annotations` | PSMDB Operator Deployment annotations | `{}` |
|
||||||
|
| `podAnnotations` | PSMDB Operator Pod annotations | `{}` |
|
||||||
|
| `labels` | PSMDB Operator Deployment labels | `{}` |
|
||||||
|
| `podLabels` | PSMDB Operator Pod labels | `{}` |
|
||||||
|
| `resources` | Resource requests and limits | `{}` |
|
||||||
|
| `nodeSelector` | Labels for Pod assignment | `{}` |
|
||||||
|
| `podAnnotations` | Annotations for pod | `{}` |
|
||||||
|
| `podSecurityContext` | Pod Security Context | `{}` |
|
||||||
|
| `watchNamespace` | Set when a different from default namespace is needed to watch (comma separated if multiple needed) | `""` |
|
||||||
|
| `createNamespace` | Set if you want to create watched namespaces with helm | `false` |
|
||||||
|
| `rbac.create` | If false RBAC will not be created. RBAC resources will need to be created manually | `true` |
|
||||||
|
| `securityContext` | Container Security Context | `{}` |
|
||||||
|
| `serviceAccount.create` | If false the ServiceAccounts will not be created. The ServiceAccounts must be created manually | `true` |
|
||||||
|
| `serviceAccount.annotations` | PSMDB Operator ServiceAccount annotations | `{}` |
|
||||||
|
| `logStructured` | Force PSMDB operator to print JSON-wrapped log messages | `false` |
|
||||||
|
| `logLevel` | PSMDB Operator logging level | `INFO` |
|
||||||
|
| `disableTelemetry` | Disable sending PSMDB Operator telemetry data to Percona | `false` |
|
||||||
|
|
||||||
|
#These parameters are for psmdb-db:
|
||||||
|
|
||||||
| Parameter | Description | Default |
|
| Parameter | Description | Default |
|
||||||
| ------------------------------- | ------------------------------------------------------------------------------|---------------------------------------|
|
| ------------------------------- | ------------------------------------------------------------------------------|---------------------------------------|
|
||||||
|
@ -249,6 +277,26 @@ The chart can be customized using the following configurable parameters:
|
||||||
| `backup.tasks` | Backup working schedule | `{}` |
|
| `backup.tasks` | Backup working schedule | `{}` |
|
||||||
| `users` | PSMDB essential users | `{}` |
|
| `users` | PSMDB essential users | `{}` |
|
||||||
|
|
||||||
|
#These parameters are for backup:
|
||||||
|
|
||||||
|
| Parameter | Description |
|
||||||
|
| --------------- | -------------------------------------------------- |
|
||||||
|
| `annotations` | Annotations for the resource |
|
||||||
|
| `name` | Name of the backup resource |
|
||||||
|
| `labels` | Labels for the resource |
|
||||||
|
| `clusterName` | Name of the MongoDB cluster to backup |
|
||||||
|
| `storageName` | Name of the storage configuration for the backup |
|
||||||
|
| `type` | Type of the backup operation |
|
||||||
|
|
||||||
|
#These parameters are for restore:
|
||||||
|
|
||||||
|
| Parameter | Description |
|
||||||
|
| --------------- | -------------------------------------------------- |
|
||||||
|
| `annotations` | Annotations for the resource |
|
||||||
|
| `name` | Name of the restore resource |
|
||||||
|
| `labels` | Labels for the resource |
|
||||||
|
| `clusterName` | Name of the MongoDB cluster to restore |
|
||||||
|
| `backupName` | Name of the backup to restore from |
|
||||||
|
|
||||||
Specify parameters using `--set key=value[,key=value]` argument to `helm install`
|
Specify parameters using `--set key=value[,key=value]` argument to `helm install`
|
||||||
Notice that you can use multiple replica sets only with sharding enabled.
|
Notice that you can use multiple replica sets only with sharding enabled.
|
||||||
|
|
|
@ -785,21 +785,21 @@ backup:
|
||||||
enabled: true
|
enabled: true
|
||||||
annotations:
|
annotations:
|
||||||
description: "test"
|
description: "test"
|
||||||
name: backup
|
name: backup #specify the backup name. You will use this name to restore from this backup
|
||||||
labels:
|
labels:
|
||||||
app: mongo-backup
|
app: mongo-backup
|
||||||
environment: testing
|
environment: testing
|
||||||
clusterName: mdb-db-psmdb-db
|
clusterName: mdb-db-psmdb-db #specify the name of your cluster. This is the name you specified when deploying Percona Server for MongoDB.
|
||||||
storageName: azure-blob
|
storageName: azure-blob #specify the name of your already configured storage.
|
||||||
type: logical
|
type: logical
|
||||||
|
|
||||||
restore:
|
restore:
|
||||||
enabled: true
|
enabled: true
|
||||||
annotations:
|
annotations:
|
||||||
description: "test"
|
description: "test"
|
||||||
name: restore1
|
name: restore1 #name of the restore
|
||||||
labels:
|
labels:
|
||||||
app: mongo-restore
|
app: mongo-restore
|
||||||
environment: testing
|
environment: testing
|
||||||
clusterName: mdb-db-psmdb-db
|
clusterName: mdb-db-psmdb-db #name of the target cluster to restore the backup on
|
||||||
backupName: backup
|
backupName: backup #name of the backup
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
---
|
||||||
|
apiVersion: v2
|
||||||
|
description: A deployment helm chart which will be used to deploy any type of stateless application
|
||||||
|
maintainers:
|
||||||
|
- name: iamabhishek-dubey
|
||||||
|
email: "abhishek.dubey@opstree.com"
|
||||||
|
url: https://github.com/iamabhishek-dubey
|
||||||
|
name: worker
|
||||||
|
sources:
|
||||||
|
- https://github.com/ot-container-kit/helm-charts
|
||||||
|
dependencies:
|
||||||
|
- name: base
|
||||||
|
version: 0.1.0
|
||||||
|
repository: https://ot-container-kit.github.io/helm-charts
|
||||||
|
version: 0.1.0
|
||||||
|
appVersion: "0.1.0"
|
||||||
|
home: https://github.com/ot-container-kit/helm-charts
|
||||||
|
keywords:
|
||||||
|
- deployment
|
||||||
|
- base
|
||||||
|
- opstree
|
||||||
|
- kubernetes
|
||||||
|
- openshift
|
||||||
|
- microservice
|
||||||
|
- stateless
|
||||||
|
icon: https://raw.githubusercontent.com/OT-CONTAINER-KIT/helm-charts/main/static/helm-chart-logo.svg
|
|
@ -0,0 +1,39 @@
|
||||||
|
# Worker Deployment Helm Chart
|
||||||
|
|
||||||
|
 
|
||||||
|
|
||||||
|
A deployment helm chart which will be used to deploy any type of stateless application
|
||||||
|
|
||||||
|
**Homepage:** <https://github.com/ot-container-kit/helm-charts>
|
||||||
|
|
||||||
|
## Maintainers
|
||||||
|
|
||||||
|
| Name | Email | Url |
|
||||||
|
|-------------------|------------------------------|----------------------------------------|
|
||||||
|
| iamabhishek-dubey | <abhishek.dubey@opstree.com> | <https://github.com/iamabhishek-dubey> |
|
||||||
|
|
||||||
|
## Source Code
|
||||||
|
|
||||||
|
* <https://github.com/ot-container-kit/helm-charts>
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
| Repository | Name | Version |
|
||||||
|
|------------------------------------------------|------|---------|
|
||||||
|
| https://ot-container-kit.github.io/helm-charts | base | 0.1.0 |
|
||||||
|
|
||||||
|
## Values
|
||||||
|
|
||||||
|
| Key | Type | Default | Description |
|
||||||
|
|------------------------|--------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------|
|
||||||
|
| autoscaling | object | `{"enabled":false,"maxReplicas":50,"minReplicas":10,"targetCPUUtilizationPercentage":65,"targetMemoryUtilizationPercentage":65}` | Autoscaling properties with target CPU and Memory details |
|
||||||
|
| base | object | `{"image":{"command":[],"pullPolicy":"IfNotPresent","pullSecrets":"","repository":"nginx","tag":"latest"}}` | Base block to define the inputs for image, secret and configmap env |
|
||||||
|
| base.image | object | `{"command":[],"pullPolicy":"IfNotPresent","pullSecrets":"","repository":"nginx","tag":"latest"}` | Image block with all image details |
|
||||||
|
| base.image.command | list | `[]` | Additional command arguments which needs to be passed |
|
||||||
|
| base.image.pullPolicy | string | `"IfNotPresent"` | Default image pull policy |
|
||||||
|
| base.image.pullSecrets | string | `""` | Image pull secrets for private repository authentication |
|
||||||
|
| base.image.repository | string | `"nginx"` | Default image repository |
|
||||||
|
| base.image.tag | string | `"latest"` | Default image tag |
|
||||||
|
| replicaCount | int | `2` | Number of replicas for deployment, it will be overridden in case autoscaling is enabled |
|
||||||
|
| resources | object | `{}` | Kubernetes resource in terms of requests and limits |
|
||||||
|
| volumes | string | `nil` | Kubernetes volumes definition which needs to be mounted |
|
|
@ -0,0 +1,4 @@
|
||||||
|
{{ include "configmap" . }}
|
||||||
|
---
|
||||||
|
{{ include "serviceAccount" . }}
|
||||||
|
---
|
|
@ -0,0 +1,18 @@
|
||||||
|
{{- if .Values.volumes }}
|
||||||
|
{{- if .Values.volumes.configMaps }}
|
||||||
|
{{ range $cm := .Values.volumes.configMaps}}
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: {{ $cm.name }}
|
||||||
|
labels:
|
||||||
|
{{- include "base.labels" $ | nindent 4 }}
|
||||||
|
data:
|
||||||
|
{{- range $filename, $content := $cm.data }}
|
||||||
|
{{ $filename }}: |-
|
||||||
|
{{ $content | toString | indent 4}}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,65 @@
|
||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: {{ include "base.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "base.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
{{- if not .Values.autoscaling.enabled }}
|
||||||
|
{{- with .Values.replicaCount }}
|
||||||
|
replicas: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "base.selectorLabels" . | nindent 6 }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
{{- include "base.selectorLabels" . | nindent 8 }}
|
||||||
|
spec:
|
||||||
|
{{- if .Values.base.image.pullSecrets }}
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: {{ .Values.base.image.pullSecrets }}
|
||||||
|
{{- end }}
|
||||||
|
serviceAccountName: {{ include "base.serviceAccountName" . }}
|
||||||
|
terminationGracePeriodSeconds: 120
|
||||||
|
containers:
|
||||||
|
- name: {{ include "base.fullname" . }}
|
||||||
|
image: "{{ .Values.base.image.repository }}:{{ .Values.base.image.tag }}"
|
||||||
|
imagePullPolicy: {{ .Values.base.image.pullPolicy }}
|
||||||
|
{{- if .Values.base.image.command }}
|
||||||
|
command:
|
||||||
|
{{- toYaml .Values.base.image.command | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
resources:
|
||||||
|
{{- toYaml .Values.resources | nindent 12 }}
|
||||||
|
{{- if .Values.base.config }}
|
||||||
|
envFrom:
|
||||||
|
- configMapRef:
|
||||||
|
name: {{ include "base.fullname" . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.base.secret }}
|
||||||
|
- secretRef:
|
||||||
|
name: {{ include "base.fullname" . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.volumes }}
|
||||||
|
volumeMounts:
|
||||||
|
{{- if .Values.volumes.configMaps }}
|
||||||
|
{{- range $conf := .Values.volumes.configMaps }}
|
||||||
|
- mountPath: {{ $conf.mountPath }}
|
||||||
|
name: {{ $conf.name }}-volume
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.volumes }}
|
||||||
|
volumes:
|
||||||
|
{{- if .Values.volumes.configMaps }}
|
||||||
|
{{- range $conf := .Values.volumes.configMaps }}
|
||||||
|
- name: {{ $conf.name }}-volume
|
||||||
|
configMap:
|
||||||
|
name: {{ $conf.name }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,33 @@
|
||||||
|
{{- if .Values.autoscaling.enabled }}
|
||||||
|
---
|
||||||
|
apiVersion: autoscaling/v2
|
||||||
|
kind: HorizontalPodAutoscaler
|
||||||
|
metadata:
|
||||||
|
name: {{ include "base.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "base.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
scaleTargetRef:
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
name: {{ include "base.fullname" . }}
|
||||||
|
minReplicas: {{ .Values.autoscaling.minReplicas }}
|
||||||
|
maxReplicas: {{ .Values.autoscaling.maxReplicas }}
|
||||||
|
metrics:
|
||||||
|
{{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
|
||||||
|
- type: Resource
|
||||||
|
resource:
|
||||||
|
name: cpu
|
||||||
|
target:
|
||||||
|
type: Utilization
|
||||||
|
averageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
|
||||||
|
- type: Resource
|
||||||
|
resource:
|
||||||
|
name: memory
|
||||||
|
target:
|
||||||
|
type: Utilization
|
||||||
|
averageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
|
@ -0,0 +1,12 @@
|
||||||
|
{{- if .Values.base.secret -}}
|
||||||
|
{{- $top := . -}}
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: {{ include "base.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "base.labels" . | nindent 4 }}
|
||||||
|
stringData:
|
||||||
|
{{- toYaml .Values.base.secret | nindent 2 -}}
|
||||||
|
{{- end -}}
|
|
@ -0,0 +1,43 @@
|
||||||
|
# -- Base block to define the inputs for image, secret and configmap env
|
||||||
|
base:
|
||||||
|
# -- Image block with all image details
|
||||||
|
image:
|
||||||
|
# -- Default image pull policy
|
||||||
|
pullPolicy: "IfNotPresent"
|
||||||
|
# -- Additional command arguments which needs to be passed
|
||||||
|
command: []
|
||||||
|
# -- Default image repository
|
||||||
|
repository: nginx
|
||||||
|
# -- Default image tag
|
||||||
|
tag: latest
|
||||||
|
# -- Image pull secrets for private repository authentication
|
||||||
|
pullSecrets: ""
|
||||||
|
# secret:
|
||||||
|
# FOO_SECRET: BAR
|
||||||
|
# config:
|
||||||
|
# FOO_CONFIG: BAR
|
||||||
|
|
||||||
|
|
||||||
|
# -- Autoscaling properties with target CPU and Memory details
|
||||||
|
autoscaling:
|
||||||
|
enabled: false
|
||||||
|
targetCPUUtilizationPercentage: 65
|
||||||
|
targetMemoryUtilizationPercentage: 65
|
||||||
|
minReplicas: 10
|
||||||
|
maxReplicas: 50
|
||||||
|
|
||||||
|
# -- Kubernetes resource in terms of requests and limits
|
||||||
|
resources: {}
|
||||||
|
|
||||||
|
# -- Number of replicas for deployment, it will be overridden in case autoscaling is enabled
|
||||||
|
replicaCount: 2
|
||||||
|
|
||||||
|
# -- Kubernetes volumes definition which needs to be mounted
|
||||||
|
volumes:
|
||||||
|
# -- List of configmaps with mount path and data
|
||||||
|
# configMaps:
|
||||||
|
# - name: web
|
||||||
|
# mountPath: /test
|
||||||
|
# data:
|
||||||
|
# test.txt: |-
|
||||||
|
# Dummy text
|
Loading…
Reference in New Issue