bfc2363dc8
Part of #113 |
||
---|---|---|
.. | ||
templates | ||
.helmignore | ||
Chart.yaml | ||
README.md | ||
requirements.lock | ||
requirements.yaml | ||
values.yaml |
README.md
Ghost
Ghost is one of the most versatile open source content management systems on the market.
This chart bootstraps a Ghost deployment on a Kubernetes cluster using the Helm package manager.
It is inspired by the upstream ghost chart, but, by default, utilizes Open Service Broker For Azure to provision an Azure Database for MySQL database for the Ghost server to use.
Basic Installation
Installation of this chart is simple. First, ensure that you've added the
azure
repository. Then, install from the azure
repo:
$ helm install azure/ghost
Prerequisites
To install this chart, you must have:
- Kubernetes 1.7+ with beta APIs enabled
- Service-Catalog installed
- Open Service Broker for Azure version v0.9.0-alpha or later installed
- PV provisioner support in the underlying infrastructure
Please see the prerequisities document for details on how to install everything.
Installing the Chart
To install the chart with the release name my-release
in the namespace ghost
:
$ helm install --name my-release --namespace ghost azure/ghost
The command deploys Ghost on the Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation.
Tip: List all releases using
helm list
Uninstalling the Chart
To uninstall/delete the my-release
deployment:
$ helm delete my-release
The command removes all the Kubernetes components associated with the chart and deletes the release.
You also may want to use the --purge
command line flag to delete the release
name from the helm deployments list.
Configuration
The following tables lists the configurable parameters of the Ghost chart and their default values.
Parameter | Description | Default |
---|---|---|
image |
Ghost image | bitnami/ghost:{VERSION} |
imagePullPolicy |
Image pull policy | Always if image tag is latest , else IfNotPresent |
ghostHost |
Ghost host to create application URLs | nil |
ghostPort |
Ghost port to create application URLs along with host | 80 |
ghostLoadBalancerIP |
loadBalancerIP for the Ghost Service |
nil |
ghostUsername |
User of the application | user@example.com |
ghostPassword |
Application password | Randomly generated |
ghostEmail |
Admin email | user@example.com |
ghostBlogTitle |
Ghost Blog name | User's Blog |
mysql.embeddedMaria |
Whether to fulfill the dependency on MySQL using an embedded (on-cluster) MariaDB database instead of Azure Database for MySQL. This option is available to enable local or no-cost evaluation of this chart. | false |
serviceType |
Kubernetes Service type | LoadBalancer |
persistence.enabled |
Enable persistence using PVC | true |
persistence.storageClass |
PVC Storage Class for Ghost volume | nil (uses alpha storage annotation) |
persistence.accessMode |
PVC Access Mode for Ghost volume | ReadWriteOnce |
persistence.size |
PVC Storage Request for Ghost volume | 8Gi |
resources |
CPU/Memory resource requests/limits | Memory: 512Mi , CPU: 300m |
The following configuration options are utilized only if mysql.embeddedMaria
is set to false
(the default):
Parameter | Description | Default |
---|---|---|
mysql.azure.location |
The Azure region in which to deploy Azure Database for MySQL | eastus |
mysql.azure.servicePlan |
The plan to request for Azure Database for MySQL | standard100 |
The following configuration options are utilized only if mysql.embeddedMaria
is set to true
:
Parameter | Description | Default |
---|---|---|
mariadb.mariadbRootPassword |
MariaDB admin password | nil |
mariadb.mariadbDatabase |
Database name to create | bitnami_ghost |
mariadb.mariadbUser |
Database user to create | bn_ghost |
mariadb.mariadbPassword |
Password for the database | random 10 character long alphanumeric string |
The above parameters map to the env variables defined in bitnami/ghost. For more information please refer to the bitnami/ghost image documentation.
Specify each parameter using the --set key=value[,key=value]
argument to helm install
. For example, for embedded MySQL,
$ helm install azure/ghost \
--name my-release \
--namespace ghost \
--set mysql.embeddedMaria=true \
--set mariadb.mariadbRootPassword=Password12345 \
--set mariadb.mariadbPassword=Password12
For example, for external MySQL,
$ helm install azure/ghost \
--name my-release \
--namespace ghost
Alternatively, a YAML file that specifies the values for all the parameters can be provided while installing the chart. For example,
$ helm install --name my-release --namespace ghost -f values.yaml stable/ghost
Tip: You can use the default values.yaml
Persistence
The Bitnami Ghost image stores the Ghost data and configurations at the /bitnami/ghost
and /bitnami/apache
paths of the container.
Persistent Volume Claims are used to keep the data across deployments. This is known to work in GCE, AWS, Azure, and minikube. See the Configuration section to configure the PVC or to disable persistence.