config

package
v0.0.0-...-a4916c0 Latest Latest
Warning

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

Go to latest
Published: Dec 4, 2023 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CacheModeVolumes = "volumes"
	CacheModeNone    = "none"
)
View Source
const EnvPrefix = "_OPNI_"

Variables

This section is empty.

Functions

func AutoLoader

func AutoLoader(filename string) (koanf.Provider, koanf.Parser, koanf.Option)

func BuildFlagSet

func BuildFlagSet(t reflect.Type, prefix ...string) *pflag.FlagSet

func Marshal

func Marshal(k *koanf.Koanf, outputFormat string) []byte

func RunSetup

func RunSetup()

func SpecialCaseEnvVarHelp

func SpecialCaseEnvVarHelp() string

func Validate

func Validate(conf *BuilderConfig) error

func ValidationHelp

func ValidationHelp() string

Types

type AuthConfig

type AuthConfig struct {
	Username string         `koanf:"username"`
	Email    string         `koanf:"email"`
	Secret   *dagger.Secret `koanf:"secret"`
}

type BuilderConfig

type BuilderConfig struct {
	Images   ImagesConfig   `koanf:"images"`
	Charts   ChartsConfig   `koanf:"charts"`
	Lint     bool           `koanf:"lint"`
	Test     bool           `koanf:"test"`
	Coverage CoverageConfig `koanf:"coverage"`
	Releaser ReleaseTarget  `koanf:"releaser"`
}

type CacheVolume

type CacheVolume struct {
	*dagger.CacheVolume
	Path string
}

type Caches

type Caches struct {
	GoMod        func(*dagger.Container) *dagger.Container
	GoBuild      func(*dagger.Container) *dagger.Container
	GoBin        func(*dagger.Container) *dagger.Container
	Mage         func(*dagger.Container) *dagger.Container
	Yarn         func(*dagger.Container) *dagger.Container
	NodeModules  func(*dagger.Container) *dagger.Container
	GolangciLint func(*dagger.Container) *dagger.Container
}

func SetupCaches

func SetupCaches(client *dagger.Client, cacheMode string) Caches

type ChartTarget

type ChartTarget struct {
	Push   bool       `koanf:"push"`
	Export bool       `koanf:"export"`
	Repo   string     `koanf:"repo" validate:"required_if=Push true"`
	Branch string     `koanf:"branch" validate:"required_if=Push true"`
	Auth   AuthConfig `koanf:"auth" validate:"required_if=Push true"`
}

type ChartsConfig

type ChartsConfig struct {
	OCI OCIChartTarget `koanf:"oci"`
	Git ChartTarget    `koanf:"git"`
}

type CoverageConfig

type CoverageConfig struct {
	Export bool `koanf:"export"`
}

type ImageTarget

type ImageTarget struct {
	Push           bool       `koanf:"push"`
	Repo           string     `koanf:"repo" validate:"required_if=Push true,reference-name-only"`
	Tag            string     `koanf:"tag" validate:"required_if=Push true,reference-tag"`
	TagSuffix      string     `koanf:"tag-suffix" validate:"excluded_if=Tag '',reference-tag-suffix"`
	AdditionalTags []string   `koanf:"additional-tags" validate:"dive,reference-tag"`
	Auth           AuthConfig `koanf:"auth" validate:"required_if=Push true"`
}

func (*ImageTarget) AdditionalRefs

func (t *ImageTarget) AdditionalRefs() []string

func (*ImageTarget) Ref

func (t *ImageTarget) Ref() string

func (*ImageTarget) RegistryAuth

func (t *ImageTarget) RegistryAuth() (address string, username string, secret *dagger.Secret)

type ImagesConfig

type ImagesConfig struct {
	Opni        ImageTarget      `koanf:"opni"`
	OpniMinimal ImageTarget      `koanf:"minimal"`
	Opensearch  OpensearchConfig `koanf:"opensearch"`
	PythonBase  ImageTarget      `koanf:"python-base"`
	PythonTorch ImageTarget      `koanf:"python-torch"`
}

type OCIChartTarget

type OCIChartTarget struct {
	Push bool       `koanf:"push"`
	Repo string     `koanf:"repo" validate:"required_if=Push true"`
	Auth AuthConfig `koanf:"auth" validate:"required_if=Push true"`
}

type OpensearchBuildConfig

type OpensearchBuildConfig struct {
	DashboardsVersion string `koanf:"dashboards-version"`
	OpensearchVersion string `koanf:"opensearch-version"`
	PluginVersion     string `koanf:"plugin-version"`
}

type OpensearchConfig

type OpensearchConfig struct {
	Opensearch    ImageTarget `koanf:"opensearch"`
	Dashboards    ImageTarget `koanf:"dashboards"`
	UpdateService ImageTarget `koanf:"update-service"`

	Build OpensearchBuildConfig `koanf:"build" validate:"required_with=Opensearch Dashboards"`
}

type ReleaseTarget

type ReleaseTarget struct {
	Push bool       `koanf:"push"`
	OS   []string   `koanf:"os"`
	Arch []string   `koanf:"arch"`
	Repo string     `koanf:"repo" validate:"required_if=Push true"`
	Tag  string     `koanf:"tag" validate:"required_if=Push true"`
	Auth AuthConfig `koanf:"auth" validate:"required_if=Push true"`
}

type SpecialCaseEnv

type SpecialCaseEnv struct {
	EnvVar    string
	Keys      []string
	Converter func(k, v string) any
}

func SpecialCaseEnvVars

func SpecialCaseEnvVars(client *dagger.Client) []SpecialCaseEnv

Jump to

Keyboard shortcuts

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