fluxhelm

package
v0.1.0-beta.1 Latest Latest
Warning

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

Go to latest
Published: Feb 17, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package fluxhelm provides generators for creating Flux HelmRelease resources along with their associated source resources (HelmRepository, GitRepository, OCIRepository, or Bucket).

The FluxHelm generator follows the GVK (Group, Version, Kind) pattern:

  • Group: generators.gokure.dev
  • Version: v1alpha1
  • Kind: FluxHelm

This generator supports multiple source types:

  • HelmRepository: Traditional Helm chart repositories
  • GitRepository: Charts stored in Git repositories
  • OCIRepository: OCI-compliant container registries
  • Bucket: S3-compatible object storage

Example usage with HelmRepository:

apiVersion: generators.gokure.dev/v1alpha1
kind: FluxHelm
metadata:
  name: postgresql
  namespace: database
spec:
  chart:
    name: postgresql
    version: 12.0.0
  source:
    type: HelmRepository
    url: https://charts.bitnami.com/bitnami
  values:
    auth:
      database: myapp
  release:
    createNamespace: true

Example usage with OCIRepository:

apiVersion: generators.gokure.dev/v1alpha1
kind: FluxHelm
metadata:
  name: podinfo
  namespace: apps
spec:
  chart:
    name: podinfo
    version: "6.*"
  source:
    type: OCIRepository
    ociUrl: oci://ghcr.io/stefanprodan/charts/podinfo
  values:
    replicaCount: 2

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConfigV1Alpha1

type ConfigV1Alpha1 struct {
	generators.BaseMetadata `yaml:",inline" json:",inline"`

	// Chart configuration
	Chart   internal.ChartConfig `yaml:"chart" json:"chart"`
	Version string               `yaml:"version,omitempty" json:"version,omitempty"`
	Values  interface{}          `yaml:"values,omitempty" json:"values,omitempty"`

	// Source configuration
	Source internal.SourceConfig `yaml:"source" json:"source"`

	// Release configuration
	Release internal.ReleaseConfig `yaml:"release,omitempty" json:"release,omitempty"`

	// Advanced options
	Interval       string                  `yaml:"interval,omitempty" json:"interval,omitempty"`
	Timeout        string                  `yaml:"timeout,omitempty" json:"timeout,omitempty"`
	MaxHistory     int                     `yaml:"maxHistory,omitempty" json:"maxHistory,omitempty"`
	ServiceAccount string                  `yaml:"serviceAccount,omitempty" json:"serviceAccount,omitempty"`
	Suspend        bool                    `yaml:"suspend,omitempty" json:"suspend,omitempty"`
	DependsOn      []string                `yaml:"dependsOn,omitempty" json:"dependsOn,omitempty"`
	PostRenderers  []internal.PostRenderer `yaml:"postRenderers,omitempty" json:"postRenderers,omitempty"`
}

ConfigV1Alpha1 generates Flux HelmRelease and source resources

func (*ConfigV1Alpha1) Generate

func (c *ConfigV1Alpha1) Generate(app *stack.Application) ([]*client.Object, error)

Generate creates Flux HelmRelease and source resources

func (*ConfigV1Alpha1) GetAPIVersion

func (c *ConfigV1Alpha1) GetAPIVersion() string

GetAPIVersion returns the API version for this config

func (*ConfigV1Alpha1) GetKind

func (c *ConfigV1Alpha1) GetKind() string

GetKind returns the kind for this config

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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