Skip to content
Snippets Groups Projects
values-local.yaml.example 6.1 KiB
Newer Older
# These variables allow you to configure a git repository that contains custom
# wpContent content.
git_repo:
  enabled: false
  # Directory that contains the wp-content content in your repo. The default is
  # `.`, which means that your repository contains folders like languages,
  # plugins and themes in the root of the repo. If your git repository has a
  # `wp-content` folder in it, point to that folder instead.
  wp_content_dir: "."
  # URL to your GitLab
  url: git.example.com
  # Part after the GitLab URL to the gitlab repo
  name: /group/repo
  version: "HEAD"
  # GitLab token and key to get access to repo
  token_user: gitlab-token
  token_key: gitlab-key

wordpress:
  config:
    db:
      prefix: wp_
    adm:
      usid: admin
      pssw: CHANGE-THIS-PASSWORD
  site:
    # NOTE: Use a theme *slug* here
    theme: twentynineteen
    # NOTE: Make sure you use underscore and that the localisation is in full caps
    locale: en_US
    version: 5.2.3
    # NOTE: This is the URL that points to your WordPress installation. If this
    # URL is set incorrectly your site will most likely not work. You can not
    # change it after you have run helm install once because WordPress saves the
    # site URL in its database. To change this value, you would need to helm
    # delete and then helm install the chart again, or manually change the
    # WordPress database fields that contain the URL.
    url: "http://localhost"
    title: "Wordpress Helm"
    # If you are including a plugin to alias wp login then set an alt_path and set alt_config options
    # NOTE: A value for alt_enabled must be set. Select either true or false
    alt_enabled: false
    # alt_config: PATH-SETTING-IN-OPTIONS-TABLE
    # alt_path: SOME-LOGIN-PATH
    # # Path used by the liveness and readiness probes to see if the site runs
    # # correctly. Defaults to `/wp-login.php`. Be sure to make this the same as
    # # alt_path if you use it!
    # probe_path: /wp-login.php
  wp_content:
    # The directory to mount the files placed in wp-content. You shouldn't have to
    # change this.
    mount_path: /var/www/wp-content-mount
  wp_upload:
    # The directory to mount the files placed in wp-content/uploads. You shouldn't
    # have to change this.
    mount_path: /var/www/wp-uploads-mount
    # Contents of the .htaccess file that is mounted in the `wpUploadMnt` directory
    htaccess: |
      # Disable access to all file types except the following
      Require all denied
      <Files ~ ".(woff|xml|css|js|jpe?g|png|gif)$">
        Require all granted
      </Files>

  ## mu_plugins are installed as hidden and cannot be updated from the UI
  ## mu_dir  'mu-plugins' maps to wp-content/mu-plugins
  ## mu_plugins supplies a detailed list of mu values and plugins with versions 
  # NOTE: A value for mu_plugins_enabled must be set. Select either true or false

  mu_plugins_enabled: false
  mu_plugins_dir: mu-plugins
  mu_plugins:
     block-bad-queries:
       name: Block Bad Queries
       version: 20191109
       phpfile: block-bad-queries.php
  #  redis-cache:
  #    name: Redis Cache
  #    version: 1.5.6
  #    phpfile: redis-cache.php
  
  ## Enable externally triggered cron if a cron plugin is installed 
  # NOTE: A value for mu_cron_enabled must be set. Select either true or false
  mu_cron_enabled: false
  # mu_cron:
  #  name: Cron Control
  #  repo: https://github.com/Automattic/Cron-Control.git
  #  slug: cron-control
  #  version: master
  #  phpfile: cron-control.php

# These settings make sense to overwrite if you want to use the OpenID connect
# plugin
openid_connect_settings:
  enabled: true
  client_id: OPENID_CLIENT_ID
  client_secret: OPENID_CLIENT_SECRET
  endpoint_login: https://login-endpoint-url
  endpoint_userinfo: https://userinfo-endpoint-url
  endpoint_token: https://token-validation-endpoint-url
  endpoint_end_session: https://end-session-endpoint-url
  no_sslverify: "0"
  enable_logging: "1"

database:
  db:
    user: wordpress
    password: <SET A DATABASE PASSWORD>
  rootUser:
    password: <SET A DB ROOT USER PASSWORD FOR UPGRADES TO WORK>
  replication:
    password: <SET A REPLICATION USER PASSWORD IF YOU HAVE REPLICATION ENABLED>

# To enabe redis, uncomment this:
# redis:
#   enabled: true
#   password: <SET A REDIS PASSWORD HERE>
#
#   # If you want redis to have persistence:
#   master:
#     persistence:
#       enabled:
#       storageClass:

# This will add a cronjob that performs a daily backup of the wordpress
# database, copying an sql file created by `wp db export` to the given PVC.
# backup:
#   enabled: true
#   # The target location of the backup. This can be a local directory (not
#   # advisable) or a remote directory reachable over SSH. backup command uses
#   # this value as the second argument for `rsync`
#   target: <username@server.example.org:backup-dir/>
#   # If `backup.target` is an SSH address, use this private key:
#   sshPrivateKey: |
#     -----BEGIN OPENSSH PRIVATE KEY-----
#     ...
#     -----END OPENSSH PRIVATE KEY-----
#   # Mounted to /etc/ssh/known_hosts
#   sshKnownHosts: |
#     hostname keytype key
# It's advisable to set resource limits to prevent your K8s cluster from
# crashing
# resources:
#   limits:
#     cpu: 100m
#     memory: 512Mi
#   requests:
#     cpu: 50m
#     memory: 256Mi

# ingress:
#   # If this is false, no ingress is created by the helm chart
#   enabled: true
#   # Example annotation to make cert-manager manage the TLS certificates for
#   # this ingress (Don't supply crt and key to the tls config in this case).
#   # annotations: 
#   #   kubernetes.io/tls-acme: "true"
#   path: /
#   hosts:
#     - <YOUR HOSTNAME HERE>
#   tls:
#     - hosts:
#         - <REPEAT YOUR HOSTNAME HERE>
#       secretName: wordpress-cert
#       crt: |
#         Optionally insert your certificate here, it will be saved as a
#         Kubernetes secret. You can insert the whole certificate chain here. 
#         NOTE: Don't do this if you use cert-manager to get your certificates!
#       key: |
#         If you use a custom certificate, insert your TLS key here, it will be
#         saved as a Kubernetes secret.

# Set this for use with Minikube:
# service:
#   type: NodePort
#   port: 12345