stoker-operator

module
v0.5.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 16, 2026 License: MIT

README

Stoker logo

Stoker

Lint Test Release Docs Go Report Card

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/ia-eknorr/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

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.

Directories

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the sync v1alpha1 API group.
Package v1alpha1 contains API Schema definitions for the sync v1alpha1 API group.
cmd
agent command
controller command
internal
git
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL