config

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: May 25, 2023 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AMQPMessaging

type AMQPMessaging struct {
	URL      string `json:"url" yaml:"url"`
	Exchange string `json:"exchange" yaml:"exchange"`
	Queue    string `json:"queue" yaml:"queue"`
}

func (*AMQPMessaging) MarshalJSON added in v0.1.17

func (m *AMQPMessaging) MarshalJSON() ([]byte, error)

type Buildkit

type Buildkit struct {
	// Namespace where the StatefulSet is deployed.
	Namespace string `json:"namespace" yaml:"namespace"`
	// PodLabels assigned to pods by the StatefulSet.
	PodLabels map[string]string `json:"podLabels" yaml:"podLabels"`
	// DaemonPort used to communicate with buildkitd over gRPC.
	DaemonPort int32 `json:"daemonPort" yaml:"daemonPort"`
	// ServiceName for the headless service.
	ServiceName string `json:"serviceName" yaml:"serviceName"`
	// StatefulSetName for the supervising workload.
	StatefulSetName string `json:"statefulSetName" yaml:"statefulSetName"`
	// PoolSyncWaitTime controls how often the worker pool is reconciled.
	PoolSyncWaitTime *time.Duration `json:"poolSyncWaitTime" yaml:"poolSyncWaitTime"`
	// PoolMaxIdleTime controls how long a pod will be allowed to remain unleased before it's terminated.
	PoolMaxIdleTime *time.Duration `json:"poolMaxIdleTime" yaml:"poolMaxIdleTime"`
	// PoolEndpointWatchTimeout is the time limit used when waiting for new pods to become "ready" for traffic.
	PoolEndpointWatchTimeout *int64 `json:"poolEndpointWatchTimeout" yaml:"poolEndpointWatchTimeout"`
	// MTLS parameters.
	MTLS *BuildkitMTLS `json:"mtls,omitempty" yaml:"mtls,omitempty"`
	// Secrets provided to buildkitd during the build process.
	Secrets map[string]string `json:"secrets" yaml:"secrets,omitempty"`
	// Registries parameters.
	Registries map[string]RegistryConfig `json:"registries,omitempty" yaml:"registries,omitempty"`
	// FetchAndExtractTimeout used when processing the remote Docker context tarball.
	// Fetch retries have a hard timeout limit of 4.25 mins because, come on, don't be ridiculous.
	FetchAndExtractTimeout time.Duration `json:"fetchAndExtractTimeout" yaml:"fetchAndExtractTimeout"`
}

Buildkit communication and discovery configuration.

type BuildkitMTLS

type BuildkitMTLS struct {
	CACertPath string `json:"caCertPath" yaml:"caCertPath"`
	CertPath   string `json:"certPath" yaml:"certPath"`
	KeyPath    string `json:"keyPath" yaml:"keyPath"`
}

BuildkitMTLS server configuration.

type ContainerLogging

type ContainerLogging struct {
	Encoder  string `json:"encoder" yaml:"encoder"`
	LogLevel string `json:"level" yaml:"level"`
}

type Controller

type Controller struct {
	Logging   Logging   `json:"logging" yaml:"logging"`
	Manager   Manager   `json:"manager" yaml:"manager"`
	Buildkit  Buildkit  `json:"buildkit" yaml:"buildkit"`
	Messaging Messaging `json:"messaging" yaml:"messaging"`
	NewRelic  NewRelic  `json:"newRelic" yaml:"newRelic"`

	ImageBuildMaxConcurrency int `json:"imageBuildMaxConcurrency" yaml:"imageBuildMaxConcurrency"`
}

func LoadFromFile

func LoadFromFile(filename string) (Controller, error)

func (Controller) Validate

func (c Controller) Validate() error

type KafkaMessaging

type KafkaMessaging struct {
	Servers   []string `json:"servers" yaml:"servers"`
	Topic     string   `json:"topic" yaml:"topic"`
	Partition string   `json:"partition" yaml:"partition"`
}

type LogfileLogging

type LogfileLogging struct {
	Enabled  bool   `json:"enabled" yaml:"enabled"`
	Filepath string `json:"filepath" yaml:"filepath"`
	LogLevel string `json:"level" yaml:"level"`
}

type Logging

type Logging struct {
	StacktraceLevel string `json:"stacktraceLevel" yaml:"stacktraceLevel"`

	Container ContainerLogging `json:"container" yaml:"container"`
	Logfile   LogfileLogging   `json:"logfile" yaml:"logfile"`
}

type Manager

type Manager struct {
	HealthProbeAddr      string   `json:"healthProbeAddr" yaml:"healthProbeAddr"`
	MetricsAddr          string   `json:"metricsAddr" yaml:"metricsAddr"`
	WebhookPort          int      `json:"webhookPort" yaml:"webhookPort"`
	WatchNamespaces      []string `json:"watchNamespaces" yaml:"watchNamespaces,omitempty"`
	EnableLeaderElection bool     `json:"enableLeaderElection" yaml:"enableLeaderElection"`
}

type Messaging

type Messaging struct {
	Enabled bool            `json:"enabled" yaml:"enabled"`
	AMQP    *AMQPMessaging  `json:"amqp" yaml:"amqp"`
	Kafka   *KafkaMessaging `json:"kafka" yaml:"kafka"`
}

type NewRelic added in v0.1.10

type NewRelic struct {
	Enabled    bool              `json:"enabled" yaml:"enabled"`
	AppName    string            `json:"appName" yaml:"appName"`
	Labels     map[string]string `json:"labels" yaml:"labels,omitempty"`
	LicenseKey string            `json:"licenseKey" yaml:"licenseKey"`
}

type RegistryConfig added in v0.1.14

type RegistryConfig struct {
	// Insecure will allow self-signed certificates.
	Insecure bool `json:"insecure,omitempty" yaml:"insecure,omitempty"`
	// HTTP will allow non-TLS connections.
	HTTP bool `json:"http,omitempty" yaml:"http,omitempty"`
}

RegistryConfig options used to relax registry push/pull restrictions.

Jump to

Keyboard shortcuts

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