ingress-primitive

command
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Mar 30, 2026 License: Apache-2.0 Imports: 10 Imported by: 0

README

Ingress Primitive Example

This example demonstrates the usage of the ingress primitive within the operator component framework. It shows how to manage a Kubernetes Ingress as a component of a larger application, utilizing features like:

  • Base Construction: Initializing an Ingress with rules, TLS, and ingress class.
  • Feature Mutations: Applying conditional changes (TLS configuration, version annotations) using the Mutator.
  • Data Extraction: Harvesting information from the reconciled resource.

Directory Structure

  • app/: Defines the mock ExampleApp CRD and the controller that uses the component framework.
  • features/: Contains modular feature definitions:
    • mutations.go: version annotation and TLS configuration mutations.
  • resources/: Contains the central NewIngressResource factory that assembles all features using the ingress.Builder.
  • main.go: A standalone entry point that demonstrates a single reconciliation loop using a fake client.

Running the Example

You can run this example directly using go run:

go run examples/ingress-primitive/main.go

This will:

  1. Initialize a fake Kubernetes client.
  2. Create an ExampleApp owner object.
  3. Reconcile the ExampleApp components through several spec changes (version upgrade, TLS toggle, suspension).
  4. Print the resulting status conditions and Ingress resource state.

Documentation

Overview

Package main is the entry point for the ingress primitive example.

Directories

Path Synopsis
Package app provides a sample controller using the ingress primitive.
Package app provides a sample controller using the ingress primitive.
Package features provides modular feature mutations for the ingress primitive example.
Package features provides modular feature mutations for the ingress primitive example.
Package resources provides resource implementations for the ingress primitive example.
Package resources provides resource implementations for the ingress primitive example.

Jump to

Keyboard shortcuts

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