From 56c1dc4c2d1fab0d695afc4075239291f95a363a Mon Sep 17 00:00:00 2001 From: Sebastian Florek Date: Thu, 23 Jan 2025 13:04:03 +0100 Subject: [PATCH] update osbuilder chart to use custom docker registry --- Makefile | 15 ++ charts/osartifact/Chart.yaml | 3 + charts/osbuilder/Chart.lock | 9 +- charts/osbuilder/Chart.yaml | 17 +- .../osbuilder/charts/cert-manager-v1.16.3.tgz | Bin 0 -> 136961 bytes charts/osbuilder/templates/NOTES.txt | 2 +- charts/osbuilder/templates/_helpers.tpl | 1 - charts/osbuilder/templates/configmap.yaml | 47 +---- charts/osbuilder/templates/deployment.yaml | 194 ++++++------------ charts/osbuilder/templates/nginx-pvc.yaml | 12 -- .../templates/registry/certificate.yaml | 34 +++ .../templates/registry/deployment.yaml | 82 ++++++++ .../osbuilder/templates/registry/ingress.yaml | 34 +++ .../osbuilder/templates/registry/secret.yaml | 30 +++ .../osbuilder/templates/registry/service.yaml | 21 ++ charts/osbuilder/templates/service.yaml | 29 --- charts/osbuilder/values.yaml | 140 +++++++++---- 17 files changed, 408 insertions(+), 262 deletions(-) create mode 100644 charts/osbuilder/charts/cert-manager-v1.16.3.tgz delete mode 100644 charts/osbuilder/templates/nginx-pvc.yaml create mode 100644 charts/osbuilder/templates/registry/certificate.yaml create mode 100644 charts/osbuilder/templates/registry/deployment.yaml create mode 100644 charts/osbuilder/templates/registry/ingress.yaml create mode 100644 charts/osbuilder/templates/registry/secret.yaml create mode 100644 charts/osbuilder/templates/registry/service.yaml delete mode 100644 charts/osbuilder/templates/service.yaml diff --git a/Makefile b/Makefile index 59fccf6..d9f65b7 100644 --- a/Makefile +++ b/Makefile @@ -287,3 +287,18 @@ kubesplit: manifests kustomize rm -rf helm-chart mkdir helm-chart $(KUSTOMIZE) build config/default | kubesplit -helm helm-chart + +helm: + helm upgrade \ + --install \ + --create-namespace \ + --namespace test-registry \ + --set registry.storage.s3.accessKey=${AWS_ACCESSKEY} \ + --set registry.storage.s3.secretKey=${AWS_SECRETKEY} \ + --set registry.storage.s3.region=${AWS_BUCKET_REGION} \ + --set registry.storage.s3.bucket=${AWS_BUCKET_NAME} \ + --set registry.storage.s3.endpoint=${AWS_BUCKET_ENDPOINT} \ + --set registry.auth.htpasswd.secret.name=registry-default-user-password \ + --set registry.ingress.dns=osbuilder.plrl-dev-aws.onplural.sh \ + --set builder.replicas=0 \ + osbuilder ./charts/osbuilder diff --git a/charts/osartifact/Chart.yaml b/charts/osartifact/Chart.yaml index 681fbec..1b2698f 100644 --- a/charts/osartifact/Chart.yaml +++ b/charts/osartifact/Chart.yaml @@ -1,5 +1,8 @@ apiVersion: v2 name: osartifact description: A Helm chart for OSArtifact CRD deployment +maintainers: + - name: Plural + email: support@plural.sh type: application version: 0.3.0 \ No newline at end of file diff --git a/charts/osbuilder/Chart.lock b/charts/osbuilder/Chart.lock index 0de6a5f..f73cb7e 100644 --- a/charts/osbuilder/Chart.lock +++ b/charts/osbuilder/Chart.lock @@ -1,3 +1,6 @@ -dependencies: [] -digest: sha256:643d5437104296e21d906ecb15b2c96ad278f20cfc4af53b12bb6069bd853726 -generated: "2025-01-10T15:08:39.051068115Z" +dependencies: +- name: cert-manager + repository: https://charts.jetstack.io + version: v1.16.3 +digest: sha256:1ce80837e63f45e983685469e3af7c684b95ce548feadbb96a0519825a37bc8a +generated: "2025-01-22T12:30:56.241307222+01:00" diff --git a/charts/osbuilder/Chart.yaml b/charts/osbuilder/Chart.yaml index 7e33653..6c96e7e 100644 --- a/charts/osbuilder/Chart.yaml +++ b/charts/osbuilder/Chart.yaml @@ -1,11 +1,16 @@ apiVersion: v2 name: osbuilder description: A Helm chart for osbuilder +maintainers: + - name: Plural + email: support@plural.sh +home: https://github.com/pluralsh/osbuilder +type: application appVersion: 0.1.5 version: 0.1.5 -dependencies: [] -maintainers: - - name: Ettore Di Giacinto - email: mudler@kairos.io -home: https://kairos.io/ -type: application +dependencies: + - name: cert-manager + alias: certManager + repository: https://charts.jetstack.io + version: v1.16.3 + condition: certManager.enabled diff --git a/charts/osbuilder/charts/cert-manager-v1.16.3.tgz b/charts/osbuilder/charts/cert-manager-v1.16.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9c4c3269bc7fe8445a1e8c0c3bfb0141b9fe29a4 GIT binary patch literal 136961 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 a)4!*GPyfENfBzo<0RR8QW^=j##uEU&OaVdw literal 0 HcmV?d00001 diff --git a/charts/osbuilder/templates/NOTES.txt b/charts/osbuilder/templates/NOTES.txt index dc1ef81..077e8cb 100644 --- a/charts/osbuilder/templates/NOTES.txt +++ b/charts/osbuilder/templates/NOTES.txt @@ -6,7 +6,7 @@ template: restartPolicy: Never containers: - name: upload - image: {{ .Values.image.toolsRepository | default "quay.io/kairos/osbuilder-tools" }}:{{ .Values.image.tag | default .Chart.AppVersion }} + image: {{ .Values.builder.toolsRepository | default "quay.io/kairos/osbuilder-tools" }}:{{ .Values.builder.image.tag | default .Chart.AppVersion }} command: - bash args: diff --git a/charts/osbuilder/templates/_helpers.tpl b/charts/osbuilder/templates/_helpers.tpl index 2583e11..a865940 100644 --- a/charts/osbuilder/templates/_helpers.tpl +++ b/charts/osbuilder/templates/_helpers.tpl @@ -50,7 +50,6 @@ app.kubernetes.io/name: {{ include "helm-chart.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} {{- end }} -{{/* Create the name of the service account to use */}} {{- define "helm-chart.serviceAccountName" -}} diff --git a/charts/osbuilder/templates/configmap.yaml b/charts/osbuilder/templates/configmap.yaml index f7e1282..14aae5d 100644 --- a/charts/osbuilder/templates/configmap.yaml +++ b/charts/osbuilder/templates/configmap.yaml @@ -1,6 +1,10 @@ apiVersion: v1 +kind: ConfigMap +metadata: + name: osartifactbuilder-operator-manager-config + namespace: '{{.Release.Namespace}}' data: - controller_manager_config.yaml: "apiVersion: controller-runtime.sigs.k8s.io/v1alpha1\nkind: + controller_manager_config.yaml: "apiVersion: controller-runtime.sigs.k8s.io/v1alpha1\nkind: ControllerManagerConfig\nhealth:\n healthProbeBindAddress: :8081\nmetrics:\n \ bindAddress: 127.0.0.1:8080\nwebhook:\n port: 9443\nleaderElection:\n leaderElect: true\n resourceName: 98ca89ca.kairos.io\n# leaderElectionReleaseOnCancel @@ -12,43 +16,4 @@ data: after \n# the manager stops, so would be fine to enable this option. However, \n# if you are doing or is intended to do any operation such as perform cleanups \n# after the manager stops then its usage might be unsafe.\n# - \ leaderElectionReleaseOnCancel: true\n" -kind: ConfigMap -metadata: - name: osartifactbuilder-operator-manager-config - namespace: '{{.Release.Namespace}}' ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: nginx-config -data: - nginx.conf: | - server { - listen 80; - server_name localhost; - - client_max_body_size 21000M; - - #access_log /var/log/nginx/host.access.log main; - - location ~ "/upload/([0-9a-zA-Z-.]*)$" { - alias /usr/share/nginx/html/$1; - client_body_temp_path /tmp; - dav_methods PUT DELETE MKCOL COPY MOVE; - create_full_put_path on; - dav_access group:rw all:r; - } - - location / { - root /usr/share/nginx/html; - autoindex on; - } - - # redirect server error pages to the static page /50x.html - # - error_page 500 502 503 504 /50x.html; - location = /50x.html { - root /usr/share/nginx/html; - } - } + \ leaderElectionReleaseOnCancel: true\n" \ No newline at end of file diff --git a/charts/osbuilder/templates/deployment.yaml b/charts/osbuilder/templates/deployment.yaml index 151ee44..072edf1 100644 --- a/charts/osbuilder/templates/deployment.yaml +++ b/charts/osbuilder/templates/deployment.yaml @@ -1,133 +1,69 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: '{{ include "helm-chart.fullname" . }}' - namespace: '{{.Release.Namespace}}' - labels: - {{- include "helm-chart.labels" . | nindent 8 }} + name: '{{ include "helm-chart.fullname" . }}' + namespace: '{{.Release.Namespace}}' + labels: + {{- include "helm-chart.labels" . | nindent 4 }} spec: - replicas: {{ .Values.replicas | default 1}} - selector: - matchLabels: - {{- include "helm-chart.selectorLabels" . | nindent 10 }} - template: - metadata: - annotations: - {{- range keys .Values.podAnnotations }} - {{ . | quote }}: {{ get $.Values.podAnnotations . | quote}} - {{- end }} - labels: - {{- include "helm-chart.selectorLabels" . | nindent 14}} - spec: - {{- with .Values.imagePullSecrets }} - imagePullSecrets: - {{- toYaml . | nindent 14 }} - {{- end }} - containers: - - args: - - --secure-listen-address=0.0.0.0:8443 - - --upstream=http://127.0.0.1:8080/ - - --logtostderr=true - - --v=0 - image: gcr.io/kubebuilder/kube-rbac-proxy:v0.11.0 - name: kube-rbac-proxy - ports: - - containerPort: 8443 - name: https - protocol: TCP - resources: - limits: - cpu: 500m - memory: 128Mi - requests: - cpu: 5m - memory: 64Mi - securityContext: - allowPrivilegeEscalation: false - - args: - - --pvc-storage-size={{ .Values.pvcStorageSize }} - - --health-probe-bind-address=:8081 - - --metrics-bind-address=127.0.0.1:8080 - - --leader-elect - - '--tool-image={{ .Values.toolsImage.repository | default "quay.io/kairos/auroraboot" }}:{{ .Values.toolsImage.tag | default "latest" }}' - command: - - /manager - image: '{{ .Values.image.repository | default "ghcr.io/pluralsh/osbuilder" }}:{{ .Values.image.tag | default .Chart.AppVersion }}' - livenessProbe: - httpGet: - path: /healthz - port: 8081 - initialDelaySeconds: 15 - periodSeconds: 20 - name: manager - readinessProbe: - httpGet: - path: /readyz - port: 8081 - initialDelaySeconds: 5 - periodSeconds: 10 - {{- if and .Values.resources .Values.resources.controller }} - resources: -{{ toYaml .Values.resources.controller | indent 20 }} - {{- end }} - securityContext: - allowPrivilegeEscalation: false - securityContext: - runAsNonRoot: true - serviceAccountName: '{{ include "helm-chart.serviceAccountName" . }}' - terminationGracePeriodSeconds: 10 - {{- with .Values.nodeSelector }} - nodeSelector: - {{- toYaml . | nindent 14 }} - {{- end }} - {{- with .Values.affinity }} - affinity: - {{- toYaml . | nindent 14 }} - {{- end }} - {{- with .Values.tolerations }} - tolerations: - {{- toYaml . | nindent 14 }} - {{- end }} ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - labels: - app.kubernetes.io/name: osbuilder-nginx - name: 'osbuilder-nginx' - namespace: '{{.Release.Namespace}}' -spec: - replicas: 1 - selector: - matchLabels: - app.kubernetes.io/name: osbuilder-nginx - template: - metadata: - labels: - app.kubernetes.io/name: osbuilder-nginx - spec: - containers: - - image: nginx - name: nginx - ports: - - containerPort: 80 - volumeMounts: - - mountPath: /usr/share/nginx/html - name: nginx-public - - mountPath: /etc/nginx/conf.d - name: config - readOnly: true - serviceAccountName: '{{ include "helm-chart.serviceAccountName" . }}' - terminationGracePeriodSeconds: 10 - securityContext: - fsGroup: 101 - volumes: - - name: nginx-public - persistentVolumeClaim: - claimName: osartifactbuilder-operator-nginx-public - - name: config - configMap: - name: nginx-config - items: - - key: nginx.conf - path: default.conf + replicas: {{ .Values.builder.replicas }} + selector: + matchLabels: + {{- include "helm-chart.selectorLabels" . | nindent 6 }} + template: + metadata: + annotations: + {{- range keys .Values.builder.podAnnotations }} + {{ . | quote }}: {{ get $.Values.builder.podAnnotations . | quote}} + {{- end }} + labels: + {{- include "helm-chart.selectorLabels" . | nindent 8 }} + spec: + {{- with .Values.builder.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 14 }} + {{- end }} + containers: + - name: manager + image: '{{ .Values.builder.image.repository | default "ghcr.io/pluralsh/osbuilder" }}:{{ .Values.builder.image.tag | default .Chart.AppVersion }}' + command: [ '/manager' ] + args: + - --pvc-storage-size={{ .Values.builder.pvcStorageSize }} + - --health-probe-bind-address=:8081 + - --metrics-bind-address=127.0.0.1:8080 + - --leader-elect + - '--tool-image={{ .Values.builder.toolsImage.repository | default "quay.io/kairos/auroraboot" }}:{{ .Values.builder.toolsImage.tag | default "latest" }}' + livenessProbe: + httpGet: + path: /healthz + port: 8081 + initialDelaySeconds: 15 + periodSeconds: 20 + readinessProbe: + httpGet: + path: /readyz + port: 8081 + initialDelaySeconds: 5 + periodSeconds: 10 + {{- if and .Values.builder.resources .Values.builder.resources.controller }} + resources: + {{- toYaml .Values.builder.resources.controller | nindent 12 }} + {{- end }} + securityContext: + allowPrivilegeEscalation: false + securityContext: + runAsNonRoot: true + serviceAccountName: '{{ include "helm-chart.serviceAccountName" . }}' + terminationGracePeriodSeconds: 10 + {{- with .Values.builder.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 14 }} + {{- end }} + {{- with .Values.builder.affinity }} + affinity: + {{- toYaml . | nindent 14 }} + {{- end }} + {{- with .Values.builder.tolerations }} + tolerations: + {{- toYaml . | nindent 14 }} + {{- end }} diff --git a/charts/osbuilder/templates/nginx-pvc.yaml b/charts/osbuilder/templates/nginx-pvc.yaml deleted file mode 100644 index 6bb4507..0000000 --- a/charts/osbuilder/templates/nginx-pvc.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: osartifactbuilder-operator-nginx-public - namespace: '{{.Release.Namespace}}' -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: '{{ .Values.nginx.pvcSize }}' diff --git a/charts/osbuilder/templates/registry/certificate.yaml b/charts/osbuilder/templates/registry/certificate.yaml new file mode 100644 index 0000000..cd375e7 --- /dev/null +++ b/charts/osbuilder/templates/registry/certificate.yaml @@ -0,0 +1,34 @@ +{{- if not .Values.registry.ingress.enabled }} + +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + name: {{ include "helm-chart.fullname" . }}-registry-selfsigned-issuer + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/component: registry + {{- include "helm-chart.labels" . | nindent 4 }} +spec: + selfSigned: {} +--- +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: {{ include "helm-chart.fullname" . }}-registry-tls + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/component: registry + {{- include "helm-chart.labels" . | nindent 4 }} +spec: + secretName: {{ include "helm-chart.fullname" . }}-registry-tls + isCA: false + usages: + - server auth + - client auth + dnsNames: + - "{{ include "helm-chart.fullname" . }}-registry.{{.Release.Namespace}}.svc.cluster.local" + - "{{ include "helm-chart.fullname" . }}-registry" + issuerRef: + name: {{ include "helm-chart.fullname" . }}-registry-selfsigned-issuer + +{{- end }} \ No newline at end of file diff --git a/charts/osbuilder/templates/registry/deployment.yaml b/charts/osbuilder/templates/registry/deployment.yaml new file mode 100644 index 0000000..371f42e --- /dev/null +++ b/charts/osbuilder/templates/registry/deployment.yaml @@ -0,0 +1,82 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "helm-chart.fullname" . }}-registry + namespace: {{.Release.Namespace}} + labels: + app.kubernetes.io/component: registry + {{- include "helm-chart.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.registry.replicas }} + selector: + matchLabels: + app.kubernetes.io/component: registry + {{- include "helm-chart.selectorLabels" . | nindent 6 }} + template: + metadata: + annotations: + {{- range keys .Values.registry.podAnnotations }} + {{ . | quote }}: {{ get $.Values.registry.podAnnotations . | quote }} + {{- end }} + labels: + app.kubernetes.io/component: registry + {{- include "helm-chart.selectorLabels" . | nindent 8 }} + spec: + containers: + - name: registry + image: {{ .Values.registry.image.repository }}:{{ .Values.registry.image.tag }} + env: + - name: REGISTRY_STORAGE + value: {{ .Values.registry.storage.driver }} + {{- if eq .Values.registry.storage.driver "s3" }} + - name: REGISTRY_STORAGE_S3_BUCKET + value: {{ .Values.registry.storage.s3.bucket }} + - name: REGISTRY_STORAGE_S3_ACCESSKEY + value: {{ .Values.registry.storage.s3.accessKey }} + - name: REGISTRY_STORAGE_S3_SECRETKEY + value: {{ .Values.registry.storage.s3.secretKey }} + - name: REGISTRY_STORAGE_S3_REGIONENDPOINT + value: {{ .Values.registry.storage.s3.endpoint }} + - name: REGISTRY_STORAGE_S3_REGION + value: {{ .Values.registry.storage.s3.region }} + - name: REGISTRY_STORAGE_S3_SECURE + value: 'true' + {{- end }} + {{- if .Values.registry.debug }} + - name: REGISTRY_LOG_LEVEL + value: debug + {{- end }} + {{- if and (eq .Values.registry.auth.realm "basic-realm") (or .Values.registry.auth.htpasswd.existingSecret.name .Values.registry.auth.htpasswd.secret.name) }} + - name: REGISTRY_AUTH_HTPASSWD_REALM + value: {{ .Values.registry.auth.realm }} + - name: REGISTRY_AUTH_HTPASSWD_PATH + value: /etc/htpasswd/htpasswd + {{- end }} + {{- range $envKey, $envValue := .Values.registry.extraEnvVars }} + - name: {{ $envKey }} + value: {{ $envValue }} + {{- end }} + ports: + - name: registry + containerPort: 5000 + protocol: TCP + {{- if .Values.registry.debug }} + - name: debug + containerPort: 5001 + protocol: TCP + {{- end }} + volumeMounts: + - name: tls-volume + mountPath: /etc/tls + readOnly: true + {{- if and (eq .Values.registry.auth.realm "basic-realm") (or .Values.registry.auth.htpasswd.existingSecret.name .Values.registry.auth.htpasswd.secret.name) }} + - name: htpasswd-volume + mountPath: /etc/htpasswd + readOnly: true + {{- end }} + volumes: + {{- if and (eq .Values.registry.auth.realm "basic-realm") (or .Values.registry.auth.htpasswd.existingSecret.name .Values.registry.auth.htpasswd.secret.name) }} + - name: htpasswd-volume + secret: + secretName: {{ .Values.registry.auth.htpasswd.existingSecret.name | default (printf "%s-%s" (include "helm-chart.fullname" .) "htpasswd") }} + {{- end }} \ No newline at end of file diff --git a/charts/osbuilder/templates/registry/ingress.yaml b/charts/osbuilder/templates/registry/ingress.yaml new file mode 100644 index 0000000..965d077 --- /dev/null +++ b/charts/osbuilder/templates/registry/ingress.yaml @@ -0,0 +1,34 @@ +{{- if .Values.registry.ingress.enabled }} + +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: {{ include "helm-chart.fullname" . }}-registry + labels: + app.kubernetes.io/component: registry + {{- include "helm-chart.labels" . | nindent 4 }} + {{- with .Values.registry.ingress.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + ingressClassName: {{ .Values.registry.ingress.ingressClass }} + {{ if .Values.registry.ingress.tls.enabled }} + tls: + - hosts: + - {{ .Values.registry.ingress.dns | quote }} + secretName: {{ include "helm-chart.fullname" . }}-registry-tls + {{ end }} + rules: + - host: {{ .Values.registry.ingress.dns | quote }} + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: {{ include "helm-chart.fullname" . }}-registry + port: + name: registry + +{{- end }} diff --git a/charts/osbuilder/templates/registry/secret.yaml b/charts/osbuilder/templates/registry/secret.yaml new file mode 100644 index 0000000..78a6ae9 --- /dev/null +++ b/charts/osbuilder/templates/registry/secret.yaml @@ -0,0 +1,30 @@ +{{- if and (eq .Values.registry.auth.realm "basic-realm") (not .Values.registry.auth.htpasswd.existingSecret.name) }} + +{{- if not .Values.registry.auth.htpasswd.secret.name }} + {{- fail "A valid .Values.registry.auth.htpasswd.secret.name required when auth realm set to 'basic-realm'" }} +{{- end }} + +{{ $passwordSecret := lookup "v1" "Secret" .Release.Namespace .Values.registry.auth.htpasswd.secret.name }} + +{{- if not $passwordSecret.data }} + {{- fail "Could not find secret provided via .Values.registry.auth.htpasswd.secret.name" }} +{{- end }} + +{{ $password := index $passwordSecret.data .Values.registry.auth.htpasswd.secret.key | b64dec }} + +{{- if not $password }} + {{- fail "Could not find password key value in the provided secret" }} +{{- end }} + +apiVersion: v1 +kind: Secret +metadata: + name: {{ include "helm-chart.fullname" . }}-htpasswd + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/component: registry + {{- include "helm-chart.labels" . | nindent 4 }} +stringData: + htpasswd: {{ htpasswd .Values.registry.auth.htpasswd.username $password }} + +{{- end }} \ No newline at end of file diff --git a/charts/osbuilder/templates/registry/service.yaml b/charts/osbuilder/templates/registry/service.yaml new file mode 100644 index 0000000..ed100dd --- /dev/null +++ b/charts/osbuilder/templates/registry/service.yaml @@ -0,0 +1,21 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ include "helm-chart.fullname" . }}-registry + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/component: registry + {{- include "helm-chart.labels" . | nindent 4 }} +spec: + selector: + app.kubernetes.io/component: registry + {{- include "helm-chart.selectorLabels" . | nindent 4 }} + ports: + - name: registry + port: 5000 + protocol: TCP + targetPort: registry + - name: debug + port: 5001 + protocol: TCP + targetPort: debug diff --git a/charts/osbuilder/templates/service.yaml b/charts/osbuilder/templates/service.yaml deleted file mode 100644 index d2518cd..0000000 --- a/charts/osbuilder/templates/service.yaml +++ /dev/null @@ -1,29 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - labels: - control-plane: controller-manager - name: '{{ include "helm-chart.fullname" . }}-metrics-service' - namespace: '{{.Release.Namespace}}' -spec: - ports: - - name: https - port: 8443 - protocol: TCP - targetPort: https - selector: - {{- include "helm-chart.selectorLabels" . | nindent 6 }} ---- -apiVersion: v1 -kind: Service -metadata: - name: osartifactbuilder-operator-osbuilder-nginx - namespace: '{{.Release.Namespace}}' -spec: - ports: - - port: 80 - protocol: TCP - targetPort: 80 - selector: - app.kubernetes.io/name: osbuilder-nginx - type: NodePort diff --git a/charts/osbuilder/values.yaml b/charts/osbuilder/values.yaml index d25b07a..0972dc6 100644 --- a/charts/osbuilder/values.yaml +++ b/charts/osbuilder/values.yaml @@ -6,51 +6,111 @@ nameOverride: "" # fullnameOverride completely replaces the generated release name fullnameOverride: "" -# Secrets to pull container images from private registries -imagePullSecrets: [] +builder: + # Secrets to pull container images from private registries + imagePullSecrets: [] + image: + # osbuilder image to be used. Leave empty to use the default + repository: ghcr.io/pluralsh/osbuilder + # tag of the osbuilder image. Leave empty to use chart's AppVersion + tag: ~ -image: - # controller image to be used. Leave empty to use - repository: ghcr.io/pluralsh/osbuilder - # tag of the controller image. Leave empty to use chart's AppVersion - tag: + replicas: 1 -replicas: 1 + # The PVC storage size for the build process + pvcStorageSize: "30Gi" -# The PVC storage size for the build process -pvcStorageSize: "20Gi" + toolsImage: + repository: "quay.io/kairos/auroraboot" + tag: "latest" -toolsImage: - repository: "quay.io/kairos/auroraboot" - tag: "latest" + podAnnotations: {} + nodeSelector: {} + tolerations: [] + affinity: {} -podAnnotations: {} -nodeSelector: {} -tolerations: [] -affinity: {} + ## Resource limits & requests + ## Ref: https://kubernetes.io/docs/user-guide/compute-resources/ + resources: + controller: + limits: + cpu: 500m + memory: 50Mi + requests: + cpu: 250m + memory: 50Mi -tls: - # source options: - # - "cert-manager-self-signed": Scaffold cert-manager integration, and create - # a self-signed certificate with a cert-manager self-signed Issuer. Depends - # on cert-manager. (default) - # - "cert-manager": Scafffold cert-manager integration. User configures their - # own Issuer. Depends on cert-manager. Set tls.certManagerIssuerName to the - # desired Issuer. - source: cert-manager-self-signed - # "cert-manager"-only options: - certManagerIssuerName: "" +registry: + # Secrets to pull container images from private registries + imagePullSecrets: [] + image: + # docker container registry image to be used. Leave empty to use the default + repository: registry + # tag of the docker container registry image. Leave empty to use chart's AppVersion + tag: 2 -nginx: - pvcSize: 30Gi + # Number of replicas for the registry + replicas: 1 -## Resource limits & requests -## Ref: https://kubernetes.io/docs/user-guide/compute-resources/ -resources: - controller: - limits: - cpu: 500m - memory: 50Mi - requests: - cpu: 250m - memory: 50Mi + # Whether registry should be set to debug level and expose debug server on port 5001 + debug: false + + storage: + # Currently only s3 is supported + driver: s3 + s3: + accessKey: ~ + secretKey: ~ + region: ~ + bucket: ~ + endpoint: ~ + + auth: + # Currently only 'basic-realm' with htpasswd file is supported. Use "~" to disable auth. + realm: basic-realm + htpasswd: + # When existingSecret is provided it will ignore the rest of htpasswd configuration + # and not generate the secret. It should provide a valid htpasswd file under the "htpasswd" secret key. + existingSecret: + name: ~ + # Default username embedded in autogenerated htpasswd secret. + username: plural + # Secret that stores a password that should be encrypted and stored in autogenerated htpasswd file. + secret: + name: ~ + key: password + + ingress: + enabled: true + ingressClass: nginx + dns: ~ + + tls: + enabled: true + + annotations: + kubernetes.io/tls-acme: "true" + cert-manager.io/cluster-issuer: letsencrypt-prod + nginx.ingress.kubernetes.io/force-ssl-redirect: 'true' + nginx.ingress.kubernetes.io/proxy-read-timeout: '3600' + nginx.ingress.kubernetes.io/proxy-send-timeout: '3600' + + # Defines extra env vars that should be passed to the registry containers. + # Can be used to customize the configuration + # + # Example format (: ): + # + # extraEnvVars: + # REGISTRY_HTTP_ADDR: ':5000' + # REGISTRY_HTTP_DEBUG_ADDR: ':5000' + # WEIRD_TEXT_WITH_SPECIAL_CHARTS: '":-g*_Asd123gj$$"' + extraEnvVars: {} + + podAnnotations: {} + nodeSelector: {} + tolerations: [] + affinity: {} + +# It is required to create certificates. +certManager: + enabled: false \ No newline at end of file