89 lines
2.9 KiB
Text
89 lines
2.9 KiB
Text
|
|
let _concerns_lib = import "schemas/lib/concerns.ncl" in
|
||
|
|
let _context_lib = import "schemas/catalog/context.ncl" in
|
||
|
|
|
||
|
|
{
|
||
|
|
WordpressSite = {
|
||
|
|
context | _context_lib.ComponentContext | optional,
|
||
|
|
|
||
|
|
name | String,
|
||
|
|
namespace | String,
|
||
|
|
|
||
|
|
# FPM image — e.g. termas.librecloud.online/images/wordpress-fpm
|
||
|
|
image | String,
|
||
|
|
image_tag | String | default = "latest",
|
||
|
|
# Nginx sidecar image
|
||
|
|
nginx_image | String | default = "nginx:1.27-alpine",
|
||
|
|
|
||
|
|
# Primary domain (canonical). www redirect handled via httproute-redirect.
|
||
|
|
domain | String,
|
||
|
|
# Additional domains for the TLS cert dnsNames (e.g. www.diegodelgado.es).
|
||
|
|
domains_extra | Array String | default = [],
|
||
|
|
dns_zone | String,
|
||
|
|
acme_email | String,
|
||
|
|
cluster_issuer | String,
|
||
|
|
|
||
|
|
gateway_fip | String,
|
||
|
|
gateway_name | String | default = "libre-wuji",
|
||
|
|
gateway_ns | String | default = "kube-system",
|
||
|
|
|
||
|
|
registry_secret | String | default = "regcred",
|
||
|
|
storage_class | String | default = "longhorn-retain",
|
||
|
|
storage_size | String | default = "10Gi",
|
||
|
|
|
||
|
|
db_host | String,
|
||
|
|
db_name | String,
|
||
|
|
db_user | String | default = "wordpress",
|
||
|
|
db_table_prefix | String | default = "wp_",
|
||
|
|
|
||
|
|
# Optional php-fpm pool overrides mounted at /usr/local/etc/php-fpm.d/zz-custom.conf.
|
||
|
|
# Empty string = no extra mount.
|
||
|
|
fpm_pool_extra | String | default = "",
|
||
|
|
|
||
|
|
# External wp-cron CronJob. When true, creates a K8s CronJob that calls
|
||
|
|
# wp-cron.php via the internal service on the given schedule.
|
||
|
|
# Requires DISABLE_WP_CRON=true in wp-config.php.
|
||
|
|
wp_cron_enabled | Bool | default = false,
|
||
|
|
wp_cron_schedule | String | default = "*/5 * * * *",
|
||
|
|
|
||
|
|
smtp_host | String | default = "mail.librecloud.online",
|
||
|
|
smtp_port | Number | default = 587,
|
||
|
|
smtp_from | String,
|
||
|
|
smtp_from_name | String | default = "",
|
||
|
|
|
||
|
|
# Full canonical URL used for WordPress home/siteurl constants.
|
||
|
|
wordpress_home | String,
|
||
|
|
wordpress_siteurl | String,
|
||
|
|
|
||
|
|
requires | {
|
||
|
|
storage | { size | String, persistent | Bool } | optional,
|
||
|
|
ports | Array {
|
||
|
|
port | Number,
|
||
|
|
exposure | [| 'public, 'private, 'internal |] | default = 'public,
|
||
|
|
} | default = [],
|
||
|
|
credentials | Array String | default = [],
|
||
|
|
} | default = {},
|
||
|
|
|
||
|
|
provides | {
|
||
|
|
service | String | optional,
|
||
|
|
port | Number | optional,
|
||
|
|
endpoints | Array String | default = [],
|
||
|
|
} | default = {},
|
||
|
|
|
||
|
|
operations | {
|
||
|
|
install | Bool | default = true,
|
||
|
|
update | Bool | default = true,
|
||
|
|
delete | Bool | default = true,
|
||
|
|
health | Bool | default = true,
|
||
|
|
} | default = {},
|
||
|
|
|
||
|
|
live_check | {
|
||
|
|
strategy | [| 'k8s_pods, 'http_get |] | default = 'k8s_pods,
|
||
|
|
scope | [| 'cp_only, 'all_nodes |] | default = 'cp_only,
|
||
|
|
} | default = {},
|
||
|
|
|
||
|
|
concerns | _concerns_lib.ServiceConcerns | optional,
|
||
|
|
|
||
|
|
..
|
||
|
|
},
|
||
|
|
}
|