diff --git a/.charts.yml b/.charts.yml index 27be244..59b4f60 100644 --- a/.charts.yml +++ b/.charts.yml @@ -76,19 +76,27 @@ charts: repository: url: https://headlamp-k8s.github.io/headlamp/ # YAOOK charts + - name: cds-operator + version: 0.20240801.0 + repository: + url: https://charts.yaook.cloud/operator/stable - name: crds - version: 0.20240704.1 + version: 0.20240801.0 repository: url: https://charts.yaook.cloud/operator/stable - name: infra-operator - version: 0.20240704.1 + version: 0.20240801.0 repository: url: https://charts.yaook.cloud/operator/stable - name: keystone-operator - version: 0.20240704.1 + version: 0.20240801.0 repository: url: https://charts.yaook.cloud/operator/stable - name: keystone-resources-operator - version: 0.20240704.1 + version: 0.20240801.0 + repository: + url: https://charts.yaook.cloud/operator/stable + - name: horizon-operator + version: 0.20240801.0 repository: url: https://charts.yaook.cloud/operator/stable diff --git a/charts/cds-operator/Chart.yaml b/charts/cds-operator/Chart.yaml new file mode 100644 index 0000000..3359fe6 --- /dev/null +++ b/charts/cds-operator/Chart.yaml @@ -0,0 +1,7 @@ +apiVersion: v2 +description: Yaook ConfiguredDaemonSet operator +type: application +name: cds-operator +version: "0.20240801.0" +appVersion: "0.20240801.0" +kubeVersion: ">=1.16.0-0" \ No newline at end of file diff --git a/charts/cds-operator/charts/operator-lib/Chart.yaml b/charts/cds-operator/charts/operator-lib/Chart.yaml new file mode 100644 index 0000000..525e8e1 --- /dev/null +++ b/charts/cds-operator/charts/operator-lib/Chart.yaml @@ -0,0 +1,7 @@ +apiVersion: v2 +description: Yaook Operator Helm Chart library +type: library +name: operator-lib +version: 1.0.0 +appVersion: 1.0.0 +kubeVersion: ">=1.16.0-0" diff --git a/charts/cds-operator/charts/operator-lib/templates/_cluster-role-binding.yaml b/charts/cds-operator/charts/operator-lib/templates/_cluster-role-binding.yaml new file mode 100644 index 0000000..b252be6 --- /dev/null +++ b/charts/cds-operator/charts/operator-lib/templates/_cluster-role-binding.yaml @@ -0,0 +1,16 @@ +{{- define "yaook.operator-lib.ClusterRoleBinding" -}} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ include "yaook.operator-lib.fullname" . }} + labels: + {{- include "yaook.operator-lib.labels" . | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ include "yaook.operator-lib.fullname" . }} +subjects: +- kind: ServiceAccount + name: {{ include "yaook.operator-lib.fullname" . }} + namespace: {{ .Release.Namespace }} +{{- end -}} diff --git a/charts/cds-operator/charts/operator-lib/templates/_deployment.yaml b/charts/cds-operator/charts/operator-lib/templates/_deployment.yaml new file mode 100644 index 0000000..9f6dbe0 --- /dev/null +++ b/charts/cds-operator/charts/operator-lib/templates/_deployment.yaml @@ -0,0 +1,100 @@ +{{- define "yaook.operator-lib.Deployment" -}} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "yaook.operator-lib.fullname" . }} + labels: + {{- include "yaook.operator-lib.labels" . | nindent 4 }} +spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + {{- include "yaook.operator-lib.selectorLabels" . | nindent 6 }} + template: + metadata: + labels: + {{- include "yaook.operator-lib.labels" . | nindent 8 }} + spec: + serviceAccountName: {{ include "yaook.operator-lib.fullname" . }} + containers: + - name: operator + image: {{ include "yaook.operator-lib.image" . }} + imagePullPolicy: {{ .Values.operator.image.pullPolicy }} + securityContext: + runAsUser: 2020 + runAsGroup: 2020 + ports: + - containerPort: 8000 + name: metrics + protocol: TCP + args: + - {{ include "yaook.operator.name" . | quote }} + - run + env: + - name: YAOOK_OP_VERBOSITY + value: {{ .Values.operator.verbosity | toString | toYaml }} + - name: YAOOK_OP_RUNNER_COUNT + value: {{ .Values.operator.runnerCount | toString | toYaml }} + - name: YAOOK_OP_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: YAOOK_OP_MULTIPLE_NAMESPACES + value: {{ .Values.operator.multipleNamespaces | toString | toYaml }} + - name: PYTHONOPTIMIZE + {{- if .Values.operator.pythonOptimize }} + value: "1" + {{- else }} + value: "0" + {{- end }} + {{- if .Values.operator.dockerConfigSecret }} + - name: YAOOK_OP_DOCKER_CONFIG + value: /var/run/secrets/docker/.dockerconfigjson + {{- end }} + {{- if .Values.operator.caConfigMap }} + - name: REQUESTS_CA_BUNDLE + value: /etc/pki/tls/certs/ca-bundle.crt + {{- end }} + {{- include "yaook.operator-lib.env" . | nindent 8 }} + volumeMounts: + {{- if .Values.operator.dockerConfigSecret }} + - mountPath: /var/run/secrets/docker + name: docker-config + readOnly: true + {{- end }} + {{- if .Values.operator.caConfigMap }} + - mountPath: /etc/pki/tls/certs + name: ca-certs + {{- end }} + volumes: + {{- if .Values.operator.dockerConfigSecret }} + - name: docker-config + secret: + secretName: {{ .Values.operator.dockerConfigSecret | quote }} + {{- end }} + {{- if .Values.operator.caConfigMap }} + - name: ca-certs + configMap: + defaultMode: 420 + name: {{ .Values.operator.caConfigMap | quote }} + {{- end }} + {{- with .Values.operator.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.operator.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.operator.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.operator.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- include "yaook.operator-lib.scheduling" . | nindent 6 }} +{{- end -}} diff --git a/charts/cds-operator/charts/operator-lib/templates/_lib.tpl b/charts/cds-operator/charts/operator-lib/templates/_lib.tpl new file mode 100644 index 0000000..0e3df78 --- /dev/null +++ b/charts/cds-operator/charts/operator-lib/templates/_lib.tpl @@ -0,0 +1,84 @@ +{{- define "yaook.operator-lib.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{- define "yaook.operator-lib.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 55 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 55 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 55 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{- define "yaook.operator-lib.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{- define "yaook.operator-lib.labels" -}} +helm.sh/chart: {{ include "yaook.operator-lib.chart" . }} +{{ include "yaook.operator-lib.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +{{- end -}} + +{{- define "yaook.operator-lib.selectorLabels" -}} +app.kubernetes.io/name: {{ include "yaook.operator-lib.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end -}} + +{{- define "yaook.operator-lib.image" -}} +{{ .Values.operator.image.repository }}:{{ default .Chart.AppVersion .Values.operator.image.tag }} +{{- end -}} + +{{- define "yaook.operator.extraEnv" -}} +{{- end -}} + +{{- define "yaook.operator-lib.env" -}} +{{- range .Values.operator.extraEnv }} +- {{ . | toYaml | nindent 2 }} +{{- end }} +{{ include "yaook.operator.extraEnv" . }} +{{- end -}} + +{{- define "yaook.operator-lib.applySchedulingKeys" -}} +affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + {{- range . }} + - matchExpressions: + - key: {{ . }} + operator: Exists + {{- end }} +tolerations: + {{- range . }} + - key: {{ . }} + operator: Exists + {{- end }} +{{- end -}} + +{{- define "yaook.operator-lib.scheduling" -}} +{{- if .Values.operator.schedulingKeys }} +{{- include "yaook.operator-lib.applySchedulingKeys" .Values.operator.schedulingKeys }} +{{- else }} +{{- with .Values.operator.nodeSelector }} +nodeSelector: +{{- toYaml . | nindent 8 }} +{{- end }} +{{- with .Values.operator.affinity }} +affinity: +{{- toYaml . | nindent 8 }} +{{- end }} +{{- with .Values.operator.tolerations }} +tolerations: +{{- toYaml . | nindent 8 }} +{{- end }} +{{- end }} +{{- end -}} diff --git a/charts/cds-operator/charts/operator-lib/templates/_role-binding.yaml b/charts/cds-operator/charts/operator-lib/templates/_role-binding.yaml new file mode 100644 index 0000000..10f7a88 --- /dev/null +++ b/charts/cds-operator/charts/operator-lib/templates/_role-binding.yaml @@ -0,0 +1,17 @@ +{{- define "yaook.operator-lib.RoleBinding" -}} +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + namespace: {{ .Release.Namespace }} + name: {{ include "yaook.operator-lib.fullname" . }} + labels: + {{- include "yaook.operator-lib.labels" . | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: {{ include "yaook.operator-lib.fullname" . }} +subjects: +- kind: ServiceAccount + name: {{ include "yaook.operator-lib.fullname" . }} + namespace: {{ .Release.Namespace }} +{{- end -}} diff --git a/charts/cds-operator/charts/operator-lib/templates/_service-account.yaml b/charts/cds-operator/charts/operator-lib/templates/_service-account.yaml new file mode 100644 index 0000000..88685f4 --- /dev/null +++ b/charts/cds-operator/charts/operator-lib/templates/_service-account.yaml @@ -0,0 +1,9 @@ +{{- define "yaook.operator-lib.ServiceAccount" -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + namespace: {{ .Release.Namespace }} + name: {{ include "yaook.operator-lib.fullname" . }} + labels: + {{- include "yaook.operator-lib.labels" . | nindent 4 }} +{{- end -}} diff --git a/charts/cds-operator/charts/operator-lib/templates/_service.yaml b/charts/cds-operator/charts/operator-lib/templates/_service.yaml new file mode 100644 index 0000000..ea5e237 --- /dev/null +++ b/charts/cds-operator/charts/operator-lib/templates/_service.yaml @@ -0,0 +1,18 @@ +{{- define "yaook.operator-lib.Service" -}} +--- +apiVersion: v1 +kind: Service +metadata: + name: {{ include "yaook.operator-lib.fullname" . }} + labels: + {{- include "yaook.operator-lib.labels" . | nindent 4 }} + namespace: {{ .Release.Namespace }} +spec: + type: ClusterIP + selector: + {{- include "yaook.operator-lib.selectorLabels" . | nindent 6 }} + ports: + - name: metrics + port: 8000 + protocol: TCP +{{- end }} diff --git a/charts/cds-operator/charts/operator-lib/templates/_servicemonitor.yaml b/charts/cds-operator/charts/operator-lib/templates/_servicemonitor.yaml new file mode 100644 index 0000000..6b445d0 --- /dev/null +++ b/charts/cds-operator/charts/operator-lib/templates/_servicemonitor.yaml @@ -0,0 +1,23 @@ +{{- define "yaook.operator-lib.ServiceMonitor" -}} +--- +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ include "yaook.operator-lib.fullname" . }} + labels: + {{- include "yaook.operator-lib.labels" . | nindent 4 }} + {{- range $key, $val := .Values.operator.additionalServiceMonitorLabels }} + {{ $key }}: {{ $val }} + {{- end }} + namespace: {{ .Release.Namespace }} +spec: + selector: + matchLabels: + {{- include "yaook.operator-lib.selectorLabels" . | nindent 6 }} + endpoints: + - port: metrics + interval: 15s + namespaceSelector: + matchNames: + - {{ .Release.Namespace }} +{{- end }} diff --git a/charts/cds-operator/templates/_helpers.tpl b/charts/cds-operator/templates/_helpers.tpl new file mode 100644 index 0000000..bb191f5 --- /dev/null +++ b/charts/cds-operator/templates/_helpers.tpl @@ -0,0 +1,3 @@ +{{- define "yaook.operator.name" -}} +cds +{{- end -}} diff --git a/charts/cds-operator/templates/cluster-role-binding.yaml b/charts/cds-operator/templates/cluster-role-binding.yaml new file mode 100644 index 0000000..eed7502 --- /dev/null +++ b/charts/cds-operator/templates/cluster-role-binding.yaml @@ -0,0 +1 @@ +{{ include "yaook.operator-lib.ClusterRoleBinding" . }} diff --git a/charts/cds-operator/templates/deployment.yaml b/charts/cds-operator/templates/deployment.yaml new file mode 100644 index 0000000..df4c67d --- /dev/null +++ b/charts/cds-operator/templates/deployment.yaml @@ -0,0 +1 @@ +{{ include "yaook.operator-lib.Deployment" . }} diff --git a/charts/cds-operator/templates/gen-roles.yaml b/charts/cds-operator/templates/gen-roles.yaml new file mode 100644 index 0000000..437d8bb --- /dev/null +++ b/charts/cds-operator/templates/gen-roles.yaml @@ -0,0 +1,80 @@ +# THESE ROLES WERE AUTOGENERATED USING THE yaook.op CLI +# DO NOT MODIFY +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ include "yaook.operator-lib.fullname" . }} +rules: [] +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: {{ include "yaook.operator-lib.fullname" . }} + namespace: {{ .Release.Namespace }} +rules: +- apiGroups: + - '' + resources: + - events + verbs: + - create +- apiGroups: + - '' + resources: + - pods + verbs: + - create + - delete + - deletecollection + - get + - list + - patch + - update + - watch +- apiGroups: + - '' + resources: + - pods/status + verbs: + - get + - list + - watch +- apiGroups: + - apps.yaook.cloud + resources: + - configureddaemonsets + verbs: + - get + - list + - patch + - watch +- apiGroups: + - apps.yaook.cloud + resources: + - configureddaemonsets/status + verbs: + - get + - patch + - update +- apiGroups: + - events.k8s.io + resources: + - events + verbs: + - create +- apiGroups: + - yaook.cloud + resources: + - yaookdisruptionbudgets + verbs: + - get + - list + - watch +- apiGroups: + - yaook.cloud + resources: + - yaookdisruptionbudgets/status + verbs: + - get + - patch diff --git a/charts/cds-operator/templates/role-binding.yaml b/charts/cds-operator/templates/role-binding.yaml new file mode 100644 index 0000000..c9a3ef1 --- /dev/null +++ b/charts/cds-operator/templates/role-binding.yaml @@ -0,0 +1 @@ +{{ include "yaook.operator-lib.RoleBinding" . }} diff --git a/charts/cds-operator/templates/service-account.yaml b/charts/cds-operator/templates/service-account.yaml new file mode 100644 index 0000000..a0fce26 --- /dev/null +++ b/charts/cds-operator/templates/service-account.yaml @@ -0,0 +1 @@ +{{ include "yaook.operator-lib.ServiceAccount" . }} diff --git a/charts/cds-operator/templates/service.yaml b/charts/cds-operator/templates/service.yaml new file mode 100644 index 0000000..fd5c421 --- /dev/null +++ b/charts/cds-operator/templates/service.yaml @@ -0,0 +1 @@ +{{ include "yaook.operator-lib.Service" . }} diff --git a/charts/cds-operator/templates/servicemonitor.yaml b/charts/cds-operator/templates/servicemonitor.yaml new file mode 100644 index 0000000..ea8e9f7 --- /dev/null +++ b/charts/cds-operator/templates/servicemonitor.yaml @@ -0,0 +1 @@ +{{ include "yaook.operator-lib.ServiceMonitor" . }} diff --git a/charts/cds-operator/values.yaml b/charts/cds-operator/values.yaml new file mode 100644 index 0000000..36e3d8a --- /dev/null +++ b/charts/cds-operator/values.yaml @@ -0,0 +1,41 @@ +nameOverride: "" +fullnameOverride: "" + +operator: + image: + repository: registry.yaook.cloud/yaook/operator + pullPolicy: IfNotPresent + runnerCount: 3 + additionalServiceMonitorLabels: {} + + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + schedulingKeys: + - operator.yaook.cloud/configured-daemon-set + - operator.yaook.cloud/any + + nodeSelector: {} + + tolerations: [] + + affinity: {} + + verbosity: "3" + + imagePullSecrets: [] + + pythonOptimize: true + + extraEnv: [] + + multipleNamespaces: false \ No newline at end of file diff --git a/charts/crds/Chart.yaml b/charts/crds/Chart.yaml index aeca4ea..a39defd 100644 --- a/charts/crds/Chart.yaml +++ b/charts/crds/Chart.yaml @@ -2,6 +2,6 @@ apiVersion: v2 description: CustomResourceDefinitions used by Yaook. type: application name: crds -version: "0.20240704.1" -appVersion: "0.20240704.1" +version: "0.20240801.0" +appVersion: "0.20240801.0" kubeVersion: ">=1.16.0-0" \ No newline at end of file diff --git a/charts/crds/templates/gen-cue-barbican-crd.cue.yaml b/charts/crds/templates/gen-cue-barbican-crd.cue.yaml index f3eead6..b58e389 100644 --- a/charts/crds/templates/gen-cue-barbican-crd.cue.yaml +++ b/charts/crds/templates/gen-cue-barbican-crd.cue.yaml @@ -40,6 +40,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default value + is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. If @@ -76,6 +80,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default + value is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. diff --git a/charts/crds/templates/gen-cue-ceilometer-crd.cue.yaml b/charts/crds/templates/gen-cue-ceilometer-crd.cue.yaml index bb0ab3d..e6b738e 100644 --- a/charts/crds/templates/gen-cue-ceilometer-crd.cue.yaml +++ b/charts/crds/templates/gen-cue-ceilometer-crd.cue.yaml @@ -554,6 +554,7 @@ spec: enum: - train - yoga + - zed type: string required: - keystoneRef diff --git a/charts/crds/templates/gen-cue-cinder-crd.cue.yaml b/charts/crds/templates/gen-cue-cinder-crd.cue.yaml index 9e388d3..8fab3c4 100644 --- a/charts/crds/templates/gen-cue-cinder-crd.cue.yaml +++ b/charts/crds/templates/gen-cue-cinder-crd.cue.yaml @@ -40,6 +40,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default value + is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. If @@ -76,6 +80,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default + value is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. diff --git a/charts/crds/templates/gen-cue-glance-crd.cue.yaml b/charts/crds/templates/gen-cue-glance-crd.cue.yaml index 671b401..83045a1 100644 --- a/charts/crds/templates/gen-cue-glance-crd.cue.yaml +++ b/charts/crds/templates/gen-cue-glance-crd.cue.yaml @@ -39,6 +39,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default value + is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. If @@ -75,6 +79,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default + value is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. diff --git a/charts/crds/templates/gen-cue-gnocchi-crd.cue.yaml b/charts/crds/templates/gen-cue-gnocchi-crd.cue.yaml index a5063a7..2564bc7 100644 --- a/charts/crds/templates/gen-cue-gnocchi-crd.cue.yaml +++ b/charts/crds/templates/gen-cue-gnocchi-crd.cue.yaml @@ -39,6 +39,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default value + is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. If @@ -75,6 +79,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default + value is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. diff --git a/charts/crds/templates/gen-cue-heat-crd.cue.yaml b/charts/crds/templates/gen-cue-heat-crd.cue.yaml index 21c9125..2be6a2d 100644 --- a/charts/crds/templates/gen-cue-heat-crd.cue.yaml +++ b/charts/crds/templates/gen-cue-heat-crd.cue.yaml @@ -39,6 +39,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default value + is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. If @@ -75,6 +79,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default + value is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. @@ -329,6 +337,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default value + is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. If @@ -365,6 +377,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default + value is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. diff --git a/charts/crds/templates/gen-cue-horizon-crd.cue.yaml b/charts/crds/templates/gen-cue-horizon-crd.cue.yaml index f719624..1f70ea4 100644 --- a/charts/crds/templates/gen-cue-horizon-crd.cue.yaml +++ b/charts/crds/templates/gen-cue-horizon-crd.cue.yaml @@ -57,6 +57,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default value + is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. If unset, diff --git a/charts/crds/templates/gen-cue-infra-ironic-crd.cue.yaml b/charts/crds/templates/gen-cue-infra-ironic-crd.cue.yaml index 7a33b59..c1c0877 100644 --- a/charts/crds/templates/gen-cue-infra-ironic-crd.cue.yaml +++ b/charts/crds/templates/gen-cue-infra-ironic-crd.cue.yaml @@ -39,6 +39,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default value + is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. If @@ -75,6 +79,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default + value is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. @@ -1123,6 +1131,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default value + is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. If @@ -1239,6 +1251,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default value + is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. If @@ -1275,6 +1291,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default + value is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. diff --git a/charts/crds/templates/gen-cue-keystone-crd.cue.yaml b/charts/crds/templates/gen-cue-keystone-crd.cue.yaml index da87826..5f9c91d 100644 --- a/charts/crds/templates/gen-cue-keystone-crd.cue.yaml +++ b/charts/crds/templates/gen-cue-keystone-crd.cue.yaml @@ -40,6 +40,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default value + is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. If @@ -76,6 +80,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default + value is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. diff --git a/charts/crds/templates/gen-cue-neutron-crd.cue.yaml b/charts/crds/templates/gen-cue-neutron-crd.cue.yaml index f31fc16..5ae63f9 100644 --- a/charts/crds/templates/gen-cue-neutron-crd.cue.yaml +++ b/charts/crds/templates/gen-cue-neutron-crd.cue.yaml @@ -40,6 +40,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default value + is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. If @@ -76,6 +80,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default + value is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. diff --git a/charts/crds/templates/gen-cue-nova-crd.cue.yaml b/charts/crds/templates/gen-cue-nova-crd.cue.yaml index 227de6b..80d62bf 100644 --- a/charts/crds/templates/gen-cue-nova-crd.cue.yaml +++ b/charts/crds/templates/gen-cue-nova-crd.cue.yaml @@ -40,6 +40,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default value + is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. If @@ -76,6 +80,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default + value is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. @@ -2730,6 +2738,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default value + is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. If @@ -2766,6 +2778,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default + value is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. @@ -3169,6 +3185,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default value + is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. If @@ -3205,6 +3225,10 @@ spec: ingress: description: Ingress configuration properties: + createIngress: + description: Create the k8s ingress object. The default + value is true + type: boolean externalCertificateSecretRef: description: Reference to a Kubernetes TLS Secret containing the TLS certificate and keys to use for this endpoint. diff --git a/charts/horizon-operator/Chart.yaml b/charts/horizon-operator/Chart.yaml new file mode 100644 index 0000000..1f8e999 --- /dev/null +++ b/charts/horizon-operator/Chart.yaml @@ -0,0 +1,7 @@ +apiVersion: v2 +description: Yaook horizon operator +type: application +name: horizon-operator +version: "0.20240801.0" +appVersion: "0.20240801.0" +kubeVersion: ">=1.16.0-0" \ No newline at end of file diff --git a/charts/horizon-operator/charts/operator-lib/Chart.yaml b/charts/horizon-operator/charts/operator-lib/Chart.yaml new file mode 100644 index 0000000..525e8e1 --- /dev/null +++ b/charts/horizon-operator/charts/operator-lib/Chart.yaml @@ -0,0 +1,7 @@ +apiVersion: v2 +description: Yaook Operator Helm Chart library +type: library +name: operator-lib +version: 1.0.0 +appVersion: 1.0.0 +kubeVersion: ">=1.16.0-0" diff --git a/charts/horizon-operator/charts/operator-lib/templates/_cluster-role-binding.yaml b/charts/horizon-operator/charts/operator-lib/templates/_cluster-role-binding.yaml new file mode 100644 index 0000000..b252be6 --- /dev/null +++ b/charts/horizon-operator/charts/operator-lib/templates/_cluster-role-binding.yaml @@ -0,0 +1,16 @@ +{{- define "yaook.operator-lib.ClusterRoleBinding" -}} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ include "yaook.operator-lib.fullname" . }} + labels: + {{- include "yaook.operator-lib.labels" . | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ include "yaook.operator-lib.fullname" . }} +subjects: +- kind: ServiceAccount + name: {{ include "yaook.operator-lib.fullname" . }} + namespace: {{ .Release.Namespace }} +{{- end -}} diff --git a/charts/horizon-operator/charts/operator-lib/templates/_deployment.yaml b/charts/horizon-operator/charts/operator-lib/templates/_deployment.yaml new file mode 100644 index 0000000..9f6dbe0 --- /dev/null +++ b/charts/horizon-operator/charts/operator-lib/templates/_deployment.yaml @@ -0,0 +1,100 @@ +{{- define "yaook.operator-lib.Deployment" -}} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "yaook.operator-lib.fullname" . }} + labels: + {{- include "yaook.operator-lib.labels" . | nindent 4 }} +spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + {{- include "yaook.operator-lib.selectorLabels" . | nindent 6 }} + template: + metadata: + labels: + {{- include "yaook.operator-lib.labels" . | nindent 8 }} + spec: + serviceAccountName: {{ include "yaook.operator-lib.fullname" . }} + containers: + - name: operator + image: {{ include "yaook.operator-lib.image" . }} + imagePullPolicy: {{ .Values.operator.image.pullPolicy }} + securityContext: + runAsUser: 2020 + runAsGroup: 2020 + ports: + - containerPort: 8000 + name: metrics + protocol: TCP + args: + - {{ include "yaook.operator.name" . | quote }} + - run + env: + - name: YAOOK_OP_VERBOSITY + value: {{ .Values.operator.verbosity | toString | toYaml }} + - name: YAOOK_OP_RUNNER_COUNT + value: {{ .Values.operator.runnerCount | toString | toYaml }} + - name: YAOOK_OP_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: YAOOK_OP_MULTIPLE_NAMESPACES + value: {{ .Values.operator.multipleNamespaces | toString | toYaml }} + - name: PYTHONOPTIMIZE + {{- if .Values.operator.pythonOptimize }} + value: "1" + {{- else }} + value: "0" + {{- end }} + {{- if .Values.operator.dockerConfigSecret }} + - name: YAOOK_OP_DOCKER_CONFIG + value: /var/run/secrets/docker/.dockerconfigjson + {{- end }} + {{- if .Values.operator.caConfigMap }} + - name: REQUESTS_CA_BUNDLE + value: /etc/pki/tls/certs/ca-bundle.crt + {{- end }} + {{- include "yaook.operator-lib.env" . | nindent 8 }} + volumeMounts: + {{- if .Values.operator.dockerConfigSecret }} + - mountPath: /var/run/secrets/docker + name: docker-config + readOnly: true + {{- end }} + {{- if .Values.operator.caConfigMap }} + - mountPath: /etc/pki/tls/certs + name: ca-certs + {{- end }} + volumes: + {{- if .Values.operator.dockerConfigSecret }} + - name: docker-config + secret: + secretName: {{ .Values.operator.dockerConfigSecret | quote }} + {{- end }} + {{- if .Values.operator.caConfigMap }} + - name: ca-certs + configMap: + defaultMode: 420 + name: {{ .Values.operator.caConfigMap | quote }} + {{- end }} + {{- with .Values.operator.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.operator.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.operator.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.operator.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- include "yaook.operator-lib.scheduling" . | nindent 6 }} +{{- end -}} diff --git a/charts/horizon-operator/charts/operator-lib/templates/_lib.tpl b/charts/horizon-operator/charts/operator-lib/templates/_lib.tpl new file mode 100644 index 0000000..0e3df78 --- /dev/null +++ b/charts/horizon-operator/charts/operator-lib/templates/_lib.tpl @@ -0,0 +1,84 @@ +{{- define "yaook.operator-lib.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{- define "yaook.operator-lib.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 55 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 55 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 55 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{- define "yaook.operator-lib.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{- define "yaook.operator-lib.labels" -}} +helm.sh/chart: {{ include "yaook.operator-lib.chart" . }} +{{ include "yaook.operator-lib.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +{{- end -}} + +{{- define "yaook.operator-lib.selectorLabels" -}} +app.kubernetes.io/name: {{ include "yaook.operator-lib.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end -}} + +{{- define "yaook.operator-lib.image" -}} +{{ .Values.operator.image.repository }}:{{ default .Chart.AppVersion .Values.operator.image.tag }} +{{- end -}} + +{{- define "yaook.operator.extraEnv" -}} +{{- end -}} + +{{- define "yaook.operator-lib.env" -}} +{{- range .Values.operator.extraEnv }} +- {{ . | toYaml | nindent 2 }} +{{- end }} +{{ include "yaook.operator.extraEnv" . }} +{{- end -}} + +{{- define "yaook.operator-lib.applySchedulingKeys" -}} +affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + {{- range . }} + - matchExpressions: + - key: {{ . }} + operator: Exists + {{- end }} +tolerations: + {{- range . }} + - key: {{ . }} + operator: Exists + {{- end }} +{{- end -}} + +{{- define "yaook.operator-lib.scheduling" -}} +{{- if .Values.operator.schedulingKeys }} +{{- include "yaook.operator-lib.applySchedulingKeys" .Values.operator.schedulingKeys }} +{{- else }} +{{- with .Values.operator.nodeSelector }} +nodeSelector: +{{- toYaml . | nindent 8 }} +{{- end }} +{{- with .Values.operator.affinity }} +affinity: +{{- toYaml . | nindent 8 }} +{{- end }} +{{- with .Values.operator.tolerations }} +tolerations: +{{- toYaml . | nindent 8 }} +{{- end }} +{{- end }} +{{- end -}} diff --git a/charts/horizon-operator/charts/operator-lib/templates/_role-binding.yaml b/charts/horizon-operator/charts/operator-lib/templates/_role-binding.yaml new file mode 100644 index 0000000..10f7a88 --- /dev/null +++ b/charts/horizon-operator/charts/operator-lib/templates/_role-binding.yaml @@ -0,0 +1,17 @@ +{{- define "yaook.operator-lib.RoleBinding" -}} +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + namespace: {{ .Release.Namespace }} + name: {{ include "yaook.operator-lib.fullname" . }} + labels: + {{- include "yaook.operator-lib.labels" . | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: {{ include "yaook.operator-lib.fullname" . }} +subjects: +- kind: ServiceAccount + name: {{ include "yaook.operator-lib.fullname" . }} + namespace: {{ .Release.Namespace }} +{{- end -}} diff --git a/charts/horizon-operator/charts/operator-lib/templates/_service-account.yaml b/charts/horizon-operator/charts/operator-lib/templates/_service-account.yaml new file mode 100644 index 0000000..88685f4 --- /dev/null +++ b/charts/horizon-operator/charts/operator-lib/templates/_service-account.yaml @@ -0,0 +1,9 @@ +{{- define "yaook.operator-lib.ServiceAccount" -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + namespace: {{ .Release.Namespace }} + name: {{ include "yaook.operator-lib.fullname" . }} + labels: + {{- include "yaook.operator-lib.labels" . | nindent 4 }} +{{- end -}} diff --git a/charts/horizon-operator/charts/operator-lib/templates/_service.yaml b/charts/horizon-operator/charts/operator-lib/templates/_service.yaml new file mode 100644 index 0000000..ea5e237 --- /dev/null +++ b/charts/horizon-operator/charts/operator-lib/templates/_service.yaml @@ -0,0 +1,18 @@ +{{- define "yaook.operator-lib.Service" -}} +--- +apiVersion: v1 +kind: Service +metadata: + name: {{ include "yaook.operator-lib.fullname" . }} + labels: + {{- include "yaook.operator-lib.labels" . | nindent 4 }} + namespace: {{ .Release.Namespace }} +spec: + type: ClusterIP + selector: + {{- include "yaook.operator-lib.selectorLabels" . | nindent 6 }} + ports: + - name: metrics + port: 8000 + protocol: TCP +{{- end }} diff --git a/charts/horizon-operator/charts/operator-lib/templates/_servicemonitor.yaml b/charts/horizon-operator/charts/operator-lib/templates/_servicemonitor.yaml new file mode 100644 index 0000000..6b445d0 --- /dev/null +++ b/charts/horizon-operator/charts/operator-lib/templates/_servicemonitor.yaml @@ -0,0 +1,23 @@ +{{- define "yaook.operator-lib.ServiceMonitor" -}} +--- +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ include "yaook.operator-lib.fullname" . }} + labels: + {{- include "yaook.operator-lib.labels" . | nindent 4 }} + {{- range $key, $val := .Values.operator.additionalServiceMonitorLabels }} + {{ $key }}: {{ $val }} + {{- end }} + namespace: {{ .Release.Namespace }} +spec: + selector: + matchLabels: + {{- include "yaook.operator-lib.selectorLabels" . | nindent 6 }} + endpoints: + - port: metrics + interval: 15s + namespaceSelector: + matchNames: + - {{ .Release.Namespace }} +{{- end }} diff --git a/charts/horizon-operator/templates/_helpers.tpl b/charts/horizon-operator/templates/_helpers.tpl new file mode 100644 index 0000000..0b0760e --- /dev/null +++ b/charts/horizon-operator/templates/_helpers.tpl @@ -0,0 +1,3 @@ +{{- define "yaook.operator.name" -}} +horizon +{{- end -}} diff --git a/charts/horizon-operator/templates/cluster-role-binding.yaml b/charts/horizon-operator/templates/cluster-role-binding.yaml new file mode 100644 index 0000000..eed7502 --- /dev/null +++ b/charts/horizon-operator/templates/cluster-role-binding.yaml @@ -0,0 +1 @@ +{{ include "yaook.operator-lib.ClusterRoleBinding" . }} diff --git a/charts/horizon-operator/templates/deployment.yaml b/charts/horizon-operator/templates/deployment.yaml new file mode 100644 index 0000000..df4c67d --- /dev/null +++ b/charts/horizon-operator/templates/deployment.yaml @@ -0,0 +1 @@ +{{ include "yaook.operator-lib.Deployment" . }} diff --git a/charts/horizon-operator/templates/gen-roles.yaml b/charts/horizon-operator/templates/gen-roles.yaml new file mode 100644 index 0000000..d45112e --- /dev/null +++ b/charts/horizon-operator/templates/gen-roles.yaml @@ -0,0 +1,194 @@ +# THESE ROLES WERE AUTOGENERATED USING THE yaook.op CLI +# DO NOT MODIFY +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ include "yaook.operator-lib.fullname" . }} +rules: [] +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: {{ include "yaook.operator-lib.fullname" . }} + namespace: {{ .Release.Namespace }} +rules: +- apiGroups: + - '' + resources: + - configmaps + verbs: + - create + - delete + - deletecollection + - get + - list + - patch + - update + - watch +- apiGroups: + - '' + resources: + - configmaps/status + verbs: + - get + - list +- apiGroups: + - '' + resources: + - events + verbs: + - create +- apiGroups: + - '' + resources: + - pods + verbs: + - get + - list +- apiGroups: + - '' + resources: + - secrets + - services + verbs: + - create + - delete + - deletecollection + - get + - list + - patch + - update + - watch +- apiGroups: + - apps + resources: + - deployments + verbs: + - create + - delete + - deletecollection + - get + - list + - patch + - update + - watch +- apiGroups: + - apps + resources: + - deployments/status + verbs: + - get + - list +- apiGroups: + - cert-manager.io + resources: + - certificates + verbs: + - create + - delete + - deletecollection + - get + - list + - patch + - update + - watch +- apiGroups: + - cert-manager.io + resources: + - certificates/status + verbs: + - get + - list +- apiGroups: + - events.k8s.io + resources: + - events + verbs: + - create +- apiGroups: + - monitoring.coreos.com + resources: + - servicemonitors + verbs: + - create + - delete + - deletecollection + - get + - list + - patch + - update + - watch +- apiGroups: + - networking.k8s.io + resources: + - ingresses + verbs: + - create + - delete + - deletecollection + - get + - list + - patch + - update + - watch +- apiGroups: + - policy + resources: + - poddisruptionbudgets + verbs: + - create + - delete + - deletecollection + - get + - list + - patch + - update + - watch +- apiGroups: + - yaook.cloud + resources: + - externalkeystonedeployments + verbs: + - get + - list + - watch +- apiGroups: + - yaook.cloud + resources: + - externalkeystonedeployments/status + verbs: + - get + - list +- apiGroups: + - yaook.cloud + resources: + - horizondeployments + verbs: + - get + - list + - patch + - watch +- apiGroups: + - yaook.cloud + resources: + - horizondeployments/status + verbs: + - get + - patch + - update +- apiGroups: + - yaook.cloud + resources: + - keystonedeployments + verbs: + - get + - list + - watch +- apiGroups: + - yaook.cloud + resources: + - keystonedeployments/status + verbs: + - get + - list diff --git a/charts/horizon-operator/templates/role-binding.yaml b/charts/horizon-operator/templates/role-binding.yaml new file mode 100644 index 0000000..c9a3ef1 --- /dev/null +++ b/charts/horizon-operator/templates/role-binding.yaml @@ -0,0 +1 @@ +{{ include "yaook.operator-lib.RoleBinding" . }} diff --git a/charts/horizon-operator/templates/service-account.yaml b/charts/horizon-operator/templates/service-account.yaml new file mode 100644 index 0000000..a0fce26 --- /dev/null +++ b/charts/horizon-operator/templates/service-account.yaml @@ -0,0 +1 @@ +{{ include "yaook.operator-lib.ServiceAccount" . }} diff --git a/charts/horizon-operator/templates/service.yaml b/charts/horizon-operator/templates/service.yaml new file mode 100644 index 0000000..fd5c421 --- /dev/null +++ b/charts/horizon-operator/templates/service.yaml @@ -0,0 +1 @@ +{{ include "yaook.operator-lib.Service" . }} diff --git a/charts/horizon-operator/templates/servicemonitor.yaml b/charts/horizon-operator/templates/servicemonitor.yaml new file mode 100644 index 0000000..ea8e9f7 --- /dev/null +++ b/charts/horizon-operator/templates/servicemonitor.yaml @@ -0,0 +1 @@ +{{ include "yaook.operator-lib.ServiceMonitor" . }} diff --git a/charts/horizon-operator/values.yaml b/charts/horizon-operator/values.yaml new file mode 100644 index 0000000..07cbf88 --- /dev/null +++ b/charts/horizon-operator/values.yaml @@ -0,0 +1,54 @@ +nameOverride: "" +fullnameOverride: "" + +operator: + image: + repository: registry.yaook.cloud/yaook/operator + pullPolicy: IfNotPresent + runnerCount: 3 + additionalServiceMonitorLabels: {} + + resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + schedulingKeys: + - operator.yaook.cloud/horizon + - operator.yaook.cloud/any + + nodeSelector: {} + + tolerations: [] + + affinity: {} + + verbosity: "3" + + imagePullSecrets: [] + + pythonOptimize: true + + extraEnv: [] + + # Optional specify the name of a K8s secret of type + # kubernetes.io/dockerconfigjson. Can be used to make image registry + # credential available to the operator. + dockerConfigSecret: "" + + # Optional specify a name of a ConfigMap which is mounted within the + # operator container under /etc/pki/tls/certs. If set the environment + # variable REQUESTS_CA_BUNDLE is set to point to /etc/pki/tls/certs/ + # ca-bundle.crt. The operator then uses that file as the CA bundle. This + # can be useful for example if a private image registry is used which is + # secured by a certificate not signed by a official CA. + caConfigMap: "" + + multipleNamespaces: false \ No newline at end of file diff --git a/charts/infra-operator/Chart.yaml b/charts/infra-operator/Chart.yaml index f99bb57..90ac157 100644 --- a/charts/infra-operator/Chart.yaml +++ b/charts/infra-operator/Chart.yaml @@ -2,6 +2,6 @@ apiVersion: v2 description: Yaook infrastructure service operator (databases, caches, message queues) type: application name: infra-operator -version: "0.20240704.1" -appVersion: "0.20240704.1" +version: "0.20240801.0" +appVersion: "0.20240801.0" kubeVersion: ">=1.16.0-0" \ No newline at end of file diff --git a/charts/keystone-operator/Chart.yaml b/charts/keystone-operator/Chart.yaml index 18b80a0..5942489 100644 --- a/charts/keystone-operator/Chart.yaml +++ b/charts/keystone-operator/Chart.yaml @@ -2,6 +2,6 @@ apiVersion: v2 description: Yaook keystone operator type: application name: keystone-operator -version: "0.20240704.1" -appVersion: "0.20240704.1" +version: "0.20240801.0" +appVersion: "0.20240801.0" kubeVersion: ">=1.16.0-0" \ No newline at end of file diff --git a/charts/keystone-resources-operator/Chart.yaml b/charts/keystone-resources-operator/Chart.yaml index d7f9d6a..b8375dd 100644 --- a/charts/keystone-resources-operator/Chart.yaml +++ b/charts/keystone-resources-operator/Chart.yaml @@ -2,6 +2,6 @@ apiVersion: v2 description: Yaook Keystone resources operator (users, endpoints) type: application name: keystone-resources-operator -version: "0.20240704.1" -appVersion: "0.20240704.1" +version: "0.20240801.0" +appVersion: "0.20240801.0" kubeVersion: ">=1.16.0-0" \ No newline at end of file