mirror of
https://github.com/bjw-s-labs/helm-charts.git
synced 2025-07-03 08:37:03 +02:00
feat(k8s-ycl)!: Archive
This commit is contained in:
parent
8b33237e27
commit
1cbcf20cfe
10 changed files with 0 additions and 0 deletions
|
@ -1,30 +0,0 @@
|
|||
# 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
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
.vscode/
|
||||
# OWNERS file for Kubernetes
|
||||
OWNERS
|
||||
|
||||
# helm-docs templates
|
||||
*.gotmpl
|
||||
|
||||
# helm unit tests
|
||||
tests/
|
|
@ -1,30 +0,0 @@
|
|||
---
|
||||
apiVersion: v2
|
||||
description: Kubernetes admission controller to remove CPU limits from Pods.
|
||||
name: k8s-ycl
|
||||
version: 1.3.3
|
||||
appVersion: v0.2.0
|
||||
kubeVersion: ">=1.22.0-0"
|
||||
sources:
|
||||
- https://github.com/bjw-s/k8s-ycl
|
||||
keywords:
|
||||
- cpu
|
||||
- resources
|
||||
- limits
|
||||
- admission
|
||||
- controller
|
||||
maintainers:
|
||||
- name: bjw-s
|
||||
email: me@bjw-s.dev
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://bjw-s.github.io/helm-charts
|
||||
version: 3.6.1
|
||||
annotations:
|
||||
artifacthub.io/changes: |-
|
||||
- kind: changed
|
||||
description: |
|
||||
Update common library to 3.6.1
|
||||
artifacthub.io/links: |
|
||||
- name: "source"
|
||||
url: "https://github.com/bjw-s/k8s-ycl"
|
|
@ -1,71 +0,0 @@
|
|||
# k8s-ycl
|
||||
|
||||
 
|
||||
|
||||
Kubernetes admission controller to remove CPU limits from Pods.
|
||||
|
||||
## Maintainers
|
||||
|
||||
| Name | Email | Url |
|
||||
| ---- | ------ | --- |
|
||||
| bjw-s | <me@bjw-s.dev> | |
|
||||
|
||||
## Source Code
|
||||
|
||||
* <https://github.com/bjw-s/k8s-ycl>
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>=1.22.0-0`
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://bjw-s.github.io/helm-charts | common | 3.6.1 |
|
||||
|
||||
## Values
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| controllers.main.containers.main.image.pullPolicy | string | `"Always"` | |
|
||||
| controllers.main.containers.main.image.repository | string | `"ghcr.io/bjw-s/k8s-ycl"` | |
|
||||
| controllers.main.containers.main.image.tag | string | `"{{ .Chart.AppVersion }}"` | |
|
||||
| controllers.main.containers.main.probes.liveness.custom | bool | `true` | |
|
||||
| controllers.main.containers.main.probes.liveness.enabled | bool | `true` | |
|
||||
| controllers.main.containers.main.probes.liveness.spec.failureThreshold | int | `3` | |
|
||||
| controllers.main.containers.main.probes.liveness.spec.httpGet.path | string | `"/healthz"` | |
|
||||
| controllers.main.containers.main.probes.liveness.spec.httpGet.port | int | `8081` | |
|
||||
| controllers.main.containers.main.probes.liveness.spec.initialDelaySeconds | int | `0` | |
|
||||
| controllers.main.containers.main.probes.liveness.spec.periodSeconds | int | `10` | |
|
||||
| controllers.main.containers.main.probes.liveness.spec.timeoutSeconds | int | `1` | |
|
||||
| controllers.main.containers.main.probes.readiness.custom | bool | `true` | |
|
||||
| controllers.main.containers.main.probes.readiness.enabled | bool | `true` | |
|
||||
| controllers.main.containers.main.probes.readiness.spec.failureThreshold | int | `3` | |
|
||||
| controllers.main.containers.main.probes.readiness.spec.httpGet.path | string | `"/readyz"` | |
|
||||
| controllers.main.containers.main.probes.readiness.spec.httpGet.port | int | `8081` | |
|
||||
| controllers.main.containers.main.probes.readiness.spec.initialDelaySeconds | int | `0` | |
|
||||
| controllers.main.containers.main.probes.readiness.spec.periodSeconds | int | `10` | |
|
||||
| controllers.main.containers.main.probes.readiness.spec.timeoutSeconds | int | `1` | |
|
||||
| controllers.main.containers.main.probes.startup.custom | bool | `true` | |
|
||||
| controllers.main.containers.main.probes.startup.enabled | bool | `true` | |
|
||||
| controllers.main.containers.main.probes.startup.spec.failureThreshold | int | `30` | |
|
||||
| controllers.main.containers.main.probes.startup.spec.httpGet.path | string | `"/healthz"` | |
|
||||
| controllers.main.containers.main.probes.startup.spec.httpGet.port | int | `8081` | |
|
||||
| controllers.main.containers.main.probes.startup.spec.initialDelaySeconds | int | `0` | |
|
||||
| controllers.main.containers.main.probes.startup.spec.periodSeconds | int | `5` | |
|
||||
| controllers.main.containers.main.probes.startup.spec.timeoutSeconds | int | `1` | |
|
||||
| controllers.main.strategy | string | `"RollingUpdate"` | |
|
||||
| persistence.certs.globalMounts[0].path | string | `"/tls"` | |
|
||||
| persistence.certs.name | string | `"{{ include \"k8s-ycl.servingCertificate\" . }}"` | |
|
||||
| persistence.certs.type | string | `"secret"` | |
|
||||
| service.main.controller | string | `"main"` | |
|
||||
| service.main.nameOverride | string | `"webhook"` | |
|
||||
| service.main.ports.http.port | int | `9443` | |
|
||||
| service.main.ports.metrics.port | int | `8080` | |
|
||||
| service.main.ports.probe.port | int | `8081` | |
|
||||
| serviceAccount.create | bool | `true` | |
|
||||
| webhook.ignoreOwnNamespace | bool | `true` | |
|
||||
| webhook.ignoredNamespaces[0] | string | `"kube-system"` | |
|
||||
| webhook.path | string | `"/mutate--v1-pod"` | |
|
||||
|
||||
----------------------------------------------
|
||||
Autogenerated from chart metadata using [helm-docs v1.13.1](https://github.com/norwoodj/helm-docs/releases/v1.13.1)
|
|
@ -1,2 +0,0 @@
|
|||
{{- define "k8s-ycl.hardcodedValues" -}}
|
||||
{{- end -}}
|
|
@ -1,44 +0,0 @@
|
|||
{{- define "k8s-ycl.init" -}}
|
||||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "bjw-s.common.loader.init" . }}
|
||||
|
||||
{{- $_ := include "k8s-ycl.hardcodedValues" . | fromYaml | merge .Values -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "k8s-ycl.webhookPort" -}}
|
||||
9443
|
||||
{{- end -}}
|
||||
|
||||
{{- define "k8s-ycl.webhookPath" -}}
|
||||
/mutate--v1-pod
|
||||
{{- end -}}
|
||||
|
||||
{{- define "k8s-ycl.ignoredNamespaces" -}}
|
||||
{{- $ownNamespace := $.Release.Namespace -}}
|
||||
{{- $ignoredNamespaces := list -}}
|
||||
{{- if $.Values.webhook.ignoreOwnNamespace -}}
|
||||
{{- $ignoredNamespaces = append $ignoredNamespaces $ownNamespace -}}
|
||||
{{- end -}}
|
||||
{{- with $.Values.webhook.ignoredNamespaces -}}
|
||||
{{- range . -}}
|
||||
{{- $ignoredNamespaces = append $ignoredNamespaces . -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- $ignoredNamespaces | uniq | toYaml -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "k8s-ycl.selfSignedIssuer" -}}
|
||||
{{ printf "%s-webhook-selfsign" (include "bjw-s.common.lib.chart.names.fullname" .) }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "k8s-ycl.rootCAIssuer" -}}
|
||||
{{ printf "%s-webhook-ca" (include "bjw-s.common.lib.chart.names.fullname" .) }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "k8s-ycl.rootCACertificate" -}}
|
||||
{{ printf "%s-webhook-ca" (include "bjw-s.common.lib.chart.names.fullname" .) }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "k8s-ycl.servingCertificate" -}}
|
||||
{{ printf "%s-webhook-tls" (include "bjw-s.common.lib.chart.names.fullname" .) }}
|
||||
{{- end -}}
|
|
@ -1,39 +0,0 @@
|
|||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "k8s-ycl.init" . -}}
|
||||
---
|
||||
apiVersion: admissionregistration.k8s.io/v1
|
||||
kind: MutatingWebhookConfiguration
|
||||
metadata:
|
||||
name: {{ include "bjw-s.common.lib.chart.names.fullname" . | quote }}
|
||||
{{- with (include "bjw-s.common.lib.metadata.allLabels" $ | fromYaml) }}
|
||||
labels: {{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
annotations:
|
||||
cert-manager.io/inject-ca-from: "{{ .Release.Namespace }}/{{ include "k8s-ycl.servingCertificate" . }}"
|
||||
webhooks:
|
||||
- name: "{{ include "bjw-s.common.lib.chart.names.fullname" . }}.svc.cluster.local"
|
||||
namespaceSelector:
|
||||
matchExpressions:
|
||||
- key: kubernetes.io/metadata.name
|
||||
operator: NotIn
|
||||
values: {{ include "k8s-ycl.ignoredNamespaces" . | nindent 10 }}
|
||||
clientConfig:
|
||||
service:
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
name: {{ include "bjw-s.common.lib.chart.names.fullname" . }}-webhook
|
||||
path: {{ include "k8s-ycl.webhookPath" . }}
|
||||
port: {{ include "k8s-ycl.webhookPort" . }}
|
||||
failurePolicy: Fail
|
||||
admissionReviewVersions: ["v1", "v1beta1"]
|
||||
sideEffects: None
|
||||
timeoutSeconds: 5
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
apiVersions:
|
||||
- v1
|
||||
operations:
|
||||
- CREATE
|
||||
- UPDATE
|
||||
resources:
|
||||
- pods
|
|
@ -1,6 +0,0 @@
|
|||
---
|
||||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "k8s-ycl.init" . }}
|
||||
|
||||
{{/* Render the templates */}}
|
||||
{{- include "bjw-s.common.loader.all" . }}
|
|
@ -1,62 +0,0 @@
|
|||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "k8s-ycl.init" . -}}
|
||||
---
|
||||
# Create a selfsigned Issuer, in order to create a root CA certificate for
|
||||
# signing webhook serving certificates
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Issuer
|
||||
metadata:
|
||||
name: {{ include "k8s-ycl.selfSignedIssuer" . }}
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
labels:
|
||||
{{- include "bjw-s.common.lib.metadata.allLabels" . | nindent 4 }}
|
||||
spec:
|
||||
selfSigned: {}
|
||||
---
|
||||
# Generate a CA Certificate used to sign certificates for the webhook
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: {{ include "k8s-ycl.rootCACertificate" . }}
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
labels:
|
||||
{{- include "bjw-s.common.lib.metadata.allLabels" . | nindent 4 }}
|
||||
spec:
|
||||
secretName: {{ include "k8s-ycl.rootCACertificate" . }}
|
||||
duration: 43800h # 5y
|
||||
issuerRef:
|
||||
name: {{ include "k8s-ycl.selfSignedIssuer" . }}
|
||||
kind: Issuer
|
||||
commonName: "ca.k8s-ycl.cert-manager"
|
||||
isCA: true
|
||||
---
|
||||
# Create an Issuer that uses the above generated CA certificate to issue certs
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Issuer
|
||||
metadata:
|
||||
name: {{ include "k8s-ycl.rootCAIssuer" . }}
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
labels:
|
||||
{{- include "bjw-s.common.lib.metadata.allLabels" . | nindent 4 }}
|
||||
spec:
|
||||
ca:
|
||||
secretName: {{ include "k8s-ycl.rootCACertificate" . }}
|
||||
---
|
||||
# Finally, generate a serving certificate for the webhook to use
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: {{ include "k8s-ycl.servingCertificate" . }}
|
||||
namespace: {{ .Release.Namespace | quote }}
|
||||
labels:
|
||||
{{- include "bjw-s.common.lib.metadata.allLabels" . | nindent 4 }}
|
||||
spec:
|
||||
secretName: {{ include "k8s-ycl.servingCertificate" . }}
|
||||
duration: 8760h # 1y
|
||||
issuerRef:
|
||||
name: {{ include "k8s-ycl.rootCAIssuer" . }}
|
||||
kind: Issuer
|
||||
dnsNames:
|
||||
- {{ include "bjw-s.common.lib.chart.names.fullname" . }}-webhook
|
||||
- {{ include "bjw-s.common.lib.chart.names.fullname" . }}-webhook.{{ .Release.Namespace }}
|
||||
- {{ include "bjw-s.common.lib.chart.names.fullname" . }}-webhook.{{ .Release.Namespace }}.svc
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
"$ref": "https://raw.githubusercontent.com/bjw-s/helm-charts/common-3.6.1/charts/library/common/values.schema.json"
|
||||
}
|
|
@ -1,75 +0,0 @@
|
|||
---
|
||||
# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/app-template-3.0.3/charts/other/app-template/schemas/helmrelease-helm-v2beta2.schema.json
|
||||
controllers:
|
||||
main:
|
||||
strategy: RollingUpdate
|
||||
containers:
|
||||
main:
|
||||
image:
|
||||
repository: ghcr.io/bjw-s/k8s-ycl
|
||||
tag: "{{ .Chart.AppVersion }}"
|
||||
pullPolicy: Always
|
||||
probes:
|
||||
liveness:
|
||||
enabled: true
|
||||
custom: true
|
||||
spec:
|
||||
httpGet:
|
||||
path: /healthz
|
||||
port: 8081
|
||||
initialDelaySeconds: 0
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 1
|
||||
failureThreshold: 3
|
||||
readiness:
|
||||
enabled: true
|
||||
custom: true
|
||||
spec:
|
||||
httpGet:
|
||||
path: /readyz
|
||||
port: 8081
|
||||
initialDelaySeconds: 0
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 1
|
||||
failureThreshold: 3
|
||||
startup:
|
||||
enabled: true
|
||||
custom: true
|
||||
spec:
|
||||
httpGet:
|
||||
path: /healthz
|
||||
port: 8081
|
||||
initialDelaySeconds: 0
|
||||
failureThreshold: 30
|
||||
periodSeconds: 5
|
||||
timeoutSeconds: 1
|
||||
|
||||
persistence:
|
||||
certs:
|
||||
type: secret
|
||||
name: >-
|
||||
{{ include "k8s-ycl.servingCertificate" . }}
|
||||
globalMounts:
|
||||
- path: /tls
|
||||
|
||||
service:
|
||||
main:
|
||||
controller: main
|
||||
nameOverride: webhook
|
||||
ports:
|
||||
http:
|
||||
port: 9443
|
||||
metrics:
|
||||
port: 8080
|
||||
probe:
|
||||
port: 8081
|
||||
|
||||
serviceAccount:
|
||||
create: true
|
||||
|
||||
webhook:
|
||||
path: /mutate--v1-pod
|
||||
|
||||
ignoreOwnNamespace: true
|
||||
ignoredNamespaces:
|
||||
- kube-system
|
Loading…
Add table
Add a link
Reference in a new issue