clusterrole-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: 11 Imported by: 0

README

ClusterRole Primitive Example

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

  • Base Construction: Initializing a cluster-scoped ClusterRole with basic metadata.
  • Feature Mutations: Composing RBAC rules from independent, feature-gated mutations using AddRule.
  • Metadata Mutations: Setting version labels on the ClusterRole via EditObjectMetadata.
  • Data Extraction: Inspecting ClusterRole rules after each reconcile cycle.

Directory Structure

  • app/: Defines the controller that uses the component framework. The ExampleApp CRD is shared from examples/shared/app.
  • features/: Contains modular feature definitions:
    • mutations.go: core rules, version labelling, and feature-gated secret and deployment access.
  • resources/: Contains the central NewClusterRoleResource factory that assembles all features using clusterrole.Builder.
  • main.go: A standalone entry point that demonstrates multiple reconciliation cycles with a fake client.

Running the Example

go run examples/clusterrole-primitive/main.go

This will:

  1. Initialize a fake Kubernetes client.
  2. Create an ExampleApp owner object.
  3. Reconcile through four spec variations, printing the composed rules after each cycle.
  4. Print the resulting status conditions.

Documentation

Overview

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

Directories

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

Jump to

Keyboard shortcuts

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