[bitnami/osclass] Chart standardized (#7609)

* [bitnami/osclass] Chart standarized

* Bump MariaDB version, update README.md and minor changes

* [bitnami/osclass] Update components versions

Signed-off-by: Bitnami Containers <containers@bitnami.com>

Co-authored-by: Bitnami Containers <containers@bitnami.com>
This commit is contained in:
Miguel Ruiz
2022-01-05 15:02:09 +01:00
committed by GitHub
parent 0f8f19d2ac
commit e6526663bd
12 changed files with 252 additions and 147 deletions

View File

@@ -4,6 +4,6 @@ dependencies:
version: 1.10.3
- name: mariadb
repository: https://charts.bitnami.com/bitnami
version: 9.8.1
digest: sha256:7a6dadb86cbfade5e8ba75133e942c83a108c532f149a88c3ebc953d5be409bf
generated: "2021-12-17T18:51:25.734887314Z"
version: 10.2.0
digest: sha256:5ee5337d3c581bf4fe0f0fdb290a179856246989025511f093d2d50f443d18bc
generated: "2022-01-04T16:42:49.624856+01:00"

View File

@@ -13,7 +13,7 @@ dependencies:
repository: https://charts.bitnami.com/bitnami
tags:
- osclass-database
version: 9.x.x
version: 10.x.x
description: Osclass is a php script that allows you to quickly create and manage your own free classifieds site.
engine: gotpl
home: https://github.com/bitnami/charts/tree/master/bitnami/osclass
@@ -31,4 +31,4 @@ name: osclass
sources:
- https://github.com/bitnami/bitnami-docker-osclass
- https://osclass.org/
version: 12.0.3
version: 13.0.0

View File

@@ -71,14 +71,14 @@ The command removes all the Kubernetes components associated with the chart and
### Osclass Image parameters
| Name | Description | Value |
| ------------------- | -------------------------------------------------- | -------------------- |
| `image.registry` | Osclass image registry | `docker.io` |
| `image.repository` | Osclass image repository | `bitnami/osclass` |
| `image.tag` | Osclass image tag (immutable tags are recommended) | `8.0.0-debian-10-r0` |
| `image.pullPolicy` | Osclass image pull policy | `IfNotPresent` |
| `image.pullSecrets` | Osclass image pull secrets | `[]` |
| `image.debug` | Enable Bitnami debug mode in Osclass image | `false` |
| Name | Description | Value |
| ------------------- | -------------------------------------------------- | --------------------- |
| `image.registry` | Osclass image registry | `docker.io` |
| `image.repository` | Osclass image repository | `bitnami/osclass` |
| `image.tag` | Osclass image tag (immutable tags are recommended) | `8.0.0-debian-10-r25` |
| `image.pullPolicy` | Osclass image pull policy | `IfNotPresent` |
| `image.pullSecrets` | Osclass image pull secrets | `[]` |
| `image.debug` | Enable Bitnami debug mode in Osclass image | `false` |
### Osclass Configuration parameters
@@ -109,6 +109,13 @@ The command removes all the Kubernetes components associated with the chart and
| `containerSecurityContext.enabled` | Enabled Osclass containers' Security Context | `true` |
| `containerSecurityContext.runAsUser` | Set Osclass container's Security Context runAsUser | `1001` |
| `containerSecurityContext.runAsNonRoot` | Set Osclass container's Security Context runAsNonRoot | `true` |
| `startupProbe.enabled` | Enable startupProbe | `false` |
| `startupProbe.path` | Path for the HTTP probe | `/oc-admin` |
| `startupProbe.initialDelaySeconds` | Initial delay seconds for startupProbe | `600` |
| `startupProbe.periodSeconds` | Period seconds for startupProbe | `10` |
| `startupProbe.timeoutSeconds` | Timeout seconds for startupProbe | `5` |
| `startupProbe.failureThreshold` | Failure threshold for startupProbe | `5` |
| `startupProbe.successThreshold` | Success threshold for startupProbe | `1` |
| `livenessProbe.enabled` | Enable livenessProbe | `true` |
| `livenessProbe.path` | Path for the HTTP probe | `/oc-admin` |
| `livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `600` |
@@ -123,6 +130,7 @@ The command removes all the Kubernetes components associated with the chart and
| `readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `1` |
| `readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `5` |
| `readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` |
| `customStartupProbe` | Custom livenessProbe that overrides the default one | `{}` |
| `customLivenessProbe` | Custom livenessProbe that overrides the default one | `{}` |
| `customReadinessProbe` | Custom readinessProbe that overrides the default one | `{}` |
| `certificates.customCertificate.certificateSecret` | name of the secret with custom certificates | `""` |
@@ -139,15 +147,15 @@ The command removes all the Kubernetes components associated with the chart and
| `certificates.extraEnvVarsSecret` | Secret with extra environment variables | `""` |
| `certificates.image.registry` | Apache Exporter image registry | `docker.io` |
| `certificates.image.repository` | Apache Exporter image repository | `bitnami/bitnami-shell` |
| `certificates.image.tag` | Apache Exporter image tag (immutable tags are recommended) | `10-debian-10-r255` |
| `certificates.image.tag` | Apache Exporter image tag (immutable tags are recommended) | `10-debian-10-r282` |
| `certificates.image.pullPolicy` | Apache Exporter image pull policy | `IfNotPresent` |
| `certificates.image.pullSecrets` | Apache Exporter image pull secrets | `[]` |
| `lifecycleHooks` | lifecycleHooks for the container to automate configuration before or after startup. | `{}` |
| `podAnnotations` | Annotations for Osclass pods | `{}` |
| `podLabels` | Extra labels for Osclass pods | `{}` |
| `replicaCount` | Number of Osclass replicas to deploy | `1` |
| `containerPorts.http` | WordPress HTTP container port | `8080` |
| `containerPorts.https` | WordPress HTTPS container port | `8443` |
| `containerPorts.http` | Osclass HTTP container port | `8080` |
| `containerPorts.https` | Osclass HTTPS container port | `8443` |
| `command` | Override default container command (useful when using custom images) | `[]` |
| `args` | Override default container args (useful when using custom images) | `[]` |
| `updateStrategy.type` | Osclass deployment strategy type | `RollingUpdate` |
@@ -169,19 +177,25 @@ The command removes all the Kubernetes components associated with the chart and
| `resources.limits` | The resources limits for the Osclass container | `{}` |
| `resources.requests` | The requested resources for the Osclass container | `{}` |
| `tolerations` | Tolerations for pod assignment | `[]` |
| `priorityClassName` | Osclass pods' priorityClassName | `""` |
| `schedulerName` | Name of the k8s scheduler (other than default) | `""` |
| `topologySpreadConstraints` | Topology Spread Constraints for pod assignment | `[]` |
### Traffic Exposure Parameters
| Name | Description | Value |
| ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
| `service.type` | WordPress service type | `LoadBalancer` |
| `service.port` | WordPress service HTTP port | `80` |
| `service.httpsPort` | WordPress service HTTPS port | `443` |
| `service.clusterIP` | WordPress service Cluster IP | `""` |
| `service.type` | Osclass service type | `LoadBalancer` |
| `service.ports.http` | Osclass service HTTP port | `80` |
| `service.ports.https` | Osclass service HTTPS port | `443` |
| `service.clusterIP` | Osclass service Cluster IP | `""` |
| `service.loadBalancerIP` | Osclass service Load Balancer IP | `""` |
| `service.loadBalancerSourceRanges` | Osclass service Load Balancer sources | `[]` |
| `service.extraPorts` | Extra ports to expose (normally used with the `sidecar` value) | `[]` |
| `service.annotations` | Additional custom annotations for Osclass service | `{}` |
| `service.sessionAffinity` | Control where client requests go, to the same pod or round-robin | `None` |
| `service.sessionAffinityConfig` | Additional settings for the sessionAffinity | `{}` |
| `service.nodePorts.http` | Node port for HTTP | `""` |
| `service.nodePorts.https` | Node port for HTTPS | `""` |
| `service.externalTrafficPolicy` | Osclass service external traffic policy | `Cluster` |
@@ -196,6 +210,7 @@ The command removes all the Kubernetes components associated with the chart and
| `ingress.extraPaths` | An array with additional arbitrary paths that may need to be added to the ingress under the main host | `[]` |
| `ingress.extraTls` | TLS configuration for additional hostname(s) to be covered with this ingress record | `[]` |
| `ingress.secrets` | Custom TLS certificates as secrets | `[]` |
| `ingress.ingressClassName` | IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+) | `""` |
### Database Parameters
@@ -207,6 +222,7 @@ The command removes all the Kubernetes components associated with the chart and
| `externalDatabase.user` | External Database username | `bn_osclass` |
| `externalDatabase.password` | External Database user password | `""` |
| `externalDatabase.database` | External Database database name | `bitnami_osclass` |
| `externalDatabase.existingSecret` | Name of an existing secret resource containing the DB password | `""` |
| `mariadb.enabled` | Deploy a MariaDB server to satisfy the applications database requirements | `true` |
| `mariadb.architecture` | MariaDB architecture. Allowed values: `standalone` or `replication` | `standalone` |
| `mariadb.auth.rootPassword` | MariaDB root password | `""` |
@@ -223,10 +239,11 @@ The command removes all the Kubernetes components associated with the chart and
| `persistence.size` | Persistent Volume size | `8Gi` |
| `persistence.existingClaim` | The name of an existing PVC to use for persistence | `""` |
| `persistence.hostPath` | If defined, the osclass-data volume will mount to the specified hostPath. | `""` |
| `persistence.annotations` | Persistent Volume Claim annotations | `{}` |
| `volumePermissions.enabled` | Enable init container that changes the owner/group of the PV mount point to `runAsUser:fsGroup` | `false` |
| `volumePermissions.image.registry` | Bitnami Shell image registry | `docker.io` |
| `volumePermissions.image.repository` | Bitnami Shell image repository | `bitnami/bitnami-shell` |
| `volumePermissions.image.tag` | Bitnami Shell image tag (immutable tags are recommended) | `10-debian-10-r255` |
| `volumePermissions.image.tag` | Bitnami Shell image tag (immutable tags are recommended) | `10-debian-10-r282` |
| `volumePermissions.image.pullPolicy` | Bitnami Shell image pull policy | `IfNotPresent` |
| `volumePermissions.image.pullSecrets` | Bitnami Shell image pull secrets | `[]` |
| `volumePermissions.resources.limits` | The resources limits for the init container | `{}` |
@@ -249,27 +266,30 @@ The command removes all the Kubernetes components associated with the chart and
### Metrics Parameters
| Name | Description | Value |
| ----------------------------------------- | ---------------------------------------------------------------------------- | ------------------------- |
| `metrics.enabled` | Start a sidecar prometheus exporter to expose metrics | `false` |
| `metrics.image.registry` | Apache Exporter image registry | `docker.io` |
| `metrics.image.repository` | Apache Exporter image repository | `bitnami/apache-exporter` |
| `metrics.image.tag` | Apache Exporter image tag (immutable tags are recommended) | `0.10.1-debian-10-r57` |
| `metrics.image.pullPolicy` | Apache Exporter image pull policy | `IfNotPresent` |
| `metrics.image.pullSecrets` | Apache Exporter image pull secrets | `[]` |
| `metrics.resources.limits` | The resources limits for the Prometheus exporter container | `{}` |
| `metrics.resources.requests` | The requested resources for the Prometheus exporter container | `{}` |
| `metrics.podAnnotations` | Annotations to add | `{}` |
| `metrics.service.type` | Metrics service type | `ClusterIP` |
| `metrics.service.port` | Metrics service port | `9117` |
| `metrics.service.annotations` | Additional custom annotations for Metrics service | `{}` |
| `metrics.serviceMonitor.enabled` | Create ServiceMonitor Resource for scraping metrics using PrometheusOperator | `false` |
| `metrics.serviceMonitor.namespace` | The namespace in which the ServiceMonitor will be created | `""` |
| `metrics.serviceMonitor.interval` | The interval at which metrics should be scraped | `30s` |
| `metrics.serviceMonitor.scrapeTimeout` | The timeout after which the scrape is ended | `""` |
| `metrics.serviceMonitor.relabellings` | Metrics relabellings to add to the scrape endpoint | `[]` |
| `metrics.serviceMonitor.honorLabels` | Labels to honor to add to the scrape endpoint | `false` |
| `metrics.serviceMonitor.additionalLabels` | Additional custom labels for the ServiceMonitor | `{}` |
| Name | Description | Value |
| ------------------------------------------ | --------------------------------------------------------------------------------- | ------------------------- |
| `metrics.enabled` | Start a sidecar prometheus exporter to expose metrics | `false` |
| `metrics.image.registry` | Apache Exporter image registry | `docker.io` |
| `metrics.image.repository` | Apache Exporter image repository | `bitnami/apache-exporter` |
| `metrics.image.tag` | Apache Exporter image tag (immutable tags are recommended) | `0.10.1-debian-10-r84` |
| `metrics.image.pullPolicy` | Apache Exporter image pull policy | `IfNotPresent` |
| `metrics.image.pullSecrets` | Apache Exporter image pull secrets | `[]` |
| `metrics.resources.limits` | The resources limits for the Prometheus exporter container | `{}` |
| `metrics.resources.requests` | The requested resources for the Prometheus exporter container | `{}` |
| `metrics.podAnnotations` | Annotations to add | `{}` |
| `metrics.service.type` | Metrics service type | `ClusterIP` |
| `metrics.service.port` | Metrics service port | `9117` |
| `metrics.service.annotations` | Additional custom annotations for Metrics service | `{}` |
| `metrics.serviceMonitor.enabled` | Create ServiceMonitor Resource for scraping metrics using PrometheusOperator | `false` |
| `metrics.serviceMonitor.namespace` | The namespace in which the ServiceMonitor will be created | `""` |
| `metrics.serviceMonitor.interval` | The interval at which metrics should be scraped | `30s` |
| `metrics.serviceMonitor.scrapeTimeout` | The timeout after which the scrape is ended | `""` |
| `metrics.serviceMonitor.relabelings` | RelabelConfigs to apply to samples before scraping | `[]` |
| `metrics.serviceMonitor.metricRelabelings` | MetricRelabelConfigs to apply to samples before ingestion | `[]` |
| `metrics.serviceMonitor.honorLabels` | Labels to honor to add to the scrape endpoint | `false` |
| `metrics.serviceMonitor.selector` | ServiceMonitor selector labels | `{}` |
| `metrics.serviceMonitor.labels` | Extra labels for the ServiceMonitor | `{}` |
| `metrics.serviceMonitor.jobLabel` | The name of the label on the target service to use as the job name in prometheus. | `""` |
### NetworkPolicy parameters
@@ -389,6 +409,18 @@ Find more information about how to deal with common errors related to Bitnami
## Upgrading
### To 13.0.0
This major release renames several values in this chart and adds missing features, in order to be inline with the rest of assets in the Bitnami charts repository.
Affected values:
- `service.port` was deprecated. We recommend using `service.ports.http` instead.
- `service.httpsPort` was deprecated. We recommend using `service.ports.https` instead.
- `metrics.serviceMonitor.additionalLabels` renamed as `metrics.serviceMonitor.labels`.
Additionally updates the MariaDB subchart to it newest major, 10.0.0, which contains similar changes. Check [MariaDB Upgrading Notes](https://github.com/bitnami/charts/tree/master/bitnami/mariadb#to-1000) for more information.
### To 10.0.0
The [Bitnami Osclass](https://github.com/bitnami/bitnami-docker-osclass) image was migrated to a "non-root" user approach. Previously the container ran as the `root` user and the Apache daemon was started as the `daemon` user. From now on, both the container and the Apache daemon run as user `1001`. You can revert this behavior by setting the parameters `containerSecurityContext.runAsUser` to `root`.

View File

@@ -21,13 +21,13 @@ APP VERSION: {{ .Chart.AppVersion }}
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "common.names.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
{{- $port:=.Values.service.port | toString }}
echo "Osclass URL: http://$SERVICE_IP{{- if ne $port "80" }}:{{ .Values.service.port }}{{ end }}/"
{{- $port:=(coalesce .Values.service.ports.http .Values.service.port) | toString }}
echo "Osclass URL: http://$SERVICE_IP{{- if ne $port "80" }}:{{ coalesce .Values.service.ports.http .Values.service.port }}{{ end }}/"
{{- else if eq .Values.service.type "ClusterIP" }}
echo "Osclass URL: http://127.0.0.1:8080/"
kubectl port-forward --namespace {{ .Release.Namespace }} svc/{{ include "common.names.fullname" . }} 8080:{{ .Values.service.port }}
kubectl port-forward --namespace {{ .Release.Namespace }} svc/{{ include "common.names.fullname" . }} 8080:{{ coalesce .Values.service.ports.http .Values.service.port }}
{{- end }}

View File

@@ -45,6 +45,13 @@ spec:
podAntiAffinity: {{- include "common.affinities.pods" (dict "type" .Values.podAntiAffinityPreset "context" $) | nindent 10 }}
nodeAffinity: {{- include "common.affinities.nodes" (dict "type" .Values.nodeAffinityPreset.type "key" .Values.nodeAffinityPreset.key "values" .Values.nodeAffinityPreset.values) | nindent 10 }}
{{- end }}
{{- if .Values.schedulerName }}
schedulerName: {{ .Values.schedulerName }}
{{- end }}
{{- if .Values.topologySpreadConstraints }}
topologySpreadConstraints: {{- include "common.tplvalues.render" (dict "value" .Values.topologySpreadConstraints "context" .) | nindent 8 }}
{{- end }}
priorityClassName: {{ .Values.priorityClassName | quote }}
{{- if .Values.nodeSelector }}
nodeSelector: {{- include "common.tplvalues.render" (dict "value" .Values.nodeSelector "context" $) | nindent 8 }}
{{- end }}
@@ -218,6 +225,19 @@ spec:
containerPort: {{ .Values.containerPorts.http }}
- name: https
containerPort: {{ .Values.containerPorts.https }}
{{- if .Values.startupProbe.enabled }}
startupProbe:
httpGet:
path: {{ .Values.startupProbe.path }}
port: http
initialDelaySeconds: {{ .Values.startupProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.startupProbe.periodSeconds }}
timeoutSeconds: {{ .Values.startupProbe.timeoutSeconds }}
successThreshold: {{ .Values.startupProbe.successThreshold }}
failureThreshold: {{ .Values.startupProbe.failureThreshold }}
{{- else if .Values.customStartupProbe }}
startupProbe: {{- include "common.tplvalues.render" (dict "value" .Values.customStartupProbe "context" $) | nindent 12 }}
{{- end }}
{{- if .Values.livenessProbe.enabled }}
livenessProbe:
httpGet:

View File

@@ -1,4 +1,4 @@
{{- if not .Values.mariadb.enabled }}
{{- if and (not .Values.mariadb.enabled) (not .Values.externalDatabase.existingSecret) }}
apiVersion: v1
kind: Secret
metadata:

View File

@@ -18,6 +18,9 @@ metadata:
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
{{- if and .Values.ingress.ingressClassName (eq "true" (include "common.ingress.supportsIngressClassname" .)) }}
ingressClassName: {{ .Values.ingress.ingressClassName | quote }}
{{- end }}
rules:
{{- if .Values.ingress.hostname }}
- host: {{ .Values.ingress.hostname }}

View File

@@ -20,9 +20,24 @@ metadata:
{{- end }}
spec:
type: {{ .Values.metrics.service.type }}
{{ if and (eq .Values.metrics.service.type "LoadBalancer") .Values.metrics.service.loadBalancerIP }}
{{- if and .Values.metrics.service.clusterIP (eq .Values.metrics.service.type "ClusterIP") }}
clusterIP: {{ .Values.metrics.service.clusterIP }}
{{- end }}
{{- if (or (eq .Values.metrics.service.type "LoadBalancer") (eq .Values.metrics.service.type "NodePort")) }}
externalTrafficPolicy: {{ .Values.metrics.service.externalTrafficPolicy | quote }}
{{- end }}
{{- if eq .Values.metrics.service.type "LoadBalancer" }}
loadBalancerSourceRanges: {{ .Values.metrics.service.loadBalancerSourceRanges }}
{{- end }}
{{- if (and (eq .Values.metrics.service.type "LoadBalancer") (not (empty .Values.metrics.service.loadBalancerIP))) }}
loadBalancerIP: {{ .Values.metrics.service.loadBalancerIP }}
{{- end }}
{{- if .Values.metrics.service.sessionAffinity }}
sessionAffinity: {{ .Values.metrics.service.sessionAffinity }}
{{- end }}
{{- if .Values.metrics.service.sessionAffinityConfig }}
sessionAffinityConfig: {{- include "common.tplvalues.render" (dict "value" .Values.metrics.service.sessionAffinityConfig "context" $) | nindent 4 }}
{{- end }}
ports:
- port: {{ .Values.metrics.service.port }}
targetPort: metrics

View File

@@ -7,8 +7,14 @@ metadata:
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- if or .Values.persistence.annotations .Values.commonAnnotations }}
annotations:
{{- if .Values.persistence.annotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.persistence.annotations "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
{{- end }}
spec:
{{- if .Values.persistence.hostPath }}

View File

@@ -10,30 +10,41 @@ metadata:
{{- end }}
labels: {{- include "common.labels.standard" . | nindent 4 }}
app.kubernetes.io/component: metrics
{{- if .Values.metrics.serviceMonitor.additionalLabels }}
{{- include "common.tplvalues.render" (dict "value" .Values.metrics.serviceMonitor.additionalLabels "context" $) | nindent 4 }}
{{- end }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.metrics.serviceMonitor.labels }}
{{- include "common.tplvalues.render" (dict "value" .Values.metrics.serviceMonitor.labels "context" $) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
jobLabel: {{ .Values.metrics.serviceMonitor.jobLabel | quote }}
endpoints:
- port: metrics
{{- if .Values.metrics.serviceMonitor.interval }}
interval: {{ .Values.metrics.serviceMonitor.interval }}
{{- end }}
{{- if .Values.metrics.serviceMonitor.scrapeTimeout }}
scrapeTimeout: {{ .Values.metrics.serviceMonitor.scrapeTimeout }}
{{- end }}
{{- if .Values.metrics.serviceMonitor.honorLabels }}
honorLabels: {{ .Values.metrics.serviceMonitor.honorLabels }}
{{- if .Values.metrics.serviceMonitor.relabellings }}
metricRelabelings: {{- toYaml .Values.metrics.serviceMonitor.relabellings | nindent 8 }}
{{- end }}
{{- if .Values.metrics.serviceMonitor.metricRelabelings }}
metricRelabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.metrics.serviceMonitor.metricRelabelings "context" $) | nindent 8 }}
{{- end }}
{{- if .Values.metrics.serviceMonitor.relabelings }}
relabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.metrics.serviceMonitor.relabelings "context" $) | nindent 8 }}
{{- end }}
namespaceSelector:
matchNames:
- {{ .Release.Namespace }}
- {{ .Release.Namespace | quote }}
selector:
matchLabels: {{- include "common.labels.matchLabels" . | nindent 6 }}
app.kubernetes.io/component: metrics
{{- if .Values.metrics.serviceMonitor.selector }}
{{- include "common.tplvalues.render" (dict "value" .Values.metrics.serviceMonitor.selector "context" $) | nindent 6 }}
{{- end }}
{{- end }}

View File

@@ -7,27 +7,36 @@ metadata:
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
annotations:
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" (dict "value" .Values.commonAnnotations "context" $) | nindent 4 }}
{{- end }}
{{- if .Values.service.annotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.service.annotations "context" $) | nindent 4 }}
{{- end }}
spec:
type: {{ .Values.service.type }}
sessionAffinity: {{ default "None" .Values.service.sessionAffinity }}
{{- if (and .Values.service.clusterIP (eq .Values.service.type "ClusterIP")) }}
{{- if and .Values.service.clusterIP (eq .Values.service.type "ClusterIP") }}
clusterIP: {{ .Values.service.clusterIP }}
{{- end }}
{{- if (and .Values.service.loadBalancerIP (eq .Values.service.type "LoadBalancer")) }}
loadBalancerIP: {{ .Values.service.loadBalancerIP }}
{{- if or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort") }}
externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy | quote }}
{{- end }}
{{- if (and (eq .Values.service.type "LoadBalancer") .Values.service.loadBalancerSourceRanges) }}
{{- if and (eq .Values.service.type "LoadBalancer") .Values.service.loadBalancerSourceRanges }}
loadBalancerSourceRanges: {{- toYaml .Values.service.loadBalancerSourceRanges | nindent 4 }}
{{- end }}
{{- if (or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort")) }}
externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy | quote }}
{{- if (and (eq .Values.service.type "LoadBalancer") (not (empty .Values.service.loadBalancerIP))) }}
loadBalancerIP: {{ .Values.service.loadBalancerIP }}
{{- end }}
{{- if .Values.service.sessionAffinity }}
sessionAffinity: {{ .Values.service.sessionAffinity }}
{{- end }}
{{- if .Values.service.sessionAffinityConfig }}
sessionAffinityConfig: {{- include "common.tplvalues.render" (dict "value" .Values.service.sessionAffinityConfig "context" $) | nindent 4 }}
{{- end }}
ports:
- name: http
port: {{ .Values.service.port }}
port: {{ coalesce .Values.service.ports.http .Values.service.port }}
targetPort: http
{{- if (and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePorts.http))) }}
nodePort: {{ .Values.service.nodePorts.http }}
@@ -35,11 +44,14 @@ spec:
nodePort: null
{{- end }}
- name: https
port: {{ .Values.service.httpsPort }}
port: {{ coalesce .Values.service.ports.https .Values.service.httpsPort }}
targetPort: https
{{- if (and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePorts.https))) }}
nodePort: {{ .Values.service.nodePorts.https }}
{{- else if eq .Values.service.type "ClusterIP" }}
nodePort: null
{{- end }}
{{- if .Values.service.extraPorts }}
{{- include "common.tplvalues.render" (dict "value" .Values.service.extraPorts "context" $) | nindent 4 }}
{{- end }}
selector: {{- include "common.labels.matchLabels" . | nindent 4 }}

View File

@@ -23,23 +23,18 @@ global:
## @param kubeVersion Override Kubernetes version
##
kubeVersion: ""
## @param nameOverride String to partially override common.names.fullname
##
nameOverride: ""
## @param fullnameOverride String to fully override common.names.fullname
##
fullnameOverride: ""
## @param commonAnnotations Annotations to add to all deployed objects
##
commonAnnotations: {}
## @param commonLabels Labels to add to all deployed objects
##
commonLabels: {}
## @param extraDeploy Array of extra objects to deploy with the release
##
extraDeploy: []
@@ -59,7 +54,7 @@ extraDeploy: []
image:
registry: docker.io
repository: bitnami/osclass
tag: 8.0.1-debian-10-r0
tag: 8.0.1-debian-10-r1
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: https://kubernetes.io/docs/user-guide/images/#pre-pulling-images
@@ -83,34 +78,27 @@ image:
## ref: https://github.com/bitnami/bitnami-docker-osclass#connect-osclass-docker-container-to-an-existing-database
##
osclassSkipInstall: false
## @param osclassUsername Osclass username
##
osclassUsername: user
## @param osclassSiteTitle Osclass site title
##
osclassSiteTitle: user
## @param osclassPassword Osclass user password
## Defaults to a random 10-character alphanumeric string if not set
##
osclassPassword: ""
## @param osclassEmail Osclass user email
##
osclassEmail: user@example.com
## @param existingSecret Name of existing secret containing Osclass credentials
## NOTE: Must contain key `osclass-password`
## NOTE: When it's set, the `osclassPassword` parameter is ignored
##
existingSecret: ""
## @param allowEmptyPassword Allow the container to be started with blank passwords
##
allowEmptyPassword: true
## SMTP mail delivery configuration
## ref: https://github.com/bitnami/bitnami-docker-osclass/#smtp-configuration
## @param smtpHost SMTP server host
@@ -136,7 +124,6 @@ hostAliases:
- ip: "127.0.0.1"
hostnames:
- "status.localhost"
## Configure Pods Security Context
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
## @param podSecurityContext.enabled Enabled Osclass pods' Security Context
@@ -145,7 +132,6 @@ hostAliases:
podSecurityContext:
enabled: true
fsGroup: 1001
## Configure Container Security Context (only main container)
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
## @param containerSecurityContext.enabled Enabled Osclass containers' Security Context
@@ -156,9 +142,24 @@ containerSecurityContext:
enabled: true
runAsUser: 1001
runAsNonRoot: true
## Configure extra options for Osclass containers' liveness and readiness probes
## Configure extra options for Osclass containers' liveness, readiness and startup probes
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
## @param startupProbe.enabled Enable startupProbe
## @param startupProbe.path Path for the HTTP probe
## @param startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
## @param startupProbe.periodSeconds Period seconds for startupProbe
## @param startupProbe.timeoutSeconds Timeout seconds for startupProbe
## @param startupProbe.failureThreshold Failure threshold for startupProbe
## @param startupProbe.successThreshold Success threshold for startupProbe
##
startupProbe:
enabled: false
path: /oc-admin
initialDelaySeconds: 600
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 5
successThreshold: 1
## @param livenessProbe.enabled Enable livenessProbe
## @param livenessProbe.path Path for the HTTP probe
## @param livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
@@ -175,7 +176,6 @@ livenessProbe:
timeoutSeconds: 5
failureThreshold: 5
successThreshold: 1
## @param readinessProbe.enabled Enable readinessProbe
## @param readinessProbe.path Path for the HTTP probe
## @param readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
@@ -192,15 +192,15 @@ readinessProbe:
timeoutSeconds: 1
failureThreshold: 5
successThreshold: 1
## @param customStartupProbe Custom livenessProbe that overrides the default one
##
customStartupProbe: {}
## @param customLivenessProbe Custom livenessProbe that overrides the default one
##
customLivenessProbe: {}
## @param customReadinessProbe Custom readinessProbe that overrides the default one
##
customReadinessProbe: {}
## Add custom certificates and certificate authorities to Osclass container
##
certificates:
@@ -236,15 +236,12 @@ certificates:
## @param certificates.extraEnvVars An array to add extra env vars
##
extraEnvVars: []
## @param certificates.extraEnvVarsCM ConfigMap with extra environment variables
##
extraEnvVarsCM: ""
## @param certificates.extraEnvVarsSecret Secret with extra environment variables
##
extraEnvVarsSecret: ""
## Bitnami Apache Exporter image
## ref: https://hub.docker.com/r/bitnami/apache-exporter/tags/
## @param certificates.image.registry Apache Exporter image registry
@@ -256,7 +253,7 @@ certificates:
image:
registry: docker.io
repository: bitnami/bitnami-shell
tag: 10-debian-10-r299
tag: 10-debian-10-r300
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: https://kubernetes.io/docs/user-guide/images/#pre-pulling-images
@@ -269,37 +266,31 @@ certificates:
## @param lifecycleHooks lifecycleHooks for the container to automate configuration before or after startup.
##
lifecycleHooks: {}
## @param podAnnotations Annotations for Osclass pods
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
##
podAnnotations: {}
## @param podLabels Extra labels for Osclass pods
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
##
podLabels: {}
## @param replicaCount Number of Osclass replicas to deploy
## NOTE: ReadWriteMany PVC(s) are required if replicaCount > 1
##
replicaCount: 1
## Container ports
## @param containerPorts.http WordPress HTTP container port
## @param containerPorts.https WordPress HTTPS container port
## @param containerPorts.http Osclass HTTP container port
## @param containerPorts.https Osclass HTTPS container port
##
containerPorts:
http: 8080
https: 8443
## @param command Override default container command (useful when using custom images)
##
command: []
## @param args Override default container args (useful when using custom images)
##
args: []
## @param updateStrategy.type Osclass deployment strategy type
## @param updateStrategy.rollingUpdate Osclass deployment rolling update configuration parameters
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
@@ -314,7 +305,6 @@ args: []
updateStrategy:
type: RollingUpdate
rollingUpdate: {}
## @param extraEnvVars Array with extra environment variables to add to the Osclass container
## e.g:
## extraEnvVars:
@@ -322,23 +312,18 @@ updateStrategy:
## value: "bar"
##
extraEnvVars: []
## @param extraEnvVarsCM Name of existing ConfigMap containing extra env vars
##
extraEnvVarsCM: ""
## @param extraEnvVarsSecret Name of existing Secret containing extra env vars
##
extraEnvVarsSecret: ""
## @param extraVolumes Optionally specify extra list of additional volumes for Osclass pods
##
extraVolumes: []
## @param extraVolumeMounts Optionally specify extra list of additional volumeMounts for Osclass container(s)
##
extraVolumeMounts: []
## @param initContainers Add additional init containers to the Osclass pods
## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
## e.g:
@@ -349,7 +334,6 @@ extraVolumeMounts: []
## command: ['sh', '-c', 'copy themes and plugins from git and push to /bitnami/osclass/wp-content. Should work with extraVolumeMounts and extraVolumes']
##
initContainers: []
## @param sidecars Add additional sidecar containers to the Osclass pod
## e.g:
## sidecars:
@@ -361,17 +345,14 @@ initContainers: []
## containerPort: 1234
##
sidecars: []
## @param podAffinityPreset Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
##
podAffinityPreset: ""
## @param podAntiAffinityPreset Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
##
podAntiAffinityPreset: soft
## Node affinity preset
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
##
@@ -395,12 +376,10 @@ nodeAffinityPreset:
## NOTE: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set
##
affinity: {}
## @param nodeSelector Node labels for pod assignment
## ref: https://kubernetes.io/docs/user-guide/node-selection/
##
nodeSelector: {}
## Osclass containers' resource requests and limits
## ref: https://kubernetes.io/docs/user-guide/compute-resources/
## @param resources.limits The resources limits for the Osclass container
@@ -411,11 +390,22 @@ resources:
memory: 512Mi
cpu: 300m
limits: {}
## @param tolerations Tolerations for pod assignment
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
##
tolerations: []
## @param priorityClassName Osclass pods' priorityClassName
##
priorityClassName: ""
## @param schedulerName Name of the k8s scheduler (other than default)
## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
##
schedulerName: ""
## @param topologySpreadConstraints Topology Spread Constraints for pod assignment
## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
## The value is evaluated as a template
##
topologySpreadConstraints: []
## @section Traffic Exposure Parameters
##
@@ -423,16 +413,16 @@ tolerations: []
## Osclass service parameters
##
service:
## @param service.type WordPress service type
## @param service.type Osclass service type
##
type: LoadBalancer
## @param service.port WordPress service HTTP port
## @param service.ports.http Osclass service HTTP port
## @param service.ports.https Osclass service HTTPS port
##
port: 80
## @param service.httpsPort WordPress service HTTPS port
##
httpsPort: 443
## @param service.clusterIP WordPress service Cluster IP
ports:
http: 80
https: 443
## @param service.clusterIP Osclass service Cluster IP
## e.g.:
## clusterIP: None
##
@@ -448,13 +438,22 @@ service:
## - 10.10.10.0/24
##
loadBalancerSourceRanges: []
## @param service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
##
extraPorts: []
## @param service.annotations Additional custom annotations for Osclass service
##
annotations: {}
## @param service.sessionAffinity Control where client requests go, to the same pod or round-robin
## Values: ClientIP or None
## ref: https://kubernetes.io/docs/user-guide/services/
##
sessionAffinity: "None"
## @param service.sessionAffinityConfig Additional settings for the sessionAffinity
## sessionAffinityConfig:
## clientIP:
## timeoutSeconds: 300
sessionAffinityConfig: {}
## Node ports to expose
## @param service.nodePorts.http Node port for HTTP
## @param service.nodePorts.https Node port for HTTPS
@@ -483,20 +482,16 @@ ingress:
## @param ingress.pathType Ingress path type
##
pathType: ImplementationSpecific
## @param ingress.apiVersion Force Ingress API version (automatically detected if not set)
##
apiVersion: ""
## @param ingress.hostname Default host for the ingress record
##
hostname: osclass.local
## @param ingress.path Default path for the ingress record
## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers
##
path: /
## @param ingress.annotations Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.
## For a full list of possible ingress annotations, please see
## ref: https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md
@@ -509,7 +504,6 @@ ingress:
## cert-manager.io/cluster-issuer: cluster-issuer-name
##
annotations: {}
## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter
## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}`
## You can:
@@ -518,7 +512,6 @@ ingress:
## - Relay on Helm to create self-signed certificates by setting `ingress.tls=true` and `ingress.certManager=false`
##
tls: false
## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record
## e.g:
## extraHosts:
@@ -526,7 +519,6 @@ ingress:
## path: /
##
extraHosts: []
## @param ingress.extraPaths An array with additional arbitrary paths that may need to be added to the ingress under the main host
## e.g:
## extraPaths:
@@ -536,7 +528,6 @@ ingress:
## servicePort: use-annotation
##
extraPaths: []
## @param ingress.extraTls TLS configuration for additional hostname(s) to be covered with this ingress record
## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
## e.g:
@@ -546,7 +537,6 @@ ingress:
## secretName: osclass.local-tls
##
extraTls: []
## @param ingress.secrets Custom TLS certificates as secrets
## NOTE: 'key' and 'certificate' are expected in PEM format
## NOTE: 'name' should line up with a 'secretName' set further up
@@ -567,6 +557,11 @@ ingress:
## -----END CERTIFICATE-----
##
secrets: []
## @param ingress.ingressClassName IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)
## This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster .
## ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/
##
ingressClassName: ""
## @section Database Parameters
##
@@ -578,22 +573,21 @@ externalDatabase:
## @param externalDatabase.host External Database server host
##
host: ""
## @param externalDatabase.port External Database server port
##
port: 3306
## @param externalDatabase.user External Database username
##
user: bn_osclass
## @param externalDatabase.password External Database user password
##
password: ""
## @param externalDatabase.database External Database database name
##
database: bitnami_osclass
## @param externalDatabase.existingSecret Name of an existing secret resource containing the DB password
##
existingSecret: ""
##
## MariaDB chart configuration
@@ -605,11 +599,9 @@ mariadb:
## To use an external database set this to false and configure the `externalDatabase.*` parameters
##
enabled: true
## @param mariadb.architecture MariaDB architecture. Allowed values: `standalone` or `replication`
##
architecture: standalone
## MariaDB Authentication parameters
## @param mariadb.auth.rootPassword MariaDB root password
## @param mariadb.auth.database MariaDB custom database
@@ -649,7 +641,6 @@ persistence:
## @param persistence.enabled Enable persistence using Persistent Volume Claims
##
enabled: true
## @param persistence.storageClass Persistent Volume storage class
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
@@ -660,21 +651,21 @@ persistence:
##
accessModes:
- ReadWriteOnce
## @param persistence.size Persistent Volume size
##
size: 8Gi
## @param persistence.existingClaim The name of an existing PVC to use for persistence
##
existingClaim: ""
## @param persistence.hostPath If defined, the osclass-data volume will mount to the specified hostPath.
## Requires persistence.enabled: true
## Requires persistence.existingClaim: nil|false
## Default: nil.
##
hostPath: ""
## @param persistence.annotations Persistent Volume Claim annotations
##
annotations: {}
## Init containers parameters:
## volumePermissions: Change the owner and group of the persistent volume mountpoint to runAsUser:fsGroup values from the securityContext section.
@@ -694,7 +685,7 @@ volumePermissions:
image:
registry: docker.io
repository: bitnami/bitnami-shell
tag: 10-debian-10-r299
tag: 10-debian-10-r300
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
@@ -770,7 +761,7 @@ metrics:
image:
registry: docker.io
repository: bitnami/apache-exporter
tag: 0.11.0-debian-10-r17
tag: 0.11.0-debian-10-r18
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
@@ -821,15 +812,30 @@ metrics:
## @param metrics.serviceMonitor.scrapeTimeout The timeout after which the scrape is ended
##
scrapeTimeout: ""
## @param metrics.serviceMonitor.relabellings Metrics relabellings to add to the scrape endpoint
## @param metrics.serviceMonitor.relabelings RelabelConfigs to apply to samples before scraping
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
##
relabellings: []
relabelings: []
## @param metrics.serviceMonitor.metricRelabelings MetricRelabelConfigs to apply to samples before ingestion
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
##
metricRelabelings: []
## @param metrics.serviceMonitor.honorLabels Labels to honor to add to the scrape endpoint
##
honorLabels: false
## @param metrics.serviceMonitor.additionalLabels Additional custom labels for the ServiceMonitor
## @param metrics.serviceMonitor.selector ServiceMonitor selector labels
## ref: https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-configuration
##
additionalLabels: {}
## selector:
## prometheus: my-prometheus
##
selector: {}
## @param metrics.serviceMonitor.labels Extra labels for the ServiceMonitor
##
labels: {}
## @param metrics.serviceMonitor.jobLabel The name of the label on the target service to use as the job name in prometheus.
##
jobLabel: ""
## @section NetworkPolicy parameters