Resources
Ghost Blog
-
db
postgres
Ready
-
app
ghost:5
Running
-
ingress
blog.example.com
Live
Parameters
Deploy Ghost Blog
App Name required
ghost
Name prefix for all resources
Ghost Image
ghost:5
Domain required
blog.example.com
Public domain for your Ghost blog
Enable HTTPS
On
Cancel Deploy
YAML
apiVersion: leaf/v1
kind: Template
metadata:
name: ghost
displayName: Ghost Blog
description: Modern publishing platform powered by Ghost with PostgreSQL storage and public domain.
icon: https://github.com/TryGhost.png?size=256
version: '1.0.0'
category: cms
tags: ['blog', 'cms', 'ghost', 'publishing']
keywords: ['blog', 'writing', 'posts', 'newsletter', 'publishing', 'markdown']
homepage: https://ghost.org
license: MIT
parameters:
- name: appName
displayName: App Name
description: Name prefix for all resources
type: string
default: ghost
required: true
validation:
pattern: '^[a-z][a-z0-9-]{1,58}[a-z0-9]$'
message: Must be lowercase alphanumeric with hyphens, 3-60 chars
- name: ghostImage
displayName: Ghost Image
type: string
default: 'ghost:5'
- name: domain
displayName: Domain
description: Public domain for your Ghost blog
type: string
required: true
placeholder: 'blog.example.com'
- name: enableTls
displayName: Enable HTTPS
type: boolean
default: true
resources:
- name: db
type: database
config:
name: '{{ params.appName }}-db'
- name: app
type: deployment
config:
name: '{{ params.appName }}'
image: '{{ params.ghostImage }}'
replicas: 1
ports:
- name: http
containerPort: 2368
servicePort: 2368
protocol: TCP
env:
- key: database__client
value: postgres
- key: database__connection__host
value: '{{ resources.db.host }}'
- key: database__connection__port
value: '{{ resources.db.port }}'
- key: database__connection__database
value: '{{ resources.db.dbName }}'
- key: database__connection__user
value: '{{ resources.db.dbUser }}'
- key: database__connection__password
value: '{{ resources.db.dbPassword }}'
- key: url
value: 'https://{{ params.domain }}'
- name: ingress
type: ingress
config:
host: '{{ params.domain }}'
tlsEnabled: '{{ params.enableTls }}'
routes:
- path: /
serviceName: '{{ resources.app.serviceName }}'
servicePort: 2368