UNCLASSIFIED - NO CUI

Flux Operator Proposal

Proposal for Flux Operator

We will grant permissions to submit the proposal

Name: Flux Operator

Desired Initial Maturity Level (Sandbox, Incubating, Graduated): Sandbox

Problem Statement (i.e. problem you want to solve): Managing GitOps workflows across multiple Kubernetes clusters can become complex, especially when teams require dynamic reconciliation of workloads and configuration updates. The Flux Operator simplifies this by automating the lifecycle management of Flux in a Kubernetes-native way. It provides a scalable solution for managing GitOps controllers across multiple clusters while ensuring alignment with Git as the single source of truth.

Description: The Flux Operator is an extension of the Flux project that enables lifecycle management for Flux controllers in Kubernetes. It simplifies GitOps workflows by managing Flux installations as custom resources, offering seamless scaling, reconciliation, and configuration updates.

Epic Tracking: TBD

Initial Members:

TBD
apiVersion: bbtoc/v1alpha
kind: Project
# NOTE: Remove lines that are not applicable
metadata:
  # Sandbox: Name of the product to be evaluated
  name: "flux-operator"

  # Sandbox: Product vendor (opensource if no vendor)
  vendor: "opensource"

  # Sandbox: Short description of the product
  description: "The Flux Operator simplifies GitOps workflows by managing Flux controllers as Kubernetes resources."

  # Sandbox: URL(s) to product website for further information
  website:
  - "https://fluxcd.io/"
  - "https://github.com/flux-subsystem/flux-operator"

  # Sandbox: product source code repositories (e.g. github.com). If not opensource, put "Proprietary"
  sourceCode:
  - "https://github.com/flux-subsystem/flux-operator"

  # Sandbox: Product licenses (e.g. Apache 2.0, GPL 3.0, MIT, Proprietary). Include both free and paid tiers if they exist.
  license:
  - "Apache 2.0"

  # Maturity level of the package
  maturityLevel: Sandbox # Sandbox, Incubating, or Graduated

  # Sandbox: Points of contact for project (at least 2)
  contacts:
  - name: "Andrew Shoell"
    repo1user: @andrewshoell 
  - name: "Chris O'Connell"
    repo1user: @chris.oconnell 

spec:
  # Sandbox: Package(s) contained in the product (e.g. operator and application). Each package will have its own repository in repo1.
  packages:
    # Sandbox: Name of the package
  - name: "flux-operator"

    # Sandbox: Big Bang repository (i.e. https://repo1.dso.mil/platform-one/big-bang/apps/sandbox/<your project>)
    repository: "https://repo1.dso.mil/platform-one/big-bang/apps/sandbox/flux-operator"

    # Incubating: List of images contained in the package.
    images:
      # Incubating: Name of the image
      - name: ""

        # Incubating: Iron Bank approval request (https://repo1.dso.mil/dsop/<your project>/-/issues/1)
        repository: ""

        # Graduated: Iron Bank approval URL (https://ironbank.dso.mil/repomap/details;registry1Path=<your project path>)
        approval: ""

    # Graduated: Links to required documentation
    documentation: []

  # Name and date of required verifications (e.g. "John Doe, 7 Dec 2021")
  signOffs:

    # Sandbox: Verification of requirements
    sandboxVerification: ""

    # Incubating: Verification of requirements
    incubatingVerification: ""

    # Graduated: Verification of requirements
    graduatedVerification: ""
Edited by Andrew Shoell