StaticSite CRD#

The StaticSite Custom Resource Definition is the primary API for deploying static websites.

API Version: pages.kup6s.com/v1beta1 Kind: StaticSite

Spec Fields#

FieldTypeRequiredDefaultDescription
repostringYes-Git repository URL (HTTPS)
branchstringNomainGit branch to track
pathstringNo/Subpath in repo to serve
pathPrefixstringNo-URL path prefix (requires domain)
domainstringNo<name>.<pages-domain>Custom domain
secretRef.namestringNo-Secret name with Git credentials
secretRef.keystringNopasswordKey in Secret for the token
syncIntervalstringNo5mHow often to pull updates

Status Fields#

FieldTypeDescription
phasestringCurrent phase: Pending, Syncing, Ready, or Error
messagestringHuman-readable status message
lastSynctimestampTimestamp of last successful sync
lastCommitstringShort SHA of the last synced commit
urlstringFull URL of the deployed site
syncTokenstringAuto-generated token for API authentication
conditions[]ConditionStandard Kubernetes conditions
resources.ingressRoutestringName of created IngressRoute
resources.middlewarestringName of created Middleware
resources.stripMiddlewarestringName of strip middleware (for pathPrefix)
resources.certificatestringName of created Certificate

Conditions#

The status includes standard Kubernetes conditions:

TypeDescription
ReadySite is deployed and accessible
SyncedGit repository is synced
IngressReadyIngressRoute is configured
CertificateReadyTLS certificate is issued

Example#

apiVersion: pages.kup6s.com/v1beta1
kind: StaticSite
metadata:
  name: my-website
  namespace: pages
spec:
  repo: https://github.com/user/my-website.git
  branch: main
  path: /dist
  domain: www.example.com
  syncInterval: 10m
status:
  phase: Ready
  message: "Site is live"
  lastSync: "2024-01-15T10:30:00Z"
  lastCommit: "abc1234"
  url: "https://www.example.com"
  syncToken: "xxxxxxxx"
  resources:
    ingressRoute: "pages--my-website"
    middleware: "pages--my-website-prefix"
    certificate: "www-example-com-tls"

Short Names#

The CRD registers the short name ss for convenience:

kubectl get ss -n pages
kubectl describe ss my-website -n pages

Version 1.0.0-rc.1 | Built 2026-02-05
Copyright 2026 Klein & Partner KG, Völs, Austria and contributors