From 7e57403d014f94b777d35ffbe5769e96726104d1 Mon Sep 17 00:00:00 2001 From: Alejandro Moreno <47833905+alemorcuq@users.noreply.github.com> Date: Wed, 22 May 2019 11:24:13 +0200 Subject: [PATCH] [stable/magento] Add values-production.yaml (#14051) * [stable/magento] Add values-production.yaml Signed-off-by: Alejandro Moreno * Fix wording Signed-off-by: Alejandro Moreno --- stable/magento/Chart.yaml | 2 +- stable/magento/README.md | 9 +- stable/magento/values-production.yaml | 325 ++++++++++++++++++++++++++ stable/magento/values.yaml | 16 -- 4 files changed, 328 insertions(+), 24 deletions(-) create mode 100644 stable/magento/values-production.yaml diff --git a/stable/magento/Chart.yaml b/stable/magento/Chart.yaml index 132c9e5617..2c02dbc56d 100644 --- a/stable/magento/Chart.yaml +++ b/stable/magento/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: magento -version: 5.0.1 +version: 5.0.2 appVersion: 2.3.1 description: A feature-rich flexible e-commerce solution. It includes transaction options, multi-store functionality, loyalty programs, product categorization and shopper filtering, promotion rules, and more. keywords: diff --git a/stable/magento/README.md b/stable/magento/README.md index 9cb69f27e8..23e7aeacf4 100644 --- a/stable/magento/README.md +++ b/stable/magento/README.md @@ -91,10 +91,6 @@ The following table lists the configurable parameters of the Magento chart and t | `mariadb.db.user` | Database user to create | `bn_magento` | | `mariadb.db.password` | Password for the database | _random 10 character long alphanumeric string_ | | `elasticsearch.enabled` | Use the Elasticsearch chart as search engine | `false` | -| `elasticsearch.cluster.env` | Cluster environment variables | `{MINIMUM_MASTER_NODES: "2"}` | -| `elasticsearch.client.replicas` | Client node replicas (deployment) | `1` | -| `elasticsearch.master.replicas` | Master node replicas (deployment) | `2` | -| `elasticsearch.data.replicas` | Data node replicas (statefulset) | `1` | | `service.type` | Kubernetes Service type | `LoadBalancer` | | `service.port` | Service HTTP port | `80` | | `service.httpsPort` | Service HTTPS port | `443` | @@ -135,10 +131,9 @@ The following table lists the configurable parameters of the Magento chart and t The above parameters map to the env variables defined in [bitnami/magento](http://github.com/bitnami/bitnami-docker-magento). For more information please refer to the [bitnami/magento](http://github.com/bitnami/bitnami-docker-magento) image documentation. -> **Note:**\ +> **Note**: > -> Setting `elasticsearch.enabled` to true will launch four more nodes by default. Use it with caution. - +> Setting `elasticsearch.enabled` to true will launch seven more pods by default. Use it with caution. > **Note**: > diff --git a/stable/magento/values-production.yaml b/stable/magento/values-production.yaml new file mode 100644 index 0000000000..8c06d990a3 --- /dev/null +++ b/stable/magento/values-production.yaml @@ -0,0 +1,325 @@ +## Global Docker image parameters +## Please, note that this will override the image parameters, including dependencies, configured to use the global value +## Current available global Docker image parameters: imageRegistry and imagePullSecrets +## +# global: +# imageRegistry: myRegistryName +# imagePullSecrets: +# - myRegistryKeySecretName + +## Bitnami Magento image version +## ref: https://hub.docker.com/r/bitnami/magento/tags/ +## +image: + registry: docker.io + repository: bitnami/magento + tag: 2.3.1 + ## Set to true if you would like to see extra information on logs + ## It turns BASH and NAMI debugging in minideb + ## ref: https://github.com/bitnami/minideb-extras/#turn-on-bash-debugging + ## + debug: false + ## Specify a imagePullPolicy + ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' + ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images + ## + pullPolicy: IfNotPresent + ## Optionally specify an array of imagePullSecrets. + ## Secrets must be manually created in the namespace. + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ + ## + # pullSecrets: + # - myRegistryKeySecretName + +## Magento host to create application URLs +## ref: https://github.com/bitnami/bitnami-docker-magento#configuration +## +# magentoHost: + +## loadBalancerIP for the Magento Service (optional, cloud specific) +## ref: http://kubernetes.io/docs/user-guide/services/#type-loadbalancer +## +# magentoLoadBalancerIP: + +## User of the application +## ref: https://github.com/bitnami/bitnami-docker-magento#configuration +## +magentoUsername: user + +## Application password +## Defaults to a random 10-character alphanumeric string if not set +## ref: https://github.com/bitnami/bitnami-docker-magento#configuration +## +# magentoPassword: + +## Admin email +## ref: https://github.com/bitnami/bitnami-docker-magento#configuration +## +magentoEmail: user@example.com + +## Prefix for Magento Admin +## ref: https://github.com/bitnami/bitnami-docker-magento#configuration +## +magentoAdminUri: admin + +## First Name +## ref: https://github.com/bitnami/bitnami-docker-magento#configuration +## +magentoFirstName: FirstName + +## Last Name +## ref: https://github.com/bitnami/bitnami-docker-magento#configuration +## +magentoLastName: LastName + +## Mode +## ref: https://github.com/bitnami/bitnami-docker-magento#configuration +## +magentoMode: developer + +## Set to `yes` to allow the container to be started with blank passwords +## ref: https://github.com/bitnami/bitnami-docker-magento#environment-variables +allowEmptyPassword: "yes" + +## +## External database configuration +## +externalDatabase: + ## Database host + host: + + ## Database port + port: 3306 + + ## Database user + user: bn_magento + + ## Database password + password: + + ## Database name + database: bitnami_magento + +## +## External elasticsearch configuration +## +externalElasticsearch: + ## Elasticsearch host + host: + + ## Elasticsearch port + port: + +## +## MariaDB chart configuration +## +## https://github.com/helm/charts/blob/master/stable/mariadb/values.yaml +## +mariadb: + ## Whether to deploy a mariadb server to satisfy the applications database requirements. To use an external database set this to false and configure the externalDatabase parameters + enabled: true + ## Disable MariaDB replication + replication: + enabled: false + + ## Create a database and a database user + ## ref: https://github.com/bitnami/bitnami-docker-mariadb/blob/master/README.md#creating-a-database-user-on-first-run + ## + db: + name: bitnami_magento + user: bn_magento + ## If the password is not specified, mariadb will generates a random password + ## + # password: + + ## MariaDB admin password + ## ref: https://github.com/bitnami/bitnami-docker-mariadb/blob/master/README.md#setting-the-root-password-on-first-run + ## + # rootUser: + # password: + + ## Enable persistence using Persistent Volume Claims + ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ + ## + master: + persistence: + enabled: true + ## mariadb data Persistent Volume Storage Class + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack) + ## + # storageClass: "-" + accessMode: ReadWriteOnce + size: 8Gi + +## +## Elasticsearch chart configuration +## +## https://github.com/helm/charts/blob/master/stable/elasticsearch/values.yaml +## +elasticsearch: + ## Whether to deploy a elasticsearch server to use as magento's search engine + ## To use an external server set this to false and configure the externalElasticsearch parameters + enabled: true + +## Kubernetes configuration +## For minikube, set this to NodePort, elsewhere use LoadBalancer +## +service: + type: LoadBalancer + # HTTP Port + port: 80 + # HTTPS Port + httpsPort: 443 + ## + ## loadBalancerIP: + ## nodePorts: + ## http: + ## https: + nodePorts: + http: "" + https: "" + ## Enable client source IP preservation + ## ref http://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip + ## + externalTrafficPolicy: Cluster + +## Configure liveness and readiness probes +## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes) +## +livenessProbe: + enabled: true + initialDelaySeconds: 1000 + periodSeconds: 10 + timeoutSeconds: 5 + successThreshold: 1 + failureThreshold: 6 +readinessProbe: + enabled: true + initialDelaySeconds: 30 + periodSeconds: 5 + timeoutSeconds: 3 + successThreshold: 1 + failureThreshold: 3 + +## Enable persistence using Persistent Volume Claims +## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ +## +persistence: + enabled: true + apache: + ## apache data Persistent Volume Storage Class + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack) + ## + # storageClass: "-" + accessMode: ReadWriteOnce + size: 1Gi + magento: + ## magento data Persistent Volume Storage Class + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack) + ## + # storageClass: "-" + accessMode: ReadWriteOnce + size: 8Gi + +## Configure resource requests and limits +## ref: http://kubernetes.io/docs/user-guide/compute-resources/ +## +resources: + requests: + memory: 512Mi + cpu: 300m + +## Pod annotations +## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ +## +podAnnotations: {} + +## Configure the ingress resource that allows you to access the +## Magento installation. Set up the URL +## ref: http://kubernetes.io/docs/user-guide/ingress/ +## +ingress: + ## Set to true to enable ingress record generation + enabled: false + + ## Set this to true in order to add the corresponding annotations for cert-manager + certManager: false + + ## Ingress annotations done as key:value pairs + ## For a full list of possible ingress annotations, please see + ## ref: https://github.com/kubernetes/ingress-nginx/blob/master/docs/annotations.md + ## + ## If tls is set to true, annotation ingress.kubernetes.io/secure-backends: "true" will automatically be set + ## If certManager is set to true, annotation kubernetes.io/tls-acme: "true" will automatically be set + annotations: + # kubernetes.io/ingress.class: nginx + + ## The list of hostnames to be covered with this ingress record. + ## Most likely this will be just one host, but in the event more hosts are needed, this is an array + hosts: + - name: magento.local + path: / + + ## Set this to true in order to enable TLS on the ingress record + tls: false + + ## Optionally specify the TLS hosts for the ingress record + ## Useful when the Ingress controller supports www-redirection + ## If not specified, the above host name will be used + # tlsHosts: + # - www.magento.local + # - magento.local + + ## If TLS is set to true, you must declare what secret will store the key/certificate for TLS + tlsSecret: magento.local-tls + + secrets: + ## If you're providing your own certificates, please use this to add the certificates as secrets + ## key and certificate should start with -----BEGIN CERTIFICATE----- or + ## -----BEGIN RSA PRIVATE KEY----- + ## + ## name should line up with a tlsSecret set further up + ## If you're using cert-manager, this is unneeded, as it will create the secret for you if it is not set + ## + ## It is also possible to create and manage the certificates outside of this helm chart + ## Please see README.md for more information + # - name: magento.local-tls + # key: + # certificate: + + +## Prometheus Exporter / Metrics +## +metrics: + enabled: true + image: + registry: docker.io + repository: lusotycoon/apache-exporter + tag: v0.5.0 + pullPolicy: IfNotPresent + ## Optionally specify an array of imagePullSecrets. + ## Secrets must be manually created in the namespace. + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ + ## + # pullSecrets: + # - myRegistryKeySecretName + ## Metrics exporter pod Annotation and Labels + podAnnotations: + prometheus.io/scrape: "true" + prometheus.io/port: "9117" + ## Metrics exporter resource requests and limits + ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ + ## + # resources: {} diff --git a/stable/magento/values.yaml b/stable/magento/values.yaml index 2e5b129e41..17a73c4cbc 100644 --- a/stable/magento/values.yaml +++ b/stable/magento/values.yaml @@ -165,22 +165,6 @@ elasticsearch: ## To use an external server set this to false and configure the externalElasticsearch parameters enabled: false - cluster: - env: - # IMPORTANT: https://www.elastic.co/guide/en/elasticsearch/reference/current/important-settings.html#minimum_master_nodes - # To prevent data loss, it is vital to configure the discovery.zen.minimum_master_nodes setting so that each master-eligible - # node knows the minimum number of master-eligible nodes that must be visible in order to form a cluster. - MINIMUM_MASTER_NODES: "2" - - client: - replicas: 1 - - master: - replicas: 2 - - data: - replicas: 1 - ## Kubernetes configuration ## For minikube, set this to NodePort, elsewhere use LoadBalancer ##