Compare commits
63 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 314defb171 | |||
| 576204759f | |||
| fff72a0222 | |||
| 6d25c17397 | |||
| 5f96ab341d | |||
| ac8ad047b4 | |||
| 00becd0fab | |||
| 0b7faf42ac | |||
| 6480058dba | |||
| e2d2025c38 | |||
| 118cd8e1cb | |||
| 93892ec341 | |||
| 0a1db3d5cf | |||
| 56604353a2 | |||
| 96cbc7ec18 | |||
| 2389545811 | |||
| 3da5c3eb13 | |||
| 295e43c993 | |||
| 6d8fb2930e | |||
| d0d78eb1be | |||
| 8a95436200 | |||
| afcfc36e5f | |||
| 966f0672c7 | |||
| 51ba51320a | |||
| 35cb630582 | |||
| 49396e0b8a | |||
| 9a6bbba2de | |||
| c8fcb7359f | |||
| 5c6164c2d6 | |||
| 8a8b63bab9 | |||
| c3df85fef6 | |||
| 5e19d886e5 | |||
| 95b686d20c | |||
| 285a6cca10 | |||
| 3ee1679e1d | |||
| 7d49989247 | |||
| b17db72a63 | |||
| 0f6e89dbe0 | |||
| 14cd62652c | |||
| a788cff019 | |||
| d951961c49 | |||
| 1ba0e4df60 | |||
| b761286e38 | |||
| 1400b4a58d | |||
| e2f8f0042a | |||
| 059523dbf2 | |||
| b9392c085c | |||
| c3e2280489 | |||
| 1722e9bcf1 | |||
| ef6738e62e | |||
| ee9e8e95c2 | |||
| df1042fb5a | |||
| a2b0e07505 | |||
| 7a49d313a5 | |||
| 254d38f05f | |||
| 7f4f1674b8 | |||
| 569ebb06f1 | |||
| a5512f8f8a | |||
| 530070b05c | |||
| ad2ea458c4 | |||
| 6783eb019d | |||
| 6f1753c46d | |||
| e943d982ef |
@@ -31,20 +31,30 @@ jobs:
|
||||
echo $CHART_VERSION
|
||||
echo ::set-output name=chart_version::$CHART_VERSION
|
||||
|
||||
CHART_VERSION=$(cat charts/cron-job/Chart.yaml | grep ^version:)
|
||||
CHART_VERSION=${CHART_VERSION#version: }
|
||||
echo $CHART_VERSION
|
||||
echo ::set-output name=cron_job_chart_version::$CHART_VERSION
|
||||
|
||||
- name: Ensure tag and chart version matches
|
||||
run: |
|
||||
echo "Run ${{ steps.versioning.outputs.VERSION }}"
|
||||
echo "${{ steps.chart_version.outputs.CHART_VERSION }}"
|
||||
echo "$TAG_VERSION"
|
||||
echo "$CHART_VERSION"
|
||||
echo "$CRON_JOB_CHART_VERSION"
|
||||
if [ "$TAG_VERSION" != "$CHART_VERSION" ]
|
||||
then
|
||||
echo "Tag version does not match chart version"
|
||||
exit 1
|
||||
fi
|
||||
if [ "$TAG_VERSION" != "$CRON_JOB_CHART_VERSION" ]
|
||||
then
|
||||
echo "Tag version does not match cron-job chart version"
|
||||
exit 1
|
||||
fi
|
||||
env:
|
||||
TAG_VERSION: ${{ steps.versioning.outputs.tag_version }}
|
||||
CHART_VERSION: ${{ steps.chart_version.outputs.chart_version }}
|
||||
CRON_JOB_CHART_VERSION: ${{ steps.chart_version.outputs.cron_job_chart_version }}
|
||||
|
||||
- name: Create Release
|
||||
id: create_release
|
||||
@@ -85,6 +95,7 @@ jobs:
|
||||
echo "The new version will be $increased_version"
|
||||
|
||||
sed -i "s/version: $CHART_VERSION/version: $increased_version/" charts/onechart/Chart.yaml
|
||||
sed -i "s/version: $CHART_VERSION/version: $increased_version/" charts/cron-job/Chart.yaml
|
||||
|
||||
git status
|
||||
git add .
|
||||
|
||||
@@ -7,25 +7,32 @@ lint:
|
||||
helm lint charts/onechart/
|
||||
helm lint charts/cron-job/
|
||||
helm lint charts/namespaces/
|
||||
helm lint charts/static-site
|
||||
|
||||
kubeval:
|
||||
rm -rf manifests && true
|
||||
mkdir manifests
|
||||
helm template charts/onechart --output-dir manifests
|
||||
find manifests/ -name '*.yaml' | xargs kubeval --ignore-missing-schemas -v 1.13.0
|
||||
find manifests/ -name '*.yaml' | xargs kubeval --ignore-missing-schemas -v 1.18.0
|
||||
find manifests/ -name '*.yaml' | xargs kubeval --ignore-missing-schemas -v 1.20.0
|
||||
find manifests/ -name '*.yaml' | xargs kubeval --ignore-missing-schemas -v 1.24.0
|
||||
|
||||
rm -rf manifests && true
|
||||
mkdir manifests
|
||||
helm template charts/cron-job --output-dir manifests
|
||||
find manifests/ -name '*.yaml' | xargs kubeval --ignore-missing-schemas -v 1.13.0
|
||||
find manifests/ -name '*.yaml' | xargs kubeval --ignore-missing-schemas -v 1.18.0
|
||||
find manifests/ -name '*.yaml' | xargs kubeval --ignore-missing-schemas -v 1.20.0
|
||||
find manifests/ -name '*.yaml' | xargs kubeval --ignore-missing-schemas -v 1.24.0
|
||||
|
||||
rm -rf manifests && true
|
||||
mkdir manifests
|
||||
helm template charts/namespaces --output-dir manifests
|
||||
find manifests/ -name '*.yaml' | xargs kubeval --ignore-missing-schemas -v 1.13.0
|
||||
find manifests/ -name '*.yaml' | xargs kubeval --ignore-missing-schemas -v 1.18.0
|
||||
helm template charts/namespaces --output-dir manifests -f charts/namespaces/fixture.yaml
|
||||
find manifests/ -name '*.yaml' | xargs kubeval --ignore-missing-schemas -v 1.20.0
|
||||
find manifests/ -name '*.yaml' | xargs kubeval --ignore-missing-schemas -v 1.24.0
|
||||
|
||||
rm -rf manifests && true
|
||||
mkdir manifests
|
||||
helm template charts/static-site --output-dir manifests
|
||||
find manifests/ -name '*.yaml' | xargs kubeval --ignore-missing-schemas -v 1.20.0
|
||||
find manifests/ -name '*.yaml' | xargs kubeval --ignore-missing-schemas -v 1.24.0
|
||||
|
||||
test:
|
||||
helm dependency update charts/onechart
|
||||
@@ -36,16 +43,23 @@ test:
|
||||
|
||||
helm unittest charts/namespaces
|
||||
|
||||
helm unittest charts/static-site
|
||||
|
||||
package:
|
||||
helm dependency update charts/onechart
|
||||
helm package charts/onechart
|
||||
mv onechart*.tgz docs
|
||||
|
||||
helm dependency update charts/cron-job
|
||||
helm package charts/cron-job
|
||||
mv cron-job*.tgz docs
|
||||
|
||||
helm package charts/namespaces
|
||||
mv namespaces*.tgz docs
|
||||
|
||||
helm package charts/static-site
|
||||
mv static-site*.tgz docs
|
||||
|
||||
helm repo index docs --url https://chart.onechart.dev
|
||||
|
||||
debug:
|
||||
|
||||
@@ -4,7 +4,7 @@ A generic Helm chart for your application deployments.
|
||||
|
||||
Because no-one can remember the Kubernetes yaml syntax.
|
||||
|
||||
https://onechart.dev/
|
||||
https://gimlet.io/docs/onechart-reference
|
||||
|
||||
## Getting started
|
||||
|
||||
@@ -30,7 +30,7 @@ helm install my-release onechart/onechart \
|
||||
--set image.tag=1.19.3
|
||||
```
|
||||
|
||||
See all [Examples](/examples/deploying-an-image)
|
||||
See all [Examples](/website/docs/examples/)
|
||||
|
||||
## Contribution Guidelines
|
||||
|
||||
|
||||
@@ -15,4 +15,4 @@ type: library
|
||||
# This is the chart version. This version number should be incremented each time you make changes
|
||||
# to the chart and its templates, including the app version.
|
||||
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
||||
version: 0.1.0
|
||||
version: 0.2.0
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
{{- define "common.customFileConfigmap.tpl" -}}
|
||||
{{- range .Values.volumes }}
|
||||
{{- if .fileName }}
|
||||
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ template "common.robustName" .fileName }}
|
||||
namespace: {{ $.Release.Namespace }}
|
||||
data:
|
||||
{{ .fileName }}: |
|
||||
{{- .fileContent | nindent 4 }}
|
||||
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
@@ -1,6 +1,6 @@
|
||||
{{- define "common.pvc.tpl" -}}
|
||||
{{- range .Values.volumes }}
|
||||
{{- if not .existingClaim }}
|
||||
{{- if not (or .existingClaim .hostPath .fileName .emptyDir .existingConfigMap) }}
|
||||
{{- $robustName := include "common.robustName" $.Release.Name }}
|
||||
---
|
||||
apiVersion: v1
|
||||
@@ -8,13 +8,19 @@ kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: {{ printf "%s-%s" $robustName .name }}
|
||||
namespace: {{ $.Release.Namespace }}
|
||||
{{- if .pvcAnnotations }}
|
||||
annotations:
|
||||
{{- toYaml .pvcAnnotations | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
accessModes:
|
||||
- {{ .accessMode | default "ReadWriteOnce" }}
|
||||
storageClassName: {{ .storageClass | default "local-path" }}
|
||||
{{- if .storageClass }}
|
||||
storageClassName: {{ .storageClass }}
|
||||
{{- end }}
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .size | default "1Gi" }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
@@ -1,10 +1,15 @@
|
||||
{{- define "common.volumeMountsRef.tpl" -}}
|
||||
{{- if or (or (.Values.volumes) (.Values.sealedFileSecrets)) .Values.fileSecrets }}
|
||||
{{- if or (or (or (.Values.volumes) (.Values.sealedFileSecrets)) .Values.fileSecrets) .Values.existingFileSecrets }}
|
||||
volumeMounts: &volumeMounts
|
||||
{{- range .Values.volumes }}
|
||||
{{- if not (hasPrefix "init-" .name) }}
|
||||
- name: {{ .name }}
|
||||
mountPath: {{ .path }}
|
||||
{{- end }}
|
||||
{{- if .subPath }}
|
||||
subPath: {{ .subPath }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- range .Values.sealedFileSecrets }}
|
||||
- name: {{ .name }}
|
||||
mountPath: {{ .path }}
|
||||
@@ -15,5 +20,14 @@ volumeMounts: &volumeMounts
|
||||
mountPath: {{ .path }}
|
||||
readOnly: true
|
||||
{{- end }}
|
||||
{{- range .Values.existingFileSecrets }}
|
||||
- name: {{ .name }}
|
||||
mountPath: {{ .path }}
|
||||
{{- if .subPath}}
|
||||
subPath: {{ .subPath }}
|
||||
{{- end }}
|
||||
readOnly: true
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
|
||||
@@ -1,15 +1,31 @@
|
||||
{{- define "common.volumesRef.tpl" -}}
|
||||
{{- if or (or (.Values.volumes) (.Values.sealedFileSecrets)) .Values.fileSecrets }}
|
||||
{{- if or (or (or (.Values.volumes) (.Values.sealedFileSecrets)) .Values.fileSecrets) .Values.existingFileSecrets }}
|
||||
volumes:
|
||||
{{- range .Values.volumes }}
|
||||
- name: {{ .name }}
|
||||
{{- if .emptyDir }}
|
||||
emptyDir: {}
|
||||
{{- else if .existingConfigMap }}
|
||||
configMap:
|
||||
name: {{ .existingConfigMap }}
|
||||
{{- else if .fileName }}
|
||||
configMap:
|
||||
name: {{ template "common.robustName" .fileName }}
|
||||
{{- else if .hostPath }}
|
||||
hostPath:
|
||||
path: {{ .hostPath.path }}
|
||||
{{- if .hostPath.type }}
|
||||
type: {{ .hostPath.type }}
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
persistentVolumeClaim:
|
||||
{{- if .existingClaim }}
|
||||
claimName: {{ .existingClaim }}
|
||||
{{ else }}
|
||||
claimName: {{ printf "%s-%s" $.Release.Name .name }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- range .Values.sealedFileSecrets }}
|
||||
- name: {{ .name }}
|
||||
secret:
|
||||
@@ -20,5 +36,10 @@ volumes:
|
||||
secret:
|
||||
secretName: {{ printf "%s-%s" $.Release.Name .name }}
|
||||
{{- end }}
|
||||
{{- range .Values.existingFileSecrets }}
|
||||
- name: {{ .name }}
|
||||
secret:
|
||||
secretName: {{ .name }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.1.0
|
||||
digest: sha256:636a65e9846bdff17cc4e65b0849061f783759a37aa51fb85ff6fd8ba5e68467
|
||||
generated: "2021-08-05T10:18:17.533366128+02:00"
|
||||
version: 0.2.0
|
||||
digest: sha256:ea028bf07fdc361daabca0c0155e4511cc4fffda94d2f697f4d16013f250c8a8
|
||||
generated: "2023-02-17T15:14:21.719376584+01:00"
|
||||
|
||||
@@ -15,9 +15,9 @@ type: application
|
||||
# This is the chart version. This version number should be incremented each time you make changes
|
||||
# to the chart and its templates, including the app version.
|
||||
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
||||
version: 0.2.2
|
||||
version: 0.47.0
|
||||
|
||||
dependencies:
|
||||
- name: common
|
||||
version: 0.1.0
|
||||
version: 0.2.0
|
||||
repository: file://../common
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,4 +1,4 @@
|
||||
apiVersion: batch/v1beta1
|
||||
apiVersion: batch/v1
|
||||
kind: CronJob
|
||||
metadata:
|
||||
name: {{ .Release.Name }}
|
||||
@@ -34,15 +34,15 @@ spec:
|
||||
resources:
|
||||
{{- toYaml .Values.resources | nindent 16 }}
|
||||
{{- include "common.volumesRef.tpl" . | nindent 10 }}
|
||||
{{ with .Values.nodeSelector }}
|
||||
{{- with .Values.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
{{ with .Values.affinity }}
|
||||
{{- with .Values.affinity }}
|
||||
affinity:
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
{{ with .Values.tolerations }}
|
||||
{{- with .Values.tolerations }}
|
||||
tolerations:
|
||||
{{ toYaml . | nindent 8 }}
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
|
||||
@@ -15,4 +15,4 @@ type: application
|
||||
# This is the chart version. This version number should be incremented each time you make changes
|
||||
# to the chart and its templates, including the app version.
|
||||
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
||||
version: 0.2.0
|
||||
version: 0.3.0
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
namespaces:
|
||||
- name: staging
|
||||
quota:
|
||||
cpu: 32
|
||||
memory: "64Gi"
|
||||
storage: "500Gi"
|
||||
overcommit:
|
||||
cpu: 1
|
||||
memory: 1
|
||||
podMaximumResources:
|
||||
cpu: 4
|
||||
memory: "8Gi"
|
||||
podDefaultResources:
|
||||
cpu: "200m"
|
||||
memory: "200Mi"
|
||||
podResourceOvercommit:
|
||||
cpu: 2
|
||||
memory: 1
|
||||
@@ -1,22 +1,5 @@
|
||||
{{- range .Values.namespaces }}
|
||||
{{- $limits := $.Values.pod.limits }}
|
||||
{{- if .pod }}
|
||||
{{- if .pod.limits }}
|
||||
{{- $limits = .pod.limits }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- $overcommit := $.Values.pod.overcommit }}
|
||||
{{- if .pod }}
|
||||
{{- if .pod.overcommit }}
|
||||
{{- $overcommit = .pod.overcommit }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- $defaults := $.Values.pod.defaults }}
|
||||
{{- if .pod }}
|
||||
{{- if .pod.defaults }}
|
||||
{{- $defaults = .pod.defaults }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if and .podMaximumResources (and .podDefaultResources .podResourceOvercommit) }}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: LimitRange
|
||||
@@ -26,19 +9,26 @@ metadata:
|
||||
spec:
|
||||
limits:
|
||||
- type: Container
|
||||
{{- if .podMaximumResources }}
|
||||
max:
|
||||
cpu: 4
|
||||
memory: "8Gi"
|
||||
min:
|
||||
cpu: "100m"
|
||||
memory: "50Mi"
|
||||
cpu: {{ .podMaximumResources.cpu }}
|
||||
memory: {{ .podMaximumResources.memory }}
|
||||
{{- end }}
|
||||
{{- if .podDefaultResources }}
|
||||
default:
|
||||
cpu: {{ $defaults.cpu }}
|
||||
memory: {{ $defaults.memory }}
|
||||
cpu: {{ .podDefaultResources.cpu }}
|
||||
memory: {{ .podDefaultResources.memory }}
|
||||
defaultRequest:
|
||||
cpu: {{ $defaults.cpu }}
|
||||
memory: {{ $defaults.memory }}
|
||||
cpu: {{ .podDefaultResources.cpu }}
|
||||
memory: {{ .podDefaultResources.memory }}
|
||||
{{- end }}
|
||||
maxLimitRequestRatio:
|
||||
cpu: {{ $overcommit.cpu }}
|
||||
memory: {{ $overcommit.memory }}
|
||||
{{- if .podResourceOvercommit }}
|
||||
cpu: {{ .podResourceOvercommit.cpu }}
|
||||
memory: {{ .podResourceOvercommit.memory }}
|
||||
{{ else }}
|
||||
cpu: 1
|
||||
memory: 1
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -4,8 +4,8 @@ apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: {{ .name }}
|
||||
{{- if .annotations }}
|
||||
annotations:
|
||||
{{- if .annotations }}
|
||||
{{- toYaml .annotations | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -1,16 +1,5 @@
|
||||
{{- range .Values.namespaces }}
|
||||
{{- $budget := $.Values.namespace.budget }}
|
||||
{{- if .namespace }}
|
||||
{{- if .namespace.budget }}
|
||||
{{- $budget = .namespace.budget }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- $overcommit := $.Values.namespace.overcommit }}
|
||||
{{- if .namespace }}
|
||||
{{- if .namespace.overcommit }}
|
||||
{{- $overcommit = .namespace.overcommit }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if and .quota .overcommit }}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ResourceQuota
|
||||
@@ -18,9 +7,10 @@ metadata:
|
||||
name: {{ .name }}
|
||||
spec:
|
||||
hard:
|
||||
limits.cpu: {{ $budget.cpu | mul $overcommit.cpu }}
|
||||
limits.memory: {{ $budget.memory | regexFind "[1-9]+" | mul $overcommit.memory }}{{ $budget.memory | regexFind "[a-zA-Z]+" }}
|
||||
requests.cpu: {{ $budget.cpu }}
|
||||
requests.memory: {{ $budget.memory }}
|
||||
requests.storage: {{ $budget.storage }}
|
||||
limits.cpu: {{ .quota.cpu | mul .overcommit.cpu }}
|
||||
limits.memory: {{ .quota.memory | regexFind "[1-9]+" | mul .overcommit.memory }}{{ .quota.memory | regexFind "[a-zA-Z]+" }}
|
||||
requests.cpu: {{ .quota.cpu }}
|
||||
requests.memory: {{ .quota.memory }}
|
||||
requests.storage: {{ .quota.storage }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
|
||||
@@ -2,52 +2,19 @@ suite: test deployment
|
||||
templates:
|
||||
- limit-range.yaml
|
||||
tests:
|
||||
- it: Should set default limits
|
||||
set:
|
||||
pod:
|
||||
limits:
|
||||
cpu: 4
|
||||
memory: "8Gi"
|
||||
defaults:
|
||||
cpu: "200m"
|
||||
memory: "200Mi"
|
||||
overcommit:
|
||||
cpu: 10
|
||||
memory: 2
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.limits
|
||||
value:
|
||||
- type: Container
|
||||
max:
|
||||
cpu: 4
|
||||
memory: "8Gi"
|
||||
min:
|
||||
cpu: "100m"
|
||||
memory: "50Mi"
|
||||
default:
|
||||
cpu: "200m"
|
||||
memory: "200Mi"
|
||||
defaultRequest:
|
||||
cpu: "200m"
|
||||
memory: "200Mi"
|
||||
maxLimitRequestRatio:
|
||||
cpu: 10
|
||||
memory: 2
|
||||
- it: Should set namespace specific limits
|
||||
set:
|
||||
namespaces:
|
||||
- name: staging
|
||||
pod:
|
||||
limits:
|
||||
cpu: 4
|
||||
memory: "8Gi"
|
||||
defaults:
|
||||
cpu: "200m"
|
||||
memory: "200Mi"
|
||||
overcommit:
|
||||
cpu: 10
|
||||
memory: 2
|
||||
podMaximumResources:
|
||||
cpu: 4
|
||||
memory: "8Gi"
|
||||
podDefaultResources:
|
||||
cpu: "200m"
|
||||
memory: "200Mi"
|
||||
podResourceOvercommit:
|
||||
cpu: 2
|
||||
memory: 1
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.limits
|
||||
@@ -56,9 +23,6 @@ tests:
|
||||
max:
|
||||
cpu: 4
|
||||
memory: "8Gi"
|
||||
min:
|
||||
cpu: "100m"
|
||||
memory: "50Mi"
|
||||
default:
|
||||
cpu: "200m"
|
||||
memory: "200Mi"
|
||||
@@ -66,5 +30,5 @@ tests:
|
||||
cpu: "200m"
|
||||
memory: "200Mi"
|
||||
maxLimitRequestRatio:
|
||||
cpu: 10
|
||||
memory: 2
|
||||
cpu: 2
|
||||
memory: 1
|
||||
|
||||
@@ -10,3 +10,10 @@ tests:
|
||||
- equal:
|
||||
path: metadata.name
|
||||
value: staging
|
||||
- it: Should not set annotations if none provided in values
|
||||
set:
|
||||
namespaces:
|
||||
- name: staging
|
||||
asserts:
|
||||
- isNull:
|
||||
path: metadata.annotations
|
||||
|
||||
@@ -2,16 +2,37 @@ suite: test deployment
|
||||
templates:
|
||||
- resource-quota.yaml
|
||||
tests:
|
||||
- it: Should set default quota values
|
||||
- it: Should set namespace specific quotas
|
||||
set:
|
||||
namespace:
|
||||
budget:
|
||||
cpu: 32
|
||||
memory: "64Gi"
|
||||
storage: "500Gi"
|
||||
overcommit:
|
||||
cpu: 2
|
||||
memory: 1
|
||||
namespaces:
|
||||
- name: staging
|
||||
quota:
|
||||
cpu: 32
|
||||
memory: "64Gi"
|
||||
storage: "500Gi"
|
||||
overcommit:
|
||||
cpu: 1
|
||||
memory: 1
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.hard
|
||||
value:
|
||||
limits.cpu: 32
|
||||
limits.memory: "64Gi"
|
||||
requests.cpu: 32
|
||||
requests.memory: "64Gi"
|
||||
requests.storage: "500Gi"
|
||||
- it: Should handle overcommit
|
||||
set:
|
||||
namespaces:
|
||||
- name: staging
|
||||
quota:
|
||||
cpu: 32
|
||||
memory: "64Gi"
|
||||
storage: "500Gi"
|
||||
overcommit:
|
||||
cpu: 2
|
||||
memory: 1
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.hard
|
||||
@@ -21,29 +42,3 @@ tests:
|
||||
requests.cpu: 32
|
||||
requests.memory: "64Gi"
|
||||
requests.storage: "500Gi"
|
||||
- it: Should set namespace specific quotas
|
||||
set:
|
||||
namespaces:
|
||||
- name: staging
|
||||
namespace:
|
||||
budget:
|
||||
cpu: 8
|
||||
memory: "16Gi"
|
||||
storage: "100Gi"
|
||||
namespace:
|
||||
budget:
|
||||
cpu: 32
|
||||
memory: "64Gi"
|
||||
storage: "500Gi"
|
||||
overcommit:
|
||||
cpu: 2
|
||||
memory: 1
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.hard
|
||||
value:
|
||||
limits.cpu: 16
|
||||
limits.memory: "16Gi"
|
||||
requests.cpu: 8
|
||||
requests.memory: "16Gi"
|
||||
requests.storage: "100Gi"
|
||||
|
||||
@@ -1,715 +0,0 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema",
|
||||
"$id": "http://example.com/example.json",
|
||||
"type": "object",
|
||||
"title": "The root schema",
|
||||
"description": "The root schema comprises the entire JSON document.",
|
||||
"default": {},
|
||||
"examples": [
|
||||
{
|
||||
"namespaces": [
|
||||
{
|
||||
"name": "staging",
|
||||
"namespace": {
|
||||
"budget": {
|
||||
"cpu": 32,
|
||||
"memory": "64Gi",
|
||||
"storage": "500Gi"
|
||||
},
|
||||
"overcommit": {
|
||||
"cpu": 2,
|
||||
"memory": 1
|
||||
}
|
||||
},
|
||||
"pod": {
|
||||
"limits": {
|
||||
"cpu": 4,
|
||||
"memory": "8Gi"
|
||||
},
|
||||
"defaults": {
|
||||
"cpu": "200m",
|
||||
"memory": "200Mi"
|
||||
},
|
||||
"overcommit": {
|
||||
"cpu": 10,
|
||||
"memory": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"namespace": {
|
||||
"budget": {
|
||||
"cpu": 32,
|
||||
"memory": "64Gi",
|
||||
"storage": "500Gi"
|
||||
},
|
||||
"overcommit": {
|
||||
"cpu": 2,
|
||||
"memory": 1
|
||||
}
|
||||
},
|
||||
"pod": {
|
||||
"limits": {
|
||||
"cpu": 4,
|
||||
"memory": "8Gi"
|
||||
},
|
||||
"defaults": {
|
||||
"cpu": "200m",
|
||||
"memory": "200Mi"
|
||||
},
|
||||
"overcommit": {
|
||||
"cpu": 10,
|
||||
"memory": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"required": [
|
||||
"namespaces",
|
||||
"namespace",
|
||||
"pod"
|
||||
],
|
||||
"properties": {
|
||||
"namespaces": {
|
||||
"$id": "#/properties/namespaces",
|
||||
"type": "array",
|
||||
"title": "The namespaces schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": [],
|
||||
"examples": [
|
||||
[
|
||||
{
|
||||
"name": "staging",
|
||||
"namespace": {
|
||||
"budget": {
|
||||
"cpu": 32,
|
||||
"memory": "64Gi",
|
||||
"storage": "500Gi"
|
||||
},
|
||||
"overcommit": {
|
||||
"cpu": 2,
|
||||
"memory": 1
|
||||
}
|
||||
},
|
||||
"pod": {
|
||||
"limits": {
|
||||
"cpu": 4,
|
||||
"memory": "8Gi"
|
||||
},
|
||||
"defaults": {
|
||||
"cpu": "200m",
|
||||
"memory": "200Mi"
|
||||
},
|
||||
"overcommit": {
|
||||
"cpu": 10,
|
||||
"memory": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
],
|
||||
"additionalItems": true,
|
||||
"items": {
|
||||
"$id": "#/properties/namespaces/items",
|
||||
"anyOf": [
|
||||
{
|
||||
"$id": "#/properties/namespaces/items/anyOf/0",
|
||||
"type": "object",
|
||||
"title": "The first anyOf schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": {},
|
||||
"examples": [
|
||||
{
|
||||
"name": "staging",
|
||||
"namespace": {
|
||||
"budget": {
|
||||
"cpu": 32,
|
||||
"memory": "64Gi",
|
||||
"storage": "500Gi"
|
||||
},
|
||||
"overcommit": {
|
||||
"cpu": 2,
|
||||
"memory": 1
|
||||
}
|
||||
},
|
||||
"pod": {
|
||||
"limits": {
|
||||
"cpu": 4,
|
||||
"memory": "8Gi"
|
||||
},
|
||||
"defaults": {
|
||||
"cpu": "200m",
|
||||
"memory": "200Mi"
|
||||
},
|
||||
"overcommit": {
|
||||
"cpu": 10,
|
||||
"memory": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"required": [
|
||||
"name",
|
||||
"namespace",
|
||||
"pod"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"$id": "#/properties/namespaces/items/anyOf/0/properties/name",
|
||||
"type": "string",
|
||||
"title": "The name schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": "",
|
||||
"examples": [
|
||||
"staging"
|
||||
]
|
||||
},
|
||||
"namespace": {
|
||||
"$id": "#/properties/namespaces/items/anyOf/0/properties/namespace",
|
||||
"type": "object",
|
||||
"title": "The namespace schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": {},
|
||||
"examples": [
|
||||
{
|
||||
"budget": {
|
||||
"cpu": 32,
|
||||
"memory": "64Gi",
|
||||
"storage": "500Gi"
|
||||
},
|
||||
"overcommit": {
|
||||
"cpu": 2,
|
||||
"memory": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"required": [
|
||||
"budget",
|
||||
"overcommit"
|
||||
],
|
||||
"properties": {
|
||||
"budget": {
|
||||
"$id": "#/properties/namespaces/items/anyOf/0/properties/namespace/properties/budget",
|
||||
"type": "object",
|
||||
"title": "The budget schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": {},
|
||||
"examples": [
|
||||
{
|
||||
"cpu": 32,
|
||||
"memory": "64Gi",
|
||||
"storage": "500Gi"
|
||||
}
|
||||
],
|
||||
"required": [
|
||||
"cpu",
|
||||
"memory",
|
||||
"storage"
|
||||
],
|
||||
"properties": {
|
||||
"cpu": {
|
||||
"$id": "#/properties/namespaces/items/anyOf/0/properties/namespace/properties/budget/properties/cpu",
|
||||
"type": "integer",
|
||||
"title": "The cpu schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": 0,
|
||||
"examples": [
|
||||
32
|
||||
]
|
||||
},
|
||||
"memory": {
|
||||
"$id": "#/properties/namespaces/items/anyOf/0/properties/namespace/properties/budget/properties/memory",
|
||||
"type": "string",
|
||||
"title": "The memory schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": "",
|
||||
"examples": [
|
||||
"64Gi"
|
||||
]
|
||||
},
|
||||
"storage": {
|
||||
"$id": "#/properties/namespaces/items/anyOf/0/properties/namespace/properties/budget/properties/storage",
|
||||
"type": "string",
|
||||
"title": "The storage schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": "",
|
||||
"examples": [
|
||||
"500Gi"
|
||||
]
|
||||
}
|
||||
},
|
||||
"additionalProperties": true
|
||||
},
|
||||
"overcommit": {
|
||||
"$id": "#/properties/namespaces/items/anyOf/0/properties/namespace/properties/overcommit",
|
||||
"type": "object",
|
||||
"title": "The overcommit schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": {},
|
||||
"examples": [
|
||||
{
|
||||
"cpu": 2,
|
||||
"memory": 1
|
||||
}
|
||||
],
|
||||
"required": [
|
||||
"cpu",
|
||||
"memory"
|
||||
],
|
||||
"properties": {
|
||||
"cpu": {
|
||||
"$id": "#/properties/namespaces/items/anyOf/0/properties/namespace/properties/overcommit/properties/cpu",
|
||||
"type": "integer",
|
||||
"title": "The cpu schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": 0,
|
||||
"examples": [
|
||||
2
|
||||
]
|
||||
},
|
||||
"memory": {
|
||||
"$id": "#/properties/namespaces/items/anyOf/0/properties/namespace/properties/overcommit/properties/memory",
|
||||
"type": "integer",
|
||||
"title": "The memory schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": 0,
|
||||
"examples": [
|
||||
1
|
||||
]
|
||||
}
|
||||
},
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"additionalProperties": true
|
||||
},
|
||||
"pod": {
|
||||
"$id": "#/properties/namespaces/items/anyOf/0/properties/pod",
|
||||
"type": "object",
|
||||
"title": "The pod schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": {},
|
||||
"examples": [
|
||||
{
|
||||
"limits": {
|
||||
"cpu": 4,
|
||||
"memory": "8Gi"
|
||||
},
|
||||
"defaults": {
|
||||
"cpu": "200m",
|
||||
"memory": "200Mi"
|
||||
},
|
||||
"overcommit": {
|
||||
"cpu": 10,
|
||||
"memory": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"required": [
|
||||
"limits",
|
||||
"defaults",
|
||||
"overcommit"
|
||||
],
|
||||
"properties": {
|
||||
"limits": {
|
||||
"$id": "#/properties/namespaces/items/anyOf/0/properties/pod/properties/limits",
|
||||
"type": "object",
|
||||
"title": "The limits schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": {},
|
||||
"examples": [
|
||||
{
|
||||
"cpu": 4,
|
||||
"memory": "8Gi"
|
||||
}
|
||||
],
|
||||
"required": [
|
||||
"cpu",
|
||||
"memory"
|
||||
],
|
||||
"properties": {
|
||||
"cpu": {
|
||||
"$id": "#/properties/namespaces/items/anyOf/0/properties/pod/properties/limits/properties/cpu",
|
||||
"type": "integer",
|
||||
"title": "The cpu schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": 0,
|
||||
"examples": [
|
||||
4
|
||||
]
|
||||
},
|
||||
"memory": {
|
||||
"$id": "#/properties/namespaces/items/anyOf/0/properties/pod/properties/limits/properties/memory",
|
||||
"type": "string",
|
||||
"title": "The memory schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": "",
|
||||
"examples": [
|
||||
"8Gi"
|
||||
]
|
||||
}
|
||||
},
|
||||
"additionalProperties": true
|
||||
},
|
||||
"defaults": {
|
||||
"$id": "#/properties/namespaces/items/anyOf/0/properties/pod/properties/defaults",
|
||||
"type": "object",
|
||||
"title": "The defaults schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": {},
|
||||
"examples": [
|
||||
{
|
||||
"cpu": "200m",
|
||||
"memory": "200Mi"
|
||||
}
|
||||
],
|
||||
"required": [
|
||||
"cpu",
|
||||
"memory"
|
||||
],
|
||||
"properties": {
|
||||
"cpu": {
|
||||
"$id": "#/properties/namespaces/items/anyOf/0/properties/pod/properties/defaults/properties/cpu",
|
||||
"type": "string",
|
||||
"title": "The cpu schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": "",
|
||||
"examples": [
|
||||
"200m"
|
||||
]
|
||||
},
|
||||
"memory": {
|
||||
"$id": "#/properties/namespaces/items/anyOf/0/properties/pod/properties/defaults/properties/memory",
|
||||
"type": "string",
|
||||
"title": "The memory schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": "",
|
||||
"examples": [
|
||||
"200Mi"
|
||||
]
|
||||
}
|
||||
},
|
||||
"additionalProperties": true
|
||||
},
|
||||
"overcommit": {
|
||||
"$id": "#/properties/namespaces/items/anyOf/0/properties/pod/properties/overcommit",
|
||||
"type": "object",
|
||||
"title": "The overcommit schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": {},
|
||||
"examples": [
|
||||
{
|
||||
"cpu": 10,
|
||||
"memory": 2
|
||||
}
|
||||
],
|
||||
"required": [
|
||||
"cpu",
|
||||
"memory"
|
||||
],
|
||||
"properties": {
|
||||
"cpu": {
|
||||
"$id": "#/properties/namespaces/items/anyOf/0/properties/pod/properties/overcommit/properties/cpu",
|
||||
"type": "integer",
|
||||
"title": "The cpu schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": 0,
|
||||
"examples": [
|
||||
10
|
||||
]
|
||||
},
|
||||
"memory": {
|
||||
"$id": "#/properties/namespaces/items/anyOf/0/properties/pod/properties/overcommit/properties/memory",
|
||||
"type": "integer",
|
||||
"title": "The memory schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": 0,
|
||||
"examples": [
|
||||
2
|
||||
]
|
||||
}
|
||||
},
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"additionalProperties": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"namespace": {
|
||||
"$id": "#/properties/namespace",
|
||||
"type": "object",
|
||||
"title": "The namespace schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": {},
|
||||
"examples": [
|
||||
{
|
||||
"budget": {
|
||||
"cpu": 32,
|
||||
"memory": "64Gi",
|
||||
"storage": "500Gi"
|
||||
},
|
||||
"overcommit": {
|
||||
"cpu": 2,
|
||||
"memory": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"required": [
|
||||
"budget",
|
||||
"overcommit"
|
||||
],
|
||||
"properties": {
|
||||
"budget": {
|
||||
"$id": "#/properties/namespace/properties/budget",
|
||||
"type": "object",
|
||||
"title": "The budget schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": {},
|
||||
"examples": [
|
||||
{
|
||||
"cpu": 32,
|
||||
"memory": "64Gi",
|
||||
"storage": "500Gi"
|
||||
}
|
||||
],
|
||||
"required": [
|
||||
"cpu",
|
||||
"memory",
|
||||
"storage"
|
||||
],
|
||||
"properties": {
|
||||
"cpu": {
|
||||
"$id": "#/properties/namespace/properties/budget/properties/cpu",
|
||||
"type": "integer",
|
||||
"title": "The cpu schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": 0,
|
||||
"examples": [
|
||||
32
|
||||
]
|
||||
},
|
||||
"memory": {
|
||||
"$id": "#/properties/namespace/properties/budget/properties/memory",
|
||||
"type": "string",
|
||||
"title": "The memory schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": "",
|
||||
"examples": [
|
||||
"64Gi"
|
||||
]
|
||||
},
|
||||
"storage": {
|
||||
"$id": "#/properties/namespace/properties/budget/properties/storage",
|
||||
"type": "string",
|
||||
"title": "The storage schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": "",
|
||||
"examples": [
|
||||
"500Gi"
|
||||
]
|
||||
}
|
||||
},
|
||||
"additionalProperties": true
|
||||
},
|
||||
"overcommit": {
|
||||
"$id": "#/properties/namespace/properties/overcommit",
|
||||
"type": "object",
|
||||
"title": "The overcommit schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": {},
|
||||
"examples": [
|
||||
{
|
||||
"cpu": 2,
|
||||
"memory": 1
|
||||
}
|
||||
],
|
||||
"required": [
|
||||
"cpu",
|
||||
"memory"
|
||||
],
|
||||
"properties": {
|
||||
"cpu": {
|
||||
"$id": "#/properties/namespace/properties/overcommit/properties/cpu",
|
||||
"type": "integer",
|
||||
"title": "The cpu schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": 0,
|
||||
"examples": [
|
||||
2
|
||||
]
|
||||
},
|
||||
"memory": {
|
||||
"$id": "#/properties/namespace/properties/overcommit/properties/memory",
|
||||
"type": "integer",
|
||||
"title": "The memory schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": 0,
|
||||
"examples": [
|
||||
1
|
||||
]
|
||||
}
|
||||
},
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"additionalProperties": true
|
||||
},
|
||||
"pod": {
|
||||
"$id": "#/properties/pod",
|
||||
"type": "object",
|
||||
"title": "The pod schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": {},
|
||||
"examples": [
|
||||
{
|
||||
"limits": {
|
||||
"cpu": 4,
|
||||
"memory": "8Gi"
|
||||
},
|
||||
"defaults": {
|
||||
"cpu": "200m",
|
||||
"memory": "200Mi"
|
||||
},
|
||||
"overcommit": {
|
||||
"cpu": 10,
|
||||
"memory": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"required": [
|
||||
"limits",
|
||||
"defaults",
|
||||
"overcommit"
|
||||
],
|
||||
"properties": {
|
||||
"limits": {
|
||||
"$id": "#/properties/pod/properties/limits",
|
||||
"type": "object",
|
||||
"title": "The limits schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": {},
|
||||
"examples": [
|
||||
{
|
||||
"cpu": 4,
|
||||
"memory": "8Gi"
|
||||
}
|
||||
],
|
||||
"required": [
|
||||
"cpu",
|
||||
"memory"
|
||||
],
|
||||
"properties": {
|
||||
"cpu": {
|
||||
"$id": "#/properties/pod/properties/limits/properties/cpu",
|
||||
"type": "integer",
|
||||
"title": "The cpu schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": 0,
|
||||
"examples": [
|
||||
4
|
||||
]
|
||||
},
|
||||
"memory": {
|
||||
"$id": "#/properties/pod/properties/limits/properties/memory",
|
||||
"type": "string",
|
||||
"title": "The memory schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": "",
|
||||
"examples": [
|
||||
"8Gi"
|
||||
]
|
||||
}
|
||||
},
|
||||
"additionalProperties": true
|
||||
},
|
||||
"defaults": {
|
||||
"$id": "#/properties/pod/properties/defaults",
|
||||
"type": "object",
|
||||
"title": "The defaults schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": {},
|
||||
"examples": [
|
||||
{
|
||||
"cpu": "200m",
|
||||
"memory": "200Mi"
|
||||
}
|
||||
],
|
||||
"required": [
|
||||
"cpu",
|
||||
"memory"
|
||||
],
|
||||
"properties": {
|
||||
"cpu": {
|
||||
"$id": "#/properties/pod/properties/defaults/properties/cpu",
|
||||
"type": "string",
|
||||
"title": "The cpu schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": "",
|
||||
"examples": [
|
||||
"200m"
|
||||
]
|
||||
},
|
||||
"memory": {
|
||||
"$id": "#/properties/pod/properties/defaults/properties/memory",
|
||||
"type": "string",
|
||||
"title": "The memory schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": "",
|
||||
"examples": [
|
||||
"200Mi"
|
||||
]
|
||||
}
|
||||
},
|
||||
"additionalProperties": true
|
||||
},
|
||||
"overcommit": {
|
||||
"$id": "#/properties/pod/properties/overcommit",
|
||||
"type": "object",
|
||||
"title": "The overcommit schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": {},
|
||||
"examples": [
|
||||
{
|
||||
"cpu": 10,
|
||||
"memory": 2
|
||||
}
|
||||
],
|
||||
"required": [
|
||||
"cpu",
|
||||
"memory"
|
||||
],
|
||||
"properties": {
|
||||
"cpu": {
|
||||
"$id": "#/properties/pod/properties/overcommit/properties/cpu",
|
||||
"type": "integer",
|
||||
"title": "The cpu schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": 0,
|
||||
"examples": [
|
||||
10
|
||||
]
|
||||
},
|
||||
"memory": {
|
||||
"$id": "#/properties/pod/properties/overcommit/properties/memory",
|
||||
"type": "integer",
|
||||
"title": "The memory schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"default": 0,
|
||||
"examples": [
|
||||
2
|
||||
]
|
||||
}
|
||||
},
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"additionalProperties": true
|
||||
}
|
||||
@@ -1,40 +1 @@
|
||||
namespaces:
|
||||
- name: staging
|
||||
namespace:
|
||||
budget:
|
||||
cpu: 32
|
||||
memory: "64Gi"
|
||||
storage: "500Gi"
|
||||
overcommit:
|
||||
cpu: 2
|
||||
memory: 1
|
||||
pod:
|
||||
limits:
|
||||
cpu: 4
|
||||
memory: "8Gi"
|
||||
defaults:
|
||||
cpu: "200m"
|
||||
memory: "200Mi"
|
||||
overcommit:
|
||||
cpu: 10
|
||||
memory: 2
|
||||
|
||||
namespace:
|
||||
budget:
|
||||
cpu: 32
|
||||
memory: "64Gi"
|
||||
storage: "500Gi"
|
||||
overcommit:
|
||||
cpu: 2
|
||||
memory: 1
|
||||
|
||||
pod:
|
||||
limits:
|
||||
cpu: 4
|
||||
memory: "8Gi"
|
||||
defaults:
|
||||
cpu: "200m"
|
||||
memory: "200Mi"
|
||||
overcommit:
|
||||
cpu: 10
|
||||
memory: 2
|
||||
namespaces: []
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.1.0
|
||||
digest: sha256:636a65e9846bdff17cc4e65b0849061f783759a37aa51fb85ff6fd8ba5e68467
|
||||
generated: "2021-08-05T10:39:10.053810673+02:00"
|
||||
version: 0.2.0
|
||||
digest: sha256:ea028bf07fdc361daabca0c0155e4511cc4fffda94d2f697f4d16013f250c8a8
|
||||
generated: "2023-02-17T15:13:57.926786542+01:00"
|
||||
|
||||
@@ -15,9 +15,9 @@ type: application
|
||||
# This is the chart version. This version number should be incremented each time you make changes
|
||||
# to the chart and its templates, including the app version.
|
||||
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
||||
version: 0.31.0
|
||||
version: 0.47.0
|
||||
|
||||
dependencies:
|
||||
- name: common
|
||||
version: 0.1.0
|
||||
version: 0.2.0
|
||||
repository: file://../common
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -19,8 +19,7 @@
|
||||
"schemaIDs": [
|
||||
"#/properties/resources"
|
||||
],
|
||||
"uiSchema": {
|
||||
},
|
||||
"uiSchema": {},
|
||||
"metaData": {
|
||||
"name": "Resources",
|
||||
"icon": "M9 7h6m0 10v-3m-3 3h.01M9 17h.01M9 14h.01M12 14h.01M15 11h.01M12 11h.01M9 11h.01M7 21h10a2 2 0 002-2V5a2 2 0 00-2-2H7a2 2 0 00-2 2v14a2 2 0 002 2z"
|
||||
@@ -28,7 +27,8 @@
|
||||
},
|
||||
{
|
||||
"schemaIDs": [
|
||||
"#/properties/probe"
|
||||
"#/properties/probe",
|
||||
"#/properties/livenessProbe"
|
||||
],
|
||||
"uiSchema": {
|
||||
"#/properties/probe": {
|
||||
@@ -49,6 +49,25 @@
|
||||
"ui:widget": "range"
|
||||
}
|
||||
}
|
||||
},
|
||||
"#/properties/livenessProbe": {
|
||||
"settings": {
|
||||
"initialDelaySeconds": {
|
||||
"ui:widget": "range"
|
||||
},
|
||||
"periodSeconds": {
|
||||
"ui:widget": "range"
|
||||
},
|
||||
"successThreshold": {
|
||||
"ui:widget": "range"
|
||||
},
|
||||
"timeoutSeconds": {
|
||||
"ui:widget": "range"
|
||||
},
|
||||
"failureThreshold": {
|
||||
"ui:widget": "range"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"metaData": {
|
||||
@@ -74,6 +93,7 @@
|
||||
},
|
||||
{
|
||||
"schemaIDs": [
|
||||
"#/properties/secretEnabled",
|
||||
"#/properties/sealedSecrets"
|
||||
],
|
||||
"uiSchema": {
|
||||
@@ -84,7 +104,7 @@
|
||||
}
|
||||
},
|
||||
"metaData": {
|
||||
"name": "Sealed Secrets",
|
||||
"name": "Secrets",
|
||||
"icon": "M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"
|
||||
}
|
||||
},
|
||||
@@ -92,7 +112,18 @@
|
||||
"schemaIDs": [
|
||||
"#/properties/volumes"
|
||||
],
|
||||
"uiSchema": {},
|
||||
"uiSchema": {
|
||||
"#/properties/volumes": {
|
||||
"items": {
|
||||
"emptyDir": {
|
||||
"ui:widget": "hidden"
|
||||
},
|
||||
"configMapValue": {
|
||||
"ui:widget": "textarea"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"metaData": {
|
||||
"name": "Volumes",
|
||||
"icon": "M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4"
|
||||
@@ -104,7 +135,7 @@
|
||||
],
|
||||
"uiSchema": {},
|
||||
"metaData": {
|
||||
"name": "Host Names",
|
||||
"name": "Ingress",
|
||||
"icon": "M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1"
|
||||
}
|
||||
},
|
||||
@@ -118,5 +149,17 @@
|
||||
"name": "High Availability",
|
||||
"icon": "M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z"
|
||||
}
|
||||
},
|
||||
{
|
||||
"schemaIDs": [
|
||||
"#/properties/podAnnotations",
|
||||
"#/properties/gitSha",
|
||||
"#/properties/gitRepository"
|
||||
],
|
||||
"uiSchema": {},
|
||||
"metaData": {
|
||||
"name": "Misc",
|
||||
"icon": "M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"
|
||||
}
|
||||
}
|
||||
]
|
||||
]
|
||||
@@ -0,0 +1 @@
|
||||
{{- include "common.customFileConfigmap.tpl" . -}}
|
||||
@@ -5,10 +5,11 @@ metadata:
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
{{- include "helm-chart.labels" . | nindent 4 }}
|
||||
{{- if .Values.gitSha }}
|
||||
annotations:
|
||||
kubectl.kubernetes.io/default-container: {{ template "robustName" .Release.Name }}
|
||||
{{- if .Values.gitSha }}
|
||||
gimlet.io/git-sha: {{ .Values.gitSha }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
replicas: {{ .Values.replicas }}
|
||||
selector:
|
||||
@@ -49,6 +50,26 @@ spec:
|
||||
{{- if .Values.serviceAccount }}
|
||||
serviceAccountName: {{ .Values.serviceAccount }}
|
||||
{{- end }}
|
||||
initContainers:
|
||||
{{- range .Values.initContainers }}
|
||||
- name: {{ .name }}
|
||||
image: "{{ .image }}:{{ .tag }}"
|
||||
imagePullPolicy: {{ .imagePullPolicy | default "IfNotPresent" }}
|
||||
{{- include "common.envFromRef.tpl" $ | nindent 10 }}
|
||||
{{- if .command }}
|
||||
command:
|
||||
- {{ $.Values.shell }}
|
||||
- -c
|
||||
- {{ .command | quote}}
|
||||
{{- end }}
|
||||
volumeMounts:
|
||||
{{- range $.Values.volumes }}
|
||||
{{if (or (hasPrefix "shared-" .name) (hasPrefix "init-" .name))}}
|
||||
- mountPath: {{ .path }}
|
||||
name: {{ .name }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: {{ template "robustName" .Release.Name }}
|
||||
securityContext: &securityContext
|
||||
@@ -95,8 +116,10 @@ spec:
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- include "common.volumeMountsRef.tpl" . | nindent 10 }}
|
||||
{{- if not .Values.resources.ignore }}
|
||||
resources:
|
||||
{{- toYaml .Values.resources | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- if .Values.sidecar }}
|
||||
- name: {{ template "robustName" .Release.Name }}-sidecar
|
||||
securityContext: *securityContext
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
{{- if .Values.extraDeploy }}
|
||||
{{ .Values.extraDeploy }}
|
||||
{{- end }}
|
||||
@@ -39,7 +39,7 @@ spec:
|
||||
- host: {{ .ingress.host | quote }}
|
||||
http:
|
||||
paths:
|
||||
- path: "/"
|
||||
- path: {{ .ingress.path | default "/" | quote }}
|
||||
pathType: "Prefix"
|
||||
backend:
|
||||
service:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{{- if and (.Values.podDisruptionBudgetEnabled) (gt (.Values.replicas | int64) 1) }}
|
||||
apiVersion: policy/v1beta1
|
||||
apiVersion: policy/v1
|
||||
kind: PodDisruptionBudget
|
||||
metadata:
|
||||
name: {{ template "robustName" .Release.Name }}
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
suite: test deployment
|
||||
templates:
|
||||
- custom-file-configmap.yaml
|
||||
tests:
|
||||
- it: Should create configmaps for custom string files
|
||||
set:
|
||||
volumes:
|
||||
- fileName: myFile.conf
|
||||
fileContent: |
|
||||
blablabla
|
||||
bla
|
||||
path: /randomPath/myFile.conf
|
||||
subPath: myFile.conf
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 1
|
||||
- equal:
|
||||
path: data
|
||||
value:
|
||||
myFile.conf: |
|
||||
blablabla
|
||||
bla
|
||||
@@ -0,0 +1,44 @@
|
||||
suite: test deployment
|
||||
templates:
|
||||
- deployment.yaml
|
||||
- configmap.yaml
|
||||
- pvc.yaml
|
||||
tests:
|
||||
- it: Should mount volume
|
||||
set:
|
||||
existingFileSecrets:
|
||||
- name: my-existing-secret
|
||||
path: /config
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.template.spec.containers[0].volumeMounts
|
||||
value:
|
||||
- name: my-existing-secret
|
||||
mountPath: /config
|
||||
readOnly: true
|
||||
- it: Should mount volume with optional subPath
|
||||
set:
|
||||
existingFileSecrets:
|
||||
- name: my-existing-secret
|
||||
path: /config/config.yaml
|
||||
subPath: config.yml
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.template.spec.containers[0].volumeMounts
|
||||
value:
|
||||
- name: my-existing-secret
|
||||
mountPath: /config/config.yaml
|
||||
subPath: config.yml
|
||||
readOnly: true
|
||||
- it: Should reference volume
|
||||
set:
|
||||
existingFileSecrets:
|
||||
- name: my-existing-secret
|
||||
path: /config
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.template.spec.volumes
|
||||
value:
|
||||
- name: my-existing-secret
|
||||
secret:
|
||||
secretName: my-existing-secret
|
||||
@@ -0,0 +1,31 @@
|
||||
suite: test deployment
|
||||
templates:
|
||||
- deployment.yaml
|
||||
- configmap.yaml
|
||||
tests:
|
||||
- it: Should set name, image and tag
|
||||
set:
|
||||
initContainers:
|
||||
- name: pod1
|
||||
image: nginx
|
||||
tag: 1.2.2
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.template.spec.initContainers[0].name
|
||||
value: pod1
|
||||
- equal:
|
||||
path: spec.template.spec.initContainers[0].image
|
||||
value: "nginx:1.2.2"
|
||||
- it: Should set command
|
||||
set:
|
||||
initContainers:
|
||||
- command: "while true; do date; sleep 2; done &&
|
||||
ls /data &&
|
||||
printf something"
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.template.spec.initContainers[0].command
|
||||
value: ['/bin/sh', '-c', 'while true; do date; sleep 2; done && ls /data && printf something']
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
suite: test deployment
|
||||
templates:
|
||||
- deployment.yaml
|
||||
- configmap.yaml
|
||||
tests:
|
||||
- it: Should render resoucres if not ignored by default
|
||||
set:
|
||||
{}
|
||||
asserts:
|
||||
- isNotNull:
|
||||
path: spec.template.spec.containers[0].resources
|
||||
- it: Should ignore resources if ignore flag is set
|
||||
set:
|
||||
resources:
|
||||
ignore: true
|
||||
asserts:
|
||||
- isNull:
|
||||
path: spec.template.spec.containers[0].resources
|
||||
@@ -74,3 +74,148 @@ tests:
|
||||
- name: data
|
||||
persistentVolumeClaim:
|
||||
claimName: my-static-claim
|
||||
- it: Should use emptyDir
|
||||
set:
|
||||
volumes:
|
||||
- name: data
|
||||
path: /var/lib/1clickinfra/data
|
||||
emptyDir: true
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.template.spec.volumes
|
||||
value:
|
||||
- name: data
|
||||
emptyDir: {}
|
||||
- it: Should use hostPath
|
||||
set:
|
||||
volumes:
|
||||
- name: data
|
||||
path: /var/lib/1clickinfra/data
|
||||
hostPath:
|
||||
path: /somewhere/over/the/rainbow
|
||||
type: DirectoryOrCreate
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.template.spec.volumes
|
||||
value:
|
||||
- name: data
|
||||
hostPath:
|
||||
path: /somewhere/over/the/rainbow
|
||||
type: DirectoryOrCreate
|
||||
- it: Should use hostPath without type
|
||||
set:
|
||||
volumes:
|
||||
- name: data
|
||||
path: /var/lib/1clickinfra/data
|
||||
hostPath:
|
||||
path: /somewhere/over/the/rainbow
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.template.spec.volumes
|
||||
value:
|
||||
- name: data
|
||||
hostPath:
|
||||
path: /somewhere/over/the/rainbow
|
||||
- it: Should use emptyDir
|
||||
set:
|
||||
volumes:
|
||||
- name: myScratchDisk
|
||||
path: /randomPath
|
||||
emptyDir: true
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.template.spec.volumes
|
||||
value:
|
||||
- name: myScratchDisk
|
||||
emptyDir: {}
|
||||
- equal:
|
||||
path: spec.template.spec.containers[0].volumeMounts
|
||||
value:
|
||||
- name: myScratchDisk
|
||||
mountPath: /randomPath
|
||||
- it: Should use a configMap
|
||||
set:
|
||||
volumes:
|
||||
- existingConfigMap: my-configmap
|
||||
name: volume-name
|
||||
path: /randomPath/app.conf
|
||||
subPath: app.conf
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.template.spec.volumes
|
||||
value:
|
||||
- name: volume-name
|
||||
configMap:
|
||||
name: my-configmap
|
||||
- equal:
|
||||
path: spec.template.spec.containers[0].volumeMounts
|
||||
value:
|
||||
- name: volume-name
|
||||
mountPath: /randomPath/app.conf
|
||||
subPath: app.conf
|
||||
- it: Should use a configmap with custom value
|
||||
set:
|
||||
volumes:
|
||||
- name: volume-name
|
||||
fileName: myfile.conf
|
||||
fileContent: |
|
||||
blablabla
|
||||
bla
|
||||
path: /randomPath/myfile.conf
|
||||
subPath: myfile.conf
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.template.spec.volumes
|
||||
value:
|
||||
- name: volume-name
|
||||
configMap:
|
||||
name: myfile-conf
|
||||
- equal:
|
||||
path: spec.template.spec.containers[0].volumeMounts
|
||||
value:
|
||||
- name: volume-name
|
||||
mountPath: /randomPath/myfile.conf
|
||||
subPath: myfile.conf
|
||||
- it: Should mount a volume only for the init container
|
||||
set:
|
||||
initContainers:
|
||||
- name : pod
|
||||
volumes:
|
||||
- name: init-volume
|
||||
path: /data
|
||||
emptyDir: true
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.template.spec.volumes
|
||||
value:
|
||||
- name: init-volume
|
||||
emptyDir: {}
|
||||
- equal:
|
||||
path: spec.template.spec.initContainers[0].volumeMounts
|
||||
value:
|
||||
- name: init-volume
|
||||
mountPath: /data
|
||||
- notEqual:
|
||||
path: spec.template.spec.containers[0].volumeMounts
|
||||
value:
|
||||
- name: init-volume
|
||||
emptyDir: {}
|
||||
- it: Should mount a shared volume between the main container and the init container
|
||||
set:
|
||||
initContainers:
|
||||
- name: pod
|
||||
volumes:
|
||||
- name: shared-volume
|
||||
path: /data
|
||||
emptyDir: true
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.template.spec.initContainers[0].volumeMounts
|
||||
value:
|
||||
- name: shared-volume
|
||||
mountPath: /data
|
||||
- equal:
|
||||
path: spec.template.spec.containers[0].volumeMounts
|
||||
value:
|
||||
- name: shared-volume
|
||||
mountPath: /data
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
suite: test service
|
||||
templates:
|
||||
- extraDeploy.yaml
|
||||
tests:
|
||||
- it: Should include additional yaml pieces
|
||||
set:
|
||||
extraDeploy: |
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: NetworkPolicy
|
||||
metadata:
|
||||
name: test-network-policy
|
||||
namespace: default
|
||||
spec:
|
||||
podSelector:
|
||||
matchLabels:
|
||||
role: db
|
||||
policyTypes:
|
||||
- Ingress
|
||||
- Egress
|
||||
ingress:
|
||||
- from:
|
||||
- ipBlock:
|
||||
cidr: 172.17.0.0/16
|
||||
except:
|
||||
- 172.17.1.0/24
|
||||
- namespaceSelector:
|
||||
matchLabels:
|
||||
project: myproject
|
||||
- podSelector:
|
||||
matchLabels:
|
||||
role: frontend
|
||||
ports:
|
||||
- protocol: TCP
|
||||
port: 6379
|
||||
egress:
|
||||
- to:
|
||||
- ipBlock:
|
||||
cidr: 10.0.0.0/24
|
||||
ports:
|
||||
- protocol: TCP
|
||||
port: 5978
|
||||
asserts:
|
||||
- equal:
|
||||
path: kind
|
||||
value: NetworkPolicy
|
||||
- it: Should include multiple yaml pieces
|
||||
set:
|
||||
extraDeploy: |
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: NetworkPolicy
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: NetworkPolicy
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 2
|
||||
@@ -0,0 +1,21 @@
|
||||
suite: test ingress
|
||||
templates:
|
||||
- ingress.yaml
|
||||
tests:
|
||||
- it: Should default
|
||||
set:
|
||||
ingress:
|
||||
host: chart-example.local
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.rules[0].http.paths[0].path
|
||||
value: "/"
|
||||
- it: Should use path
|
||||
set:
|
||||
ingress:
|
||||
host: chart-example.local
|
||||
path: "/mypath"
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.rules[0].http.paths[0].path
|
||||
value: "/mypath"
|
||||
@@ -13,6 +13,20 @@ tests:
|
||||
- equal:
|
||||
path: spec.storageClassName
|
||||
value: default
|
||||
- it: Should assign annotations to the PVC
|
||||
set:
|
||||
volumes:
|
||||
- name: data
|
||||
path: /var/lib/1clickinfra/data
|
||||
size: 10Gi
|
||||
storageClass: default
|
||||
pvcAnnotations:
|
||||
rancher.io/local-path/volume-type: local
|
||||
asserts:
|
||||
- equal:
|
||||
path: metadata.annotations
|
||||
value:
|
||||
rancher.io/local-path/volume-type: local
|
||||
- it: Should not generate a claim when using existing claim
|
||||
set:
|
||||
volumes:
|
||||
@@ -22,3 +36,13 @@ tests:
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 0
|
||||
- it: Should not generate a claim when using host path
|
||||
set:
|
||||
volumes:
|
||||
- name: data
|
||||
path: /var/lib/1clickinfra/data
|
||||
hostPath:
|
||||
path: /data/test
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 0
|
||||
|
||||
@@ -84,6 +84,53 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"initContainers": {
|
||||
"$id": "#/properties/initcontainers",
|
||||
"type": "array",
|
||||
"title": "Init Containers",
|
||||
"default": [],
|
||||
"additionalItems": true,
|
||||
"items": {
|
||||
"$id": "#/properties/initcontainers/items",
|
||||
"type": "object",
|
||||
"anyOf": [
|
||||
{
|
||||
"id": "#/properties/volumes/oneOf/0",
|
||||
"title": "InitContainer",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"title": "Name",
|
||||
"description": "The name of the init container"
|
||||
},
|
||||
"image": {
|
||||
"type": "string",
|
||||
"title": "Image"
|
||||
},
|
||||
"tag": {
|
||||
"type": "string",
|
||||
"title": "Tag"
|
||||
},
|
||||
"imagePullPolicy": {
|
||||
"type": "string",
|
||||
"title": "Command",
|
||||
"default": "IfNotPresent"
|
||||
},
|
||||
"command": {
|
||||
"type": "string",
|
||||
"title": "Command"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"name",
|
||||
"image",
|
||||
"tag"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"replicas": {
|
||||
"$id": "#/properties/replicas",
|
||||
"type": "integer",
|
||||
@@ -133,8 +180,8 @@
|
||||
"podAnnotations": {
|
||||
"$id": "#/properties/podAnnotations",
|
||||
"type": "object",
|
||||
"title": "The podAnnotations schema",
|
||||
"description": "An explanation about the purpose of this instance.",
|
||||
"title": "Pod annotations",
|
||||
"description": "Annotations to place on pods",
|
||||
"default": {},
|
||||
"examples": [
|
||||
{}
|
||||
@@ -142,6 +189,20 @@
|
||||
"required": [],
|
||||
"additionalProperties": true
|
||||
},
|
||||
"gitSha": {
|
||||
"$id": "#/properties/gitSha",
|
||||
"type": "string",
|
||||
"title": "Commit Hash",
|
||||
"description": "The git hash that you are deploying",
|
||||
"default": ""
|
||||
},
|
||||
"gitRepository": {
|
||||
"$id": "#/properties/gitRepository",
|
||||
"type": "string",
|
||||
"title": "GitHub Repository",
|
||||
"description": "The git repository that you are deploying",
|
||||
"default": ""
|
||||
},
|
||||
"podSecurityContext": {
|
||||
"$id": "#/properties/podSecurityContext",
|
||||
"type": "object",
|
||||
@@ -212,6 +273,16 @@
|
||||
],
|
||||
"required": [],
|
||||
"properties": {
|
||||
"ignore": {
|
||||
"$id": "#/properties/resources/properties/ignore",
|
||||
"type": "boolean",
|
||||
"title": "Ignore",
|
||||
"description": "If set to true, resource configuration will be ignored",
|
||||
"default": false,
|
||||
"examples": [
|
||||
true
|
||||
]
|
||||
},
|
||||
"requests": {
|
||||
"$id": "#/properties/resources/properties/requests",
|
||||
"type": "object",
|
||||
@@ -334,7 +405,7 @@
|
||||
"$id": "#/properties/probe",
|
||||
"type": "object",
|
||||
"title": "Healthcheck",
|
||||
"description": "The Kubernetes Readiness probe that determines whether your app is healthy and if should receive traffic",
|
||||
"description": "The Kubernetes Readiness probe determines whether your app is healthy and if it should receive traffic",
|
||||
"default": {},
|
||||
"examples": [
|
||||
{
|
||||
@@ -385,10 +456,10 @@
|
||||
"$id": "#/properties/probe/properties/settings/properties/initialDelaySeconds",
|
||||
"type": "integer",
|
||||
"title": "Initial Delay Seconds",
|
||||
"description": "Number of seconds after the container has started before the probes is initiated",
|
||||
"description": "Number of seconds after the container has started before the probe is initiated",
|
||||
"default": 0,
|
||||
"minimum": 0,
|
||||
"maximum": 60
|
||||
"maximum": 180
|
||||
},
|
||||
"periodSeconds": {
|
||||
"$id": "#/properties/probe/properties/settings/properties/periodSeconds",
|
||||
@@ -421,7 +492,107 @@
|
||||
"$id": "#/properties/probe/properties/settings/properties/failureThreshold",
|
||||
"type": "integer",
|
||||
"title": "Failure Threshold",
|
||||
"description": "When a probe fails, Kubernetes will tries this many times before giving up. Giving up the pod will be marked Unready and won't get any traffic",
|
||||
"description": "When a probe fails, Kubernetes will try this many times before giving up. Giving up the pod will be marked Unready and won't get any traffic",
|
||||
"default": 3,
|
||||
"minimum": 1,
|
||||
"maximum": 15
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"livenessProbe": {
|
||||
"$id": "#/properties/livenessProbe",
|
||||
"type": "object",
|
||||
"title": "Liveness check",
|
||||
"description": "The Kubernetes Liveness probe determines whether your app is healthy and if it should be restarted",
|
||||
"default": {},
|
||||
"examples": [
|
||||
{
|
||||
"enabled": false,
|
||||
"path": "/"
|
||||
}
|
||||
],
|
||||
"required": [
|
||||
"enabled",
|
||||
"path"
|
||||
],
|
||||
"properties": {
|
||||
"enabled": {
|
||||
"$id": "#/properties/livenessProbe/properties/enabled",
|
||||
"type": "boolean",
|
||||
"title": "",
|
||||
"description": "",
|
||||
"default": false,
|
||||
"examples": [
|
||||
false
|
||||
]
|
||||
},
|
||||
"path": {
|
||||
"$id": "#/properties/livenessProbe/properties/path",
|
||||
"type": "string",
|
||||
"title": "Path",
|
||||
"description": "Fill in the description",
|
||||
"default": "/",
|
||||
"examples": [
|
||||
"/"
|
||||
]
|
||||
},
|
||||
"settings": {
|
||||
"$id": "#/properties/livenessProbe/properties/settings",
|
||||
"type": "object",
|
||||
"title": "Probe thresholds",
|
||||
"description": "Tune the probe behavior",
|
||||
"examples": [
|
||||
{
|
||||
"failureThreshold": 3,
|
||||
"periodSeconds": 10,
|
||||
"successThreshold": 1,
|
||||
"timeoutSeconds": 10
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"initialDelaySeconds": {
|
||||
"$id": "#/properties/livenessProbe/properties/settings/properties/initialDelaySeconds",
|
||||
"type": "integer",
|
||||
"title": "Initial Delay Seconds",
|
||||
"description": "Number of seconds after the container has started before the probe is initiated",
|
||||
"default": 0,
|
||||
"minimum": 0,
|
||||
"maximum": 180
|
||||
},
|
||||
"periodSeconds": {
|
||||
"$id": "#/properties/livenessProbe/properties/settings/properties/periodSeconds",
|
||||
"type": "integer",
|
||||
"title": "Period",
|
||||
"description": "How often (in seconds) to perform the probe",
|
||||
"default": 10,
|
||||
"minimum": 1,
|
||||
"maximum": 60
|
||||
},
|
||||
"successThreshold": {
|
||||
"$id": "#/properties/livenessProbe/properties/settings/properties/successThreshold",
|
||||
"type": "integer",
|
||||
"title": "Success Threshold",
|
||||
"description": "Minimum consecutive successes for the probe to be considered successful after having failed",
|
||||
"default": 1,
|
||||
"minimum": 1,
|
||||
"maximum": 15
|
||||
},
|
||||
"timeoutSeconds": {
|
||||
"$id": "#/properties/livenessProbe/properties/settings/properties/timeoutSeconds",
|
||||
"type": "integer",
|
||||
"title": "Timeout",
|
||||
"description": "Number of seconds after which the probe times out",
|
||||
"default": 3,
|
||||
"minimum": 1,
|
||||
"maximum": 30
|
||||
},
|
||||
"failureThreshold": {
|
||||
"$id": "#/properties/livenessProbe/properties/settings/properties/failureThreshold",
|
||||
"type": "integer",
|
||||
"title": "Failure Threshold",
|
||||
"description": "When a probe fails, Kubernetes will try this many times before giving up. Giving up the pod will be marked Unready and won't get any traffic",
|
||||
"default": 3,
|
||||
"minimum": 1,
|
||||
"maximum": 15
|
||||
@@ -484,10 +655,17 @@
|
||||
"properties": {},
|
||||
"additionalProperties": true
|
||||
},
|
||||
"secretEnabled": {
|
||||
"$id": "#/properties/secretEnabled",
|
||||
"type": "boolean",
|
||||
"title": "Existing secret",
|
||||
"description": "If enabled, a secret will be referenced from the deployment whose name matches the deployment name",
|
||||
"default": false
|
||||
},
|
||||
"sealedSecrets": {
|
||||
"$id": "#/properties/sealedSecrets",
|
||||
"type": "object",
|
||||
"title": "Sealed Secrets",
|
||||
"title": "Sealed secrets",
|
||||
"description": "",
|
||||
"default": {},
|
||||
"examples": [
|
||||
@@ -527,6 +705,16 @@
|
||||
"my-release.mycompany.com"
|
||||
]
|
||||
},
|
||||
"path": {
|
||||
"$id": "#/properties/ingress/properties/ingressPath",
|
||||
"type": "string",
|
||||
"title": "Path",
|
||||
"description": "The API path where your service is accessible",
|
||||
"default": "/",
|
||||
"examples": [
|
||||
"/api/myservice"
|
||||
]
|
||||
},
|
||||
"tlsEnabled": {
|
||||
"$id": "#/properties/ingress/properties/tlsEnabled",
|
||||
"type": "boolean",
|
||||
@@ -541,7 +729,7 @@
|
||||
"$id": "#/properties/ingress/properties/annotations",
|
||||
"type": "object",
|
||||
"title": "Annotations",
|
||||
"description": "",
|
||||
"description": "Annotations are used to control ingress behavior. See the full list for the Ingress Nginx project at https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/. Use the `cert-manager.io/cluster-issuer:\"letsencrypt\"` one to request TLS certificates, `kubernetes.io/ingress.class: \"nginx\"` to select an ingress controller.",
|
||||
"default": {},
|
||||
"examples": [
|
||||
{
|
||||
@@ -552,6 +740,49 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"existingFileSecrets": {
|
||||
"$id": "#/properties/existingFileSecrets",
|
||||
"type": "array",
|
||||
"title": "Existing file secrets",
|
||||
"description": "Allows to mount existing secrets into a container",
|
||||
"default": [],
|
||||
"additionalItems": true,
|
||||
"items": {
|
||||
"$id": "#/properties/existingFileSecrets/items",
|
||||
"type": "object",
|
||||
"anyOf": [
|
||||
{
|
||||
"id": "#/properties/existingFileSecrets/oneOf/0",
|
||||
"title": "existingFileSecrets",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"title": "Name",
|
||||
"description": "The name of the existing secret to mount",
|
||||
"default": "data"
|
||||
},
|
||||
"path": {
|
||||
"type": "string",
|
||||
"title": "Path",
|
||||
"description": "The mount path inside the container",
|
||||
"default": "/data"
|
||||
},
|
||||
"subPath": {
|
||||
"type": "string",
|
||||
"title": "SubPath",
|
||||
"description": "The optinal mount subpath inside the container, to only mount a specific file but not a complete directory.",
|
||||
"default": "config.yaml"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"name",
|
||||
"path"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"volumes": {
|
||||
"$id": "#/properties/volumes",
|
||||
"type": "array",
|
||||
@@ -561,38 +792,221 @@
|
||||
"items": {
|
||||
"$id": "#/properties/volumes/items",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"$id": "#/properties/volumes/items/anyOf/0/properties/name",
|
||||
"type": "string",
|
||||
"title": "Name",
|
||||
"description": "The name of the volume. Used only to recognize the volumes purpose in the config later on",
|
||||
"default": "data"
|
||||
"anyOf": [
|
||||
{
|
||||
"id": "#/properties/volumes/oneOf/0",
|
||||
"title": "Volume",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"title": "Name",
|
||||
"description": "The name of the volume. Used only to recognize the volumes purpose in the config later on",
|
||||
"default": "data"
|
||||
},
|
||||
"path": {
|
||||
"type": "string",
|
||||
"title": "Path",
|
||||
"description": "The mount path inside the container",
|
||||
"default": "/data"
|
||||
},
|
||||
"size": {
|
||||
"type": "string",
|
||||
"title": "Size",
|
||||
"description": "eg: 10Gi"
|
||||
},
|
||||
"storageClass": {
|
||||
"type": "string",
|
||||
"title": "Storage Class",
|
||||
"description": "The slug indicating the disk type in your cloud provider. `standard` on Google Cloud, `default` on Azure; `do-block-storage` on Digital Ocean"
|
||||
},
|
||||
"pvcAnnotations": {
|
||||
"type": "object",
|
||||
"title": "Annotations",
|
||||
"description": "Annotations are used to control the persistance claim behavior.",
|
||||
"default": {},
|
||||
"examples": [
|
||||
{
|
||||
"rancher.io/local-path/volume-type": "local"
|
||||
}
|
||||
],
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"name",
|
||||
"path",
|
||||
"size"
|
||||
]
|
||||
},
|
||||
"path": {
|
||||
"$id": "#/properties/volumes/items/anyOf/0/properties/path",
|
||||
"type": "string",
|
||||
"title": "Path",
|
||||
"description": "The mount path inside the container",
|
||||
"default": "/data"
|
||||
{
|
||||
"id": "#/properties/volumes/oneOf/1",
|
||||
"title": "Use an existing volume claim",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"title": "Name",
|
||||
"description": "The name of the volume. Used only to recognize the volumes purpose in the config later on",
|
||||
"default": "data"
|
||||
},
|
||||
"existingClaim": {
|
||||
"type": "string",
|
||||
"title": "Existing Claim",
|
||||
"description": "Use an existing PersistentVolumeClaim"
|
||||
},
|
||||
"path": {
|
||||
"type": "string",
|
||||
"title": "Path",
|
||||
"description": "The mount path inside the container",
|
||||
"default": "/data"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"name",
|
||||
"path",
|
||||
"existingClaim"
|
||||
]
|
||||
},
|
||||
"size": {
|
||||
"$id": "#/properties/volumes/items/anyOf/0/properties/size",
|
||||
"type": "string",
|
||||
"title": "Size",
|
||||
"description": "",
|
||||
"default": "10Gi"
|
||||
{
|
||||
"id": "#/properties/volumes/oneOf/2",
|
||||
"title": "Use a path from the host",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"title": "Name",
|
||||
"description": "The name of the volume. Used only to recognize the volumes purpose in the config later on",
|
||||
"default": "data"
|
||||
},
|
||||
"hostPath": {
|
||||
"type": "object",
|
||||
"title": "Path on the host",
|
||||
"description": "Use a physical path on the host machine",
|
||||
"properties": {
|
||||
"path": {
|
||||
"type": "string",
|
||||
"title": "Path on Host",
|
||||
"description": "Use a physical path on the host machine"
|
||||
},
|
||||
"type": {
|
||||
"type": "string",
|
||||
"title": "Path Type",
|
||||
"enum": [
|
||||
"DirectoryOrCreate",
|
||||
"Directory",
|
||||
"FileOrCreate",
|
||||
"File",
|
||||
"Socket",
|
||||
"CharDevice",
|
||||
"BlockDevice"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"path"
|
||||
]
|
||||
},
|
||||
"path": {
|
||||
"type": "string",
|
||||
"title": "Path",
|
||||
"description": "The mount path inside the container",
|
||||
"default": "/data"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"name",
|
||||
"path",
|
||||
"hostPath"
|
||||
]
|
||||
},
|
||||
"storageClass": {
|
||||
"$id": "#/properties/volumes/items/anyOf/0/properties/storageClass",
|
||||
"type": "string",
|
||||
"title": "Storage Class",
|
||||
"description": "The slug indicating the disk type in your cloud provider. `standard` on Google Cloud, `default` on Azure; `do-block-storage` on Digital Ocean",
|
||||
"default": ""
|
||||
{
|
||||
"id": "#/properties/volumes/oneOf/3",
|
||||
"title": "Use an ephemeral volume",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"title": "Name",
|
||||
"default": "ephemeral-volume"
|
||||
},
|
||||
"emptyDir": {
|
||||
"type": "boolean",
|
||||
"title": "ephemeral volume (emptyDir)",
|
||||
"description": "Enable to use a non-persistent disk",
|
||||
"default": true
|
||||
},
|
||||
"path": {
|
||||
"type": "string",
|
||||
"title": "Path",
|
||||
"description": "The mount path inside the container",
|
||||
"default": "/data"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"name",
|
||||
"emptyDir",
|
||||
"path"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "#/properties/volumes/oneOf/4",
|
||||
"title": "Mount an existing configMap as a file",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"existingConfigMap": {
|
||||
"type": "string",
|
||||
"title": "Name",
|
||||
"description": "The name of the configMap to mount",
|
||||
"default": "data"
|
||||
},
|
||||
"path": {
|
||||
"type": "string",
|
||||
"title": "Path",
|
||||
"description": "The mount path inside the container",
|
||||
"default": "/data/dummy.conf"
|
||||
},
|
||||
"subPath": {
|
||||
"type": "string",
|
||||
"title": "subPath",
|
||||
"description": "Mount single file",
|
||||
"default": "dummy.conf"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"existingConfigMap",
|
||||
"path"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "#/properties/volumes/oneOf/5",
|
||||
"title": "Custom string to mount as a file",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"fileName": {
|
||||
"type": "string",
|
||||
"title": "File name"
|
||||
},
|
||||
"fileContent": {
|
||||
"type": "string",
|
||||
"title": "File content"
|
||||
},
|
||||
"path": {
|
||||
"type": "string",
|
||||
"title": "Path",
|
||||
"description": "The mount path inside the container",
|
||||
"default": "/data"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"fileName",
|
||||
"fileContent",
|
||||
"path"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,16 @@ image:
|
||||
tag: "latest"
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
# ingress:
|
||||
# host: chart-example.local
|
||||
# ingressClassName: nginx
|
||||
# tlsEnabled: true
|
||||
# annotations:
|
||||
# cert-manager.io/cluster-issuer: letsencrypt-staging
|
||||
|
||||
# vars:
|
||||
# MY_VAR: "value"
|
||||
|
||||
replicas: 1
|
||||
|
||||
nameOverride: ""
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
# Patterns to ignore when building packages.
|
||||
# This supports shell glob matching, relative path matching, and
|
||||
# negation (prefixed with !). Only one pattern per line.
|
||||
.DS_Store
|
||||
# Common VCS dirs
|
||||
.git/
|
||||
.gitignore
|
||||
.bzr/
|
||||
.bzrignore
|
||||
.hg/
|
||||
.hgignore
|
||||
.svn/
|
||||
# Common backup files
|
||||
*.swp
|
||||
*.bak
|
||||
*.tmp
|
||||
*.orig
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
.vscode/
|
||||
@@ -0,0 +1,18 @@
|
||||
apiVersion: v2
|
||||
name: static-site
|
||||
description: Chart to build and deploy static sites
|
||||
# A chart can be either an 'application' or a 'library' chart.
|
||||
#
|
||||
# Application charts are a collection of templates that can be packaged into versioned archives
|
||||
# to be deployed.
|
||||
#
|
||||
# Library charts provide useful utilities or functions for the chart developer. They're included as
|
||||
# a dependency of application charts to inject those utilities and functions into the rendering
|
||||
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
|
||||
type: application
|
||||
|
||||
# This is the chart version. This version number should be incremented each time you make changes
|
||||
# to the chart and its templates, including the app version.
|
||||
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
||||
version: 0.1.0
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
[
|
||||
{
|
||||
"schemaIDs": [
|
||||
"#/properties/gitCloneUrl",
|
||||
"#/properties/buildImage",
|
||||
"#/properties/buildTag",
|
||||
"#/properties/buildScript",
|
||||
"#/properties/builtAssets"
|
||||
|
||||
],
|
||||
"uiSchema": {
|
||||
"#/properties/buildScript":{
|
||||
"ui:widget": "textarea"
|
||||
}
|
||||
},
|
||||
"metaData": {
|
||||
"name": "Build",
|
||||
"icon": "M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"
|
||||
}
|
||||
},
|
||||
{
|
||||
"schemaIDs": [
|
||||
"#/properties/ingress"
|
||||
],
|
||||
"uiSchema": {},
|
||||
"metaData": {
|
||||
"name": "Ingress",
|
||||
"icon": "M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "staticSite.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "staticSite.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 }}
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "staticSite.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Common labels
|
||||
*/}}
|
||||
{{- define "staticSite.labels" -}}
|
||||
helm.sh/chart: {{ include "staticSite.chart" . }}
|
||||
{{ include "staticSite.selectorLabels" . }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Selector labels
|
||||
*/}}
|
||||
{{- define "staticSite.selectorLabels" -}}
|
||||
app.kubernetes.io/name: {{ include "staticSite.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create the name of the service account to use
|
||||
*/}}
|
||||
{{- define "staticSite.serviceAccountName" -}}
|
||||
{{- if .Values.serviceAccount.create }}
|
||||
{{- default (include "staticSite.fullname" .) .Values.serviceAccount.name }}
|
||||
{{- else }}
|
||||
{{- default "default" .Values.serviceAccount.name }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create robustName that can be used as Kubernetes resource name, and as subdomain as well
|
||||
\w – Latin letters, digits, underscore '_' .
|
||||
\W – all but \w .
|
||||
*/}}
|
||||
{{- define "robustName" -}}
|
||||
{{ regexReplaceAll "\\W+" . "-" | replace "_" "-" | lower | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,61 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ template "robustName" .Release.Name }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
{{- include "staticSite.labels" . | nindent 4 }}
|
||||
spec:
|
||||
replicas: {{ .Values.replicaCount }}
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "staticSite.selectorLabels" . | nindent 6 }}
|
||||
template:
|
||||
metadata:
|
||||
{{- with .Values.podAnnotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
{{- include "staticSite.selectorLabels" . | nindent 8 }}
|
||||
spec:
|
||||
{{- with .Values.imagePullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
serviceAccountName: {{ template "robustName" .Release.Name }}
|
||||
securityContext:
|
||||
{{- toYaml .Values.podSecurityContext | nindent 8 }}
|
||||
volumes:
|
||||
- name: static-files
|
||||
emptyDir: {}
|
||||
initContainers:
|
||||
- name: init-con
|
||||
image: {{ .Values.buildImage }}:{{ .Values.buildTag }}
|
||||
{{- if .Values.buildScript }}
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- |
|
||||
git clone {{ .Values.gitCloneUrl}} &&
|
||||
cd {{ regexFind "([^\\/]+$)" .Values.gitCloneUrl | replace ".git" "" }} &&
|
||||
{{ .Values.buildScript | nindent 12}}
|
||||
mkdir -p /usr/share/nginx/html &&
|
||||
cp -r ./{{ .Values.builtAssets }}. /usr/share/nginx/html
|
||||
{{- end }}
|
||||
volumeMounts:
|
||||
- name: static-files
|
||||
mountPath: /usr/share/nginx/html
|
||||
containers:
|
||||
- name: {{ template "robustName" .Release.Name }}
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
volumeMounts:
|
||||
- name: static-files
|
||||
mountPath: /usr/share/nginx/html
|
||||
ports:
|
||||
- name: http
|
||||
containerPort: {{ .Values.service.port }}
|
||||
protocol: TCP
|
||||
@@ -0,0 +1,52 @@
|
||||
{{/* OneChart ingress snippet */}}
|
||||
{{- define "onechart.ingress" }}
|
||||
{{- $robustName := include "robustName" .root.Release.Name -}}
|
||||
{{- $resourceName := $robustName -}}
|
||||
{{- if .longName }}
|
||||
{{- $resourceName = printf "%s-%s" $robustName (include "robustName" .ingress.host) -}}
|
||||
{{- end }}
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ $resourceName }}
|
||||
namespace: {{ .root.Release.Namespace }}
|
||||
labels:
|
||||
{{- include "staticSite.labels" .root | nindent 4 }}
|
||||
{{- if or (or .root.Values.gitSha .ingress.annotations) .root.Values.gitRepository }}
|
||||
annotations:
|
||||
{{- if .ingress.annotations }}
|
||||
{{- toYaml .ingress.annotations | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .ingress.ingressClassName }}
|
||||
ingressClassName: {{ .ingress.ingressClassName }}
|
||||
{{- end }}
|
||||
{{- if default false .ingress.tlsEnabled }}
|
||||
tls:
|
||||
- hosts:
|
||||
- {{ .ingress.host | quote }}
|
||||
secretName: {{ printf "tls-%s" $resourceName }}
|
||||
{{- end }}
|
||||
rules:
|
||||
- host: {{ .ingress.host | quote }}
|
||||
http:
|
||||
paths:
|
||||
- path: {{ .ingress.path | default "/" | quote }}
|
||||
pathType: "Prefix"
|
||||
backend:
|
||||
service:
|
||||
name: {{ $robustName }}
|
||||
port:
|
||||
number: {{ .root.Values.service.port }}
|
||||
{{- end }}
|
||||
|
||||
{{- with .Values.ingress }}
|
||||
{{- template "onechart.ingress" (dict "root" $ "ingress" .) }}
|
||||
{{- end }}
|
||||
|
||||
{{- range .Values.ingresses }}
|
||||
{{template "onechart.ingress" (dict "root" $ "ingress" . "longName" true) }}
|
||||
{{- end }}
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ template "robustName" .Release.Name }}
|
||||
labels:
|
||||
{{- include "staticSite.labels" . | nindent 4 }}
|
||||
spec:
|
||||
type: {{ .Values.service.type }}
|
||||
ports:
|
||||
- port: {{ .Values.service.port }}
|
||||
targetPort: http
|
||||
protocol: TCP
|
||||
name: http
|
||||
selector:
|
||||
{{- include "staticSite.selectorLabels" . | nindent 4 }}
|
||||
@@ -0,0 +1,12 @@
|
||||
{{- if .Values.serviceAccount.create -}}
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: {{ template "robustName" .Release.Name }}
|
||||
labels:
|
||||
{{- include "staticSite.labels" . | nindent 4 }}
|
||||
{{- with .Values.serviceAccount.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,15 @@
|
||||
suite: test deployment
|
||||
templates:
|
||||
- deployment.yaml
|
||||
tests:
|
||||
- it: Should set image, tag and command
|
||||
set:
|
||||
gitCloneUrl: https:/github.com/mycompany/myrepo.git
|
||||
buildImage: nginx
|
||||
buildTag: x.y.z
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.template.spec.initContainers[0].image
|
||||
value: nginx:x.y.z
|
||||
|
||||
|
||||
@@ -0,0 +1,120 @@
|
||||
suite: test deployment
|
||||
templates:
|
||||
- ingress.yaml
|
||||
tests:
|
||||
- it: Should set Ingress host name
|
||||
set:
|
||||
ingress:
|
||||
host: chart-example.local
|
||||
tlsEnabled: true
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.tls
|
||||
value:
|
||||
- hosts:
|
||||
- chart-example.local
|
||||
secretName: tls-release-name
|
||||
- equal:
|
||||
path: spec.rules
|
||||
value:
|
||||
- host: chart-example.local
|
||||
http:
|
||||
paths:
|
||||
- path: "/"
|
||||
pathType: "Prefix"
|
||||
backend:
|
||||
service:
|
||||
name: release-name
|
||||
port:
|
||||
number: 80
|
||||
- it: Should pass ingress host name as is, user must sanitize it
|
||||
set:
|
||||
ingress:
|
||||
host: feature/my_branch.local
|
||||
tlsEnabled: true
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.tls
|
||||
value:
|
||||
- hosts:
|
||||
- feature/my_branch.local
|
||||
secretName: tls-release-name
|
||||
- equal:
|
||||
path: spec.rules
|
||||
value:
|
||||
- host: feature/my_branch.local
|
||||
http:
|
||||
paths:
|
||||
- path: "/"
|
||||
pathType: "Prefix"
|
||||
backend:
|
||||
service:
|
||||
name: release-name
|
||||
port:
|
||||
number: 80
|
||||
- it: Should set Ingress annotation
|
||||
set:
|
||||
ingress:
|
||||
host: chart-example.local
|
||||
annotations:
|
||||
just/a-random: annotation
|
||||
asserts:
|
||||
- equal:
|
||||
path: metadata.annotations
|
||||
value:
|
||||
just/a-random: annotation
|
||||
- it: Should set ingress class
|
||||
set:
|
||||
ingress:
|
||||
host: chart-example.local
|
||||
ingressClassName: nginx
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.ingressClassName
|
||||
value: nginx
|
||||
- it: Should generate multiple ingresses
|
||||
set:
|
||||
ingresses:
|
||||
- host: chart-example.local
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: nginx
|
||||
- host: another.local
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: nginx
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 2
|
||||
- it: Should generate multiple ingresses
|
||||
set:
|
||||
ingress:
|
||||
host: chart-example.local
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: nginx
|
||||
ingresses:
|
||||
- host: chart-example.local
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: nginx
|
||||
- host: another.local
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: nginx
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 3
|
||||
- it: Should have unique TLS secret names
|
||||
set:
|
||||
ingresses:
|
||||
- host: chart-example.local
|
||||
tlsEnabled: true
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: nginx
|
||||
- host: another.local
|
||||
tlsEnabled: true
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: nginx
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.tls
|
||||
value:
|
||||
- hosts:
|
||||
- chart-example.local
|
||||
secretName: tls-release-name-chart-example-local
|
||||
@@ -0,0 +1,21 @@
|
||||
suite: test ingress
|
||||
templates:
|
||||
- ingress.yaml
|
||||
tests:
|
||||
- it: Should default
|
||||
set:
|
||||
ingress:
|
||||
host: chart-example.local
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.rules[0].http.paths[0].path
|
||||
value: "/"
|
||||
- it: Should use path
|
||||
set:
|
||||
ingress:
|
||||
host: chart-example.local
|
||||
path: "/mypath"
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.rules[0].http.paths[0].path
|
||||
value: "/mypath"
|
||||
@@ -0,0 +1,12 @@
|
||||
suite: test deployment
|
||||
templates:
|
||||
- ingress.yaml
|
||||
tests:
|
||||
- it: Should use service port
|
||||
set:
|
||||
ingress:
|
||||
host: chart-example.local
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.rules[0].http.paths[0].backend.service.port.number
|
||||
value: 1234
|
||||
@@ -0,0 +1,125 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema",
|
||||
"$id": "http://example.com/example.json",
|
||||
"type": "object",
|
||||
"title": "The root schema",
|
||||
"description": "The root schema comprises the entire JSON document.",
|
||||
"default": {},
|
||||
"examples": [
|
||||
{
|
||||
"gitCloneUrl": "https://github.com/gimlet-io/hugo-site.git",
|
||||
"buildImage": "node",
|
||||
"buildTag": "latest",
|
||||
"buildScript": "npm install && npm install -g gatsby-cli && gatsby build",
|
||||
"builtAssets": "public/"
|
||||
}
|
||||
],
|
||||
"required": [
|
||||
"gitCloneUrl",
|
||||
"buildImage",
|
||||
"buildTag",
|
||||
"buildScript",
|
||||
"builtAssets"
|
||||
],
|
||||
"properties": {
|
||||
"gitCloneUrl": {
|
||||
"$id": "#/properties/gitCloneUrl",
|
||||
"type": "string",
|
||||
"title": "Repo url",
|
||||
"description": "The static site's git repository",
|
||||
"default": "https://github.com/gimlet-io/hugo-site.git"
|
||||
},
|
||||
"buildImage": {
|
||||
"$id": "#/properties/buildImage",
|
||||
"type": "string",
|
||||
"title": "Build image",
|
||||
"description": "The image that will be used for the build proccess",
|
||||
"default":"bitnami/git"
|
||||
},
|
||||
"buildTag": {
|
||||
"$id": "#/properties/buildTag",
|
||||
"type": "string",
|
||||
"title": "Image tag",
|
||||
"default": "latest"
|
||||
},
|
||||
"buildScript": {
|
||||
"$id": "#/properties/buildScript",
|
||||
"type": "string",
|
||||
"title": "Build script",
|
||||
"description": "Commands required for the build to be completed",
|
||||
"default": "# !/usr/bin/env bash\n# pre -reqs\napt-get update && apt-get install -y wget\n\n# Setting up Hugo \nwget https://github.com/gohugoio/hugo/releases/download/v0.111.3/hugo_0.111.3_Linux-64bit.tar.gz &&\ntar -xzf hugo_0.111.3_Linux-64bit.tar.gz &&\nchmod +x hugo\n\n./hugo"
|
||||
|
||||
},
|
||||
"builtAssets": {
|
||||
"$id": "#/properties/builtAssets",
|
||||
"type": "string",
|
||||
"title": "Built assets",
|
||||
"description": "The folder containing the build's generated files",
|
||||
"default": "public/"
|
||||
},
|
||||
"ingress": {
|
||||
"$id": "#/properties/ingress",
|
||||
"type": "object",
|
||||
"title": "Incoming traffic",
|
||||
"description": "",
|
||||
"default": {},
|
||||
"examples": [
|
||||
{
|
||||
"tlsEnabled": false,
|
||||
"annotations": {
|
||||
"kubernetes.io/ingress.class": "nginx"
|
||||
},
|
||||
"host": "my-release.mycompany.com"
|
||||
}
|
||||
],
|
||||
"required": [],
|
||||
"properties": {
|
||||
"host": {
|
||||
"$id": "#/properties/ingress/properties/host",
|
||||
"type": "string",
|
||||
"title": "Host Name",
|
||||
"description": "Where your application will be accessible",
|
||||
"default": "",
|
||||
"examples": [
|
||||
"my-release.mycompany.com"
|
||||
]
|
||||
},
|
||||
"path": {
|
||||
"$id": "#/properties/ingress/properties/ingressPath",
|
||||
"type": "string",
|
||||
"title": "Path",
|
||||
"description": "The API path where your service is accessible",
|
||||
"default": "/",
|
||||
"examples": [
|
||||
"/api/myservice"
|
||||
]
|
||||
},
|
||||
"tlsEnabled": {
|
||||
"$id": "#/properties/ingress/properties/tlsEnabled",
|
||||
"type": "boolean",
|
||||
"title": "HTTPS",
|
||||
"description": "",
|
||||
"default": false,
|
||||
"examples": [
|
||||
false
|
||||
]
|
||||
},
|
||||
"annotations": {
|
||||
"$id": "#/properties/ingress/properties/annotations",
|
||||
"type": "object",
|
||||
"title": "Annotations",
|
||||
"description": "Annotations are used to control ingress behavior. See the full list for the Ingress Nginx project at https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/. Use the `cert-manager.io/cluster-issuer:\"letsencrypt\"` one to request TLS certificates, `kubernetes.io/ingress.class: \"nginx\"` to select an ingress controller.",
|
||||
"default": {},
|
||||
"examples": [
|
||||
{
|
||||
"kubernetes.io/ingress.class": "nginx"
|
||||
}
|
||||
],
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
"additionalProperties": true
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
# Default values for static-site.
|
||||
# This is a YAML-formatted file.
|
||||
# Declare variables to be passed into your templates.
|
||||
|
||||
replicaCount: 1
|
||||
|
||||
image:
|
||||
repository: nginx
|
||||
tag: latest
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
imagePullSecrets: []
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
|
||||
serviceAccount:
|
||||
# Specifies whether a service account should be created
|
||||
create: true
|
||||
# Annotations to add to the service account
|
||||
annotations: {}
|
||||
# The name of the service account to use.
|
||||
# If not set and create is true, a name is generated using the fullname template
|
||||
name: ""
|
||||
|
||||
podAnnotations: {}
|
||||
|
||||
podSecurityContext: {}
|
||||
# fsGroup: 2000
|
||||
|
||||
securityContext:
|
||||
# capabilities:
|
||||
# drop:
|
||||
# - ALL
|
||||
# readOnlyRootFilesystem: true
|
||||
# runAsNonRoot: true
|
||||
runAsUser: 0
|
||||
|
||||
service:
|
||||
type: ClusterIP
|
||||
port: 80
|
||||
|
||||
# ingress:
|
||||
# host: dummyapp.127.0.0.1.nip.io
|
||||
# ingressClassName: nginx
|
||||
# tlsEnabled: false
|
||||
# annotations:
|
||||
# cert-manager.io/cluster-issuer: letsencrypt-staging
|
||||
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: 200m
|
||||
memory: 200Mi
|
||||
limits:
|
||||
cpu: 200m
|
||||
memory: 200Mi
|
||||
|
||||
nodeSelector: {}
|
||||
|
||||
tolerations: []
|
||||
|
||||
affinity: {}
|
||||
|
||||
# values to build and deploy static sites
|
||||
gitCloneUrl: https://github.com/gimlet-io/hugo-site.git
|
||||
buildImage: bitnami/git # the image must have git installed
|
||||
buildTag: latest
|
||||
buildScript: |
|
||||
# !/usr/bin/env bash
|
||||
# pre -reqs
|
||||
apt-get update && apt-get install -y wget
|
||||
|
||||
# Setting up Hugo
|
||||
wget https://github.com/gohugoio/hugo/releases/download/v0.111.3/hugo_0.111.3_Linux-64bit.tar.gz &&
|
||||
tar -xzf hugo_0.111.3_Linux-64bit.tar.gz &&
|
||||
chmod +x hugo
|
||||
|
||||
./hugo
|
||||
builtAssets: public/
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+523
-61
@@ -2,21 +2,231 @@ apiVersion: v1
|
||||
entries:
|
||||
cron-job:
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.748924271Z"
|
||||
created: "2023-03-30T12:04:56.106345761Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.2.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: ccb38e7b1d22b8829c4436cd25d91650a6b03f56b333a0ac87afd992dd6d57a0
|
||||
name: cron-job
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/cron-job-0.46.0.tgz
|
||||
version: 0.46.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.105778066Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.2.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 22bbb11f3c5ff5c7618cda3d311bef56a3bef0223292d61c7b4380cc5dab37f4
|
||||
name: cron-job
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/cron-job-0.45.0.tgz
|
||||
version: 0.45.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.105221872Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.2.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: d87617be659d439d5c5fabc45cc9a8277cb86b97b99118ae1d9d05c74e807e5f
|
||||
name: cron-job
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/cron-job-0.44.0.tgz
|
||||
version: 0.44.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.104648777Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.2.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 66e0c493901d433dc9db3b186c7fbae7018cd2dc0ddc7cab70a146496c706601
|
||||
name: cron-job
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/cron-job-0.43.0.tgz
|
||||
version: 0.43.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.104066483Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.2.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: abf83fbf901cd5bf40a3875eb3ed3490ef7ad7535bd07a797fb1cfb87ba7ad4d
|
||||
name: cron-job
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/cron-job-0.42.0.tgz
|
||||
version: 0.42.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.103501888Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.1.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 6e8a391044530a7d7480bfb5842c9ba086568d4025a3ba4471b795cb565ccdb4
|
||||
digest: dafa5373aa5e5153fa6be65a3d09b1ad6db2316f76889b4168fe81d3ed38484b
|
||||
name: cron-job
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/cron-job-0.41.0.tgz
|
||||
version: 0.41.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.102968094Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.1.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 13750b39f8fecf72bd7a94bffbc6700e2c10df73527d7f8878cc7adbe0e86dbf
|
||||
name: cron-job
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/cron-job-0.40.0.tgz
|
||||
version: 0.40.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.102404899Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.1.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 6fb6e912f104fddced69577eae37b884496d6d3ca469adb3cf9c21a119c1f5a2
|
||||
name: cron-job
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/cron-job-0.39.0.tgz
|
||||
version: 0.39.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.101783205Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.1.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 677111225bcba92cf711236c19ff7c41e203de2074c054a036275d55c99ede03
|
||||
name: cron-job
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/cron-job-0.38.0.tgz
|
||||
version: 0.38.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.101094212Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.1.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 0b4e969d361df6daafe5d267c1f2ff4c1aede3423c18255eaa2a489600dd31f9
|
||||
name: cron-job
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/cron-job-0.37.0.tgz
|
||||
version: 0.37.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.099472328Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.1.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 938ddcad76bc85b54870129bb042c6b5faab5e60f23fe79ac22fe9ea58686e03
|
||||
name: cron-job
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/cron-job-0.36.0.tgz
|
||||
version: 0.36.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.09823384Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.1.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 9e864df616e71481dadadc9e39c08ae8d5dcc47ebc3e77158a81044dc4027d6c
|
||||
name: cron-job
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/cron-job-0.35.0.tgz
|
||||
version: 0.35.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.097696145Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.1.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 39e0d49e0e53c56911c4122541a454e1d87df444c80e9580c31330a4d0ea0299
|
||||
name: cron-job
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/cron-job-0.34.0.tgz
|
||||
version: 0.34.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.09716805Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.1.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: a271e86592e89095de4f5130a7603785959f6352609868116b4501f0c7db2985
|
||||
name: cron-job
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/cron-job-0.33.0.tgz
|
||||
version: 0.33.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.096634355Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.1.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 65730ad010bfaf7cc4771d1fc0d9f76dc952664f51e66f5e53011fa24467c81d
|
||||
name: cron-job
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/cron-job-0.32.0.tgz
|
||||
version: 0.32.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.09609656Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.1.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: cc34a31277125ef6554ca86361bddf94d50c8f612770567afd89b7eebd1970ec
|
||||
name: cron-job
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/cron-job-0.2.2.tgz
|
||||
version: 0.2.2
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.748096055Z"
|
||||
created: "2023-03-30T12:04:56.095510866Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
@@ -30,7 +240,7 @@ entries:
|
||||
- https://chart.onechart.dev/cron-job-0.2.1.tgz
|
||||
version: 0.2.1
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.746625627Z"
|
||||
created: "2023-03-30T12:04:56.094932072Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
@@ -44,7 +254,7 @@ entries:
|
||||
- https://chart.onechart.dev/cron-job-0.2.0.tgz
|
||||
version: 0.2.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.745301201Z"
|
||||
created: "2023-03-30T12:04:56.094387477Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 02a23d8b4177290a518ee5de6a5e1f557f7409f94b2e04f23fedea193464188f
|
||||
@@ -54,7 +264,7 @@ entries:
|
||||
- https://chart.onechart.dev/cron-job-0.1.2.tgz
|
||||
version: 0.1.2
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.744933494Z"
|
||||
created: "2023-03-30T12:04:56.09412898Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: afab9ba533a4686827b54b0dad64f5bbf76f7fbc075e35fb1034689db9ab9dda
|
||||
@@ -64,7 +274,7 @@ entries:
|
||||
- https://chart.onechart.dev/cron-job-0.1.1.tgz
|
||||
version: 0.1.1
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.744553787Z"
|
||||
created: "2023-03-30T12:04:56.093816183Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 01f9fa40c1c4085d7688474ab00c9e9d21bd1d0793db6b75f2edda0e18456282
|
||||
@@ -75,16 +285,34 @@ entries:
|
||||
version: 0.1.0
|
||||
namespaces:
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.749720986Z"
|
||||
created: "2023-03-30T12:04:56.107534449Z"
|
||||
description: Chart to create namespaces and their defaults
|
||||
digest: a44eb2785c8769588822a07185a736499b00d244448f52e31b0bb9757228f468
|
||||
digest: fc0d317e7482cb655990dc2cf1e703556bfe02394a3937462c4b18fce358aa72
|
||||
name: namespaces
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/namespaces-0.3.0.tgz
|
||||
version: 0.3.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.107327551Z"
|
||||
description: Chart to create namespaces and their defaults
|
||||
digest: a8e28dab9dc1a0044e75fbf8dd6d89c760c6fe9caa76bf16076cf5ecb311e808
|
||||
name: namespaces
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/namespaces-0.2.1.tgz
|
||||
version: 0.2.1
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.106912455Z"
|
||||
description: Chart to create namespaces and their defaults
|
||||
digest: 9539bfd2fde6d8f2b36ffec99c8a3a3eb7887462e98ee740b0ae0ea2b16b96b6
|
||||
name: namespaces
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/namespaces-0.2.0.tgz
|
||||
version: 0.2.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.749240877Z"
|
||||
created: "2023-03-30T12:04:56.106553359Z"
|
||||
description: Chart to create namespaces and their defaults
|
||||
digest: 88b06d78a9d1bda6f2ee15b1fad7f25399ac25c2320fb9a8dfa1a4fd14afdf6e
|
||||
name: namespaces
|
||||
@@ -94,7 +322,231 @@ entries:
|
||||
version: 0.1.0
|
||||
onechart:
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.775646583Z"
|
||||
created: "2023-03-30T12:04:56.161432425Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.2.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 3f5f552b4f8cdc72e26041dee2c20b1349552b9275530303a27f353a844e84df
|
||||
name: onechart
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/onechart-0.46.0.tgz
|
||||
version: 0.46.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.160616833Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.2.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 8c59efd7ed0da48cc0cba293f518303715729ee2ddcd2d600292c14a6660e097
|
||||
name: onechart
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/onechart-0.45.0.tgz
|
||||
version: 0.45.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.159736241Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.2.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: e84a1dde081eff22800ceec11aab3bc69b3fd16b39303f49ccff70c1c0570ee7
|
||||
name: onechart
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/onechart-0.44.0.tgz
|
||||
version: 0.44.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.158907049Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.2.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 7a9a4fd45b9649090a1d15fd574dccfb36382bc98354e75e9034eb08efb4b2eb
|
||||
name: onechart
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/onechart-0.43.0.tgz
|
||||
version: 0.43.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.158073257Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.2.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 9db2ac0e9e4df53f6cb2731bccb168cec9c3f676ef80c8dcaa709012a63814a5
|
||||
name: onechart
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/onechart-0.42.0.tgz
|
||||
version: 0.42.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.157284565Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.1.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 79b8c435dd9736654f5023829223ebf3302a082db61f464cc4d2a5d631efe4b6
|
||||
name: onechart
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/onechart-0.41.0.tgz
|
||||
version: 0.41.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.156297475Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.1.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 18c7611d7591b10d5f68a4ca44b4fecbc8b1635797b86053fe23bc0d2b71166c
|
||||
name: onechart
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/onechart-0.40.0.tgz
|
||||
version: 0.40.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.155063787Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.1.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 99045bbe5babfa5be9f41de300f7044f690a1e0ae186ec19075c0485afd45b42
|
||||
name: onechart
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/onechart-0.39.0.tgz
|
||||
version: 0.39.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.1536372Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.1.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 7e05eaddc56a29c6b762b36a485592ddb32f4cf1684dda79dc8fe069c34a68f2
|
||||
name: onechart
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/onechart-0.38.0.tgz
|
||||
version: 0.38.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.152242714Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.1.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 8c79b4a9a53ce4b2d9bd5724b156fdeafa9f9604690c365592d4ddd87ce799d0
|
||||
name: onechart
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/onechart-0.37.0.tgz
|
||||
version: 0.37.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.151466022Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.1.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 3882c5dad80044c1fd854e06ee329167c9635354a5f2ba1c20bd683c0c12090f
|
||||
name: onechart
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/onechart-0.36.0.tgz
|
||||
version: 0.36.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.150699129Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.1.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 7392bba3467e4c28ffa4c868c7580852dd35dc7e0ff4956a2546adc06c7a29a7
|
||||
name: onechart
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/onechart-0.35.0.tgz
|
||||
version: 0.35.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.149947336Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.1.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 4eb83c83a38c56eb7883949186dc4e91c86da9dc51d6c1ffb962996004ddcd19
|
||||
name: onechart
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/onechart-0.34.0.tgz
|
||||
version: 0.34.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.149195344Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.1.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: adc67be9607bb6c32a7e3e4c16098c6c2e7d4804935db061cc06df79c1af2a08
|
||||
name: onechart
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/onechart-0.33.0.tgz
|
||||
version: 0.33.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.148447751Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.1.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: d2d691f32f0fb95e1ec16686084a7c0a0e71a4c8094124c7ce851dd5ff486059
|
||||
name: onechart
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/onechart-0.32.0.tgz
|
||||
version: 0.32.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.147666959Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
version: 0.1.0
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: b39a3dd9e29914d6b2c9b8b35055c07674e8ee22efbc1d3c5090f1f5f786dfe9
|
||||
name: onechart
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/onechart-0.31.0.tgz
|
||||
version: 0.31.0
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.146934166Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
@@ -108,7 +560,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.30.0.tgz
|
||||
version: 0.30.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.774015352Z"
|
||||
created: "2023-03-30T12:04:56.14543228Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
@@ -122,7 +574,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.29.0.tgz
|
||||
version: 0.29.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.773214536Z"
|
||||
created: "2023-03-30T12:04:56.144378091Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
@@ -136,7 +588,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.28.0.tgz
|
||||
version: 0.28.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.772423421Z"
|
||||
created: "2023-03-30T12:04:56.128636644Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
@@ -150,7 +602,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.27.0.tgz
|
||||
version: 0.27.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.771432902Z"
|
||||
created: "2023-03-30T12:04:56.127905651Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
@@ -164,7 +616,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.27.0-rc3.tgz
|
||||
version: 0.27.0-rc3
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.770341081Z"
|
||||
created: "2023-03-30T12:04:56.127204458Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
@@ -178,7 +630,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.27.0-rc2.tgz
|
||||
version: 0.27.0-rc2
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.769017756Z"
|
||||
created: "2023-03-30T12:04:56.126503665Z"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../common
|
||||
@@ -192,7 +644,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.27.0-rc1.tgz
|
||||
version: 0.27.0-rc1
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.76818564Z"
|
||||
created: "2023-03-30T12:04:56.125791971Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 3563a30dba0b6a9c7a1a3df358ca5c41e952882fd2f1bbe33c8103536870d651
|
||||
@@ -202,7 +654,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.26.0.tgz
|
||||
version: 0.26.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.767526527Z"
|
||||
created: "2023-03-30T12:04:56.125264377Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: efcbabde8193f1c3ecb34e4ede8f5efead1f77d8096180f4e8640ff94df07461
|
||||
@@ -212,7 +664,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.25.0.tgz
|
||||
version: 0.25.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.766751012Z"
|
||||
created: "2023-03-30T12:04:56.124738482Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 59f1389268efb3d970f84cae968e3ecbde57015df1201411f9f46becb4b09844
|
||||
@@ -222,7 +674,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.24.1.tgz
|
||||
version: 0.24.1
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.766168401Z"
|
||||
created: "2023-03-30T12:04:56.124205987Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 74b6fdf49a9fa5327fc0639f1d97f0cf553f89030c01379f3c91a5adb6f8a0f1
|
||||
@@ -232,7 +684,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.24.0.tgz
|
||||
version: 0.24.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.76556849Z"
|
||||
created: "2023-03-30T12:04:56.123639092Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: f8e444c2d5c5a4e73b76a971effda5246d3200427be45c2fb546bc990f197ecc
|
||||
@@ -242,7 +694,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.23.0.tgz
|
||||
version: 0.23.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.764996279Z"
|
||||
created: "2023-03-30T12:04:56.123108398Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: dfad2865c3eb54f0366300ef63b8ba1863ca69aa27e5ca5d3512c0d799d004d3
|
||||
@@ -252,7 +704,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.22.0.tgz
|
||||
version: 0.22.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.764410968Z"
|
||||
created: "2023-03-30T12:04:56.122494704Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 1b837cdefcb7025c40bffdd620a0f116df5ccb9023ac6a8c538bd8e77b3eb80a
|
||||
@@ -262,7 +714,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.21.0.tgz
|
||||
version: 0.21.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.763816756Z"
|
||||
created: "2023-03-30T12:04:56.120607222Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: a4f5741b46b89cd4328fbd96f96d85d53bae64b526730de5097ec33639c9c54f
|
||||
@@ -272,7 +724,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.20.0.tgz
|
||||
version: 0.20.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.762941939Z"
|
||||
created: "2023-03-30T12:04:56.118870839Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 59dd16db4f8519d3922da349aabcc2daec8385fc8a98d0f3163a84b98cc12f61
|
||||
@@ -282,7 +734,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.19.0.tgz
|
||||
version: 0.19.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.762285427Z"
|
||||
created: "2023-03-30T12:04:56.118195845Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 74c4c6a448e66929dfcafc5a641b5bdbaa8af6832c6065b02ce756dfeb3fc438
|
||||
@@ -292,7 +744,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.18.0.tgz
|
||||
version: 0.18.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.761680515Z"
|
||||
created: "2023-03-30T12:04:56.117592451Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: e1ba0bb54c3a3e13b661bb608839c7013d12e24d0437581ebfdbf5ce4a283d4d
|
||||
@@ -302,7 +754,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.17.0.tgz
|
||||
version: 0.17.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.761057503Z"
|
||||
created: "2023-03-30T12:04:56.117015057Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 596350a4977b305e4d5aae16dd8dcca62a17ea5cec9f444aacd82a12d6b3dcfe
|
||||
@@ -312,7 +764,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.16.0.tgz
|
||||
version: 0.16.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.760436291Z"
|
||||
created: "2023-03-30T12:04:56.116460262Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: d1a5a9e9bff274f32f6849bc58b201c7886240b94dd6b70b5cf3411d9ad03393
|
||||
@@ -322,7 +774,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.15.3.tgz
|
||||
version: 0.15.3
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.759286469Z"
|
||||
created: "2023-03-30T12:04:56.115902168Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 626410479f67bbbfa7e7fc94f6dfd8aae50a2bdf9fc72ec395c835dacbd5dbe7
|
||||
@@ -332,7 +784,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.15.2.tgz
|
||||
version: 0.15.2
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.758039645Z"
|
||||
created: "2023-03-30T12:04:56.115390773Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: e6d237aff4abedee6deb5ba57e8183c7598b255d40afdd04c03f73014f706aa3
|
||||
@@ -342,7 +794,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.15.1.tgz
|
||||
version: 0.15.1
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.756823922Z"
|
||||
created: "2023-03-30T12:04:56.114882778Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: d45fc4cc214bc94e4c2c10d6432562d7e65ee5e55226f677aafdfe101d7f6e7f
|
||||
@@ -352,7 +804,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.15.0.tgz
|
||||
version: 0.15.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.756024007Z"
|
||||
created: "2023-03-30T12:04:56.114379083Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 7e61a72a3400e09c44539094558a2084621239015132d20551c4593be3b5bede
|
||||
@@ -362,7 +814,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.14.0.tgz
|
||||
version: 0.14.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.755236592Z"
|
||||
created: "2023-03-30T12:04:56.113889887Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 743a9b552233770713f0c22edbe8cf4f55c890a59106e1f33055c1cb31be5a27
|
||||
@@ -372,7 +824,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.13.2.tgz
|
||||
version: 0.13.2
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.754513078Z"
|
||||
created: "2023-03-30T12:04:56.113393792Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 02bf9537e13cea0da9dc3bfbcdd45d51576354cb18b7c1c7cec76f829e20105f
|
||||
@@ -382,7 +834,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.13.1.tgz
|
||||
version: 0.13.1
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.753826665Z"
|
||||
created: "2023-03-30T12:04:56.112911697Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 5183ed825c4f255ca5a4f0ffeb8c92bbad3c43b42fc1b798f1f1fc6de2a30bef
|
||||
@@ -392,7 +844,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.13.0.tgz
|
||||
version: 0.13.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.753203353Z"
|
||||
created: "2023-03-30T12:04:56.112437201Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: e131a502d12a6b074453f1da8d0d1ca7145e80a025f31252b24cc3d62375a4c1
|
||||
@@ -402,7 +854,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.12.2.tgz
|
||||
version: 0.12.2
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.752658742Z"
|
||||
created: "2023-03-30T12:04:56.111969206Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 8e1a25d18a546c4ec5e970991301a08e38495a964a8f6e0a2ee97f92c41c9691
|
||||
@@ -412,7 +864,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.12.1.tgz
|
||||
version: 0.12.1
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.752121532Z"
|
||||
created: "2023-03-30T12:04:56.111431511Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: f38a6f2fbf5c847b00a9140ecd004e0bf667d859aa83d8dac4a2d0eecd1a361f
|
||||
@@ -422,7 +874,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.12.0.tgz
|
||||
version: 0.12.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.751600322Z"
|
||||
created: "2023-03-30T12:04:56.110842317Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 75c16f84b5e99aad5aa7203f5c1ce2a9589d85b89afec4e161a2e0344a522c17
|
||||
@@ -432,7 +884,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.11.0.tgz
|
||||
version: 0.11.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.751021711Z"
|
||||
created: "2023-03-30T12:04:56.110286022Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 40f1166e858d35cb237debd1390187884641b0e8c29a80aaa195b66b0ee73516
|
||||
@@ -442,7 +894,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.10.0.tgz
|
||||
version: 0.10.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.779534358Z"
|
||||
created: "2023-03-30T12:04:56.16596978Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: cb42b08b463b401f6718bba7c171ee55c173021c5101ea1b3068ef3899a6e164
|
||||
@@ -452,7 +904,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.9.0.tgz
|
||||
version: 0.9.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.779078749Z"
|
||||
created: "2023-03-30T12:04:56.165556584Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: ce046d209a9e8fa07766712492cc896451473fafca129dbc9c675107d0e39c52
|
||||
@@ -462,7 +914,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.8.2.tgz
|
||||
version: 0.8.2
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.778685941Z"
|
||||
created: "2023-03-30T12:04:56.165179188Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 422d7e6ea1bed530d4cd5e23417b229772a6fe2e835828ca282a3e6c9b646b2b
|
||||
@@ -472,7 +924,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.8.1.tgz
|
||||
version: 0.8.1
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.778296834Z"
|
||||
created: "2023-03-30T12:04:56.164641393Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 8001bd02fc90ad66da7941c136ee8d0e665ea90b6e1ac27d82b048f2b12b3964
|
||||
@@ -482,7 +934,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.8.0.tgz
|
||||
version: 0.8.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.777896026Z"
|
||||
created: "2023-03-30T12:04:56.163842901Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: d1454b430eb7131d0d450f7c0a8a6698278893c61e03d48649a8112dfcf42b72
|
||||
@@ -492,7 +944,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.7.1.tgz
|
||||
version: 0.7.1
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.777532719Z"
|
||||
created: "2023-03-30T12:04:56.163381806Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 4bf90835f287917671ec40b5b395da9332cf18e70f248d250f8d5a72360dcb4e
|
||||
@@ -502,7 +954,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.7.0.tgz
|
||||
version: 0.7.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.777175812Z"
|
||||
created: "2023-03-30T12:04:56.162870011Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 0cade489fc74a040f5e7f71d01c6fa00d3f68b4752a4d8234ccf2c1504b4c0a1
|
||||
@@ -512,7 +964,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.6.1.tgz
|
||||
version: 0.6.1
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.776859606Z"
|
||||
created: "2023-03-30T12:04:56.162288016Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: d607820a7e104eaaa88c153c1f2f7f409ef4c612ad747caeb3a671cf3fce03d4
|
||||
@@ -522,7 +974,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.6.0.tgz
|
||||
version: 0.6.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.7765451Z"
|
||||
created: "2023-03-30T12:04:56.161969919Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: ddf7cf87402095d62855898744b805115fdf86c4b295e0a4def0c50408fd9138
|
||||
@@ -532,7 +984,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.5.1.tgz
|
||||
version: 0.5.1
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.776253095Z"
|
||||
created: "2023-03-30T12:04:56.161703122Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: adf3c2cf3a27e58ec75620599e0e1c2031a7410a061a590317beeff6d8a9ad69
|
||||
@@ -542,7 +994,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.5.0.tgz
|
||||
version: 0.5.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.775950989Z"
|
||||
created: "2023-03-30T12:04:56.155399783Z"
|
||||
description: One chart to rule them all. A generic Helm chart for your application
|
||||
deployments. Because no-one can remember the Kubernetes yaml syntax.
|
||||
digest: 8dab33263c4e632aeb4656c666871440b589497b70e76a1d6c3a5e3db1a30bba
|
||||
@@ -552,7 +1004,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.4.0.tgz
|
||||
version: 0.4.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.774825767Z"
|
||||
created: "2023-03-30T12:04:56.146180873Z"
|
||||
description: A generic Helm chart for your application deployments
|
||||
digest: fbaf6139e0ef8ad9a87cc1e41a97c7d25fdcf7ea17fa6364952f1a851a87480a
|
||||
name: onechart
|
||||
@@ -561,7 +1013,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.3.2.tgz
|
||||
version: 0.3.2
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.774568462Z"
|
||||
created: "2023-03-30T12:04:56.145942175Z"
|
||||
description: A generic Helm chart for your application deployments
|
||||
digest: bd6f5b1865ab9b05fc6925c163ab8045235bd2723dba31f09d5083d24322d1f8
|
||||
name: onechart
|
||||
@@ -570,7 +1022,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.3.1.tgz
|
||||
version: 0.3.1
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.774304757Z"
|
||||
created: "2023-03-30T12:04:56.145698378Z"
|
||||
description: A generic Helm chart for your application deployments
|
||||
digest: c79cef21eceab948144a289298cdf1e20e77a0782a883d7d65f9e709ccbbc271
|
||||
name: onechart
|
||||
@@ -579,7 +1031,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.3.0.tgz
|
||||
version: 0.3.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.763216845Z"
|
||||
created: "2023-03-30T12:04:56.119188436Z"
|
||||
description: A generic Helm chart for your application deployments
|
||||
digest: dd814ac5d08d5e6163a1b769df6803f5cb0f09d906045086dfcc5be522bb1ec3
|
||||
name: onechart
|
||||
@@ -588,7 +1040,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.2.0.tgz
|
||||
version: 0.2.0
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.750545502Z"
|
||||
created: "2023-03-30T12:04:56.109081734Z"
|
||||
description: A generic Helm chart for your application deployments
|
||||
digest: e46062df8053840cbfbba26c0a66a843a79f15a0b43a145ed019327513bd5098
|
||||
name: onechart
|
||||
@@ -597,7 +1049,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.1.2.tgz
|
||||
version: 0.1.2
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.750286397Z"
|
||||
created: "2023-03-30T12:04:56.108671438Z"
|
||||
description: A generic Helm chart for your application deployments
|
||||
digest: a7bbc8b7dcc008e89156cd1830282b7d39c0592e82ccdcefb77a25a42eca2a3d
|
||||
name: onechart
|
||||
@@ -606,7 +1058,7 @@ entries:
|
||||
- https://chart.onechart.dev/onechart-0.1.1.tgz
|
||||
version: 0.1.1
|
||||
- apiVersion: v2
|
||||
created: "2021-09-18T13:26:58.750004491Z"
|
||||
created: "2023-03-30T12:04:56.108226942Z"
|
||||
description: A generic Helm chart for your application deployments
|
||||
digest: 1ed8c0645abdae6c950526e9c5410dc056847a11700dc7def5f1c55eb7de0cd4
|
||||
name: onechart
|
||||
@@ -614,4 +1066,14 @@ entries:
|
||||
urls:
|
||||
- https://chart.onechart.dev/onechart-0.1.0.tgz
|
||||
version: 0.1.0
|
||||
generated: "2021-09-18T13:26:58.743983876Z"
|
||||
static-site:
|
||||
- apiVersion: v2
|
||||
created: "2023-03-30T12:04:56.166434176Z"
|
||||
description: Chart to build and deploy static sites
|
||||
digest: f8946fb4a7c6139ae70dc5327a3814b1c23a5b1c9456850f6b520e9ca2721cfe
|
||||
name: static-site
|
||||
type: application
|
||||
urls:
|
||||
- https://chart.onechart.dev/static-site-0.1.0.tgz
|
||||
version: 0.1.0
|
||||
generated: "2023-03-30T12:04:56.093371287Z"
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -7,3 +7,12 @@ gitSha: xyz
|
||||
|
||||
vars:
|
||||
MY_VAR: "value"
|
||||
|
||||
volumes:
|
||||
- name: testing
|
||||
path: /deleteme
|
||||
hostPath:
|
||||
path: /deleteme
|
||||
- name: empty
|
||||
path: /deleteme2
|
||||
emptyDir: true
|
||||
@@ -1,5 +1,5 @@
|
||||
[[redirects]]
|
||||
from = "/*"
|
||||
to = "https://gimlet.io/onechart/getting-started"
|
||||
to = "https://gimlet.io/docs/onechart-reference"
|
||||
status = 301
|
||||
force = true
|
||||
|
||||
Reference in New Issue
Block a user