Skip to main content

13 docs tagged with "components"

View all tags

app-network-policy (component)

Reusable Kustomize component that drops a baseline `NetworkPolicy` into every app's namespace — default-deny ingress + egress, with explicit allow-rules for what the app actually needs to talk to.

Backups (component)

Reusable Kustomize component that wires two per-app k8up Schedules into the app's namespace — one Restic repository on Hetzner Object Storage, one on Backblaze B2, daily, with the standard retention.

backups-cnpg (component)

Reusable Kustomize component that adds a k8up PreBackupPod to an app's namespace, so every backup run starts with a pg_dump of the app's CloudNative-PG cluster streamed straight into the Restic snapshot as a plain .sql file.

CNPG cluster (component)

Reusable Kustomize component that drops a tuned CloudNative-PG `Cluster` resource into an app's manifest set — Longhorn-encrypted storage, with a logical `pg_dump` added to the k8up snapshot by the backups-cnpg component.

Components

Reusable Kustomize components and shared cluster resources that apps depend on — CNPG cluster patches, Valkey/MongoDB sidecars, k8up Schedule wrappers, NetworkPolicy templates, internal HTTPRoutes, storage classes.

email (component)

Reusable Kustomize component that wires an app's namespace to the homelab's SMTP relay — drops a SOPS-encrypted `Secret` with credentials and the standard env-var conventions every app speaks.

http-internal (resource)

Shared cluster resource that defines the internal `HTTPRoute` parent — the Gateway that internal-only apps attach to so their hostnames resolve on the home/mesh side without ever being routed publicly.

MinIO (component)

Reusable Kustomize component that gives an app its own single-node S3 object store in its namespace — SILO, Pigsty's community fork of MinIO, on a k8up-backed, two-replica encrypted Longhorn volume.

MongoDB (component)

Reusable Kustomize component for the few apps that need MongoDB instead of Postgres — drops a small StatefulSet with a Longhorn-encrypted PVC; the consuming app adds credentials and the k8up dump hook.

NATS (component)

Reusable Kustomize component that drops a single-node NATS server with JetStream into an app's namespace, its stream store on an encrypted Longhorn volume.

storage (resource)

Shared cluster resource that declares the `StorageClass` definitions every PVC in the homelab targets — Longhorn-encrypted, Longhorn-replicated, and NFS-backed variants.

Valkey (component)

Reusable Kustomize component that drops a tiny Valkey (Redis-compatible) instance into an app's namespace for ephemeral caching needs — no replication, no persistence by default.

workspace (component)

Reusable Kustomize component that gives an app a per-namespace TofuWorkspace — Crossplane renders an OpenTofu workspace that owns the app's backup buckets, Backblaze keys and internal DNS records, and tears them down with the namespace.