Files
katenary/doc/docs/packages/generator/labelStructs.md
Patrice Ferlet d01a35e2d4 Use real types to parse labels
We were using `yaml.Unmarshal` on basic types or inline structs. This
was not efficient and not clear to defined what we expect in labels.
We now use types to unmarshal the labels.

Only the `values` label is, at this time, parsed by GetValuesFromLabel
because this `utils` function is clearly a special case.
2024-04-24 23:06:45 +02:00

5.0 KiB

labelStructs

import "katenary/generator/labelStructs"

labelStructs is a package that contains the structs used to represent the labels in the yaml files.

type ConfigMapFile

type ConfigMapFile []string

func ConfigMapFileFrom

func ConfigMapFileFrom(data string) (ConfigMapFile, error)

type CronJob

type CronJob struct {
    Image    string `yaml:"image,omitempty"`
    Command  string `yaml:"command"`
    Schedule string `yaml:"schedule"`
    Rbac     bool   `yaml:"rbac"`
}

func CronJobFrom

func CronJobFrom(data string) (*CronJob, error)

type Dependency

Dependency is a dependency of a chart to other charts.

type Dependency struct {
    Name       string         `yaml:"name"`
    Version    string         `yaml:"version"`
    Repository string         `yaml:"repository"`
    Alias      string         `yaml:"alias,omitempty"`
    Values     map[string]any `yaml:"-"` // do not export to Chart.yaml
}

func DependenciesFrom

func DependenciesFrom(data string) ([]Dependency, error)

DependenciesFrom returns a slice of dependencies from the given string.

type EnvFrom

type EnvFrom []string

func EnvFromFrom

func EnvFromFrom(data string) (EnvFrom, error)

EnvFromFrom returns a EnvFrom from the given string.

type Ingress

type Ingress struct {
    // Hostname is the hostname to match against the request. It can contain wildcards.
    Hostname string `yaml:"hostname"`
    // Path is the path to match against the request. It can contain wildcards.
    Path string `yaml:"path"`
    // Enabled is a flag to enable or disable the ingress.
    Enabled bool `yaml:"enabled"`
    // Class is the ingress class to use.
    Class string `yaml:"class"`
    // Port is the port to use.
    Port *int32 `yaml:"port,omitempty"`
    // Annotations is a list of key-value pairs to add to the ingress.
    Annotations map[string]string `yaml:"annotations,omitempty"`
}

func IngressFrom

func IngressFrom(data string) (*Ingress, error)

IngressFrom creates a new Ingress from a compose service.

type MapEnv

type MapEnv map[string]string

func MapEnvFrom

func MapEnvFrom(data string) (MapEnv, error)

MapEnvFrom returns a MapEnv from the given string.

type Ports

type Ports []uint32

func PortsFrom

func PortsFrom(data string) (Ports, error)

PortsFrom returns a Ports from the given string.

type Probe

type Probe struct {
    LivenessProbe  *corev1.Probe `yaml:"livenessProbe,omitempty"`
    ReadinessProbe *corev1.Probe `yaml:"readinessProbe,omitempty"`
}

func ProbeFrom

func ProbeFrom(data string) (*Probe, error)

type Secrets

type Secrets []string

func SecretsFrom

func SecretsFrom(data string) (Secrets, error)

Generated by gomarkdoc