v1

package
v1.40.4 Latest Latest
Warning

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

Go to latest
Published: Aug 17, 2023 License: MIT Imports: 9 Imported by: 34

Documentation

Index

Constants

View Source
const (
	// ProvisionerBlobCsiAzure Use of azure/csi driver for blob in Azure storage account
	ProvisionerBlobCsiAzure string = "blob.csi.azure.com"
	// ProvisionerFileCsiAzure Use of azure/csi driver for files in Azure storage account
	ProvisionerFileCsiAzure string = "file.csi.azure.com"
)

These are valid storage class provisioners

View Source
const DynamicTagNameInEnvironmentConfig = "{imageTagName}"

DynamicTagNameInEnvironmentConfig Pattern to indicate that the image tag should be taken from the environment config

Variables

View Source
var (
	//SchemeBuilder builds a scheme
	SchemeBuilder runtime.SchemeBuilder

	//AddToScheme adds to scheme
	AddToScheme = localSchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{
	Group:   radix.GroupName,
	Version: "v1",
}

SchemeGroupVersion provides the group version

Functions

func GetCsiAzureStorageClassProvisioners added in v1.13.0

func GetCsiAzureStorageClassProvisioners() []string

GetCsiAzureStorageClassProvisioners CSI Azure provisioners

func GetStorageClassProvisionerByVolumeMountType added in v1.13.0

func GetStorageClassProvisionerByVolumeMountType(radixVolumeMount *RadixVolumeMount) (string, bool)

GetStorageClassProvisionerByVolumeMountType convert volume mount type to Storage Class provisioner

func IsKnownBlobFlexVolumeMount added in v1.13.7

func IsKnownBlobFlexVolumeMount(volumeMount string) bool

IsKnownBlobFlexVolumeMount Supported volume mount type Azure Blobfuse

func IsKnownCsiAzureVolumeMount added in v1.13.7

func IsKnownCsiAzureVolumeMount(volumeMount string) bool

IsKnownCsiAzureVolumeMount Supported volume mount type CSI Azure Blob volume

func IsKnownVolumeMount added in v1.13.0

func IsKnownVolumeMount(volumeMount string) bool

IsKnownVolumeMount Gets if volume mount is supported

func Resource

func Resource(resource string) schema.GroupResource

Resource does things to resource

Types

type Alert added in v1.16.0

type Alert struct {
	Alert    string `json:"alert" yaml:"alert"`
	Receiver string `json:"receiver" yaml:"receiver"`
}

func (*Alert) DeepCopy added in v1.16.0

func (in *Alert) DeepCopy() *Alert

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Alert.

func (*Alert) DeepCopyInto added in v1.16.0

func (in *Alert) DeepCopyInto(out *Alert)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AppAlias

type AppAlias struct {
	// Name of the environment for the component.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=^(([a-z0-9][-a-z0-9.]*)?[a-z0-9])?$
	Environment string `json:"environment,omitempty"`

	// Name of the component that shall receive the incoming requests.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=^(([a-z0-9][-a-z0-9.]*)?[a-z0-9])?$
	Component string `json:"component,omitempty"`
}

AppAlias contains information about the component and environment to be linked to the app alias DNS record.

func (*AppAlias) DeepCopy

func (in *AppAlias) DeepCopy() *AppAlias

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppAlias.

func (*AppAlias) DeepCopyInto

func (in *AppAlias) DeepCopyInto(out *AppAlias)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Authentication added in v1.11.4

type Authentication struct {
	// Configuration for TLS client certificate authentication.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#clientcertificate
	// +optional
	ClientCertificate *ClientCertificate `json:"clientCertificate,omitempty"`

	// Configuration for OAuth2 authentication.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#oauth2
	// +optional
	OAuth2 *OAuth2 `json:"oauth2,omitempty"`
}

Authentication describes authentication options.

func (*Authentication) DeepCopy added in v1.11.4

func (in *Authentication) DeepCopy() *Authentication

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Authentication.

func (*Authentication) DeepCopyInto added in v1.11.4

func (in *Authentication) DeepCopyInto(out *Authentication)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AzureIdentity added in v1.31.0

type AzureIdentity struct {
	// Defines the Client ID for a user defined managed identity or application ID for an application registration.
	ClientId string `json:"clientId"`
}

AzureIdentity properties for Azure AD Workload Identity

func (*AzureIdentity) DeepCopy added in v1.31.0

func (in *AzureIdentity) DeepCopy() *AzureIdentity

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureIdentity.

func (*AzureIdentity) DeepCopyInto added in v1.31.0

func (in *AzureIdentity) DeepCopyInto(out *AzureIdentity)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BlobFuse2Protocol added in v1.38.3

type BlobFuse2Protocol string

BlobFuse2Protocol Holds protocols of BlobFuse2 Azure Storage FUSE driver

const (
	// BlobFuse2ProtocolFuse2 Use of fuse2 protocol for storage account for blobfuse2
	BlobFuse2ProtocolFuse2 BlobFuse2Protocol = "fuse2"
	// BlobFuse2ProtocolNfs Use of NFS storage account for blobfuse2
	BlobFuse2ProtocolNfs BlobFuse2Protocol = "nfs"
)

These are valid types of mount

type BuildSpec added in v1.3.0

type BuildSpec struct {
	// Defines a list of secrets that will be passed as ARGs when building Dockerfile.
	// The secrets can also be accessed in sub-pipelines.
	// +optional
	Secrets []string `json:"secrets,omitempty"`

	// Defines variables that will be available in sub-pipelines.
	// +optional
	Variables EnvVarsMap `json:"variables,omitempty"`

	// Enables BuildKit when building Dockerfile.
	// More info about BuildKit: https://docs.docker.com/build/buildkit/
	// +optional
	UseBuildKit *bool `json:"useBuildKit,omitempty"`
}

BuildSpec contains configuration used by pipeline jobs.

func (*BuildSpec) DeepCopy added in v1.3.0

func (in *BuildSpec) DeepCopy() *BuildSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildSpec.

func (*BuildSpec) DeepCopyInto added in v1.3.0

func (in *BuildSpec) DeepCopyInto(out *BuildSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClientCertificate added in v1.11.4

type ClientCertificate struct {
	// Defines how the client certificate shall be verified.
	// +kubebuilder:validation:Enum=on;off;optional;optional_no_ca
	// +optional
	Verification *VerificationType `json:"verification,omitempty"`

	// Pass client certificate to backend in header ssl-client-cert.
	// This setting has no effect if verification is set to off.
	// +optional
	PassCertificateToUpstream *bool `json:"passCertificateToUpstream,omitempty"`
}

ClientCertificate Authentication client certificate parameters

func (*ClientCertificate) DeepCopy added in v1.11.4

func (in *ClientCertificate) DeepCopy() *ClientCertificate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientCertificate.

func (*ClientCertificate) DeepCopyInto added in v1.11.4

func (in *ClientCertificate) DeepCopyInto(out *ClientCertificate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ComponentPort

type ComponentPort struct {
	// Name of the port.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=15
	// +kubebuilder:validation:Pattern=^(([a-z0-9][-a-z0-9.]*)?[a-z0-9])?$
	Name string `json:"name"`

	// Port number.
	// +kubebuilder:validation:Minimum=1024
	// +kubebuilder:validation:Maximum=65535
	Port int32 `json:"port"`
}

ComponentPort defines a named port.

func (*ComponentPort) DeepCopy

func (in *ComponentPort) DeepCopy() *ComponentPort

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentPort.

func (*ComponentPort) DeepCopyInto

func (in *ComponentPort) DeepCopyInto(out *ComponentPort)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CookieSameSiteType added in v1.18.0

type CookieSameSiteType string

CookieSameSiteType Cookie SameSite value

const (
	// SameSiteStrict Use strict as samesite for cookie
	SameSiteStrict CookieSameSiteType = "strict"
	// SameSiteLax Use lax as samesite for cookie
	SameSiteLax CookieSameSiteType = "lax"
	// SameSiteNone Use none as samesite for cookie. Not supported by IE. See compativility matrix https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite#browser_compatibility
	SameSiteNone CookieSameSiteType = "none"
	// SameSiteEmpty Use empty string as samesite for cookie. Modern browsers defaults to lax when SameSite is not set. See compatibility matrix https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite#browser_compatibility
	SameSiteEmpty CookieSameSiteType = ""
)

type EgressConfig added in v1.20.0

type EgressConfig struct {
	// Allow or deny outgoing traffic to the public IP of the Radix cluster.
	// +optional
	AllowRadix *bool `json:"allowRadix,omitempty"`

	// Defines a list of egress rules.
	// +kubebuilder:validation:MaxItems=1000
	// +optional
	Rules []EgressRule `json:"rules,omitempty"`
}

EgressConfig contains egress configuration.

func (*EgressConfig) DeepCopy added in v1.20.0

func (in *EgressConfig) DeepCopy() *EgressConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressConfig.

func (*EgressConfig) DeepCopyInto added in v1.20.0

func (in *EgressConfig) DeepCopyInto(out *EgressConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EgressDestination added in v1.32.5

type EgressDestination string

+kubebuilder:validation:Pattern=`^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\/([0-9]|[1-2][0-9]|3[0-2]))?$`

type EgressPort added in v1.19.0

type EgressPort struct {
	// Port number.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port int32 `json:"port"`

	// Protocol.
	// +kubebuilder:validation:Enum=TCP;UDP
	Protocol string `json:"protocol"`
}

EgressPort defines a port in context of EgressRule.

func (*EgressPort) DeepCopy added in v1.19.0

func (in *EgressPort) DeepCopy() *EgressPort

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressPort.

func (*EgressPort) DeepCopyInto added in v1.19.0

func (in *EgressPort) DeepCopyInto(out *EgressPort)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EgressRule added in v1.19.0

type EgressRule struct {
	// List of allowed destinations.
	// Each destination must be a valid IPv4 CIDR.
	// +kubebuilder:validation:MinItems=1
	Destinations []EgressDestination `json:"destinations"`

	// List of allowed ports.
	// +kubebuilder:validation:MinItems=1
	Ports []EgressPort `json:"ports"`
}

EgressRule defines an egress rule.

func (*EgressRule) DeepCopy added in v1.19.0

func (in *EgressRule) DeepCopy() *EgressRule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressRule.

func (*EgressRule) DeepCopyInto added in v1.19.0

func (in *EgressRule) DeepCopyInto(out *EgressRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EnvBuild

type EnvBuild struct {
	// Name of the Github branch to build from
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=255
	// +optional
	From string `json:"from,omitempty"`

	// Defines variables that will be available in sub-pipelines
	// +optional
	Variables EnvVarsMap `json:"variables,omitempty"`
}

EnvBuild contains configuration used to determine how to build an environment.

func (*EnvBuild) DeepCopy

func (in *EnvBuild) DeepCopy() *EnvBuild

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvBuild.

func (*EnvBuild) DeepCopyInto

func (in *EnvBuild) DeepCopyInto(out *EnvBuild)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EnvVarsMap

type EnvVarsMap map[string]string

Map of environment variables in the form '<envvarname>: <value>'

func (EnvVarsMap) DeepCopy

func (in EnvVarsMap) DeepCopy() EnvVarsMap

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvVarsMap.

func (EnvVarsMap) DeepCopyInto

func (in EnvVarsMap) DeepCopyInto(out *EnvVarsMap)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Environment

type Environment struct {
	// Name of the environment.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=^(([a-z0-9][-a-z0-9.]*)?[a-z0-9])?$
	Name string `json:"name"`

	// Build configuration for the environment.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#build-2
	// +optional
	Build EnvBuild `json:"build,omitempty"`

	// Configure egress traffic rules for components and jobs.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#egress
	// +optional
	Egress EgressConfig `json:"egress,omitempty"`
}

Environment contains environment specific configuration.

func (*Environment) DeepCopy

func (in *Environment) DeepCopy() *Environment

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Environment.

func (*Environment) DeepCopyInto

func (in *Environment) DeepCopyInto(out *Environment)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExternalAlias

type ExternalAlias struct {
	// DNS name, e.g. myapp.example.com.
	// +kubebuilder:validation:MinLength=4
	// +kubebuilder:validation:MaxLength=255
	// +kubebuilder:validation:Pattern=`^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$`
	Alias string `json:"alias"`

	// Name of the environment for the component.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=^(([a-z0-9][-a-z0-9.]*)?[a-z0-9])?$
	Environment string `json:"environment"`

	// Name of the component that shall receive the incoming requests.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=^(([a-z0-9][-a-z0-9.]*)?[a-z0-9])?$
	Component string `json:"component"`
}

ExternalAlias defines mapping between an external DNS name and a component and environment.

func (*ExternalAlias) DeepCopy

func (in *ExternalAlias) DeepCopy() *ExternalAlias

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAlias.

func (*ExternalAlias) DeepCopyInto

func (in *ExternalAlias) DeepCopyInto(out *ExternalAlias)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Identity added in v1.31.0

type Identity struct {
	// Azure identity configuration
	// +optional
	Azure *AzureIdentity `json:"azure,omitempty"`
}

Identity configuration for federation with external identity providers.

func (*Identity) DeepCopy added in v1.31.0

func (in *Identity) DeepCopy() *Identity

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Identity.

func (*Identity) DeepCopyInto added in v1.31.0

func (in *Identity) DeepCopyInto(out *Identity)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LocalObjectReference added in v1.32.0

type LocalObjectReference struct {
	// Name of the referent.
	// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
	// +kubebuilder:validation:MaxLength:=253
	Name string `json:"name"`
}

LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.

func (*LocalObjectReference) DeepCopy added in v1.32.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalObjectReference.

func (*LocalObjectReference) DeepCopyInto added in v1.32.0

func (in *LocalObjectReference) DeepCopyInto(out *LocalObjectReference)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MonitoringConfig added in v1.19.11

type MonitoringConfig struct {
	// Defines which port in the ports list where metrics is served.
	// +kubebuilder:validation:MaxLength=15
	// +kubebuilder:validation:Pattern=^(([a-z0-9][-a-z0-9.]*)?[a-z0-9])?$
	PortName string `json:"portName,omitempty"`

	// Defines the path where metrics is served.
	// +optional
	Path string `json:"path,omitempty"`
}

MonitoringConfig Monitoring configuration

func (*MonitoringConfig) DeepCopy added in v1.20.0

func (in *MonitoringConfig) DeepCopy() *MonitoringConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitoringConfig.

func (*MonitoringConfig) DeepCopyInto added in v1.20.0

func (in *MonitoringConfig) DeepCopyInto(out *MonitoringConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MountType added in v1.7.0

type MountType string

MountType Holds types of mount

const (
	// MountTypeBlob Use of azure/blobfuse flexvolume
	MountTypeBlob MountType = "blob"
	// MountTypeBlobFuse2FuseCsiAzure Use of azure/csi driver for blobfuse2, protocol Fuse in Azure storage account
	MountTypeBlobFuse2FuseCsiAzure MountType = "azure-blob"
	// MountTypeBlobFuse2Fuse2CsiAzure Use of azure/csi driver for blobfuse2, protocol Fuse2 in Azure storage account
	MountTypeBlobFuse2Fuse2CsiAzure MountType = "blobfuse2-fuse2"
	// MountTypeBlobFuse2NfsCsiAzure Use of azure/csi driver for blobfuse2, protocol NFS in Azure storage account
	MountTypeBlobFuse2NfsCsiAzure MountType = "blobfuse2-nfs"
	// MountTypeAzureFileCsiAzure Use of azure/csi driver for Azure File in Azure storage account
	MountTypeAzureFileCsiAzure MountType = "azure-file"
)

These are valid types of mount

type Notifications added in v1.33.0

type Notifications struct {
	// Webhook is a URL for notification about internal events or changes. The URL should be of a Radix component or job-component, with not public port.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +optional
	Webhook *string `json:"webhook,omitempty"`
}

Notifications is the spec for notification about internal events or changes

func (*Notifications) DeepCopy added in v1.33.0

func (in *Notifications) DeepCopy() *Notifications

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Notifications.

func (*Notifications) DeepCopyInto added in v1.33.0

func (in *Notifications) DeepCopyInto(out *Notifications)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OAuth2 added in v1.18.0

type OAuth2 struct {
	// Client ID of the application.
	// +optional
	ClientID string `json:"clientId"`

	// Requested scopes.
	// +optional
	Scope string `json:"scope,omitempty"`

	// Defines if claims from the access token is added to the X-Auth-Request-User, X-Auth-Request-Groups,
	// X-Auth-Request-Email and X-Auth-Request-Preferred-Username request headers.
	// The access token is passed in the X-Auth-Request-Access-Token header.
	// +optional
	SetXAuthRequestHeaders *bool `json:"setXAuthRequestHeaders,omitempty"`

	// Defines if the IDToken received by the OAuth Proxy should be added to the Authorization header.
	// +optional
	SetAuthorizationHeader *bool `json:"setAuthorizationHeader,omitempty"`

	// Defines the url root path that OAuth Proxy should be nested under.
	// +optional
	ProxyPrefix string `json:"proxyPrefix,omitempty"`

	// Defines the authentication endpoint of the identity provider.
	// Must be set if OIDC.SkipDiscovery is true
	// +optional
	LoginURL string `json:"loginUrl,omitempty"`

	// Defines the endpoint to redeem the authorization code received from the OAuth code flow.
	// Must be set if OIDC.SkipDiscovery is true
	// +optional
	RedeemURL string `json:"redeemUrl,omitempty"`

	// OIDC settings.
	// +optional
	OIDC *OAuth2OIDC `json:"oidc,omitempty"`

	// Session cookie settings.
	// +optional
	Cookie *OAuth2Cookie `json:"cookie,omitempty"`

	// Defines where to store session data.
	// +kubebuilder:validation:Enum=cookie;redis;""
	// +optional
	SessionStoreType SessionStoreType `json:"sessionStoreType,omitempty"`

	// Settings for the cookie that stores session data when SessionStoreType is cookie.
	// +optional
	CookieStore *OAuth2CookieStore `json:"cookieStore,omitempty"`

	// Settings for Redis store when SessionStoreType is redis.
	// +optional
	RedisStore *OAuth2RedisStore `json:"redisStore,omitempty"`
}

OAuth2 defines oauth proxy settings for a component

func (*OAuth2) DeepCopy added in v1.18.0

func (in *OAuth2) DeepCopy() *OAuth2

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuth2.

func (*OAuth2) DeepCopyInto added in v1.18.0

func (in *OAuth2) DeepCopyInto(out *OAuth2)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OAuth2Cookie added in v1.18.0

type OAuth2Cookie struct {
	// Defines the name of the OAuth session cookie.
	// +optional
	Name string `json:"name,omitempty"`

	// Defines the expire timeframe for the session cookie.
	// +optional
	Expire string `json:"expire,omitempty"`

	// The interval between cookie refreshes.
	// The value must be a shorter timeframe than values set in Expire.
	// +optional
	Refresh string `json:"refresh,omitempty"`

	// Defines the samesite cookie attribute
	// +kubebuilder:validation:Enum=strict;lax;none;""
	// +optional
	SameSite CookieSameSiteType `json:"sameSite,omitempty"`
}

OAuth2Cookie defines properties for the oauth cookie.

func (*OAuth2Cookie) DeepCopy added in v1.18.0

func (in *OAuth2Cookie) DeepCopy() *OAuth2Cookie

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuth2Cookie.

func (*OAuth2Cookie) DeepCopyInto added in v1.18.0

func (in *OAuth2Cookie) DeepCopyInto(out *OAuth2Cookie)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OAuth2CookieStore added in v1.18.0

type OAuth2CookieStore struct {
	// Strips OAuth tokens from cookies if they are not needed.
	// Cookie.Refresh must be 0, and both SetXAuthRequestHeaders and SetAuthorizationHeader must be false if this setting is true.
	// +optional
	Minimal *bool `json:"minimal,omitempty"`
}

OAuth2CookieStore properties for cookie session storage.

func (*OAuth2CookieStore) DeepCopy added in v1.18.0

func (in *OAuth2CookieStore) DeepCopy() *OAuth2CookieStore

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuth2CookieStore.

func (*OAuth2CookieStore) DeepCopyInto added in v1.18.0

func (in *OAuth2CookieStore) DeepCopyInto(out *OAuth2CookieStore)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OAuth2OIDC added in v1.18.0

type OAuth2OIDC struct {
	// Defines the OIDC issuer URL.
	// +optional
	IssuerURL string `json:"issuerUrl,omitempty"`

	// Defines the OIDC JWKS URL for token verification.
	// Required if OIDC discovery is disabled.
	// +optional
	JWKSURL string `json:"jwksUrl,omitempty"`

	// Defines if OIDC endpoint discovery should be bypassed.
	// LoginURL, RedeemURL, JWKSURL must be configured if discovery is disabled.
	// +optional
	SkipDiscovery *bool `json:"skipDiscovery,omitempty"`

	// Skip verifying the OIDC ID Token's nonce claim
	// +optional
	InsecureSkipVerifyNonce *bool `json:"insecureSkipVerifyNonce,omitempty"`
}

OAuth2OIDC defines OIDC settings for oauth proxy.

func (*OAuth2OIDC) DeepCopy added in v1.18.0

func (in *OAuth2OIDC) DeepCopy() *OAuth2OIDC

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuth2OIDC.

func (*OAuth2OIDC) DeepCopyInto added in v1.18.0

func (in *OAuth2OIDC) DeepCopyInto(out *OAuth2OIDC)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OAuth2RedisStore added in v1.18.0

type OAuth2RedisStore struct {
	// Defines the URL for the Redis server.
	ConnectionURL string `json:"connectionUrl"`
}

OAuth2RedisStore properties for redis session storage.

func (*OAuth2RedisStore) DeepCopy added in v1.18.0

func (in *OAuth2RedisStore) DeepCopy() *OAuth2RedisStore

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuth2RedisStore.

func (*OAuth2RedisStore) DeepCopyInto added in v1.18.0

func (in *OAuth2RedisStore) DeepCopyInto(out *OAuth2RedisStore)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PayloadSecretKeySelector added in v1.32.0

type PayloadSecretKeySelector struct {
	// The name of the secret in the RadixBatch namespace to select from.
	LocalObjectReference `json:",inline"`

	// The key of the secret to select from.
	Key string `json:"key"`
}

PayloadSecretKeySelector selects a key of a Secret.

func (*PayloadSecretKeySelector) DeepCopy added in v1.32.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PayloadSecretKeySelector.

func (*PayloadSecretKeySelector) DeepCopyInto added in v1.32.0

func (in *PayloadSecretKeySelector) DeepCopyInto(out *PayloadSecretKeySelector)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PrivateImageHubEntries added in v1.0.1

type PrivateImageHubEntries map[string]*RadixPrivateImageHubCredential

PrivateImageHubEntries defines authentication information for private image registries.

func (PrivateImageHubEntries) DeepCopy added in v1.0.1

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrivateImageHubEntries.

func (PrivateImageHubEntries) DeepCopyInto added in v1.0.1

func (in PrivateImageHubEntries) DeepCopyInto(out *PrivateImageHubEntries)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixAlert added in v1.16.0

type RadixAlert struct {
	meta_v1.TypeMeta   `json:",inline" yaml:",inline"`
	meta_v1.ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Spec               RadixAlertSpec   `json:"spec" yaml:"spec"`
	Status             RadixAlertStatus `json:"status" yaml:"status"`
}

RadixAlert describe alert config for a radix environment

func (*RadixAlert) DeepCopy added in v1.16.0

func (in *RadixAlert) DeepCopy() *RadixAlert

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixAlert.

func (*RadixAlert) DeepCopyInto added in v1.16.0

func (in *RadixAlert) DeepCopyInto(out *RadixAlert)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RadixAlert) DeepCopyObject added in v1.16.0

func (in *RadixAlert) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RadixAlertList added in v1.16.0

type RadixAlertList struct {
	meta_v1.TypeMeta `json:",inline" yaml:",inline"`
	meta_v1.ListMeta `json:"metadata" yaml:"metadata"`
	Items            []RadixAlert `json:"items" yaml:"items"`
}

RadixAlertList is a list of RadixAlert

func (*RadixAlertList) DeepCopy added in v1.16.0

func (in *RadixAlertList) DeepCopy() *RadixAlertList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixAlertList.

func (*RadixAlertList) DeepCopyInto added in v1.16.0

func (in *RadixAlertList) DeepCopyInto(out *RadixAlertList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RadixAlertList) DeepCopyObject added in v1.16.0

func (in *RadixAlertList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RadixAlertSpec added in v1.16.0

type RadixAlertSpec struct {
	Receivers ReceiverMap `json:"receivers" yaml:"receivers"`
	Alerts    []Alert     `json:"alerts" yaml:"alerts"`
}

RadixAlertSpec is the spec for a RadixAlert

func (*RadixAlertSpec) DeepCopy added in v1.16.0

func (in *RadixAlertSpec) DeepCopy() *RadixAlertSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixAlertSpec.

func (*RadixAlertSpec) DeepCopyInto added in v1.16.0

func (in *RadixAlertSpec) DeepCopyInto(out *RadixAlertSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixAlertStatus added in v1.16.0

type RadixAlertStatus struct {
	Reconciled *meta_v1.Time `json:"reconciled" yaml:"reconciled"`
}

RadixAlertStatus is the status for a RadixAlert

func (*RadixAlertStatus) DeepCopy added in v1.16.0

func (in *RadixAlertStatus) DeepCopy() *RadixAlertStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixAlertStatus.

func (*RadixAlertStatus) DeepCopyInto added in v1.16.0

func (in *RadixAlertStatus) DeepCopyInto(out *RadixAlertStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixApplication

type RadixApplication struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`

	// Specification for an application.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/
	Spec RadixApplicationSpec `json:"spec"`
}

RadixApplication describes an application

func (*RadixApplication) DeepCopy

func (in *RadixApplication) DeepCopy() *RadixApplication

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixApplication.

func (*RadixApplication) DeepCopyInto

func (in *RadixApplication) DeepCopyInto(out *RadixApplication)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RadixApplication) DeepCopyObject

func (in *RadixApplication) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RadixApplicationList

type RadixApplicationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []RadixApplication `json:"items"`
}

RadixApplicationList is a collection of RadixApplication.

func (*RadixApplicationList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixApplicationList.

func (*RadixApplicationList) DeepCopyInto

func (in *RadixApplicationList) DeepCopyInto(out *RadixApplicationList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RadixApplicationList) DeepCopyObject

func (in *RadixApplicationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RadixApplicationSpec

type RadixApplicationSpec struct {
	// Build contains configuration used by pipeline jobs.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#build
	// +optional
	Build *BuildSpec `json:"build,omitempty"`

	// List of environments belonging to the application.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#environments
	// +listType=map
	// +listMapKey=name
	// +kubebuilder:validation:MinItems=1
	Environments []Environment `json:"environments"`

	// List of job specification for the application.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#jobs
	// +listType=map
	// +listMapKey=name
	// +optional
	Jobs []RadixJobComponent `json:"jobs,omitempty"`

	// List of component specification for the application.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#components
	// +listType=map
	// +listMapKey=name
	// +optional
	Components []RadixComponent `json:"components,omitempty"`

	// Configure a component and environment to be linked to the app alias DNS record.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#dnsappalias
	// +optional
	DNSAppAlias AppAlias `json:"dnsAppAlias,omitempty"`

	// List of external DNS names and which component and environment incoming requests shall be routed to.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#dnsexternalalias
	// +listType=map
	// +listMapKey=alias
	// +optional
	DNSExternalAlias []ExternalAlias `json:"dnsExternalAlias,omitempty"`

	// Defines protected container registries used by components or jobs.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#privateimagehubs
	// +optional
	PrivateImageHubs PrivateImageHubEntries `json:"privateImageHubs,omitempty"`
}

RadixApplicationSpec is the specification for an application.

func (*RadixApplicationSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixApplicationSpec.

func (*RadixApplicationSpec) DeepCopyInto

func (in *RadixApplicationSpec) DeepCopyInto(out *RadixApplicationSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixAzureFileVolumeMount added in v1.38.3

type RadixAzureFileVolumeMount struct {
	// Share. Name of the file share in the external storage resource.
	// +optional
	Share string `json:"share,omitempty"`

	// GID defines the group ID (number) which will be set as owner of the mounted volume.
	// +optional
	GID string `json:"gid,omitempty"` // Optional. Volume mount owner GroupID. Used when drivers do not honor fsGroup securityContext setting. https://github.com/kubernetes-sigs/blob-csi-driver/blob/master/docs/driver-parameters.md

	// UID defines the user ID (number) which will be set as owner of the mounted volume.
	// +optional
	UID string `json:"uid,omitempty"` // Optional. Volume mount owner UserID. Used instead of GID.

	// SKU Type of Azure storage.
	// More info: https://learn.microsoft.com/en-us/rest/api/storagerp/srp_sku_types
	// +optional
	SkuName string `json:"skuName,omitempty"` // Available values: Standard_LRS (default), Premium_LRS, Standard_GRS, Standard_RAGRS. https://docs.microsoft.com/en-us/rest/api/storagerp/srp_sku_types

	// Requested size (opens new window)of allocated mounted volume. Default value is set to "1Mi" (1 megabyte). Current version of the driver does not affect mounted volume size
	// More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-persistent-volume-storage/#create-a-persistentvolumeclaim
	// +optional
	RequestsStorage string `json:"requestsStorage,omitempty"` // Requests resource storage size. Default "1Mi". https://kubernetes.io/docs/tasks/configure-pod-container/configure-persistent-volume-storage/#create-a-persistentvolumeclaim

	// Access mode from a container to an external storage. ReadOnlyMany (default), ReadWriteOnce, ReadWriteMany.
	// More info: https://www.radix.equinor.com/guides/volume-mounts/optional-settings/
	// +kubebuilder:validation:Enum=ReadOnlyMany;ReadWriteOnce;ReadWriteMany;""
	// +optional
	AccessMode string `json:"accessMode,omitempty"` // Available values: ReadOnlyMany (default) - read-only by many nodes, ReadWriteOnce - read-write by a single node, ReadWriteMany - read-write by many nodes. https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes

	// Binding mode from a container to an external storage. Immediate (default), WaitForFirstConsumer.
	// More info: https://www.radix.equinor.com/guides/volume-mounts/optional-settings/
	// +kubebuilder:validation:Enum=Immediate;WaitForFirstConsumer;""
	// +optional
	BindingMode string `json:"bindingMode,omitempty"` // Volume binding mode. Available values: Immediate (default), WaitForFirstConsumer. https://kubernetes.io/docs/concepts/storage/storage-classes/#volume-binding-mode
}

RadixAzureFileVolumeMount defines an external storage resource, configured to use Azure File with CSI driver. More info: https://github.com/kubernetes-sigs/azurefile-csi-driver https://github.com/kubernetes-sigs/azurefile-csi-driver/blob/master/docs/driver-parameters.md

func (*RadixAzureFileVolumeMount) DeepCopy added in v1.38.3

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixAzureFileVolumeMount.

func (*RadixAzureFileVolumeMount) DeepCopyInto added in v1.38.3

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixAzureKeyVault added in v1.17.2

type RadixAzureKeyVault struct {
	// Name of the Azure keyvault.
	// +kubebuilder:validation:MinLength=3
	// +kubebuilder:validation:MaxLength=24
	Name string `json:"name"`

	// Path where secrets from the keyvault is mounted.
	// +kubebuilder:validation:MinLength=1
	// +optional
	Path *string `json:"path,omitempty"`

	// List of keyvault items (secrets, keys and certificates).
	// +kubebuilder:validation:MinItems=1
	Items []RadixAzureKeyVaultItem `json:"items"`

	// UseAzureIdentity defines that credentials for accessing Azure Key Vault will be acquired using Azure Workload Identity instead of using a ClientID and Secret.
	// +optional
	UseAzureIdentity *bool `json:"useAzureIdentity,omitempty"`
}

RadixAzureKeyVault defines an Azure keyvault.

func (*RadixAzureKeyVault) DeepCopy added in v1.17.2

func (in *RadixAzureKeyVault) DeepCopy() *RadixAzureKeyVault

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixAzureKeyVault.

func (*RadixAzureKeyVault) DeepCopyInto added in v1.17.2

func (in *RadixAzureKeyVault) DeepCopyInto(out *RadixAzureKeyVault)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixAzureKeyVaultItem added in v1.17.2

type RadixAzureKeyVaultItem struct {
	// Name of a secret, key or certificate in the keyvault.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=127
	Name string `json:"name"`

	// Defines the name of the environment variable that will contain the value of the secret, key or certificate.
	// +optional
	EnvVar string `json:"envVar,omitempty"`

	// Type of item in the keyvault referenced by the name.
	// +kubebuilder:validation:Enum=secret;key;cert
	// +optional
	Type *RadixAzureKeyVaultObjectType `json:"type,omitempty"`

	// Alias overrides the default file name used when mounting the secret, key or certificate.
	// +kubebuilder:validation:MinLength=1
	// +optional
	Alias *string `json:"alias,omitempty"`

	// Defines that a specific version of a keyvault item should be loaded.
	// The latest version is loaded when this field is not set.
	// +optional
	Version *string `json:"version,omitempty"`

	// Defines the format of the keyvault item.
	// pfx is only supported with type secret and PKCS12 or ECC certificate.
	// Default format for certificates is pem.
	// +kubebuilder:validation:Enum=pem;pfx
	// +optional
	Format *string `json:"format,omitempty"`

	// Encoding defines the encoding of a keyvault item when stored in the container.
	// Setting encoding to base64 and format to pfx will fetch and write the base64 decoded pfx binary.
	// +kubebuilder:validation:Enum=base64
	// +optional
	Encoding *string `json:"encoding,omitempty"`

	// K8sSecretType defines the type of Kubernetes secret the keyvault item will be stored in.
	// opaque corresponds to "Opaque" and "kubernetes.io/tls" secret types: https://kubernetes.io/docs/concepts/configuration/secret/#secret-types
	// +kubebuilder:validation:Enum=opaque;tls
	// +optional
	K8sSecretType *RadixAzureKeyVaultK8sSecretType `json:"k8sSecretType,omitempty"`
}

RadixAzureKeyVaultItem defines Azure Key Vault setting: secrets, keys, certificates

func (*RadixAzureKeyVaultItem) DeepCopy added in v1.17.2

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixAzureKeyVaultItem.

func (*RadixAzureKeyVaultItem) DeepCopyInto added in v1.17.2

func (in *RadixAzureKeyVaultItem) DeepCopyInto(out *RadixAzureKeyVaultItem)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixAzureKeyVaultK8sSecretType added in v1.17.2

type RadixAzureKeyVaultK8sSecretType string

RadixAzureKeyVaultK8sSecretType Azure Key Vault secret item Kubernetes type

const (
	// RadixAzureKeyVaultK8sSecretTypeOpaque Azure Key Vault secret item Kubernetes type Opaque
	RadixAzureKeyVaultK8sSecretTypeOpaque RadixAzureKeyVaultK8sSecretType = "opaque"
	// RadixAzureKeyVaultK8sSecretTypeTls Azure Key Vault secret item Kubernetes type kubernetes.io/tls
	RadixAzureKeyVaultK8sSecretTypeTls RadixAzureKeyVaultK8sSecretType = "tls"
)

type RadixAzureKeyVaultObjectType added in v1.17.2

type RadixAzureKeyVaultObjectType string

RadixAzureKeyVaultObjectType Azure Key Vault item type

const (
	// RadixAzureKeyVaultObjectTypeSecret Azure Key Vault item of type secret
	RadixAzureKeyVaultObjectTypeSecret RadixAzureKeyVaultObjectType = "secret"
	// RadixAzureKeyVaultObjectTypeKey Azure Key Vault item of type key
	RadixAzureKeyVaultObjectTypeKey RadixAzureKeyVaultObjectType = "key"
	// RadixAzureKeyVaultObjectTypeCert Azure Key Vault item of type certificate
	RadixAzureKeyVaultObjectTypeCert RadixAzureKeyVaultObjectType = "cert"
)

type RadixBatch added in v1.32.0

type RadixBatch struct {
	meta_v1.TypeMeta   `json:",inline"`
	meta_v1.ObjectMeta `json:"metadata"`

	Spec   RadixBatchSpec   `json:"spec"`
	Status RadixBatchStatus `json:"status,omitempty"`
}

RadixBatch enables batch execution of Radix job components.

func (*RadixBatch) DeepCopy added in v1.32.0

func (in *RadixBatch) DeepCopy() *RadixBatch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixBatch.

func (*RadixBatch) DeepCopyInto added in v1.32.0

func (in *RadixBatch) DeepCopyInto(out *RadixBatch)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RadixBatch) DeepCopyObject added in v1.32.0

func (in *RadixBatch) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RadixBatchCondition added in v1.32.0

type RadixBatchCondition struct {
	// Type of RadixBatch condition.
	Type RadixBatchConditionType `json:"type"`

	// The reason for the condition.
	// +optional
	Reason string `json:"reason,omitempty"`

	// A human readable message indicating details about the condition.
	// +optional
	Message string `json:"message,omitempty"`

	// The time the condition entered Active state.
	// +optional
	ActiveTime *meta_v1.Time `json:"activeTime,omitempty"`

	// The time the condition entered Completed state.
	// +optional
	CompletionTime *meta_v1.Time `json:"completionTime,omitempty"`
}

RadixBatchCondition describes the state of the RadixBatch

func (*RadixBatchCondition) DeepCopy added in v1.32.0

func (in *RadixBatchCondition) DeepCopy() *RadixBatchCondition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixBatchCondition.

func (*RadixBatchCondition) DeepCopyInto added in v1.32.0

func (in *RadixBatchCondition) DeepCopyInto(out *RadixBatchCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixBatchConditionType added in v1.32.0

type RadixBatchConditionType string

+kubebuilder:validation:Enum=Waiting;Active;Completed

const (
	// Waiting means that all jobs are in phase Waiting.
	BatchConditionTypeWaiting RadixBatchConditionType = "Waiting"

	// Active means that one or more jobs are in phase Active.
	BatchConditionTypeActive RadixBatchConditionType = "Active"

	// Completed means that all jobs are in Succeeded, Failed or Stopped phase.
	BatchConditionTypeCompleted RadixBatchConditionType = "Completed"
)

type RadixBatchJob added in v1.32.0

type RadixBatchJob struct {
	// Defines the unique name of the job in a RadixBatch.
	// +kubebuilder:validation:MaxLength:=63
	Name string `json:"name"`

	// Defines a user defined ID of the job.
	// +optional
	JobId string `json:"jobId,omitempty"`

	// Specifies compute resource requirements.
	// Overrides resource configuration defined for job component in RadixDeployment.
	// +optional
	Resources *ResourceRequirements `json:"resources,omitempty"`

	// Specifies node attributes, where container should be scheduled.
	// Overrides node configuration defined for job component in RadixDeployment.
	// +optional
	Node *RadixNode `json:"node,omitempty"`

	// Specifies maximum job run time.
	// Overrides timeLimitSeconds defined for job component in RadixDeployment.
	// +optional
	// +kubebuilder:validation:Minimum:=1
	TimeLimitSeconds *int64 `json:"timeLimitSeconds,omitempty"`

	// Specifies the number of retries before marking this job failed.
	// +optional
	// +kubebuilder:validation:Minimum:=0
	BackoffLimit *int32 `json:"backoffLimit,omitempty"`

	// Specifies the Secret name and data key containing the payload for the job
	// +optional
	PayloadSecretRef *PayloadSecretKeySelector `json:"payloadSecretRef,omitempty"`

	// Controls if a job should be stopped.
	// If Stop is set to true, the underlying Kubernetes Job is deleted.
	// A job that is stopped cannot be started again by setting Stop to false.
	// +optional
	Stop *bool `json:"stop,omitempty"`

	// Controls if a job should be restarted.
	// If Restart is set to new timestamp, and
	// - the job is stopped - the job is started again.
	// - the job is running - the job is stopped and started again.
	// This timestamp set to the job's status.restart.
	// +optional
	Restart string `json:"restart,omitempty"`

	// ImageTagName defines the image tag name to use for the job image
	//
	// required: false
	ImageTagName string `json:"imageTagName,omitempty"`
}

RadixBatchJob Spec for a batch job

func (*RadixBatchJob) DeepCopy added in v1.32.0

func (in *RadixBatchJob) DeepCopy() *RadixBatchJob

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixBatchJob.

func (*RadixBatchJob) DeepCopyInto added in v1.32.0

func (in *RadixBatchJob) DeepCopyInto(out *RadixBatchJob)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixBatchJobPhase added in v1.32.0

type RadixBatchJobPhase string

RadixBatchJobPhase represents the phase of the job +kubebuilder:validation:Enum=Waiting;Active;Succeeded;Failed;Stopped

const (
	// Waiting means that the the job is waiting to start,
	// either because the Kubernetes job has not yet been created,
	// or the Kubernetes job controller has not processed the Job.
	BatchJobPhaseWaiting RadixBatchJobPhase = "Waiting"

	// Active means that the job is active.
	// The Kubernetes job is created, and the Kubernetes job
	// controller has started the job.
	BatchJobPhaseActive RadixBatchJobPhase = "Active"

	// Succeeded means that the job has completed without errors.
	BatchJobPhaseSucceeded RadixBatchJobPhase = "Succeeded"

	// Failed means that the job has failed.
	BatchJobPhaseFailed RadixBatchJobPhase = "Failed"

	// Stopped means that the job has been stopped.
	BatchJobPhaseStopped RadixBatchJobPhase = "Stopped"
)

type RadixBatchJobStatus added in v1.32.0

type RadixBatchJobStatus struct {
	// +kubebuilder:validation:MaxLength:=63
	Name string `json:"name"`

	Phase RadixBatchJobPhase `json:"phase"`

	// A brief CamelCase message indicating details about why the job is in this phase
	// +optional
	Reason string `json:"reason,omitempty"`

	// A human readable message indicating details about why the job is in this phase
	// +optional
	Message string `json:"message,omitempty"`

	// The time at which the Kubernetes job was created.
	// +optional
	CreationTime *meta_v1.Time `json:"creationTime,omitempty"`

	// The time at which the Kubernetes job was started.
	// +optional
	StartTime *meta_v1.Time `json:"startTime,omitempty"`

	// The time at which the batch job ended.
	// The value is set when phase is either Succeeded, Failed or Stopped.
	// - Succeeded: Value from CompletionTime of the Kubernetes job.
	// - Failed: Value from LastTransitionTime of the Failed condition of the Kubernetes job.
	// - Stopped: The timestamp a job with Stop=true was reonciled.
	// +optional
	EndTime *meta_v1.Time `json:"endTime,omitempty"`

	// The number of times the container for the job has failed.
	// +optional
	Failed int32 `json:"failed,omitempty"`

	// Timestamp of the job restart, if applied.
	// +optional
	Restart string `json:"restart,omitempty"`
}

RadixBatchJobStatus contains details for the current status of the job.

func (*RadixBatchJobStatus) DeepCopy added in v1.32.0

func (in *RadixBatchJobStatus) DeepCopy() *RadixBatchJobStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixBatchJobStatus.

func (*RadixBatchJobStatus) DeepCopyInto added in v1.32.0

func (in *RadixBatchJobStatus) DeepCopyInto(out *RadixBatchJobStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixBatchList added in v1.32.0

type RadixBatchList struct {
	meta_v1.TypeMeta `json:",inline"`
	meta_v1.ListMeta `json:"metadata"`

	Items []RadixBatch `json:"items"`
}

RadixBatchList is a collection of RadixBatches.

func (*RadixBatchList) DeepCopy added in v1.32.0

func (in *RadixBatchList) DeepCopy() *RadixBatchList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixBatchList.

func (*RadixBatchList) DeepCopyInto added in v1.32.0

func (in *RadixBatchList) DeepCopyInto(out *RadixBatchList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RadixBatchList) DeepCopyObject added in v1.32.0

func (in *RadixBatchList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RadixBatchSpec added in v1.32.0

type RadixBatchSpec struct {
	// Reference to the RadixDeployment containing the job component spec.
	RadixDeploymentJobRef RadixDeploymentJobComponentSelector `json:"radixDeploymentJobRef"`

	// List of batch jobs to run.
	// +listType:=map
	// +listMapKey:=name
	// +kubebuilder:validation:MinItems:=1
	// +kubebuilder:validation:MaxItems:=500
	Jobs []RadixBatchJob `json:"jobs"`
}

RadixBatchSpec is the specification of batch jobs.

func (*RadixBatchSpec) DeepCopy added in v1.32.0

func (in *RadixBatchSpec) DeepCopy() *RadixBatchSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixBatchSpec.

func (*RadixBatchSpec) DeepCopyInto added in v1.32.0

func (in *RadixBatchSpec) DeepCopyInto(out *RadixBatchSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixBatchStatus added in v1.32.0

type RadixBatchStatus struct {
	// Status for each job defined in spec.jobs
	// +optional
	JobStatuses []RadixBatchJobStatus `json:"jobStatuses,omitempty"`

	// The batch is completed when all jobs are in a completed phase (Succeeded, Failed or Stopped)
	// +optional
	Condition RadixBatchCondition `json:"condition,omitempty"`
}

RadixBatchStatus represents the current state of a RadixBatch

func (*RadixBatchStatus) DeepCopy added in v1.32.0

func (in *RadixBatchStatus) DeepCopy() *RadixBatchStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixBatchStatus.

func (*RadixBatchStatus) DeepCopyInto added in v1.32.0

func (in *RadixBatchStatus) DeepCopyInto(out *RadixBatchStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixBlobFuse2VolumeMount added in v1.38.3

type RadixBlobFuse2VolumeMount struct {
	// Holds protocols of BlobFuse2 Azure Storage FUSE driver
	// +kubebuilder:validation:Enum=fuse2;nfs
	Protocol BlobFuse2Protocol `json:"protocol"`

	// Container. Name of the container in the external storage resource.
	// +optional
	Container string `json:"container,omitempty"`

	// GID defines the group ID (number) which will be set as owner of the mounted volume.
	// +optional
	GID string `json:"gid,omitempty"` // Optional. Volume mount owner GroupID. Used when drivers do not honor fsGroup securityContext setting. https://github.com/kubernetes-sigs/blob-csi-driver/blob/master/docs/driver-parameters.md

	// UID defines the user ID (number) which will be set as owner of the mounted volume.
	// +optional
	UID string `json:"uid,omitempty"` // Optional. Volume mount owner UserID. Used instead of GID.

	// SKU Type of Azure storage.
	// More info: https://learn.microsoft.com/en-us/rest/api/storagerp/srp_sku_types
	// +optional
	SkuName string `json:"skuName,omitempty"` // Available values: Standard_LRS (default), Premium_LRS, Standard_GRS, Standard_RAGRS. https://docs.microsoft.com/en-us/rest/api/storagerp/srp_sku_types

	// Requested size (opens new window)of allocated mounted volume. Default value is set to "1Mi" (1 megabyte). Current version of the driver does not affect mounted volume size
	// More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-persistent-volume-storage/#create-a-persistentvolumeclaim
	// +optional
	RequestsStorage string `json:"requestsStorage,omitempty"` // Requests resource storage size. Default "1Mi". https://kubernetes.io/docs/tasks/configure-pod-container/configure-persistent-volume-storage/#create-a-persistentvolumeclaim

	// Access mode from a container to an external storage. ReadOnlyMany (default), ReadWriteOnce, ReadWriteMany.
	// More info: https://www.radix.equinor.com/guides/volume-mounts/optional-settings/
	// +kubebuilder:validation:Enum=ReadOnlyMany;ReadWriteOnce;ReadWriteMany;""
	// +optional
	AccessMode string `json:"accessMode,omitempty"` // Available values: ReadOnlyMany (default) - read-only by many nodes, ReadWriteOnce - read-write by a single node, ReadWriteMany - read-write by many nodes. https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes

	// Binding mode from a container to an external storage. Immediate (default), WaitForFirstConsumer.
	// More info: https://www.radix.equinor.com/guides/volume-mounts/optional-settings/
	// +kubebuilder:validation:Enum=Immediate;WaitForFirstConsumer;""
	// +optional
	BindingMode string `json:"bindingMode,omitempty"` // Volume binding mode. Available values: Immediate (default), WaitForFirstConsumer. https://kubernetes.io/docs/concepts/storage/storage-classes/#volume-binding-mode

	// Enables blobfuse to access Azure DataLake storage account. When set to false, blobfuse will access Azure Block Blob storage account, hierarchical file system is not supported.
	// Default false. This must be turned on when HNS enabled account is mounted.
	// +optional
	UseAdls *bool `json:"useAdls,omitempty"`

	// Configure Streaming mode. Used for blobfuse2.
	// More info: https://github.com/Azure/azure-storage-fuse/blob/main/STREAMING.md
	// +optional
	Streaming *RadixVolumeMountStreaming `json:"streaming,omitempty"` // Optional. Streaming configuration. Used for blobfuse2.
}

RadixBlobFuse2VolumeMount defines an external storage resource, configured to use Blobfuse2 - A Microsoft supported Azure Storage FUSE driver. More info: https://github.com/Azure/azure-storage-fuse

func (*RadixBlobFuse2VolumeMount) DeepCopy added in v1.38.3

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixBlobFuse2VolumeMount.

func (*RadixBlobFuse2VolumeMount) DeepCopyInto added in v1.38.3

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixBuildSpec

type RadixBuildSpec struct {
	ImageTag  string `json:"imageTag" yaml:"imageTag"`
	Branch    string `json:"branch" yaml:"branch"`
	CommitID  string `json:"commitID" yaml:"commitID"`
	PushImage bool   `json:"pushImage" yaml:"pushImage"`
}

RadixBuildSpec is the spec for a build job

func (*RadixBuildSpec) DeepCopy

func (in *RadixBuildSpec) DeepCopy() *RadixBuildSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixBuildSpec.

func (*RadixBuildSpec) DeepCopyInto

func (in *RadixBuildSpec) DeepCopyInto(out *RadixBuildSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixCommonComponent added in v1.10.0

type RadixCommonComponent interface {
	// GetName Gets component name
	GetName() string
	// GetSourceFolder Gets component source folder
	GetSourceFolder() string
	// GetImage Gets component image
	GetImage() string
	// GetNode Gets component node parameters
	GetNode() *RadixNode
	// GetVariables Gets component environment variables
	GetVariables() EnvVarsMap
	// GetPorts Gets component ports
	GetPorts() []ComponentPort
	// GetMonitoringConfig Gets component monitoring configuration
	GetMonitoringConfig() MonitoringConfig
	// GetSecrets Gets component secrets
	GetSecrets() []string
	// GetSecretRefs Gets component secret-refs
	GetSecretRefs() RadixSecretRefs
	// GetResources Gets component resources
	GetResources() ResourceRequirements
	// GetIdentity Get component identity
	GetIdentity() *Identity
	// GetEnvironmentConfig Gets component environment configuration
	GetEnvironmentConfig() []RadixCommonEnvironmentConfig
	// GetEnvironmentConfigsMap Get component environment configuration as map by names
	GetEnvironmentConfigsMap() map[string]RadixCommonEnvironmentConfig

	// GetEnabledForEnv Gets the component status if it is enabled in the application for an environment
	GetEnabledForEnv(RadixCommonEnvironmentConfig) bool
	// GetEnvironmentConfigByName  Gets component environment configuration by its name
	GetEnvironmentConfigByName(environment string) RadixCommonEnvironmentConfig
	GetEnabledForAnyEnvironment(environments []string) bool
	// contains filtered or unexported methods
}

RadixCommonComponent defines a common component interface for Radix components

type RadixCommonDeployComponent added in v1.8.16

type RadixCommonDeployComponent interface {
	GetName() string
	GetType() RadixComponentType
	GetImage() string
	GetPorts() []ComponentPort
	GetEnvironmentVariables() EnvVarsMap
	SetEnvironmentVariables(envVars EnvVarsMap)
	GetSecrets() []string
	GetSecretRefs() RadixSecretRefs
	GetMonitoring() bool
	GetMonitoringConfig() MonitoringConfig
	GetResources() *ResourceRequirements
	GetVolumeMounts() []RadixVolumeMount
	IsAlwaysPullImageOnDeploy() bool
	GetReplicas() *int
	GetHorizontalScaling() *RadixHorizontalScaling
	GetPublicPort() string
	IsPublic() bool
	GetDNSExternalAlias() []string
	IsDNSAppAlias() bool
	GetIngressConfiguration() []string
	GetNode() *RadixNode
	GetAuthentication() *Authentication
	SetName(name string)
	SetVolumeMounts(mounts []RadixVolumeMount)
	GetIdentity() *Identity
}

RadixCommonDeployComponent defines a common component interface a RadixDeployment

type RadixCommonDeployComponentFactory added in v1.13.7

type RadixCommonDeployComponentFactory interface {
	Create() RadixCommonDeployComponent
	GetTargetType() reflect.Type
}

RadixCommonDeployComponentFactory defines a common component factory

type RadixCommonEnvironmentConfig added in v1.17.2

type RadixCommonEnvironmentConfig interface {
	GetEnvironment() string
	GetVariables() EnvVarsMap
	GetSecretRefs() RadixSecretRefs
	GetResources() ResourceRequirements
	GetNode() RadixNode
	GetImageTagName() string
	GetHorizontalScaling() *RadixHorizontalScaling
	GetReplicas() *int
	GetIdentity() *Identity
	// contains filtered or unexported methods
}

type RadixComponent

type RadixComponent struct {
	// Name of the component.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=^(([a-z0-9][-a-z0-9.]*)?[a-z0-9])?$
	Name string `json:"name"`

	// Path to the Dockerfile that builds the component.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#src
	// +optional
	SourceFolder string `json:"src,omitempty"`

	// Name of the Dockerfile that builds the component.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#dockerfilename
	// +optional
	DockerfileName string `json:"dockerfileName,omitempty"`

	// Name of an existing container image to use when running the component.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#image
	// +optional
	Image string `json:"image,omitempty"`

	// List of ports that the component bind to.
	// +kubebuilder:validation:MinItems=1
	// +listType=map
	// +listMapKey=name
	Ports []ComponentPort `json:"ports"`

	// Configures the monitoring endpoint exposed by the component.
	// This endpoint is used by Prometheus to collect custom metrics.
	// environmentConfig.monitoring must be set to true to enable collection of metrics for an environment.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#monitoringconfig
	// +optional
	MonitoringConfig MonitoringConfig `json:"monitoringConfig,omitempty"`

	// Deprecated, use publicPort instead.
	// +optional
	Public bool `json:"public,omitempty"` // Deprecated: For backwards compatibility Public is still supported, new code should use PublicPort instead

	// Defines which port (name) from the ports list that shall be accessible from the internet.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#publicport
	// +kubebuilder:validation:MaxLength=15
	// +kubebuilder:validation:Pattern=^(([a-z0-9][-a-z0-9.]*)?[a-z0-9])?$
	// +optional
	PublicPort string `json:"publicPort,omitempty"`

	// List of secret environment variable names.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#secrets
	// +optional
	Secrets []string `json:"secrets,omitempty"`

	// Configuration for external secret stores, like Azure KeyVault.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#secretrefs
	// +optional
	SecretRefs RadixSecretRefs `json:"secretRefs,omitempty"`

	// Additional configuration settings for ingress traffic.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#ingressconfiguration
	// +optional
	IngressConfiguration []string `json:"ingressConfiguration,omitempty"`

	// Configure environment specific settings for the component.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#environmentconfig
	// +listType=map
	// +listMapKey=environment
	// +optional
	EnvironmentConfig []RadixEnvironmentConfig `json:"environmentConfig,omitempty"`

	// List of environment variables and values.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#variables-common
	// +optional
	Variables EnvVarsMap `json:"variables,omitempty"`

	// Configures CPU and memory resources for the component.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#resources-common
	// +optional
	Resources ResourceRequirements `json:"resources,omitempty"`

	// Forces check/pull of images using static tags, e.g. myimage:latest, when deploying using deploy-only.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#alwayspullimageondeploy
	// +optional
	AlwaysPullImageOnDeploy *bool `json:"alwaysPullImageOnDeploy,omitempty"`

	// Defines GPU requirements for the component.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#node
	// +optional
	Node RadixNode `json:"node,omitempty"`

	// Configuration for TLS client certificate or OAuth2 authentication.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#authentication
	// +optional
	Authentication *Authentication `json:"authentication,omitempty"`

	// Configuration for workload identity (federated credentials).
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#identity
	// +optional
	Identity *Identity `json:"identity,omitempty"`

	// Controls if the component shall be deployed.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#enabled
	// +optional
	Enabled *bool `json:"enabled,omitempty"`
}

RadixComponent defines a component.

func (*RadixComponent) DeepCopy

func (in *RadixComponent) DeepCopy() *RadixComponent

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixComponent.

func (*RadixComponent) DeepCopyInto

func (in *RadixComponent) DeepCopyInto(out *RadixComponent)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RadixComponent) GetEnabledForAnyEnvironment added in v1.29.0

func (component *RadixComponent) GetEnabledForAnyEnvironment(environments []string) bool

func (*RadixComponent) GetEnabledForEnv added in v1.29.0

func (component *RadixComponent) GetEnabledForEnv(envConfig RadixCommonEnvironmentConfig) bool

func (*RadixComponent) GetEnvironmentConfig added in v1.17.2

func (component *RadixComponent) GetEnvironmentConfig() []RadixCommonEnvironmentConfig

func (*RadixComponent) GetEnvironmentConfigByName added in v1.29.0

func (component *RadixComponent) GetEnvironmentConfigByName(environment string) RadixCommonEnvironmentConfig

func (*RadixComponent) GetEnvironmentConfigsMap added in v1.29.0

func (component *RadixComponent) GetEnvironmentConfigsMap() map[string]RadixCommonEnvironmentConfig

func (*RadixComponent) GetIdentity added in v1.31.0

func (component *RadixComponent) GetIdentity() *Identity

func (*RadixComponent) GetImage added in v1.30.0

func (component *RadixComponent) GetImage() string

func (*RadixComponent) GetMonitoringConfig added in v1.19.11

func (component *RadixComponent) GetMonitoringConfig() MonitoringConfig

func (*RadixComponent) GetName added in v1.10.0

func (component *RadixComponent) GetName() string

func (*RadixComponent) GetNode added in v1.10.0

func (component *RadixComponent) GetNode() *RadixNode

func (*RadixComponent) GetPorts added in v1.19.11

func (component *RadixComponent) GetPorts() []ComponentPort

func (*RadixComponent) GetResources added in v1.17.2

func (component *RadixComponent) GetResources() ResourceRequirements

func (*RadixComponent) GetSecretRefs added in v1.17.2

func (component *RadixComponent) GetSecretRefs() RadixSecretRefs

func (*RadixComponent) GetSecrets added in v1.17.2

func (component *RadixComponent) GetSecrets() []string

func (*RadixComponent) GetSourceFolder added in v1.30.0

func (component *RadixComponent) GetSourceFolder() string

func (*RadixComponent) GetVariables added in v1.17.2

func (component *RadixComponent) GetVariables() EnvVarsMap

type RadixComponentType added in v1.18.0

type RadixComponentType string
const (
	RadixComponentTypeComponent RadixComponentType = "component"
	RadixComponentTypeJob       RadixComponentType = "job"
)

type RadixDeployComponent

type RadixDeployComponent struct {
	Name                    string                  `json:"name" yaml:"name"`
	Image                   string                  `json:"image" yaml:"image"`
	Ports                   []ComponentPort         `json:"ports" yaml:"ports"`
	Replicas                *int                    `json:"replicas" yaml:"replicas"`
	Public                  bool                    `json:"public" yaml:"public"` // Deprecated: For backwards compatibility Public is still supported, new code should use PublicPort instead
	PublicPort              string                  `json:"publicPort,omitempty" yaml:"publicPort,omitempty"`
	EnvironmentVariables    EnvVarsMap              `json:"environmentVariables,omitempty" yaml:"environmentVariables,omitempty"`
	Secrets                 []string                `json:"secrets,omitempty" yaml:"secrets,omitempty"`
	SecretRefs              RadixSecretRefs         `json:"secretRefs,omitempty" yaml:"secretRefs,omitempty"`
	IngressConfiguration    []string                `json:"ingressConfiguration,omitempty" yaml:"ingressConfiguration,omitempty"`
	DNSAppAlias             bool                    `json:"dnsAppAlias,omitempty" yaml:"dnsAppAlias,omitempty"`
	DNSExternalAlias        []string                `json:"dnsExternalAlias,omitempty" yaml:"dnsExternalAlias,omitempty"`
	Monitoring              bool                    `json:"monitoring" yaml:"monitoring"`
	MonitoringConfig        MonitoringConfig        `json:"monitoringConfig,omitempty" yaml:"monitoringConfig,omitempty"`
	Resources               ResourceRequirements    `json:"resources,omitempty" yaml:"resources,omitempty"`
	HorizontalScaling       *RadixHorizontalScaling `json:"horizontalScaling,omitempty" yaml:"horizontalScaling,omitempty"`
	AlwaysPullImageOnDeploy bool                    `json:"alwaysPullImageOnDeploy" yaml:"alwaysPullImageOnDeploy"`
	VolumeMounts            []RadixVolumeMount      `json:"volumeMounts,omitempty" yaml:"volumeMounts,omitempty"`
	Node                    RadixNode               `json:"node,omitempty" yaml:"node,omitempty"`
	Authentication          *Authentication         `json:"authentication,omitempty" yaml:"authentication,omitempty"`
	Identity                *Identity               `json:"identity,omitempty" yaml:"identity,omitempty"`
}

RadixDeployComponent defines a single component within a RadixDeployment - maps to single deployment/service/ingress etc

func (*RadixDeployComponent) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixDeployComponent.

func (*RadixDeployComponent) DeepCopyInto

func (in *RadixDeployComponent) DeepCopyInto(out *RadixDeployComponent)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RadixDeployComponent) GetAuthentication added in v1.12.0

func (deployComponent *RadixDeployComponent) GetAuthentication() *Authentication

func (*RadixDeployComponent) GetDNSExternalAlias added in v1.8.16

func (deployComponent *RadixDeployComponent) GetDNSExternalAlias() []string

func (*RadixDeployComponent) GetEnvironmentVariables added in v1.8.16

func (deployComponent *RadixDeployComponent) GetEnvironmentVariables() EnvVarsMap

func (*RadixDeployComponent) GetHorizontalScaling added in v1.8.16

func (deployComponent *RadixDeployComponent) GetHorizontalScaling() *RadixHorizontalScaling

func (*RadixDeployComponent) GetIdentity added in v1.31.0

func (deployComponent *RadixDeployComponent) GetIdentity() *Identity

func (*RadixDeployComponent) GetImage added in v1.8.16

func (deployComponent *RadixDeployComponent) GetImage() string

func (*RadixDeployComponent) GetIngressConfiguration added in v1.8.16

func (deployComponent *RadixDeployComponent) GetIngressConfiguration() []string

func (*RadixDeployComponent) GetMonitoring added in v1.8.16

func (deployComponent *RadixDeployComponent) GetMonitoring() bool

func (*RadixDeployComponent) GetMonitoringConfig added in v1.19.11

func (deployComponent *RadixDeployComponent) GetMonitoringConfig() MonitoringConfig

func (*RadixDeployComponent) GetName added in v1.8.16

func (deployComponent *RadixDeployComponent) GetName() string

func (*RadixDeployComponent) GetNode added in v1.10.0

func (deployComponent *RadixDeployComponent) GetNode() *RadixNode

func (RadixDeployComponent) GetNrOfReplicas added in v1.5.20

func (deployComponent RadixDeployComponent) GetNrOfReplicas() int32

GetNrOfReplicas gets number of replicas component will run

func (*RadixDeployComponent) GetPorts added in v1.8.16

func (deployComponent *RadixDeployComponent) GetPorts() []ComponentPort

func (*RadixDeployComponent) GetPublicPort added in v1.8.16

func (deployComponent *RadixDeployComponent) GetPublicPort() string

func (*RadixDeployComponent) GetReplicas added in v1.8.16

func (deployComponent *RadixDeployComponent) GetReplicas() *int

func (*RadixDeployComponent) GetResources added in v1.8.16

func (deployComponent *RadixDeployComponent) GetResources() *ResourceRequirements

func (*RadixDeployComponent) GetSecretRefs added in v1.17.2

func (deployComponent *RadixDeployComponent) GetSecretRefs() RadixSecretRefs

func (*RadixDeployComponent) GetSecrets added in v1.8.16

func (deployComponent *RadixDeployComponent) GetSecrets() []string

func (*RadixDeployComponent) GetType added in v1.8.16

func (deployComponent *RadixDeployComponent) GetType() RadixComponentType

func (*RadixDeployComponent) GetVolumeMounts added in v1.8.16

func (deployComponent *RadixDeployComponent) GetVolumeMounts() []RadixVolumeMount

func (*RadixDeployComponent) IsAlwaysPullImageOnDeploy added in v1.8.16

func (deployComponent *RadixDeployComponent) IsAlwaysPullImageOnDeploy() bool

func (*RadixDeployComponent) IsDNSAppAlias added in v1.8.16

func (deployComponent *RadixDeployComponent) IsDNSAppAlias() bool

func (*RadixDeployComponent) IsPublic added in v1.8.16

func (deployComponent *RadixDeployComponent) IsPublic() bool

func (*RadixDeployComponent) SetEnvironmentVariables added in v1.24.2

func (deployComponent *RadixDeployComponent) SetEnvironmentVariables(envVars EnvVarsMap)

func (*RadixDeployComponent) SetName added in v1.13.7

func (deployComponent *RadixDeployComponent) SetName(name string)

func (*RadixDeployComponent) SetVolumeMounts added in v1.13.7

func (deployComponent *RadixDeployComponent) SetVolumeMounts(mounts []RadixVolumeMount)

type RadixDeployComponentFactory added in v1.13.7

type RadixDeployComponentFactory struct{}

func (RadixDeployComponentFactory) Create added in v1.13.7

func (*RadixDeployComponentFactory) DeepCopy added in v1.14.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixDeployComponentFactory.

func (*RadixDeployComponentFactory) DeepCopyInto added in v1.14.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (RadixDeployComponentFactory) GetTargetType added in v1.13.7

func (factory RadixDeployComponentFactory) GetTargetType() reflect.Type

type RadixDeployCondition

type RadixDeployCondition string

RadixDeployCondition Holds the condition of a component

const (
	// Active means the radix deployment is active and should be consolidated
	DeploymentActive RadixDeployCondition = "Active"
	// Inactive means radix deployment is inactive and should not be consolidated
	DeploymentInactive RadixDeployCondition = "Inactive"
)

These are valid conditions of a deployment.

type RadixDeployJobComponent added in v1.8.0

type RadixDeployJobComponent struct {
	Name                    string                    `json:"name" yaml:"name"`
	Environment             string                    `json:"environment" yaml:"environment"`
	Image                   string                    `json:"image" yaml:"image"`
	Ports                   []ComponentPort           `json:"ports" yaml:"ports"`
	EnvironmentVariables    EnvVarsMap                `json:"environmentVariables,omitempty" yaml:"environmentVariables,omitempty"`
	Secrets                 []string                  `json:"secrets,omitempty" yaml:"secrets,omitempty"`
	SecretRefs              RadixSecretRefs           `json:"secretRefs,omitempty" yaml:"secretRefs,omitempty"`
	Monitoring              bool                      `json:"monitoring" yaml:"monitoring"`
	MonitoringConfig        MonitoringConfig          `json:"monitoringConfig,omitempty" yaml:"monitoringConfig,omitempty"`
	Resources               ResourceRequirements      `json:"resources,omitempty" yaml:"resources,omitempty"`
	VolumeMounts            []RadixVolumeMount        `json:"volumeMounts,omitempty" yaml:"volumeMounts,omitempty"`
	SchedulerPort           *int32                    `json:"schedulerPort,omitempty" yaml:"schedulerPort,omitempty"`
	Payload                 *RadixJobComponentPayload `json:"payload,omitempty" yaml:"payload,omitempty"`
	AlwaysPullImageOnDeploy bool                      `json:"alwaysPullImageOnDeploy" yaml:"alwaysPullImageOnDeploy"`
	Node                    RadixNode                 `json:"node,omitempty" yaml:"node,omitempty"`
	TimeLimitSeconds        *int64                    `json:"timeLimitSeconds,omitempty" yaml:"timeLimitSeconds,omitempty"`
	BackoffLimit            *int32                    `json:"backoffLimit,omitempty" yaml:"backoffLimit,omitempty"`
	Identity                *Identity                 `json:"identity,omitempty" yaml:"identity,omitempty"`
	Notifications           *Notifications            `json:"notifications,omitempty"`
}

RadixDeployJobComponent defines a single job component within a RadixDeployment The job component is used by the radix-job-scheduler to create Kubernetes Job objects

func (*RadixDeployJobComponent) DeepCopy added in v1.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixDeployJobComponent.

func (*RadixDeployJobComponent) DeepCopyInto added in v1.8.0

func (in *RadixDeployJobComponent) DeepCopyInto(out *RadixDeployJobComponent)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RadixDeployJobComponent) GetAuthentication added in v1.12.0

func (deployJobComponent *RadixDeployJobComponent) GetAuthentication() *Authentication

func (*RadixDeployJobComponent) GetDNSExternalAlias added in v1.8.16

func (deployJobComponent *RadixDeployJobComponent) GetDNSExternalAlias() []string

func (*RadixDeployJobComponent) GetEnvironment added in v1.19.0

func (deployJobComponent *RadixDeployJobComponent) GetEnvironment() string

func (*RadixDeployJobComponent) GetEnvironmentVariables added in v1.8.16

func (deployJobComponent *RadixDeployJobComponent) GetEnvironmentVariables() EnvVarsMap

func (*RadixDeployJobComponent) GetHorizontalScaling added in v1.8.16

func (deployJobComponent *RadixDeployJobComponent) GetHorizontalScaling() *RadixHorizontalScaling

func (*RadixDeployJobComponent) GetIdentity added in v1.31.0

func (deployJobComponent *RadixDeployJobComponent) GetIdentity() *Identity

func (*RadixDeployJobComponent) GetImage added in v1.8.16

func (deployJobComponent *RadixDeployJobComponent) GetImage() string

func (*RadixDeployJobComponent) GetIngressConfiguration added in v1.8.16

func (deployJobComponent *RadixDeployJobComponent) GetIngressConfiguration() []string

func (*RadixDeployJobComponent) GetMonitoring added in v1.8.16

func (deployJobComponent *RadixDeployJobComponent) GetMonitoring() bool

func (*RadixDeployJobComponent) GetMonitoringConfig added in v1.19.11

func (deployJobComponent *RadixDeployJobComponent) GetMonitoringConfig() MonitoringConfig

func (*RadixDeployJobComponent) GetName added in v1.8.16

func (deployJobComponent *RadixDeployJobComponent) GetName() string

func (*RadixDeployJobComponent) GetNode added in v1.10.0

func (deployJobComponent *RadixDeployJobComponent) GetNode() *RadixNode

func (*RadixDeployJobComponent) GetNotifications added in v1.33.0

func (deployJobComponent *RadixDeployJobComponent) GetNotifications() *Notifications

func (*RadixDeployJobComponent) GetPorts added in v1.8.16

func (deployJobComponent *RadixDeployJobComponent) GetPorts() []ComponentPort

func (*RadixDeployJobComponent) GetPublicPort added in v1.8.16

func (deployJobComponent *RadixDeployJobComponent) GetPublicPort() string

func (*RadixDeployJobComponent) GetReplicas added in v1.8.16

func (deployJobComponent *RadixDeployJobComponent) GetReplicas() *int

func (*RadixDeployJobComponent) GetResources added in v1.8.16

func (deployJobComponent *RadixDeployJobComponent) GetResources() *ResourceRequirements

func (*RadixDeployJobComponent) GetSecretRefs added in v1.17.2

func (deployComponent *RadixDeployJobComponent) GetSecretRefs() RadixSecretRefs

func (*RadixDeployJobComponent) GetSecrets added in v1.8.16

func (deployJobComponent *RadixDeployJobComponent) GetSecrets() []string

func (*RadixDeployJobComponent) GetType added in v1.8.16

func (deployJobComponent *RadixDeployJobComponent) GetType() RadixComponentType

func (*RadixDeployJobComponent) GetVolumeMounts added in v1.8.16

func (deployJobComponent *RadixDeployJobComponent) GetVolumeMounts() []RadixVolumeMount

func (*RadixDeployJobComponent) IsAlwaysPullImageOnDeploy added in v1.8.16

func (deployJobComponent *RadixDeployJobComponent) IsAlwaysPullImageOnDeploy() bool

func (*RadixDeployJobComponent) IsDNSAppAlias added in v1.8.16

func (deployJobComponent *RadixDeployJobComponent) IsDNSAppAlias() bool

func (*RadixDeployJobComponent) IsPublic added in v1.8.16

func (deployJobComponent *RadixDeployJobComponent) IsPublic() bool

func (*RadixDeployJobComponent) SetEnvironmentVariables added in v1.24.2

func (deployJobComponent *RadixDeployJobComponent) SetEnvironmentVariables(envVars EnvVarsMap)

func (*RadixDeployJobComponent) SetName added in v1.13.7

func (deployJobComponent *RadixDeployJobComponent) SetName(name string)

func (*RadixDeployJobComponent) SetVolumeMounts added in v1.13.7

func (deployJobComponent *RadixDeployJobComponent) SetVolumeMounts(mounts []RadixVolumeMount)

type RadixDeployJobComponentFactory added in v1.13.7

type RadixDeployJobComponentFactory struct{}

func (RadixDeployJobComponentFactory) Create added in v1.13.7

func (*RadixDeployJobComponentFactory) DeepCopy added in v1.14.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixDeployJobComponentFactory.

func (*RadixDeployJobComponentFactory) DeepCopyInto added in v1.14.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (RadixDeployJobComponentFactory) GetTargetType added in v1.13.7

func (factory RadixDeployJobComponentFactory) GetTargetType() reflect.Type

type RadixDeploySpec added in v1.4.2

type RadixDeploySpec struct {
	// Target environment for deploy
	ToEnvironment string `json:"toEnvironment" yaml:"toEnvironment"`
	// Image tags names for components - if empty will use default logic
	// Example: component1: tag1,component2: tag2
	ImageTagNames map[string]string `json:"imageTagNames" yaml:"imageTagNames"`
}

RadixDeploySpec is the spec for a deploy job

func (*RadixDeploySpec) DeepCopy added in v1.4.2

func (in *RadixDeploySpec) DeepCopy() *RadixDeploySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixDeploySpec.

func (*RadixDeploySpec) DeepCopyInto added in v1.4.2

func (in *RadixDeploySpec) DeepCopyInto(out *RadixDeploySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixDeployStatus

type RadixDeployStatus struct {
	ActiveFrom meta_v1.Time         `json:"activeFrom" yaml:"activeFrom"`
	ActiveTo   meta_v1.Time         `json:"activeTo" yaml:"activeTo"`
	Condition  RadixDeployCondition `json:"condition" yaml:"condition"`
	Reconciled meta_v1.Time         `json:"reconciled" yaml:"reconciled"`
}

RadixDeployStatus is the status for a rd

func (*RadixDeployStatus) DeepCopy

func (in *RadixDeployStatus) DeepCopy() *RadixDeployStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixDeployStatus.

func (*RadixDeployStatus) DeepCopyInto

func (in *RadixDeployStatus) DeepCopyInto(out *RadixDeployStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixDeployment

type RadixDeployment struct {
	meta_v1.TypeMeta   `json:",inline" yaml:",inline"`
	meta_v1.ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Spec               RadixDeploymentSpec `json:"spec" yaml:"spec"`
	Status             RadixDeployStatus   `json:"status" yaml:"status"`
}

RadixDeployment describe a deployment

func (*RadixDeployment) DeepCopy

func (in *RadixDeployment) DeepCopy() *RadixDeployment

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixDeployment.

func (*RadixDeployment) DeepCopyInto

func (in *RadixDeployment) DeepCopyInto(out *RadixDeployment)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RadixDeployment) DeepCopyObject

func (in *RadixDeployment) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RadixDeployment) GetComponentByName added in v1.10.0

func (rd *RadixDeployment) GetComponentByName(name string) *RadixDeployComponent

func (*RadixDeployment) GetJobComponentByName added in v1.10.0

func (rd *RadixDeployment) GetJobComponentByName(name string) *RadixDeployJobComponent

type RadixDeploymentJobComponentSelector added in v1.32.0

type RadixDeploymentJobComponentSelector struct {
	// The name of the RadixDeployment in the RadixBatch namespace to select from.
	LocalObjectReference `json:",inline"`

	// The job name of the RadixDeployment to select.
	Job string `json:"job"`
}

RadixDeploymentJobComponentSelector selects a job component of a RadixDeployment.

func (*RadixDeploymentJobComponentSelector) DeepCopy added in v1.32.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixDeploymentJobComponentSelector.

func (*RadixDeploymentJobComponentSelector) DeepCopyInto added in v1.32.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixDeploymentList

type RadixDeploymentList struct {
	meta_v1.TypeMeta `json:",inline" yaml:",inline"`
	meta_v1.ListMeta `json:"metadata" yaml:"metadata"`
	Items            []RadixDeployment `json:"items" yaml:"items"`
}

RadixDeploymentList is a list of Radix deployments

func (*RadixDeploymentList) DeepCopy

func (in *RadixDeploymentList) DeepCopy() *RadixDeploymentList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixDeploymentList.

func (*RadixDeploymentList) DeepCopyInto

func (in *RadixDeploymentList) DeepCopyInto(out *RadixDeploymentList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RadixDeploymentList) DeepCopyObject

func (in *RadixDeploymentList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RadixDeploymentSpec

type RadixDeploymentSpec struct {
	AppName          string                         `json:"appname" yaml:"appname"`
	Components       []RadixDeployComponent         `json:"components"`
	Jobs             []RadixDeployJobComponent      `json:"jobs"`
	Environment      string                         `json:"environment" yaml:"environment"`
	ImagePullSecrets []core_v1.LocalObjectReference `json:"imagePullSecrets" yaml:"imagePullSecrets"`
}

RadixDeploymentSpec is the spec for a deployment

func (*RadixDeploymentSpec) DeepCopy

func (in *RadixDeploymentSpec) DeepCopy() *RadixDeploymentSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixDeploymentSpec.

func (*RadixDeploymentSpec) DeepCopyInto

func (in *RadixDeploymentSpec) DeepCopyInto(out *RadixDeploymentSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixEnvironment added in v1.5.1

type RadixEnvironment struct {
	meta.TypeMeta   `json:",inline" yaml:",inline"`
	meta.ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Spec            RadixEnvironmentSpec   `json:"spec" yaml:"spec"`
	Status          RadixEnvironmentStatus `json:"status" yaml:"status"`
}

RadixEnvironment is a Custom Resource Definition

func (*RadixEnvironment) DeepCopy added in v1.5.1

func (in *RadixEnvironment) DeepCopy() *RadixEnvironment

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixEnvironment.

func (*RadixEnvironment) DeepCopyInto added in v1.5.1

func (in *RadixEnvironment) DeepCopyInto(out *RadixEnvironment)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RadixEnvironment) DeepCopyObject added in v1.5.1

func (in *RadixEnvironment) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RadixEnvironmentConfig

type RadixEnvironmentConfig struct {
	// Name of the environment which the settings applies to.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=^(([a-z0-9][-a-z0-9.]*)?[a-z0-9])?$
	Environment string `json:"environment"`

	// Number of desired replicas.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#replicas
	// +kubebuilder:validation:Minimum=0
	// +optional
	Replicas *int `json:"replicas,omitempty"`

	// Enabled or disables collection of custom Prometheus metrics.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#monitoring
	// +optional
	Monitoring bool `json:"monitoring"`

	// Environment specific configuration for CPU and memory resources.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#resources
	// +optional
	Resources ResourceRequirements `json:"resources,omitempty"`

	// Environment specific environment variables.
	// Variable names defined here have precedence over variables defined on component level.
	// +optional
	Variables EnvVarsMap `json:"variables,omitempty"`

	// Configuration for automatic horizontal scaling of replicas.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#horizontalscaling
	// +optional
	HorizontalScaling *RadixHorizontalScaling `json:"horizontalScaling,omitempty"`

	// The imageTagName allows for flexible configuration of fixed images,
	// built outside of Radix, to be configured with separate tag for each environment.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#imagetagname
	// +optional
	ImageTagName string `json:"imageTagName,omitempty"`

	// Forces check/pull of images using static tags, e.g. myimage:latest, when deploying using deploy-only.
	// +optional
	AlwaysPullImageOnDeploy *bool `json:"alwaysPullImageOnDeploy,omitempty"`

	// Configuration for mounting cloud storage into the component.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#volumemounts
	// +optional
	VolumeMounts []RadixVolumeMount `json:"volumeMounts,omitempty"`

	// Environment specific GPU requirements for the component.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#node
	// +optional
	Node RadixNode `json:"node,omitempty"`

	// Environment specific configuration for TLS client certificate or OAuth2 authentication.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#authentication
	// +optional
	Authentication *Authentication `json:"authentication,omitempty"`

	// Environment specific configuration for external secret stores, like Azure KeyVault.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#secretrefs
	// +optional
	SecretRefs RadixSecretRefs `json:"secretRefs,omitempty"`

	// Environment specific configuration for workload identity (federated credentials).
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#identity
	// +optional
	Identity *Identity `json:"identity,omitempty"`

	// Controls if the component shall be deployed to this environment.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#enabled
	// +optional
	Enabled *bool `json:"enabled,omitempty"`
}

RadixEnvironmentConfig defines environment specific settings for component.

func (*RadixEnvironmentConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixEnvironmentConfig.

func (*RadixEnvironmentConfig) DeepCopyInto

func (in *RadixEnvironmentConfig) DeepCopyInto(out *RadixEnvironmentConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (RadixEnvironmentConfig) GetEnvironment added in v1.17.2

func (config RadixEnvironmentConfig) GetEnvironment() string

func (RadixEnvironmentConfig) GetHorizontalScaling added in v1.24.2

func (config RadixEnvironmentConfig) GetHorizontalScaling() *RadixHorizontalScaling

func (RadixEnvironmentConfig) GetIdentity added in v1.31.0

func (config RadixEnvironmentConfig) GetIdentity() *Identity

func (RadixEnvironmentConfig) GetImageTagName added in v1.17.2

func (config RadixEnvironmentConfig) GetImageTagName() string

func (RadixEnvironmentConfig) GetNode added in v1.17.2

func (config RadixEnvironmentConfig) GetNode() RadixNode

func (RadixEnvironmentConfig) GetReplicas added in v1.24.2

func (config RadixEnvironmentConfig) GetReplicas() *int

func (RadixEnvironmentConfig) GetResources added in v1.17.2

func (config RadixEnvironmentConfig) GetResources() ResourceRequirements

func (RadixEnvironmentConfig) GetSecretRefs added in v1.17.2

func (config RadixEnvironmentConfig) GetSecretRefs() RadixSecretRefs

func (RadixEnvironmentConfig) GetVariables added in v1.17.2

func (config RadixEnvironmentConfig) GetVariables() EnvVarsMap

type RadixEnvironmentList added in v1.5.1

type RadixEnvironmentList struct {
	meta.TypeMeta `json:",inline" yaml:",inline"`
	meta.ListMeta `json:"metadata" yaml:"metadata"`
	Items         []RadixEnvironment `json:"items" yaml:"items"`
}

RadixEnvironmentList is a list of REs

func (*RadixEnvironmentList) DeepCopy added in v1.5.1

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixEnvironmentList.

func (*RadixEnvironmentList) DeepCopyInto added in v1.5.1

func (in *RadixEnvironmentList) DeepCopyInto(out *RadixEnvironmentList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RadixEnvironmentList) DeepCopyObject added in v1.5.1

func (in *RadixEnvironmentList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RadixEnvironmentSpec added in v1.5.1

type RadixEnvironmentSpec struct {
	AppName string       `json:"appName" yaml:"appName"`
	EnvName string       `json:"envName" yaml:"envName"`
	Egress  EgressConfig `json:"egress,omitempty" yaml:"egress,omitempty"`
}

RadixEnvironmentSpec is the spec for an RE

func (*RadixEnvironmentSpec) DeepCopy added in v1.5.1

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixEnvironmentSpec.

func (*RadixEnvironmentSpec) DeepCopyInto added in v1.5.1

func (in *RadixEnvironmentSpec) DeepCopyInto(out *RadixEnvironmentSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixEnvironmentStatus added in v1.5.1

type RadixEnvironmentStatus struct {
	Reconciled meta.Time `json:"reconciled" yaml:"reconciled"`
	Orphaned   bool      `json:"orphaned" yaml:"orphaned"`
}

RadixEnvironmentStatus is the status for an RE

func (*RadixEnvironmentStatus) DeepCopy added in v1.5.1

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixEnvironmentStatus.

func (*RadixEnvironmentStatus) DeepCopyInto added in v1.5.1

func (in *RadixEnvironmentStatus) DeepCopyInto(out *RadixEnvironmentStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixHorizontalScaling added in v1.0.3

type RadixHorizontalScaling struct {
	// Defines the minimum number of replicas.
	// +kubebuilder:validation:Minimum=0
	// +optional
	MinReplicas *int32 `json:"minReplicas,omitempty"`

	// Defines the maximum number of replicas.
	// +kubebuilder:validation:Minimum=1
	MaxReplicas int32 `json:"maxReplicas"`

	// Defines the resource usage parameters for the horizontal pod autoscaler.
	// +optional
	RadixHorizontalScalingResources *RadixHorizontalScalingResources `json:"resources,omitempty"`
}

RadixHorizontalScaling defines configuration for horizontal pod autoscaler. If set, this will override replicas config

func (*RadixHorizontalScaling) DeepCopy added in v1.0.3

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixHorizontalScaling.

func (*RadixHorizontalScaling) DeepCopyInto added in v1.0.3

func (in *RadixHorizontalScaling) DeepCopyInto(out *RadixHorizontalScaling)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixHorizontalScalingResource added in v1.37.1

type RadixHorizontalScalingResource struct {
	// Defines the resource usage which triggers scaling for the horizontal pod autoscaler.
	// +kubebuilder:validation:Minimum=1
	AverageUtilization *int32 `json:"averageUtilization"`
}

func (*RadixHorizontalScalingResource) DeepCopy added in v1.38.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixHorizontalScalingResource.

func (*RadixHorizontalScalingResource) DeepCopyInto added in v1.38.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixHorizontalScalingResources added in v1.37.1

type RadixHorizontalScalingResources struct {
	// Defines the CPU usage parameters for the horizontal pod autoscaler.
	// +optional
	Cpu *RadixHorizontalScalingResource `json:"cpu,omitempty"`

	// Defines the memory usage parameters for the horizontal pod autoscaler.
	// +optional
	Memory *RadixHorizontalScalingResource `json:"memory,omitempty"`
}

func (*RadixHorizontalScalingResources) DeepCopy added in v1.38.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixHorizontalScalingResources.

func (*RadixHorizontalScalingResources) DeepCopyInto added in v1.38.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixJob

type RadixJob struct {
	meta_v1.TypeMeta   `json:",inline" yaml:",inline"`
	meta_v1.ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Spec               RadixJobSpec   `json:"spec" yaml:"spec"`
	Status             RadixJobStatus `json:"status" yaml:"status"`
}

RadixJob describe a Radix job

func (*RadixJob) DeepCopy

func (in *RadixJob) DeepCopy() *RadixJob

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixJob.

func (*RadixJob) DeepCopyInto

func (in *RadixJob) DeepCopyInto(out *RadixJob)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RadixJob) DeepCopyObject

func (in *RadixJob) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RadixJobComponent added in v1.8.0

type RadixJobComponent struct {
	// Name of the environment which the settings applies to.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=^(([a-z0-9][-a-z0-9.]*)?[a-z0-9])?$
	Name string `json:"name"`

	// Path to the Dockerfile that builds the job.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#src-2
	// +optional
	SourceFolder string `json:"src,omitempty"`

	// Name of the Dockerfile that builds the job.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#dockerfilename-2
	// +optional
	DockerfileName string `json:"dockerfileName,omitempty"`

	// Name of an existing container image to use when running the job.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#image-2
	// +optional
	Image string `json:"image,omitempty"`

	// Defines the port number that the job-scheduler API server will listen to.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#schedulerport
	// +kubebuilder:validation:Minimum=1024
	// +kubebuilder:validation:Maximum=65535
	// +optional
	SchedulerPort *int32 `json:"schedulerPort,omitempty"`

	// Defines the path where the job payload is mounted.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#payload
	// +optional
	Payload *RadixJobComponentPayload `json:"payload,omitempty"`

	// List of ports that the job binds to.
	// +listType=map
	// +listMapKey=name
	// +optional
	Ports []ComponentPort `json:"ports,omitempty"`

	// Configures the monitoring endpoint exposed by the job.
	// This endpoint is used by Prometheus to collect custom metrics.
	// environmentConfig.monitoring must be set to true to enable collection of metrics for an environment.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#monitoringconfig-2
	// +optional
	MonitoringConfig MonitoringConfig `json:"monitoringConfig,omitempty"`

	// List of secret environment variable names.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#secrets-2
	// +optional
	Secrets []string `json:"secrets,omitempty"`

	// Configuration for external secret stores, like Azure KeyVault.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#secretrefs
	// +optional
	SecretRefs RadixSecretRefs `json:"secretRefs,omitempty"`

	// Configure environment specific settings for the job.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#environmentconfig-2
	// +listType=map
	// +listMapKey=environment
	// +optional
	EnvironmentConfig []RadixJobComponentEnvironmentConfig `json:"environmentConfig,omitempty"`

	// List of environment variables and values.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#variables-common-2
	// +optional
	Variables EnvVarsMap `json:"variables,omitempty"`

	// Configures CPU and memory resources for the job.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#resources-common-2
	// +optional
	Resources ResourceRequirements `json:"resources,omitempty"`

	// Defines GPU requirements for the job.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#node
	// +optional
	Node RadixNode `json:"node,omitempty"`

	// The maximum number of seconds the job can run.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#timelimitseconds
	// +optional
	TimeLimitSeconds *int64 `json:"timeLimitSeconds,omitempty"`

	// Specifies the number of retries before marking this job failed.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#backofflimit
	// +optional
	// +kubebuilder:validation:Minimum:=0
	BackoffLimit *int32 `json:"backoffLimit,omitempty"`

	// Configuration for workload identity (federated credentials).
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#identity-2
	// +optional
	Identity *Identity `json:"identity,omitempty"`

	// Controls if the job shall be deployed.
	// +optional
	Enabled *bool `json:"enabled,omitempty"`

	// Notifications about batch or job status changes
	// +optional
	Notifications *Notifications `json:"notifications,omitempty"`
}

RadixJobComponent defines a single job component within a RadixApplication The job component is used by the radix-job-scheduler to create Kubernetes Job objects

func (*RadixJobComponent) DeepCopy added in v1.8.0

func (in *RadixJobComponent) DeepCopy() *RadixJobComponent

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixJobComponent.

func (*RadixJobComponent) DeepCopyInto added in v1.8.0

func (in *RadixJobComponent) DeepCopyInto(out *RadixJobComponent)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RadixJobComponent) GetEnabledForAnyEnvironment added in v1.29.0

func (component *RadixJobComponent) GetEnabledForAnyEnvironment(environments []string) bool

func (*RadixJobComponent) GetEnabledForEnv added in v1.29.0

func (component *RadixJobComponent) GetEnabledForEnv(envConfig RadixCommonEnvironmentConfig) bool

func (*RadixJobComponent) GetEnvironmentConfig added in v1.17.2

func (component *RadixJobComponent) GetEnvironmentConfig() []RadixCommonEnvironmentConfig

func (*RadixJobComponent) GetEnvironmentConfigByName added in v1.29.0

func (component *RadixJobComponent) GetEnvironmentConfigByName(environment string) RadixCommonEnvironmentConfig

func (*RadixJobComponent) GetEnvironmentConfigsMap added in v1.29.0

func (component *RadixJobComponent) GetEnvironmentConfigsMap() map[string]RadixCommonEnvironmentConfig

func (*RadixJobComponent) GetIdentity added in v1.31.0

func (component *RadixJobComponent) GetIdentity() *Identity

func (*RadixJobComponent) GetImage added in v1.30.0

func (component *RadixJobComponent) GetImage() string

func (*RadixJobComponent) GetMonitoringConfig added in v1.19.11

func (component *RadixJobComponent) GetMonitoringConfig() MonitoringConfig

func (*RadixJobComponent) GetName added in v1.10.0

func (component *RadixJobComponent) GetName() string

func (*RadixJobComponent) GetNode added in v1.10.0

func (component *RadixJobComponent) GetNode() *RadixNode

func (*RadixJobComponent) GetNotifications added in v1.33.0

func (component *RadixJobComponent) GetNotifications() *Notifications

GetNotifications Get job component notifications

func (*RadixJobComponent) GetPorts added in v1.19.11

func (component *RadixJobComponent) GetPorts() []ComponentPort

func (*RadixJobComponent) GetResources added in v1.17.2

func (component *RadixJobComponent) GetResources() ResourceRequirements

func (*RadixJobComponent) GetSecretRefs added in v1.17.2

func (component *RadixJobComponent) GetSecretRefs() RadixSecretRefs

func (*RadixJobComponent) GetSecrets added in v1.17.2

func (component *RadixJobComponent) GetSecrets() []string

func (*RadixJobComponent) GetSourceFolder added in v1.30.0

func (component *RadixJobComponent) GetSourceFolder() string

func (*RadixJobComponent) GetVariables added in v1.17.2

func (component *RadixJobComponent) GetVariables() EnvVarsMap

func (*RadixJobComponent) GetVolumeMountsForEnvironment added in v1.13.0

func (component *RadixJobComponent) GetVolumeMountsForEnvironment(env string) []RadixVolumeMount

type RadixJobComponentEnvironmentConfig added in v1.8.0

type RadixJobComponentEnvironmentConfig struct {
	// Name of the environment which the settings applies to.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=^(([a-z0-9][-a-z0-9.]*)?[a-z0-9])?$
	Environment string `json:"environment"`

	// Enabled or disables collection of custom Prometheus metrics.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#monitoring-2
	// +optional
	Monitoring bool `json:"monitoring,omitempty"`

	// Environment specific configuration for CPU and memory resources.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#resources-3
	// +optional
	Resources ResourceRequirements `json:"resources,omitempty"`

	// Environment specific environment variables.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#variables-2
	// +optional
	Variables EnvVarsMap `json:"variables,omitempty"`

	// The imageTagName allows for flexible configuration of fixed images,
	// built outside of Radix, to be configured with separate tag for each environment.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#imagetagname-2
	// +optional
	ImageTagName string `json:"imageTagName,omitempty"`

	// Configuration for mounting cloud storage into the job.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#volumemounts-2
	// +optional
	VolumeMounts []RadixVolumeMount `json:"volumeMounts,omitempty"`

	// Environment specific GPU requirements for the job.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#node
	// +optional
	Node RadixNode `json:"node,omitempty"`

	// Environment specific configuration for external secret stores, like Azure KeyVault.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#secretrefs
	// +optional
	SecretRefs RadixSecretRefs `json:"secretRefs,omitempty"`

	// Environment specific value for the maximum number of seconds the job can run.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#timelimitseconds-2
	// +optional
	TimeLimitSeconds *int64 `json:"timeLimitSeconds,omitempty"`

	// Environment specific value for the number of retries before marking this job failed.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#backofflimit-2
	// +optional
	// +kubebuilder:validation:Minimum:=0
	BackoffLimit *int32 `json:"backoffLimit,omitempty"`

	// Environment specific configuration for workload identity (federated credentials).
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#identity-2
	// +optional
	Identity *Identity `json:"identity,omitempty"`

	// Controls if the job shall be deployed to this environment.
	// +optional
	Enabled *bool `json:"enabled,omitempty"`

	// Notifications about batch or job status changes
	// +optional
	Notifications *Notifications `json:"notifications,omitempty"`
}

RadixJobComponentEnvironmentConfig defines environment specific settings for a single job component within a RadixApplication

func (*RadixJobComponentEnvironmentConfig) DeepCopy added in v1.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixJobComponentEnvironmentConfig.

func (*RadixJobComponentEnvironmentConfig) DeepCopyInto added in v1.8.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (RadixJobComponentEnvironmentConfig) GetEnvironment added in v1.17.2

func (config RadixJobComponentEnvironmentConfig) GetEnvironment() string

func (RadixJobComponentEnvironmentConfig) GetHorizontalScaling added in v1.24.2

func (config RadixJobComponentEnvironmentConfig) GetHorizontalScaling() *RadixHorizontalScaling

func (RadixJobComponentEnvironmentConfig) GetIdentity added in v1.31.0

func (config RadixJobComponentEnvironmentConfig) GetIdentity() *Identity

func (RadixJobComponentEnvironmentConfig) GetImageTagName added in v1.17.2

func (config RadixJobComponentEnvironmentConfig) GetImageTagName() string

func (RadixJobComponentEnvironmentConfig) GetNode added in v1.17.2

func (RadixJobComponentEnvironmentConfig) GetNotifications added in v1.33.0

func (config RadixJobComponentEnvironmentConfig) GetNotifications() *Notifications

GetNotifications Get job component notifications

func (RadixJobComponentEnvironmentConfig) GetReplicas added in v1.24.2

func (config RadixJobComponentEnvironmentConfig) GetReplicas() *int

func (RadixJobComponentEnvironmentConfig) GetResources added in v1.17.2

func (RadixJobComponentEnvironmentConfig) GetSecretRefs added in v1.17.2

func (config RadixJobComponentEnvironmentConfig) GetSecretRefs() RadixSecretRefs

func (RadixJobComponentEnvironmentConfig) GetVariables added in v1.17.2

func (config RadixJobComponentEnvironmentConfig) GetVariables() EnvVarsMap

type RadixJobComponentPayload added in v1.8.0

type RadixJobComponentPayload struct {
	// Path to the folder where payload is mounted
	// +kubebuilder:validation:MinLength=1
	Path string `json:"path"`
}

RadixJobComponentPayload defines the path and where the payload received by radix-job-scheduler will be mounted to the job container

func (*RadixJobComponentPayload) DeepCopy added in v1.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixJobComponentPayload.

func (*RadixJobComponentPayload) DeepCopyInto added in v1.8.0

func (in *RadixJobComponentPayload) DeepCopyInto(out *RadixJobComponentPayload)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixJobCondition

type RadixJobCondition string

RadixJobCondition Holds the condition of a job

const (
	// JobQueued When another job is running with the same
	// condition app + branch, the job is queued
	JobQueued RadixJobCondition = "Queued"
	// JobWaiting When operator hasn't picked up the radix job
	// the API will show the job as waiting. Also when the
	// kubernetes jobs (steps) are in waiting the step will be
	// in JobWaiting
	JobWaiting          RadixJobCondition = "Waiting"
	JobRunning          RadixJobCondition = "Running"
	JobSucceeded        RadixJobCondition = "Succeeded"
	JobFailed           RadixJobCondition = "Failed"
	JobStopped          RadixJobCondition = "Stopped"
	JobStoppedNoChanges RadixJobCondition = "StoppedNoChanges"
)

These are valid conditions of a deployment.

type RadixJobList

type RadixJobList struct {
	meta_v1.TypeMeta `json:",inline" yaml:",inline"`
	meta_v1.ListMeta `json:"metadata" yaml:"metadata"`
	Items            []RadixJob `json:"items" yaml:"items"`
}

RadixJobList is a list of Radix jobs

func (*RadixJobList) DeepCopy

func (in *RadixJobList) DeepCopy() *RadixJobList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixJobList.

func (*RadixJobList) DeepCopyInto

func (in *RadixJobList) DeepCopyInto(out *RadixJobList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RadixJobList) DeepCopyObject

func (in *RadixJobList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RadixJobResult added in v1.30.0

type RadixJobResult struct {
	Result  RadixJobResultType `json:"result" yaml:"result"`
	Message string             `json:"message" yaml:"message"`
}

RadixJobResult is returned by Radix pipeline jobs via ConfigMap

func (*RadixJobResult) DeepCopy added in v1.31.0

func (in *RadixJobResult) DeepCopy() *RadixJobResult

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixJobResult.

func (*RadixJobResult) DeepCopyInto added in v1.31.0

func (in *RadixJobResult) DeepCopyInto(out *RadixJobResult)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixJobResultType added in v1.30.0

type RadixJobResultType string

RadixJobResultType Type of the Radix pipeline job result

const (
	// RadixJobResultStoppedNoChanges The Radix build-deploy pipeline job was stopped due to there were no changes in component source code
	RadixJobResultStoppedNoChanges RadixJobResultType = "stoppedNoChanges"
)

type RadixJobSpec

type RadixJobSpec struct {
	AppName             string            `json:"appName" yaml:"appName"`
	CloneURL            string            `json:"cloneURL" yaml:"cloneURL"`
	PipeLineType        RadixPipelineType `json:"pipeLineType" yaml:"pipeLineType"`
	PipelineImage       string            `json:"pipelineImage" yaml:"pipelineImage"`
	Build               RadixBuildSpec    `json:"build" yaml:"build"`
	Promote             RadixPromoteSpec  `json:"promote" yaml:"promote"`
	Deploy              RadixDeploySpec   `json:"deploy" yaml:"deploy"`
	Stop                bool              `json:"stop" yaml:"stop"`
	TriggeredBy         string            `json:"triggeredBy" yaml:"triggeredBy"`
	RadixConfigFullName string            `json:"radixConfigFullName" yaml:"radixConfigFullName"`
}

RadixJobSpec is the spec for a job

func (*RadixJobSpec) DeepCopy

func (in *RadixJobSpec) DeepCopy() *RadixJobSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixJobSpec.

func (*RadixJobSpec) DeepCopyInto

func (in *RadixJobSpec) DeepCopyInto(out *RadixJobSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixJobStatus

type RadixJobStatus struct {
	Condition  RadixJobCondition `json:"condition" yaml:"condition"`
	Created    *meta_v1.Time     `json:"created" yaml:"created"`
	Started    *meta_v1.Time     `json:"started" yaml:"started"`
	Ended      *meta_v1.Time     `json:"ended" yaml:"ended"`
	TargetEnvs []string          `json:"targetEnvironments" yaml:"targetEnvironments"`
	Steps      []RadixJobStep    `json:"steps" yaml:"steps"`
}

RadixJobStatus is the status for a Radix job

func (*RadixJobStatus) DeepCopy

func (in *RadixJobStatus) DeepCopy() *RadixJobStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixJobStatus.

func (*RadixJobStatus) DeepCopyInto

func (in *RadixJobStatus) DeepCopyInto(out *RadixJobStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixJobStep

type RadixJobStep struct {
	Name       string            `json:"name" yaml:"name"`
	Condition  RadixJobCondition `json:"condition" yaml:"condition"`
	Started    *meta_v1.Time     `json:"started" yaml:"started"`
	Ended      *meta_v1.Time     `json:"ended" yaml:"ended"`
	PodName    string            `json:"podName" yaml:"podName"`
	Components []string          `json:"components,omitempty" yaml:"components,omitempty"`
}

RadixJobStep holds status for a single step

func (*RadixJobStep) DeepCopy

func (in *RadixJobStep) DeepCopy() *RadixJobStep

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixJobStep.

func (*RadixJobStep) DeepCopyInto

func (in *RadixJobStep) DeepCopyInto(out *RadixJobStep)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixNode added in v1.10.0

type RadixNode struct {
	// Defines rules for allowed GPU types.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#gpu
	// +optional
	Gpu string `json:"gpu,omitempty"`

	// Defines minimum number of required GPUs.
	// +optional
	GpuCount string `json:"gpuCount,omitempty"`
}

RadixNode defines node attributes, where container should be scheduled

func (*RadixNode) DeepCopy added in v1.10.0

func (in *RadixNode) DeepCopy() *RadixNode

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixNode.

func (*RadixNode) DeepCopyInto added in v1.10.0

func (in *RadixNode) DeepCopyInto(out *RadixNode)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixPipelineType

type RadixPipelineType string

RadixPipelineType Holds the different type of pipeline

const (
	Build       RadixPipelineType = "build"
	BuildDeploy RadixPipelineType = "build-deploy"
	Promote     RadixPipelineType = "promote"
	Deploy      RadixPipelineType = "deploy"
)

These are valid conditions of a deployment.

type RadixPrivateImageHubCredential added in v1.0.1

type RadixPrivateImageHubCredential struct {
	// Username with permission to pull images.
	// The password is set in Radix Web Console.
	// +kubebuilder:validation:MinLength=1
	Username string `json:"username"`

	// The email address linked to the username.
	// +kubebuilder:validation:MinLength=3
	Email string `json:"email"`
}

RadixPrivateImageHubCredential contains credentials to use when pulling images from a protected container registry.

func (*RadixPrivateImageHubCredential) DeepCopy added in v1.0.1

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixPrivateImageHubCredential.

func (*RadixPrivateImageHubCredential) DeepCopyInto added in v1.0.1

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixPromoteSpec

type RadixPromoteSpec struct {
	DeploymentName  string `json:"deploymentName" yaml:"deploymentName"`
	FromEnvironment string `json:"fromEnvironment" yaml:"fromEnvironment"`
	ToEnvironment   string `json:"toEnvironment" yaml:"toEnvironment"`
}

RadixPromoteSpec is the spec for a promote job

func (*RadixPromoteSpec) DeepCopy

func (in *RadixPromoteSpec) DeepCopy() *RadixPromoteSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixPromoteSpec.

func (*RadixPromoteSpec) DeepCopyInto

func (in *RadixPromoteSpec) DeepCopyInto(out *RadixPromoteSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixRegistration

type RadixRegistration struct {
	meta_v1.TypeMeta   `json:",inline" yaml:",inline"`
	meta_v1.ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Spec               RadixRegistrationSpec   `json:"spec" yaml:"spec"`
	Status             RadixRegistrationStatus `json:"status" yaml:"status"`
}

RadixRegistration describe an application

func (*RadixRegistration) DeepCopy

func (in *RadixRegistration) DeepCopy() *RadixRegistration

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixRegistration.

func (*RadixRegistration) DeepCopyInto

func (in *RadixRegistration) DeepCopyInto(out *RadixRegistration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RadixRegistration) DeepCopyObject

func (in *RadixRegistration) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RadixRegistrationList

type RadixRegistrationList struct {
	meta_v1.TypeMeta `json:",inline" yaml:",inline"`
	meta_v1.ListMeta `json:"metadata" yaml:"metadata"`
	Items            []RadixRegistration `json:"items" yaml:"items"`
}

RadixRegistrationList is a list of Radix applications

func (*RadixRegistrationList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixRegistrationList.

func (*RadixRegistrationList) DeepCopyInto

func (in *RadixRegistrationList) DeepCopyInto(out *RadixRegistrationList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RadixRegistrationList) DeepCopyObject

func (in *RadixRegistrationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RadixRegistrationSpec

type RadixRegistrationSpec struct {
	CloneURL            string   `json:"cloneURL" yaml:"cloneURL"`
	SharedSecret        string   `json:"sharedSecret" yaml:"sharedSecret"`
	DeployKey           string   `json:"deployKey" yaml:"deployKey"`
	DeployKeyPublic     string   `json:"deployKeyPublic" yaml:"deployKeyPublic"`
	AdGroups            []string `json:"adGroups" yaml:"adGroups"`
	ReaderAdGroups      []string `json:"readerAdGroups" yaml:"readerAdGroups"`
	Creator             string   `json:"creator" yaml:"creator"`
	Owner               string   `json:"owner" yaml:"owner"`
	MachineUser         bool     `json:"machineUser" yaml:"machineUser"`
	WBS                 string   `json:"wbs" yaml:"wbs"`
	ConfigBranch        string   `json:"configBranch" yaml:"configBranch"`
	RadixConfigFullName string   `json:"radixConfigFullName" yaml:"radixConfigFullName"`
	// ConfigurationItem is and identifier for an entity in a configuration management solution such as a CMDB.
	// ITIL defines a CI as any component that needs to be managed in order to deliver an IT Service
	// Ref: https://en.wikipedia.org/wiki/Configuration_item
	ConfigurationItem string `json:"configurationItem" yaml:"configurationItem"`
}

RadixRegistrationSpec is the spec for an application

func (*RadixRegistrationSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixRegistrationSpec.

func (*RadixRegistrationSpec) DeepCopyInto

func (in *RadixRegistrationSpec) DeepCopyInto(out *RadixRegistrationSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixRegistrationStatus added in v1.4.1

type RadixRegistrationStatus struct {
	Reconciled meta_v1.Time `json:"reconciled" yaml:"reconciled"`
}

RadixRegistrationStatus is the status for a rr

func (*RadixRegistrationStatus) DeepCopy added in v1.4.1

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixRegistrationStatus.

func (*RadixRegistrationStatus) DeepCopyInto added in v1.4.1

func (in *RadixRegistrationStatus) DeepCopyInto(out *RadixRegistrationStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixSecretRefType added in v1.17.2

type RadixSecretRefType string

RadixSecretRefType Radix secret-ref of type

const (
	// RadixSecretRefTypeAzureKeyVault Radix secret-ref of type Azure Key vault
	RadixSecretRefTypeAzureKeyVault RadixSecretRefType = "az-keyvault"
)

type RadixSecretRefs added in v1.17.2

type RadixSecretRefs struct {
	// List of Azure Key Vaults to get secrets from.
	// +optional
	AzureKeyVaults []RadixAzureKeyVault `json:"azureKeyVaults,omitempty"`
}

RadixSecretRefs defines secret vault

func (*RadixSecretRefs) DeepCopy added in v1.17.2

func (in *RadixSecretRefs) DeepCopy() *RadixSecretRefs

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixSecretRefs.

func (*RadixSecretRefs) DeepCopyInto added in v1.17.2

func (in *RadixSecretRefs) DeepCopyInto(out *RadixSecretRefs)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixVolumeMount added in v1.7.0

type RadixVolumeMount struct {
	// Type defines the storage type.
	// Deprecated, use BlobFuse2 or AzureFile instead.
	// +kubebuilder:validation:Enum=blob;azure-blob;azure-file;""
	// +optional
	Type MountType `json:"type"`

	// User-defined name of the volume mount.
	// Must be unique for the component.
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// Deprecated. Only required by the deprecated type: blob.
	// +optional
	Container string `json:"container,omitempty"` // Outdated. Use Storage instead

	// Storage defines the name of the container in the external storage resource.
	// Deprecated, use BlobFuse2 or AzureFile instead.
	// +optional
	Storage string `json:"storage"` // Container name, file Share name, etc.

	// Path defines in which directory the external storage is mounted.
	// +kubebuilder:validation:MinLength=1
	Path string `json:"path"` // Path within the pod (replica), where the volume mount has been mounted to

	// GID defines the group ID (number) which will be set as owner of the mounted volume.
	// Deprecated, use BlobFuse2 or AzureFile instead.
	// +optional
	GID string `json:"gid,omitempty"` // Optional. Volume mount owner GroupID. Used when drivers do not honor fsGroup securityContext setting. https://github.com/kubernetes-sigs/blob-csi-driver/blob/master/docs/driver-parameters.md

	// UID defines the user ID (number) which will be set as owner of the mounted volume.
	// Deprecated, use BlobFuse2 or AzureFile instead.
	// +optional
	UID string `json:"uid,omitempty"` // Optional. Volume mount owner UserID. Used instead of GID.

	// TODO: describe
	// More info: https://www.radix.equinor.com/guides/volume-mounts/optional-settings/
	// Deprecated, use BlobFuse2 or AzureFile instead.
	// +optional
	SkuName string `json:"skuName,omitempty"` // Available values: Standard_LRS (default), Premium_LRS, Standard_GRS, Standard_RAGRS. https://docs.microsoft.com/en-us/rest/api/storagerp/srp_sku_types

	// TODO: describe
	// More info: https://www.radix.equinor.com/guides/volume-mounts/optional-settings/
	// Deprecated, use BlobFuse2 or AzureFile instead.
	// +optional
	RequestsStorage string `json:"requestsStorage,omitempty"` // Requests resource storage size. Default "1Mi". https://kubernetes.io/docs/tasks/configure-pod-container/configure-persistent-volume-storage/#create-a-persistentvolumeclaim

	// Access mode from a container to an external storage. ReadOnlyMany (default), ReadWriteOnce, ReadWriteMany.
	// More info: https://www.radix.equinor.com/guides/volume-mounts/optional-settings/
	// Deprecated, use BlobFuse2 or AzureFile instead.
	// +kubebuilder:validation:Enum=ReadOnlyMany;ReadWriteOnce;ReadWriteMany;""
	// +optional
	AccessMode string `json:"accessMode,omitempty"` // Available values: ReadOnlyMany (default) - read-only by many nodes, ReadWriteOnce - read-write by a single node, ReadWriteMany - read-write by many nodes. https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes

	// Binding mode from a container to an external storage. Immediate (default), WaitForFirstConsumer.
	// More info: https://www.radix.equinor.com/guides/volume-mounts/optional-settings/
	// Deprecated, use BlobFuse2 or AzureFile instead.
	// +kubebuilder:validation:Enum=Immediate;WaitForFirstConsumer;""
	// +optional
	BindingMode string `json:"bindingMode,omitempty"` // Volume binding mode. Available values: Immediate (default), WaitForFirstConsumer. https://kubernetes.io/docs/concepts/storage/storage-classes/#volume-binding-mode

	// BlobFuse2 settings for Azure Storage FUSE CSI driver
	BlobFuse2 *RadixBlobFuse2VolumeMount `json:"blobFuse2,omitempty"`

	// AzureFile settings for Azure File CSI driver
	AzureFile *RadixAzureFileVolumeMount `json:"azureFile,omitempty"`
}

RadixVolumeMount defines an external storage resource.

func (*RadixVolumeMount) DeepCopy added in v1.7.0

func (in *RadixVolumeMount) DeepCopy() *RadixVolumeMount

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixVolumeMount.

func (*RadixVolumeMount) DeepCopyInto added in v1.7.0

func (in *RadixVolumeMount) DeepCopyInto(out *RadixVolumeMount)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RadixVolumeMountStreaming added in v1.38.0

type RadixVolumeMountStreaming struct {
	// Enable streaming mode. Default true.
	// +optional
	Enabled *bool `json:"enabled,omitempty"`
	// Optional. The size of each block to be cached in memory (in MB).
	// +kubebuilder:validation:Minimum=1
	// +optional
	BlockSize *uint64 `json:"blockSize,omitempty"`
	// Optional. The total number of buffers to be cached in memory (in MB).
	// +kubebuilder:validation:Minimum=1
	// +optional
	MaxBuffers *uint64 `json:"maxBuffers,omitempty"`
	// Optional. The size of each buffer to be cached in memory (in MB).
	// +kubebuilder:validation:Minimum=1
	// +optional
	BufferSize *uint64 `json:"bufferSize,omitempty"`
	// Optional. Limit total amount of data being cached in memory to conserve memory footprint of blobfuse (in MB).
	// +kubebuilder:validation:Minimum=1
	// +optional
	StreamCache *uint64 `json:"streamCache,omitempty"`
	// Optional. The maximum number of blocks to be cached in memory.
	// +kubebuilder:validation:Minimum=1
	// +optional
	MaxBlocksPerFile *uint64 `json:"maxBlocksPerFile,omitempty"`
	// Optional. File name based caching. Default is false which specifies file handle based caching.
	// +optional
	FileCaching *bool `json:"fileCaching,omitempty"`
}

RadixVolumeMountStreaming configure streaming to read and write large files that will not fit in the file cache on the local disk. Used for blobfuse2. More info: https://github.com/Azure/azure-storage-fuse/blob/main/STREAMING.md

func (*RadixVolumeMountStreaming) DeepCopy added in v1.38.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RadixVolumeMountStreaming.

func (*RadixVolumeMountStreaming) DeepCopyInto added in v1.38.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Receiver added in v1.16.0

type Receiver struct {
	SlackConfig SlackConfig `json:"slackConfig" yaml:"slackConfig"`
}

func (*Receiver) DeepCopy added in v1.16.0

func (in *Receiver) DeepCopy() *Receiver

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Receiver.

func (*Receiver) DeepCopyInto added in v1.16.0

func (in *Receiver) DeepCopyInto(out *Receiver)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Receiver) IsEnabled added in v1.16.0

func (receiver *Receiver) IsEnabled() bool

type ReceiverMap added in v1.16.0

type ReceiverMap map[string]Receiver

func (ReceiverMap) DeepCopy added in v1.16.0

func (in ReceiverMap) DeepCopy() ReceiverMap

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReceiverMap.

func (ReceiverMap) DeepCopyInto added in v1.16.0

func (in ReceiverMap) DeepCopyInto(out *ReceiverMap)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceList

type ResourceList map[string]string

ResourceList defines a resource and a value.

func (ResourceList) DeepCopy

func (in ResourceList) DeepCopy() ResourceList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceList.

func (ResourceList) DeepCopyInto

func (in ResourceList) DeepCopyInto(out *ResourceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceRequirements

type ResourceRequirements struct {
	// Limits describes the maximum amount of compute resources allowed.
	// +optional
	Limits ResourceList `json:"limits,omitempty"`

	// Requests describes the minimum amount of compute resources required.
	// If Requests is omitted for a container, it defaults to Limits if
	// that is explicitly specified, otherwise to an implementation-defined value.
	// +optional
	Requests ResourceList `json:"requests,omitempty"`
}

ResourceRequirements describes the compute resource requirements. More info: https://www.radix.equinor.com/references/reference-radix-config/#resources-common

func (*ResourceRequirements) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceRequirements.

func (*ResourceRequirements) DeepCopyInto

func (in *ResourceRequirements) DeepCopyInto(out *ResourceRequirements)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SessionStoreType added in v1.18.0

type SessionStoreType string

SessionStoreType type of session store

const (
	// SessionStoreCookie use cookies for session store
	SessionStoreCookie SessionStoreType = "cookie"
	// SessionStoreRedis use redis for session store
	SessionStoreRedis SessionStoreType = "redis"
)

type SlackConfig added in v1.16.0

type SlackConfig struct {
	Enabled bool `json:"enabled" yaml:"enabled"`
}

func (*SlackConfig) DeepCopy added in v1.16.0

func (in *SlackConfig) DeepCopy() *SlackConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SlackConfig.

func (*SlackConfig) DeepCopyInto added in v1.16.0

func (in *SlackConfig) DeepCopyInto(out *SlackConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VerificationType added in v1.11.4

type VerificationType string

VerificationType Certificate verification type

const (
	// VerificationTypeOff Certificate verification is off
	VerificationTypeOff VerificationType = "off"
	// VerificationTypeOn Certificate verification is on
	VerificationTypeOn VerificationType = "on"
	// VerificationTypeOptional Certificate verification is optional
	VerificationTypeOptional VerificationType = "optional"
	// VerificationTypeOptionalNoCa Certificate verification is optional no certificate authority
	VerificationTypeOptionalNoCa VerificationType = "optional_no_ca"
)

Jump to

Keyboard shortcuts

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