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.
5.0 KiB
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