Skip to content

Repository files navigation

Stoker logo

Stoker

Lint Test Release License: MIT Docs

stok·er /ˈstōkər/ — a person who tends the fire in a furnace, feeding it fuel to keep it burning.

Stoker tends your Ignition gateways, continuously feeding them configuration from Git to keep them running in the desired state.

Features

  • Git-driven configuration sync — gateway projects, tags, and resources managed in Git
  • Multi-gateway support — manage any number of gateways from a single repository with template variables ({{.GatewayName}}, {{.Labels.key}}, {{.CRName}})
  • Profile mappings — declarative source-to-destination file mappings with glob patterns and per-pod template routing
  • Content templating — resolve {{.GatewayName}}, {{.Vars.key}}, and other variables inside file contents at sync time; no source file modification required
  • JSON patches — surgically update specific JSON fields per gateway using sjson dot-notation paths, without modifying source files in git
  • Automatic sidecar injection — MutatingWebhook injects the sync agent into annotated pods
  • Gateway discovery — controller discovers annotated pods and aggregates sync status
  • Webhook receiver — push-event-driven sync via POST /webhook/{namespace}/{crName}

Quick Start

# Install cert-manager (required for webhook TLS)
# https://cert-manager.io/docs/installation/

# Install the operator
helm install stoker oci://ghcr.io/knorrlabs/charts/stoker-operator \
  -n stoker-system --create-namespace

For a complete walkthrough — from installing the operator to syncing projects to an Ignition gateway — see the Quickstart Guide.

Architecture

flowchart LR
    Git[(Git Repo)] --> GatewaySync

    subgraph cluster [Cluster]
        GatewaySync
        subgraph ns [Namespace]
            subgraph pod [Gateway Pod]
                Agent[Agent Sidecar] --> GW[Ignition Gateway]
            end
        end
    end

    GatewaySync --> Agent
Loading

CRDs

CRD Short Name Description
GatewaySync gs Defines the git repository, auth, polling, sync profiles, and gateway connection settings

Development

See CONTRIBUTING.md for build commands, testing, and development workflow.

License

This project is licensed under the MIT License.

About

Kubernetes operator that syncs Ignition gateway configuration from a Git repository

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages