Skip to main content

Platform operations

Everything behavioral about Pagifier lives in the config bucket — an S3/MinIO bucket owned by the platform team, and the platform's prime dependency. Publishing a document changes platform behavior; no operator rebuild, no redeploy. Because configuration resolves into immutable Release snapshots at upload time, publishing never mutates running applications — changes apply from the next upload.

Start with S3 configuration — the full reference for both buckets: layout, the exact schema of every document type, per-component IAM boundaries, caching, and failure behavior. Then Templates & profiles for authoring the golden path.

caution

The config bucket is the platform's control plane. Version it, access-log it, and restrict writes to the platform team. A bad template cannot touch running apps, but it fails every subsequent upload of projects that use it.

What each document type controls

DocumentControlsDetails
platform/defaults.yamlBaseline port, resources, probes, caching, security profileSchema
runtime-images/*.yamlWhich base image apps run on and which toolchain builds themSchema
templates/*The golden path per frameworkTemplates
defaults/<env>.yamlReplicas, HA, rollout policy, autoscaling, canary strategy per environmentTemplates & profiles
security/*.yamlResponse-header bundles behind security: <profile>Security
middleware/authentication-*.yamlIngress annotations enforcing oidc/jwt/oauth2-proxyAlways override project annotations
analysis/*.yamlMetric gates behind analysis: [name]Canary analysis

Seed content for the whole tree ships in examples/platform-config/; make sync-platform-config CONFIG_BUCKET=... uploads it.

Operational surface

The operator and API are stateless deployments configured through the Helm chart — see Installation for the full values table, including the shared BuildKit pool, build concurrency limits, release retention, Prometheus wiring, notifications, and preview domains.