The Ghost Operator is an implementation of a Kubernetes Operator using Operator SDK for Ghost headless CMS for professional publishing.
This project is currently work-in-progress and in Alpha, so it may not be production ready.
We assume you already have a running cluster
To install the operator, run:
kubectl create -f https://raw.githubusercontent.com/fossildev/ghost-operator/master/deploy/crds/ghost.fossil.or.id_ghostapps_crd.yaml
kubectl create -f https://raw.githubusercontent.com/fossildev/ghost-operator/master/deploy/service_account.yaml
kubectl create -f https://raw.githubusercontent.com/fossildev/ghost-operator/master/deploy/role.yaml
kubectl create -f https://raw.githubusercontent.com/fossildev/ghost-operator/master/deploy/role_binding.yaml
kubectl create -f https://raw.githubusercontent.com/fossildev/ghost-operator/master/deploy/operator.yaml
Once the ghost-operator
deployment is ready, create a GhostApp instance, like:
kubectl apply -f - << EOF
apiVersion: ghost.fossil.or.id/v1alpha1
kind: GhostApp
metadata:
name: example-ghostapp
spec:
replicas: 1
image: ghost:3
config:
url: http://ghost.example.com
database:
client: sqlite3
connection:
filename: /var/lib/ghost/content/data/ghost.db
persistent:
enabled: true
size: 10Gi
ingress:
enabled: true
hosts:
- "ghost.example.com"
- "www.ghost.example.com"
EOF
In this example, the Ghost App is available at http://ghost.example.com and Ghost Admin at http://ghost.example.com/ghost/
We hope you'll get involved! Read our Contributors' Guide for details.
This project is licensed under the Apache-2.0 License - see the LICENSE for details