v1

package
v1.52.0 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2024 License: MIT Imports: 10 Imported by: 40

Documentation

Index

Constants

View Source
const (
	// KindRadixRegistration RadixRegistration object Kind
	KindRadixRegistration = "RadixRegistration"
	// KindRadixEnvironment RadixEnvironment object Kind
	KindRadixEnvironment = "RadixEnvironment"
	// KindRadixApplication RadixApplication object Kind
	KindRadixApplication = "RadixApplication"
	// KindRadixDeployment RadixDeployment object Kind
	KindRadixDeployment = "RadixDeployment"
	// KindRadixJob RadixJob object Kind
	KindRadixJob = "RadixJob"
	// KindRadixBatch RadixBatch object Kind
	KindRadixBatch = "RadixBatch"
	// KindRadixAlert RadixAlert object Kind
	KindRadixAlert = "RadixAlert"
	// KindRadixDNSAlias RadixDNSAlias object Kind
	KindRadixDNSAlias = "RadixDNSAlias"
	// ResourceRadixRegistrations RadixRegistrations API resource
	ResourceRadixRegistrations = "radixregistrations"
	// ResourceRadixDNSAliases RadixDNSAliases API resource
	ResourceRadixDNSAliases = "radixdnsaliases"
	// ResourceRadixDNSAliasStatuses RadixDNSAliasesStatus API resource
	ResourceRadixDNSAliasStatuses = "radixdnsaliases/status"
)
View Source
const DynamicTagNameInEnvironmentConfig = "{imageTagName}"

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

View Source
const (
	GroupName = "radix.equinor.com"
)

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:   GroupName,
	Version: "v1",
}

SchemeGroupVersion provides the group version

Functions

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"`

	// Defaults to true and requires useBuildKit to have an effect.
	// Note: All layers will be cached and can be available for other Radix Apps. Do not add secrets to a Dockerfile layer.
	// +optional
	UseBuildCache *bool `json:"useBuildCache,omitempty"`

	// SubPipeline common configuration for all environments.
	// +optional
	SubPipeline *SubPipeline `json:"subPipeline"`
}

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 ComponentSource added in v1.50.2

type ComponentSource struct {
	// Source folder
	Folder string
	// Source docker file name
	DockefileName string
}

ComponentSource Source of a component

func (*ComponentSource) DeepCopy added in v1.50.2

func (in *ComponentSource) DeepCopy() *ComponentSource

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

func (*ComponentSource) DeepCopyInto added in v1.50.2

func (in *ComponentSource) DeepCopyInto(out *ComponentSource)

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 DNSAlias added in v1.47.0

type DNSAlias struct {
	// Alias name, e.g. my-app, which will prefix full internal alias my-app.radix.equinor.com
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Pattern=`^(([a-z0-9][-a-z0-9]*)?[a-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"`
}

DNSAlias defines mapping between an DNS alias and a component and environment.

func (*DNSAlias) DeepCopy added in v1.47.0

func (in *DNSAlias) DeepCopy() *DNSAlias

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

func (*DNSAlias) DeepCopyInto added in v1.47.0

func (in *DNSAlias) DeepCopyInto(out *DNSAlias)

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

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"`

	// SubPipeline configuration.
	// +optional
	SubPipeline *SubPipeline `json:"subPipeline"`
}

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"`

	// Enable automatic issuing and renewal of TLS certificate
	// +kubebuilder:default:=false
	// +optional
	UseCertificateAutomation bool `json:"useCertificateAutomation,omitempty"`
}

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.

func (*RadixApplication) GetCommonComponentByName added in v1.45.0

func (ra *RadixApplication) GetCommonComponentByName(name string) RadixCommonComponent

GetCommonComponentByName returns the job or component matching the name parameter, or nil if not found

func (*RadixApplication) GetComponentByName added in v1.45.0

func (ra *RadixApplication) GetComponentByName(name string) *RadixComponent

GetComponentByName returns the component matching the name parameter, or nil if not found

func (*RadixApplication) GetJobComponentByName added in v1.45.0

func (ra *RadixApplication) GetJobComponentByName(name string) *RadixJobComponent

GetJobComponentByName returns the job matching the name parameter, or nil if not found

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"`

	// List of DNS names and which component and environment incoming requests shall be routed to.
	// More info: https://www.radix.equinor.com/references/reference-radix-config/#dnsalias
	// +listType=map
	// +listMapKey=alias
	// +optional
	DNSAlias []DNSAlias `json:"dnsAlias,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 all 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;Running;Succeeded;Failed;Stopped

const (
	// Waiting means that 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"

	// Active means that the job is active and its pods are ready.
	BatchJobPhaseRunning RadixBatchJobPhase = "Running"

	// 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 RadixBatchJobPodPhase added in v1.50.7

type RadixBatchJobPodPhase string

A label for the condition of a pod at the current time. +kubebuilder:validation:Enum=Pending;Running;Succeeded;Failed

const (
	// PodPending means the pod has been accepted by the system, but one or more of the containers
	// has not been started. This includes time before being bound to a node, as well as time spent
	// pulling images onto the host.
	PodPending RadixBatchJobPodPhase = "Pending"
	// PodRunning means the pod has been bound to a node and all the containers have been started.
	// At least one container is still running or is in the process of being restarted.
	PodRunning RadixBatchJobPodPhase = "Running"
	// PodSucceeded means that all containers in the pod have voluntarily terminated
	// with a container exit code of 0, and the system is not going to restart any of these containers.
	PodSucceeded RadixBatchJobPodPhase = "Succeeded"
	// PodFailed means that all containers in the pod have terminated, and at least one container has
	// terminated in a failure (exited with a non-zero exit code or was stopped by the system).
	PodFailed RadixBatchJobPodPhase = "Failed"
)

These are the valid statuses of job's pods.

type RadixBatchJobPodStatus added in v1.50.7

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

	// The phase of a Pod is a simple, high-level summary of where the Pod is in its lifecycle.
	Phase RadixBatchJobPodPhase `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"`

	// Exit status from the last termination of the container
	ExitCode int32 `json:"exitCode"`

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

	// The time at which the batch job's pod startedAt
	// +optional
	StartTime *meta_v1.Time `json:"startTime,omitempty"`

	// The time at which the batch job's pod finishedAt.
	// +optional
	EndTime *meta_v1.Time `json:"endTime,omitempty"`

	// The number of times the container has been restarted.
	RestartCount int32 `json:"restartCount"`

	// The name of container image that the container is running.
	// The container image may not match the image used in the PodSpec,
	// as it may have been resolved by the runtime.
	// More info: https://kubernetes.io/docs/concepts/containers/images.
	// +optional
	Image string `json:"image"`

	// The image ID of the container's image. The image ID may not
	// match the image ID of the image used in the PodSpec, as it may have been
	// resolved by the runtime.
	// +optional
	ImageID string `json:"imageID"`

	// The index of the pod in the re-starts
	PodIndex int `json:"podIndex"`
}

RadixBatchJobPodStatus contains details for the current status of the job's pods.

func (*RadixBatchJobPodStatus) DeepCopy added in v1.50.7

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

func (*RadixBatchJobPodStatus) DeepCopyInto added in v1.50.7

func (in *RadixBatchJobPodStatus) DeepCopyInto(out *RadixBatchJobPodStatus)

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

type RadixBatchJobStatus added in v1.32.0

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

	// The Phase is a simple, high-level summary of where the RadixBatchJob is in its lifecycle.
	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"`

	// Status for each pod of the job
	// +optional
	RadixBatchJobPodStatuses []RadixBatchJobPodStatus `json:"podStatuses,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. Default is fuse2.
	// +kubebuilder:validation:Enum=fuse2;nfs;""
	// +optional
	Protocol BlobFuse2Protocol `json:"protocol,omitempty"`

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

	// 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
	// +kubebuilder:validation:Enum=Standard_LRS;Premium_LRS;Standard_GRS;Standard_RAGRS;""
	// +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 {
	// Tag of the built image
	//
	// required: true
	ImageTag string `json:"imageTag" yaml:"imageTag"`

	// Branch, from which the image to be built
	//
	// required: true
	Branch string `json:"branch" yaml:"branch"`

	// CommitID, from which the image to be built
	//
	// required: false
	CommitID string `json:"commitID" yaml:"commitID"`

	// Is the built image need to be pushed to the container registry repository
	//
	// required: false
	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
	// GetDockerfileName Gets component docker file name
	GetDockerfileName() string
	// GetSourceFolder Gets component source folder
	GetSourceFolder() string
	// GetImage Gets component image
	GetImage() string
	// GetImageForEnvironment Gets image for the environment
	GetImageForEnvironment(environment string) string
	// GetSourceForEnvironment Gets source for the environment
	GetSourceForEnvironment(environment string) ComponentSource
	// 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

	// GetEnvironmentConfigByName  Gets component environment configuration by its name
	GetEnvironmentConfigByName(environment string) RadixCommonEnvironmentConfig
	// GetEnabledForEnvironmentConfig Gets the component status if it is enabled in the application for an environment config
	GetEnabledForEnvironmentConfig(RadixCommonEnvironmentConfig) bool
	// GetEnabledForEnvironment Checks if the component is enabled for any of the environments
	GetEnabledForEnvironment(environment string) bool
	// GetReadOnlyFileSystem Gets if filesystem shall be read-only
	GetReadOnlyFileSystem() *bool
	// GetMonitoring Gets monitoring setting
	GetMonitoring() *bool
	// GetHorizontalScaling Gets the component horizontal scaling
	GetHorizontalScaling() *RadixHorizontalScaling
	// GetVolumeMounts Get volume mount configurations
	GetVolumeMounts() []RadixVolumeMount
	// GetImageTagName Is a dynamic image tag for the component image
	GetImageTagName() string
	// 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
	GetExternalDNS() []RadixDeployExternalDNS
	IsDNSAppAlias() bool
	GetIngressConfiguration() []string
	GetNode() *RadixNode
	GetAuthentication() *Authentication
	SetName(name string)
	SetVolumeMounts(mounts []RadixVolumeMount)
	GetIdentity() *Identity
	GetReadOnlyFileSystem() *bool
}

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
	GetImage() string
	// GetDockerfileName Gets component docker file name
	GetDockerfileName() string
	// GetSourceFolder Gets component source folder
	GetSourceFolder() string
	GetVariables() EnvVarsMap
	GetSecretRefs() RadixSecretRefs
	GetResources() ResourceRequirements
	GetNode() RadixNode
	GetImageTagName() string
	GetHorizontalScaling() *RadixHorizontalScaling
	GetReplicas() *int
	GetIdentity() *Identity
	GetReadOnlyFileSystem() *bool
	// GetMonitoring Gets monitoring setting
	GetMonitoring() *bool
	// GetVolumeMounts Get volume mounts configurations
	GetVolumeMounts() []RadixVolumeMount
	// 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"`

	// The imageTagName allows for flexible configuration of fixed images,
	// built outside of Radix, it can be also 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"`

	// List of ports that the component bind to.
	// +listType=map
	// +listMapKey=name
	// +optional
	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"`

	// 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"`

	// 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"`

	// Controls if the filesystem shall be read-only.
	// +optional
	ReadOnlyFileSystem *bool `json:"readOnlyFileSystem,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"`

	// 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"`
}

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) GetDockerfileName added in v1.45.0

func (component *RadixComponent) GetDockerfileName() string

func (*RadixComponent) GetEnabledForEnvironment added in v1.45.0

func (component *RadixComponent) GetEnabledForEnvironment(environment string) bool

func (*RadixComponent) GetEnabledForEnvironmentConfig added in v1.50.2

func (component *RadixComponent) GetEnabledForEnvironmentConfig(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) GetHorizontalScaling added in v1.51.0

func (component *RadixComponent) GetHorizontalScaling() *RadixHorizontalScaling

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) GetImageForEnvironment added in v1.50.2

func (component *RadixComponent) GetImageForEnvironment(environment string) string

func (*RadixComponent) GetImageTagName added in v1.51.0

func (component *RadixComponent) GetImageTagName() string

func (*RadixComponent) GetMonitoring added in v1.51.0

func (component *RadixComponent) GetMonitoring() *bool

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) GetReadOnlyFileSystem added in v1.50.0

func (component *RadixComponent) GetReadOnlyFileSystem() *bool

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) GetSourceForEnvironment added in v1.50.2

func (component *RadixComponent) GetSourceForEnvironment(environment string) ComponentSource

func (*RadixComponent) GetVariables added in v1.17.2

func (component *RadixComponent) GetVariables() EnvVarsMap

func (*RadixComponent) GetVolumeMounts added in v1.51.0

func (component *RadixComponent) GetVolumeMounts() []RadixVolumeMount

type RadixComponentType added in v1.18.0

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

type RadixDNSAlias added in v1.47.0

type RadixDNSAlias struct {
	meta.TypeMeta   `json:",inline"`
	meta.ObjectMeta `json:"metadata"`
	Spec            RadixDNSAliasSpec   `json:"spec"`
	Status          RadixDNSAliasStatus `json:"status,omitempty"`
}

RadixDNSAlias is a Custom Resource Definition

func (*RadixDNSAlias) DeepCopy added in v1.47.0

func (in *RadixDNSAlias) DeepCopy() *RadixDNSAlias

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

func (*RadixDNSAlias) DeepCopyInto added in v1.47.0

func (in *RadixDNSAlias) DeepCopyInto(out *RadixDNSAlias)

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

func (*RadixDNSAlias) DeepCopyObject added in v1.47.0

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

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

type RadixDNSAliasCondition added in v1.47.0

type RadixDNSAliasCondition string

RadixDNSAliasCondition Holds the condition of a RadixDNSAlias

const (
	// RadixDNSAliasSucceeded means the RadixDNSAlias has been successfully created or updated
	RadixDNSAliasSucceeded RadixDNSAliasCondition = "Succeeded"
	// RadixDNSAliasFailed means the RadixDNSAlias create or update failed
	RadixDNSAliasFailed RadixDNSAliasCondition = "Failed"
)

These are valid conditions of a deployment.

type RadixDNSAliasList added in v1.47.0

type RadixDNSAliasList struct {
	meta.TypeMeta `json:",inline"`
	meta.ListMeta `json:"metadata"`
	Items         []RadixDNSAlias `json:"items"`
}

RadixDNSAliasList is a list of RadixDNSAliases

func (*RadixDNSAliasList) DeepCopy added in v1.47.0

func (in *RadixDNSAliasList) DeepCopy() *RadixDNSAliasList

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

func (*RadixDNSAliasList) DeepCopyInto added in v1.47.0

func (in *RadixDNSAliasList) DeepCopyInto(out *RadixDNSAliasList)

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

func (*RadixDNSAliasList) DeepCopyObject added in v1.47.0

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

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

type RadixDNSAliasSpec added in v1.47.0

type RadixDNSAliasSpec struct {
	// Name of the application the DNS alias used in.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=^(([a-z0-9][-a-z0-9]*)?[a-z0-9])?$
	AppName string `json:"appName"`

	// Name of the environment for the component.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +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"`
}

RadixDNSAliasSpec is the spec for an RadixDNSAlias

func (*RadixDNSAliasSpec) DeepCopy added in v1.47.0

func (in *RadixDNSAliasSpec) DeepCopy() *RadixDNSAliasSpec

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

func (*RadixDNSAliasSpec) DeepCopyInto added in v1.47.0

func (in *RadixDNSAliasSpec) DeepCopyInto(out *RadixDNSAliasSpec)

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

type RadixDNSAliasStatus added in v1.47.0

type RadixDNSAliasStatus struct {
	// Condition of the RadixDNSAlias creating or updating
	// +optional
	Condition RadixDNSAliasCondition `json:"condition,omitempty"`
	// A human-readable message indicating details about the condition.
	// +optional
	Message string `json:"message,omitempty"`
	// Reconciled The timestamp when the RadixDNSAlias was reconciled
	// +optional
	Reconciled *meta.Time `json:"reconciled,omitempty"`
}

RadixDNSAliasStatus is the status for an RadixDNSAlias

func (*RadixDNSAliasStatus) DeepCopy added in v1.47.0

func (in *RadixDNSAliasStatus) DeepCopy() *RadixDNSAliasStatus

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

func (*RadixDNSAliasStatus) DeepCopyInto added in v1.47.0

func (in *RadixDNSAliasStatus) DeepCopyInto(out *RadixDNSAliasStatus)

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

type RadixDeployComponent

type RadixDeployComponent struct {
	Name     string          `json:"name"`
	Image    string          `json:"image"`
	Ports    []ComponentPort `json:"ports"`
	Replicas *int            `json:"replicas"`
	// Deprecated: For backwards compatibility Public is still supported, new code should use PublicPort instead
	Public               bool                     `json:"public"`
	PublicPort           string                   `json:"publicPort,omitempty"`
	EnvironmentVariables EnvVarsMap               `json:"environmentVariables,omitempty"`
	Secrets              []string                 `json:"secrets,omitempty"`
	SecretRefs           RadixSecretRefs          `json:"secretRefs,omitempty"`
	IngressConfiguration []string                 `json:"ingressConfiguration,omitempty"`
	DNSAppAlias          bool                     `json:"dnsAppAlias,omitempty"`
	ExternalDNS          []RadixDeployExternalDNS `json:"externalDNS,omitempty"`
	// Deprecated: For backward compatibility we must still support this field. New code should use ExternalDNS instead.
	DNSExternalAlias        []string                `json:"dnsExternalAlias,omitempty"`
	Monitoring              bool                    `json:"monitoring"`
	MonitoringConfig        MonitoringConfig        `json:"monitoringConfig,omitempty"`
	Resources               ResourceRequirements    `json:"resources,omitempty"`
	HorizontalScaling       *RadixHorizontalScaling `json:"horizontalScaling,omitempty"`
	AlwaysPullImageOnDeploy bool                    `json:"alwaysPullImageOnDeploy"`
	VolumeMounts            []RadixVolumeMount      `json:"volumeMounts,omitempty"`
	Node                    RadixNode               `json:"node,omitempty"`
	Authentication          *Authentication         `json:"authentication,omitempty"`
	Identity                *Identity               `json:"identity,omitempty"`
	ReadOnlyFileSystem      *bool                   `json:"readOnlyFileSystem,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) GetEnvironmentVariables added in v1.8.16

func (deployComponent *RadixDeployComponent) GetEnvironmentVariables() EnvVarsMap

func (*RadixDeployComponent) GetExternalDNS added in v1.49.0

func (deployComponent *RadixDeployComponent) GetExternalDNS() []RadixDeployExternalDNS

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) GetReadOnlyFileSystem added in v1.50.0

func (deployComponent *RadixDeployComponent) GetReadOnlyFileSystem() *bool

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 RadixDeployExternalDNS added in v1.49.0

type RadixDeployExternalDNS struct {
	// Fully qualified domain name (FQDN), 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])$`
	FQDN string `json:"fqdn"`

	// Enable automatic issuing and renewal of TLS certificate
	// +kubebuilder:default:=false
	// +optional
	UseCertificateAutomation bool `json:"useCertificateAutomation,omitempty"`
}

RadixDeployExternalDNS is the spec for an external DNS alias

func (*RadixDeployExternalDNS) DeepCopy added in v1.49.0

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

func (*RadixDeployExternalDNS) DeepCopyInto added in v1.49.0

func (in *RadixDeployExternalDNS) DeepCopyInto(out *RadixDeployExternalDNS)

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

type RadixDeployJobComponent added in v1.8.0

type RadixDeployJobComponent struct {
	Name                    string                    `json:"name"`
	Environment             string                    `json:"environment"`
	Image                   string                    `json:"image"`
	Ports                   []ComponentPort           `json:"ports"`
	EnvironmentVariables    EnvVarsMap                `json:"environmentVariables,omitempty"`
	Secrets                 []string                  `json:"secrets,omitempty"`
	SecretRefs              RadixSecretRefs           `json:"secretRefs,omitempty"`
	Monitoring              bool                      `json:"monitoring"`
	MonitoringConfig        MonitoringConfig          `json:"monitoringConfig,omitempty"`
	Resources               ResourceRequirements      `json:"resources,omitempty"`
	VolumeMounts            []RadixVolumeMount        `json:"volumeMounts,omitempty"`
	SchedulerPort           *int32                    `json:"schedulerPort,omitempty"`
	Payload                 *RadixJobComponentPayload `json:"payload,omitempty"`
	AlwaysPullImageOnDeploy bool                      `json:"alwaysPullImageOnDeploy"`
	Node                    RadixNode                 `json:"node,omitempty"`
	TimeLimitSeconds        *int64                    `json:"timeLimitSeconds,omitempty"`
	BackoffLimit            *int32                    `json:"backoffLimit,omitempty"`
	Identity                *Identity                 `json:"identity,omitempty"`
	Notifications           *Notifications            `json:"notifications,omitempty"`
	ReadOnlyFileSystem      *bool                     `json:"readOnlyFileSystem,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) 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) GetExternalDNS added in v1.49.0

func (deployJobComponent *RadixDeployJobComponent) GetExternalDNS() []RadixDeployExternalDNS

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) GetReadOnlyFileSystem added in v1.50.0

func (deployJobComponent *RadixDeployJobComponent) GetReadOnlyFileSystem() *bool

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
	//
	// required: true
	ToEnvironment string `json:"toEnvironment" yaml:"toEnvironment"`

	// Image tags names for components - if empty will use default logic
	//
	// required: false
	// Example: component1: tag1,component2: tag2
	ImageTagNames map[string]string `json:"imageTagNames" yaml:"imageTagNames"`

	// Commit ID connected to the deployment
	//
	// required: false
	CommitID string `json:"commitID" yaml:"commitID"`

	// ComponentsToDeploy List of components to deploy
	// OPTIONAL If specified, only these components are deployed
	//
	// required: false
	ComponentsToDeploy []string `json:"componentsToDeploy"  yaml:"componentsToDeploy"`
}

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"`
	ActiveTo   meta_v1.Time         `json:"activeTo"`
	Condition  RadixDeployCondition `json:"condition"`
	Reconciled meta_v1.Time         `json:"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"`
	meta_v1.ObjectMeta `json:"metadata,omitempty"`
	Spec               RadixDeploymentSpec `json:"spec"`
	Status             RadixDeployStatus   `json:"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) GetCommonComponentByName added in v1.45.0

func (rd *RadixDeployment) GetCommonComponentByName(name string) RadixCommonDeployComponent

GetCommonComponentByName returns the component or job matching the name parameter, or nil if not found

func (*RadixDeployment) GetComponentByName added in v1.10.0

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

GetComponentByName returns the component matching the name parameter, or nil if not found

func (*RadixDeployment) GetJobComponentByName added in v1.10.0

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

GetJobComponentByName returns the job matching the name parameter, or nil if not found

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"`
	meta_v1.ListMeta `json:"metadata"`
	Items            []RadixDeployment `json:"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"`
	Components       []RadixDeployComponent         `json:"components"`
	Jobs             []RadixDeployJobComponent      `json:"jobs"`
	Environment      string                         `json:"environment"`
	ImagePullSecrets []core_v1.LocalObjectReference `json:"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 RadixEmptyDirVolumeMount added in v1.50.0

type RadixEmptyDirVolumeMount struct {
	// SizeLimit defines the size of the emptyDir volume
	// +kubebuilder:validation:Required
	SizeLimit resource.Quantity `json:"sizeLimit"`
}

func (*RadixEmptyDirVolumeMount) DeepCopy added in v1.50.0

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

func (*RadixEmptyDirVolumeMount) DeepCopyInto added in v1.50.0

func (in *RadixEmptyDirVolumeMount) DeepCopyInto(out *RadixEmptyDirVolumeMount)

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"`

	// 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"`

	// 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,omitempty"`

	// 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"`

	// 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"`

	// 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 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"`

	// Controls if the filesystem shall be read-only.
	// +optional
	ReadOnlyFileSystem *bool `json:"readOnlyFileSystem,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) GetDockerfileName added in v1.50.2

func (config *RadixEnvironmentConfig) GetDockerfileName() string

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) GetImage added in v1.50.2

func (config *RadixEnvironmentConfig) GetImage() string

func (*RadixEnvironmentConfig) GetImageTagName added in v1.17.2

func (config *RadixEnvironmentConfig) GetImageTagName() string

func (*RadixEnvironmentConfig) GetMonitoring added in v1.51.0

func (config *RadixEnvironmentConfig) GetMonitoring() *bool

func (*RadixEnvironmentConfig) GetNode added in v1.17.2

func (config *RadixEnvironmentConfig) GetNode() RadixNode

func (*RadixEnvironmentConfig) GetReadOnlyFileSystem added in v1.50.0

func (config *RadixEnvironmentConfig) GetReadOnlyFileSystem() *bool

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) GetSourceFolder added in v1.50.2

func (config *RadixEnvironmentConfig) GetSourceFolder() string

func (*RadixEnvironmentConfig) GetVariables added in v1.17.2

func (config *RadixEnvironmentConfig) GetVariables() EnvVarsMap

func (*RadixEnvironmentConfig) GetVolumeMounts added in v1.51.0

func (config *RadixEnvironmentConfig) GetVolumeMounts() []RadixVolumeMount

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"`

	// The imageTagName allows for flexible configuration of fixed images,
	// built outside of Radix, it can be also 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"`

	// 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"`

	// 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,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"`

	// 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"`

	// 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"`

	// Controls if the filesystem shall be read-only.
	// +optional
	ReadOnlyFileSystem *bool `json:"readOnlyFileSystem,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) GetDockerfileName added in v1.45.0

func (component *RadixJobComponent) GetDockerfileName() string

func (*RadixJobComponent) GetEnabledForEnvironment added in v1.45.0

func (component *RadixJobComponent) GetEnabledForEnvironment(environment string) bool

func (*RadixJobComponent) GetEnabledForEnvironmentConfig added in v1.50.2

func (component *RadixJobComponent) GetEnabledForEnvironmentConfig(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) GetHorizontalScaling added in v1.51.0

func (component *RadixJobComponent) GetHorizontalScaling() *RadixHorizontalScaling

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) GetImageForEnvironment added in v1.50.2

func (component *RadixJobComponent) GetImageForEnvironment(environment string) string

func (*RadixJobComponent) GetImageTagName added in v1.51.0

func (component *RadixJobComponent) GetImageTagName() string

func (*RadixJobComponent) GetMonitoring added in v1.51.0

func (component *RadixJobComponent) GetMonitoring() *bool

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) GetReadOnlyFileSystem added in v1.50.0

func (component *RadixJobComponent) GetReadOnlyFileSystem() *bool

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) GetSourceForEnvironment added in v1.50.2

func (component *RadixJobComponent) GetSourceForEnvironment(environment string) ComponentSource

func (*RadixJobComponent) GetVariables added in v1.17.2

func (component *RadixJobComponent) GetVariables() EnvVarsMap

func (*RadixJobComponent) GetVolumeMounts added in v1.51.0

func (component *RadixJobComponent) GetVolumeMounts() []RadixVolumeMount

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"`

	// 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"`

	// 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"`
	// 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"`

	// Controls if the filesystem shall be read-only.
	// +optional
	ReadOnlyFileSystem *bool `json:"readOnlyFileSystem,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) GetDockerfileName added in v1.50.2

func (config *RadixJobComponentEnvironmentConfig) GetDockerfileName() string

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) GetImage added in v1.50.2

func (config *RadixJobComponentEnvironmentConfig) GetImage() string

func (*RadixJobComponentEnvironmentConfig) GetImageTagName added in v1.17.2

func (config *RadixJobComponentEnvironmentConfig) GetImageTagName() string

func (*RadixJobComponentEnvironmentConfig) GetMonitoring added in v1.51.0

func (config *RadixJobComponentEnvironmentConfig) GetMonitoring() *bool

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) GetReadOnlyFileSystem added in v1.50.0

func (config *RadixJobComponentEnvironmentConfig) GetReadOnlyFileSystem() *bool

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) GetSourceFolder added in v1.50.2

func (config *RadixJobComponentEnvironmentConfig) GetSourceFolder() string

func (*RadixJobComponentEnvironmentConfig) GetVariables added in v1.17.2

func (config *RadixJobComponentEnvironmentConfig) GetVariables() EnvVarsMap

func (*RadixJobComponentEnvironmentConfig) GetVolumeMounts added in v1.51.0

func (config *RadixJobComponentEnvironmentConfig) GetVolumeMounts() []RadixVolumeMount

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"`
	TektonImage         string            `json:"tektonImage" yaml:"tektonImage"`
	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"
	ApplyConfig RadixPipelineType = "apply-config"
)

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.
	// +optional
	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 {
	// Name of the Radix deployment to be promoted
	//
	// required: false
	DeploymentName string `json:"deploymentName" yaml:"deploymentName"`

	// Environment name, from which the Radix deployment is being promoted
	//
	// required: true
	FromEnvironment string `json:"fromEnvironment" yaml:"fromEnvironment"`

	// Environment name, to which the Radix deployment is being promoted
	//
	// required: true
	ToEnvironment string `json:"toEnvironment" yaml:"toEnvironment"`

	// CommitID of the promoted deployment
	//
	// required: false
	CommitID string `json:"commitID" yaml:"commitID"`
}

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"`
	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
	// +kubebuilder:validation:MaxLength=40
	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"`

	// EmptyDir settings for EmptyDir volume
	EmptyDir *RadixEmptyDirVolumeMount `json:"emptyDir,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.

func (*RadixVolumeMount) HasAzureFile added in v1.50.0

func (v *RadixVolumeMount) HasAzureFile() bool

func (*RadixVolumeMount) HasBlobFuse2 added in v1.50.0

func (v *RadixVolumeMount) HasBlobFuse2() bool

func (*RadixVolumeMount) HasDeprecatedVolume added in v1.50.0

func (v *RadixVolumeMount) HasDeprecatedVolume() bool

func (*RadixVolumeMount) HasEmptyDir added in v1.50.0

func (v *RadixVolumeMount) HasEmptyDir() bool

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"`
}

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 SubPipeline added in v1.52.0

type SubPipeline struct {
	// Defines variables, that will be available in sub-pipelines.
	// +optional
	Variables EnvVarsMap `json:"variables,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"`
}

SubPipeline configuration

func (*SubPipeline) DeepCopy added in v1.52.0

func (in *SubPipeline) DeepCopy() *SubPipeline

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

func (*SubPipeline) DeepCopyInto added in v1.52.0

func (in *SubPipeline) DeepCopyInto(out *SubPipeline)

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