v1alpha1

package
v0.0.0-...-f08fe41 Latest Latest
Warning

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

Go to latest
Published: Aug 26, 2025 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Copyright Axis Communications AB.

For a full list of individual contributors, please see the commit history.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Package v1alpha1 contains API Schema definitions for the etos v1alpha1 API group +kubebuilder:object:generate=true +groupName=etos.eiffel-community.github.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "etos.eiffel-community.github.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type Cluster

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

	Spec   ClusterSpec   `json:"spec,omitempty"`
	Status ClusterStatus `json:"status,omitempty"`
}

Cluster is the Schema for the clusters API +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].status" +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].message"

func (*Cluster) DeepCopy

func (in *Cluster) DeepCopy() *Cluster

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

func (*Cluster) DeepCopyInto

func (in *Cluster) DeepCopyInto(out *Cluster)

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

func (*Cluster) DeepCopyObject

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

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

type ClusterList

type ClusterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Cluster `json:"items"`
}

ClusterList contains a list of Cluster

func (*ClusterList) DeepCopy

func (in *ClusterList) DeepCopy() *ClusterList

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

func (*ClusterList) DeepCopyInto

func (in *ClusterList) DeepCopyInto(out *ClusterList)

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

func (*ClusterList) DeepCopyObject

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

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

type ClusterSpec

type ClusterSpec struct {
	// +kubebuilder:default={}
	ETOS ETOS `json:"etos"`
	// +kubebuilder:default={}
	Database Database `json:"database"`
	// +kubebuilder:default={}
	MessageBus MessageBus `json:"messageBus"`
	// +kubebuilder:default={}
	EventRepository EventRepository `json:"eventRepository"`
	// +kubebuilder:default={}
	OpenTelemetry OpenTelemetry `json:"openTelemetry"`
}

ClusterSpec defines the desired state of Cluster

func (*ClusterSpec) DeepCopy

func (in *ClusterSpec) DeepCopy() *ClusterSpec

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

func (*ClusterSpec) DeepCopyInto

func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)

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

type ClusterStatus

type ClusterStatus struct {
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}

ClusterStatus defines the observed state of Cluster

func (*ClusterStatus) DeepCopy

func (in *ClusterStatus) DeepCopy() *ClusterStatus

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

func (*ClusterStatus) DeepCopyInto

func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)

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

type Database

type Database struct {
	// +kubebuilder:default=true
	// +optional
	Deploy bool `json:"deploy"`
	// +kubebuilder:default={}
	// +optional
	Etcd Etcd `json:"etcd"`
}

Database describes the deployment of a database for ETOS.

func (*Database) DeepCopy

func (in *Database) DeepCopy() *Database

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

func (*Database) DeepCopyInto

func (in *Database) DeepCopyInto(out *Database)

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

type ETOS

type ETOS struct {
	// +kubebuilder:default={"image": "ghcr.io/eiffel-community/etos-api:latest"}
	// +optional
	API ETOSAPI `json:"api"`
	// +kubebuilder:default={"image": "ghcr.io/eiffel-community/etos-sse:latest"}
	// +optional
	SSE ETOSSSE `json:"sse"`
	// +kubebuilder:default={"image": "ghcr.io/eiffel-community/etos-log-area:latest"}
	// +optional
	LogArea ETOSLogArea `json:"logArea"`
	// +kubebuilder:default={"image": "ghcr.io/eiffel-community/etos-suite-runner:latest", "logListener": {"image": "ghcr.io/eiffel-community/etos-log-listener:latest"}}
	// +optional
	SuiteRunner ETOSSuiteRunner `json:"suiteRunner"`
	// +kubebuilder:default={"version": "latest"}
	// +optional
	TestRunner ETOSTestRunner `json:"testRunner"`
	// +kubebuilder:default={"image": "ghcr.io/eiffel-community/etos-suite-starter:latest"}
	// +optional
	SuiteStarter ETOSSuiteStarter `json:"suiteStarter"`
	// +kubebuilder:default={"image": "ghcr.io/eiffel-community/etos-environment-provider:latest"}
	// +optional
	EnvironmentProvider ETOSEnvironmentProvider `json:"environmentProvider"`
	Ingress             Ingress                 `json:"ingress,omitempty"`
	// +kubebuilder:default={"encryptionKey": {"value": ""}}
	// +optional
	Config ETOSConfig `json:"config"`
}

ETOS describes the deployment of an ETOS cluster.

func (*ETOS) DeepCopy

func (in *ETOS) DeepCopy() *ETOS

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

func (*ETOS) DeepCopyInto

func (in *ETOS) DeepCopyInto(out *ETOS)

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

type ETOSAPI

type ETOSAPI struct {
	Image `json:",inline"`
	// The provider secrets are necessary in order deploy and run ETOS without using the
	// kubernetes controller.
	// They can be removed from here when the suite starter is no longer in use.
	// +optional
	IUTProviderSecret string `json:"iutProviderSecret"`
	// +optional
	ExecutionSpaceProviderSecret string `json:"executionSpaceProviderSecret"`
	// +optional
	LogAreaProviderSecret string `json:"logAreaProviderSecret"`
	// +kubebuilder:default=1
	// +optional
	Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,1,opt,name=replicas"`
}

ETOSAPI describes the deployment of the ETOS API.

func (*ETOSAPI) DeepCopy

func (in *ETOSAPI) DeepCopy() *ETOSAPI

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

func (*ETOSAPI) DeepCopyInto

func (in *ETOSAPI) DeepCopyInto(out *ETOSAPI)

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

type ETOSConfig

type ETOSConfig struct {
	// +kubebuilder:default="true"
	// +optional
	Dev string `json:"dev"`
	// +kubebuilder:default="60"
	// +optional
	EventDataTimeout string `json:"eventDataTimeout"`
	// +kubebuilder:default="10"
	// +optional
	TestSuiteTimeout string `json:"testSuiteTimeout"`
	// +kubebuilder:default="3600"
	// +optional
	EnvironmentTimeout string `json:"environmentTimeout"`
	// +kubebuilder:default="ETOS"
	// +optional
	Source string `json:"source"`

	// +optional
	TestRunRetention Retention `json:"testrunRetention,omitempty"`

	// +kubebuilder:default={"value": ""}
	EncryptionKey Var `json:"encryptionKey"`

	ETOSApiURL             string `json:"etosApiURL,omitempty"`
	ETOSEventRepositoryURL string `json:"etosEventRepositoryURL,omitempty"`

	// +kubebuilder:default="etos"
	// +optional
	RoutingKeyTag string `json:"routingKeyTag"`

	Timezone string `json:"timezone,omitempty"`
}

ETOSConfig describes a common configuration for ETOS.

func (*ETOSConfig) DeepCopy

func (in *ETOSConfig) DeepCopy() *ETOSConfig

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

func (*ETOSConfig) DeepCopyInto

func (in *ETOSConfig) DeepCopyInto(out *ETOSConfig)

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

type ETOSEnvironmentProvider

type ETOSEnvironmentProvider struct {
	Image `json:",inline"`
}

ETOSEnvironmentProvider describes the deployment of an ETOS environment provider.

func (*ETOSEnvironmentProvider) DeepCopy

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

func (*ETOSEnvironmentProvider) DeepCopyInto

func (in *ETOSEnvironmentProvider) DeepCopyInto(out *ETOSEnvironmentProvider)

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

type ETOSLogArea

type ETOSLogArea struct {
	Image `json:",inline"`
}

ETOSLogArea describes th deployment of an ETOS log area API.

func (*ETOSLogArea) DeepCopy

func (in *ETOSLogArea) DeepCopy() *ETOSLogArea

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

func (*ETOSLogArea) DeepCopyInto

func (in *ETOSLogArea) DeepCopyInto(out *ETOSLogArea)

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

type ETOSLogListener

type ETOSLogListener struct {
	Image `json:",inline"`
	// +kubebuilder:default="etos-*-temp"
	// +optional
	ETOSQueueName string `json:"etosQueueName,omitempty"`
	// +kubebuilder:default=""
	// +optional
	ETOSQueueParams string `json:"etosQueueParams,omitempty"`
}

ETOSLogListener describes the deployment of an ETOS log listener.

func (*ETOSLogListener) DeepCopy

func (in *ETOSLogListener) DeepCopy() *ETOSLogListener

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

func (*ETOSLogListener) DeepCopyInto

func (in *ETOSLogListener) DeepCopyInto(out *ETOSLogListener)

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

type ETOSSSE

type ETOSSSE struct {
	Image `json:",inline"`
}

ETOSSSE describes th deployment of an ETOS Server Sent Events API.

func (*ETOSSSE) DeepCopy

func (in *ETOSSSE) DeepCopy() *ETOSSSE

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

func (*ETOSSSE) DeepCopyInto

func (in *ETOSSSE) DeepCopyInto(out *ETOSSSE)

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

type ETOSSuiteRunner

type ETOSSuiteRunner struct {
	Image       `json:",inline"`
	LogListener ETOSLogListener `json:"logListener"`
}

ETOSSuiteRunner describes the deployment of an ETOS suite runner.

func (*ETOSSuiteRunner) DeepCopy

func (in *ETOSSuiteRunner) DeepCopy() *ETOSSuiteRunner

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

func (*ETOSSuiteRunner) DeepCopyInto

func (in *ETOSSuiteRunner) DeepCopyInto(out *ETOSSuiteRunner)

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

type ETOSSuiteStarter

type ETOSSuiteStarter struct {
	Image `json:",inline"`
	// +kubebuilder:default="etos-suite-starter"
	// +optional
	EiffelQueueName string `json:"eiffelQueueName,omitempty"`
	// +kubebuilder:default=""
	// +optional
	EiffelQueueParams string `json:"eiffelQueueParams,omitempty"`
	// Provide a custom suite runner template.
	// +kubebuilder:default=""
	// +optional
	SuiteRunnerTemplateSecretName string `json:"suiteRunnerTemplateSecretName,omitempty"`
	// +kubebuilder:default={"ttl": "3600", "gracePeriod": "300"}
	// +optional
	Config ETOSSuiteStarterConfig `json:"config"`
	// +kubebuilder:default=1
	// +optional
	Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,1,opt,name=replicas"`
}

ETOSSuiteStarter describes the deployment of an ETOS suite starter.

func (*ETOSSuiteStarter) DeepCopy

func (in *ETOSSuiteStarter) DeepCopy() *ETOSSuiteStarter

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

func (*ETOSSuiteStarter) DeepCopyInto

func (in *ETOSSuiteStarter) DeepCopyInto(out *ETOSSuiteStarter)

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

type ETOSSuiteStarterConfig

type ETOSSuiteStarterConfig struct {
	// +kubebuilder:default="3600"
	// +optional
	TTL string `json:"ttl,omitempty"`
	// +kubebuilder:default="300"
	// +optional
	GracePeriod string `json:"gracePeriod,omitempty"`
	// +kubebuilder:default=""
	// +optional
	SidecarImage string `json:"sidecarImage,omitempty"`
}

ETOSSuiteStarterConfig describes the configuration required for a suite starter. This is separate from the ETOSConfig as we want to remove this in the future when the suite starter is no longer in use.

func (*ETOSSuiteStarterConfig) DeepCopy

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

func (*ETOSSuiteStarterConfig) DeepCopyInto

func (in *ETOSSuiteStarterConfig) DeepCopyInto(out *ETOSSuiteStarterConfig)

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

type ETOSTestRunner

type ETOSTestRunner struct {
	Version string `json:"version"`
}

ETOSTestRunner describes the deployment of an ETOS test runner.

func (*ETOSTestRunner) DeepCopy

func (in *ETOSTestRunner) DeepCopy() *ETOSTestRunner

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

func (*ETOSTestRunner) DeepCopyInto

func (in *ETOSTestRunner) DeepCopyInto(out *ETOSTestRunner)

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

type Environment

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

	Spec   EnvironmentSpec   `json:"spec,omitempty"`
	Status EnvironmentStatus `json:"status,omitempty"`
}

Environment is the Schema for the environments API +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Active\")].status" +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type==\"Active\")].reason" +kubebuilder:printcolumn:name="Description",type="string",JSONPath=".status.conditions[?(@.type==\"Active\")].message"

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.

func (*Environment) DeepCopyObject

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

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

type EnvironmentList

type EnvironmentList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Environment `json:"items"`
}

EnvironmentList contains a list of Environment

func (*EnvironmentList) DeepCopy

func (in *EnvironmentList) DeepCopy() *EnvironmentList

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

func (*EnvironmentList) DeepCopyInto

func (in *EnvironmentList) DeepCopyInto(out *EnvironmentList)

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

func (*EnvironmentList) DeepCopyObject

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

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

type EnvironmentProvider

type EnvironmentProvider struct {
	*Image `json:",inline"`
}

func (*EnvironmentProvider) DeepCopy

func (in *EnvironmentProvider) DeepCopy() *EnvironmentProvider

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

func (*EnvironmentProvider) DeepCopyInto

func (in *EnvironmentProvider) DeepCopyInto(out *EnvironmentProvider)

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

type EnvironmentProviderJobConfig

type EnvironmentProviderJobConfig struct {
	EiffelMessageBus  RabbitMQ `json:"eiffelMessageBus"`
	EtosMessageBus    RabbitMQ `json:"etosMessageBus"`
	EtosApi           string   `json:"etosApi"`
	EncryptionKey     Var      `json:"encryptionKeySecretRef"`
	EtcdHost          string   `json:"etcdHost"`
	EtcdPort          string   `json:"etcdPort"`
	GraphQlServer     string   `json:"graphQlServer"`
	RoutingKeyTag     string   `json:"routingKeyTag"`
	WaitForTimeout    string   `json:"waitForTimeout"`
	TestRunnerVersion string   `json:"testRunnerVersion"`

	EnvironmentProviderEventDataTimeout string            `json:"environmentProviderEventDataTimeout"`
	EnvironmentProviderImage            string            `json:"environmentProviderImage"`
	EnvironmentProviderImagePullPolicy  corev1.PullPolicy `json:"environmentProviderImagePullPolicy"`
	EnvironmentProviderServiceAccount   string            `json:"environmentProviderServiceAccount"`
	EnvironmentProviderTestSuiteTimeout string            `json:"environmentProviderTestSuiteTimeout"`
}

EnvironmentProviderJobConfig defines parameters required by environment provider job

func (*EnvironmentProviderJobConfig) DeepCopy

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

func (*EnvironmentProviderJobConfig) DeepCopyInto

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

type EnvironmentProviders

type EnvironmentProviders struct {
	IUT            IutProvider            `json:"iut,omitempty"`
	ExecutionSpace ExecutionSpaceProvider `json:"executionSpace,omitempty"`
	LogArea        LogAreaProvider        `json:"logArea,omitempty"`
}

func (*EnvironmentProviders) DeepCopy

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

func (*EnvironmentProviders) DeepCopyInto

func (in *EnvironmentProviders) DeepCopyInto(out *EnvironmentProviders)

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

type EnvironmentRequest

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

	Spec   EnvironmentRequestSpec   `json:"spec,omitempty"`
	Status EnvironmentRequestStatus `json:"status,omitempty"`
}

EnvironmentRequest is the Schema for the environmentrequests API +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].status" +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].reason" +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].message"

func (*EnvironmentRequest) DeepCopy

func (in *EnvironmentRequest) DeepCopy() *EnvironmentRequest

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

func (*EnvironmentRequest) DeepCopyInto

func (in *EnvironmentRequest) DeepCopyInto(out *EnvironmentRequest)

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

func (*EnvironmentRequest) DeepCopyObject

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

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

func (*EnvironmentRequest) Hub

func (*EnvironmentRequest) Hub()

Hub marks this type as a conversion hub.

type EnvironmentRequestList

type EnvironmentRequestList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []EnvironmentRequest `json:"items"`
}

EnvironmentRequestList contains a list of EnvironmentRequest

func (*EnvironmentRequestList) DeepCopy

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

func (*EnvironmentRequestList) DeepCopyInto

func (in *EnvironmentRequestList) DeepCopyInto(out *EnvironmentRequestList)

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

func (*EnvironmentRequestList) DeepCopyObject

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

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

type EnvironmentRequestSpec

type EnvironmentRequestSpec struct {
	// ID is the ID for the environments generated. Will be generated if nil. The ID is a UUID, any version, and regex matches that.
	// +kubebuilder:validation:Pattern="^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
	ID   string `json:"id,omitempty"`
	Name string `json:"name,omitempty"`

	*Image        `json:",inline"`
	Identifier    string `json:"identifier,omitempty"`
	Artifact      string `json:"artifact,omitempty"`
	Identity      string `json:"identity,omitempty"`
	MinimumAmount int    `json:"minimumAmount"`
	MaximumAmount int    `json:"maximumAmount"`
	// TODO: Dataset per provider?
	Dataset *apiextensionsv1.JSON `json:"dataset,omitempty"`

	Providers          EnvironmentProviders         `json:"providers"`
	Splitter           Splitter                     `json:"splitter"`
	ServiceAccountName string                       `json:"serviceaccountname,omitempty"`
	Config             EnvironmentProviderJobConfig `json:"Config,omitempty"`
}

EnvironmentRequestSpec defines the desired state of EnvironmentRequest

func (*EnvironmentRequestSpec) DeepCopy

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

func (*EnvironmentRequestSpec) DeepCopyInto

func (in *EnvironmentRequestSpec) DeepCopyInto(out *EnvironmentRequestSpec)

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

type EnvironmentRequestStatus

type EnvironmentRequestStatus struct {
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`

	EnvironmentProviders []corev1.ObjectReference `json:"environmentProviders,omitempty"`

	StartTime      *metav1.Time `json:"startTime,omitempty"`
	CompletionTime *metav1.Time `json:"completionTime,omitempty"`
}

EnvironmentRequestStatus defines the observed state of EnvironmentRequest

func (*EnvironmentRequestStatus) DeepCopy

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

func (*EnvironmentRequestStatus) DeepCopyInto

func (in *EnvironmentRequestStatus) DeepCopyInto(out *EnvironmentRequestStatus)

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

type EnvironmentSpec

type EnvironmentSpec struct {
	Name string `json:"name"`

	// +kubebuilder:validation:Pattern="^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
	SuiteID string `json:"suite_id"`
	// +kubebuilder:validation:Pattern="^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
	SubSuiteID string `json:"sub_suite_id"`
	// +kubebuilder:validation:Pattern="^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
	MainSuiteID string `json:"test_suite_started_id"`
	// +kubebuilder:validation:Pattern="^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
	Artifact string `json:"artifact"`
	// +kubebuilder:validation:Pattern="^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
	Context string `json:"context"`

	Priority   int                   `json:"priority"`
	Tests      []Test                `json:"recipes"`
	TestRunner string                `json:"test_runner"`
	Iut        *apiextensionsv1.JSON `json:"iut"`
	Executor   *apiextensionsv1.JSON `json:"executor"`
	LogArea    *apiextensionsv1.JSON `json:"log_area"`
}

EnvironmentSpec defines the desired state of Environment

func (*EnvironmentSpec) DeepCopy

func (in *EnvironmentSpec) DeepCopy() *EnvironmentSpec

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

func (*EnvironmentSpec) DeepCopyInto

func (in *EnvironmentSpec) DeepCopyInto(out *EnvironmentSpec)

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

type EnvironmentStatus

type EnvironmentStatus struct {
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`

	EnvironmentReleasers []corev1.ObjectReference `json:"environmentReleasers,omitempty"`

	CompletionTime *metav1.Time `json:"completionTime,omitempty"`
}

EnvironmentStatus defines the observed state of Environment

func (*EnvironmentStatus) DeepCopy

func (in *EnvironmentStatus) DeepCopy() *EnvironmentStatus

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

func (*EnvironmentStatus) DeepCopyInto

func (in *EnvironmentStatus) DeepCopyInto(out *EnvironmentStatus)

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

type Etcd

type Etcd struct {
	// Host specifies the ETCD server hostname.
	// +kubebuilder:default="etcd-client"
	// +optional
	Host string `json:"host"`
	// Port specifies the ETCD port number.
	// +kubebuilder:default="2379"
	// +optional
	Port string `json:"port"`
	// Resources describes compute resource requirements per etcd pod which are three in a cluster.
	// +kubebuilder:default={"limits": {"cpu": "300m", "memory": "768Mi"}, "requests": {"cpu": "300m", "memory": "768Mi"}}
	// +optional
	Resources EtcdResources `json:"resources"`
}

Etcd describes the deployment of an ETCD database. Ignored if Deploy is set to false.

func (*Etcd) DeepCopy

func (in *Etcd) DeepCopy() *Etcd

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

func (*Etcd) DeepCopyInto

func (in *Etcd) DeepCopyInto(out *Etcd)

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

type EtcdResourceList

type EtcdResourceList struct {
	// CPU resource.
	// +kubebuilder:default="300m"
	// +optional
	CPU string `json:"cpu"`

	// Memory resource.
	// +kubebuilder:default="768Mi"
	// +optional
	Memory string `json:"memory"`
}

EtcdResourceList describes CPU and memory resources.

func (*EtcdResourceList) DeepCopy

func (in *EtcdResourceList) DeepCopy() *EtcdResourceList

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

func (*EtcdResourceList) DeepCopyInto

func (in *EtcdResourceList) DeepCopyInto(out *EtcdResourceList)

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

type EtcdResources

type EtcdResources struct {
	// Limits describes the maximum amount of compute resources allowed.
	// +kubebuilder:default={"cpu": "300m", "memory": "768Mi"}
	// +optional
	Limits EtcdResourceList `json:"limits"`

	// Requests describes the minimum amount of compute resources required.
	// +kubebuilder:default={"cpu": "300m", "memory": "768Mi"}
	// +optional
	Requests EtcdResourceList `json:"requests"`
}

EtcdResources describes compute resource requirements for Etcd.

func (*EtcdResources) DeepCopy

func (in *EtcdResources) DeepCopy() *EtcdResources

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

func (*EtcdResources) DeepCopyInto

func (in *EtcdResources) DeepCopyInto(out *EtcdResources)

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

type EventRepository

type EventRepository struct {
	// Deploy a local event repository for a cluster.
	// +kubebuilder:default=false
	// +optional
	Deploy bool `json:"deploy"`

	// We do not build the GraphQL API automatically nor publish it remotely.
	// This will need to be provided to work.
	// +kubebuilder:default={"image": "registry.nordix.org/eiffel/eiffel-graphql-api:latest"}
	// +optional
	API Image `json:"api"`

	// We do not build the GraphQL API automatically nor publish it remotely.
	// This will need to be provided to work.
	// +kubebuilder:default={"image": "registry.nordix.org/eiffel/eiffel-graphql-storage:latest"}
	// +optional
	Storage Image `json:"storage"`
	// +kubebuilder:default="etos"
	// +optional
	EiffelQueueName string `json:"eiffelQueueName,omitempty"`
	// +kubebuilder:default=""
	// +optional
	EiffelQueueParams string `json:"eiffelQueueParams,omitempty"`

	// +kubebuilder:default={}
	// +optional
	Database MongoDB `json:"mongo"`
	// +kubebuilder:default="eventrepository"
	// +optional
	Host string `json:"host"`
	// +kubebuilder:default={}
	// +optional
	Ingress Ingress `json:"ingress"`
}

EventRepository describes the deployment of an event repository for ETOS.

func (*EventRepository) DeepCopy

func (in *EventRepository) DeepCopy() *EventRepository

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

func (*EventRepository) DeepCopyInto

func (in *EventRepository) DeepCopyInto(out *EventRepository)

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

type Execution

type Execution struct {
	Checkout    []string          `json:"checkout"`
	Parameters  map[string]string `json:"parameters"`
	Environment map[string]string `json:"environment"`
	Command     string            `json:"command"`
	Execute     []string          `json:"execute,omitempty"`
	TestRunner  string            `json:"testRunner"`
}

Execution describes how to execute a testCase.

func (*Execution) DeepCopy

func (in *Execution) DeepCopy() *Execution

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

func (*Execution) DeepCopyInto

func (in *Execution) DeepCopyInto(out *Execution)

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

type ExecutionSpaceProvider

type ExecutionSpaceProvider struct {
	ID         string `json:"id"`
	TestRunner string `json:"testRunner"`
}

func (*ExecutionSpaceProvider) DeepCopy

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

func (*ExecutionSpaceProvider) DeepCopyInto

func (in *ExecutionSpaceProvider) DeepCopyInto(out *ExecutionSpaceProvider)

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

type Healthcheck

type Healthcheck struct {
	// +kubebuilder:default=/v1alpha1/selftest/ping
	// +optional
	Endpoint string `json:"endpoint"`
	// +kubebuilder:default=30
	// +optional
	IntervalSeconds int `json:"intervalSeconds"`
}

Healthcheck defines the health check endpoint and interval for providers. The defaults of this should work most of the time.

func (*Healthcheck) DeepCopy

func (in *Healthcheck) DeepCopy() *Healthcheck

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

func (*Healthcheck) DeepCopyInto

func (in *Healthcheck) DeepCopyInto(out *Healthcheck)

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

type Image

type Image struct {
	Image string `json:"image"`

	// +kubebuilder:default="IfNotPresent"
	// +optional
	ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy"`
}

Image configuration.

func (*Image) DeepCopy

func (in *Image) DeepCopy() *Image

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

func (*Image) DeepCopyInto

func (in *Image) DeepCopyInto(out *Image)

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

type Ingress

type Ingress struct {
	// +kubebuilder:default=false
	// +optional
	Enabled      bool   `json:"enabled"`
	IngressClass string `json:"ingressClass,omitempty"`
	// +kubebuilder:default=""
	Host        string            `json:"host,omitempty"`
	Annotations map[string]string `json:"annotations,omitempty"`
}

Ingress configuration.

func (*Ingress) DeepCopy

func (in *Ingress) DeepCopy() *Ingress

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

func (*Ingress) DeepCopyInto

func (in *Ingress) DeepCopyInto(out *Ingress)

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

type IutProvider

type IutProvider struct {
	ID string `json:"id"`
}

func (*IutProvider) DeepCopy

func (in *IutProvider) DeepCopy() *IutProvider

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

func (*IutProvider) DeepCopyInto

func (in *IutProvider) DeepCopyInto(out *IutProvider)

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

type JSONTas

type JSONTas struct {
	Image string `json:"image,omitempty"`
	// These are pointers so that they become nil in the Provider object in Kubernetes
	// and don't muddle up the yaml with empty data.
	Iut            *JSONTasIut            `json:"iut,omitempty"`
	ExecutionSpace *JSONTasExecutionSpace `json:"execution_space,omitempty"`
	LogArea        *JSONTasLogArea        `json:"log,omitempty"`
}

JSONTas defines the definitions that a JSONTas provider shall use.

func (*JSONTas) DeepCopy

func (in *JSONTas) DeepCopy() *JSONTas

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

func (*JSONTas) DeepCopyInto

func (in *JSONTas) DeepCopyInto(out *JSONTas)

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

type JSONTasExecutionSpace

type JSONTasExecutionSpace struct {
	ID       string                `json:"id"`
	Checkin  *apiextensionsv1.JSON `json:"checkin,omitempty"`
	Checkout *apiextensionsv1.JSON `json:"checkout,omitempty"`
	List     JSONTasList           `json:"list"`
}

JSONTasExecutionSpace is the execution space provider definition for the JSONTas provider

func (*JSONTasExecutionSpace) DeepCopy

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

func (*JSONTasExecutionSpace) DeepCopyInto

func (in *JSONTasExecutionSpace) DeepCopyInto(out *JSONTasExecutionSpace)

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

type JSONTasIUTPrepare

type JSONTasIUTPrepare struct {
	Stages JSONTasPrepareStages `json:"stages"`
}

JSONTasIUTPrepare defines the preparation required for an IUT.

func (*JSONTasIUTPrepare) DeepCopy

func (in *JSONTasIUTPrepare) DeepCopy() *JSONTasIUTPrepare

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

func (*JSONTasIUTPrepare) DeepCopyInto

func (in *JSONTasIUTPrepare) DeepCopyInto(out *JSONTasIUTPrepare)

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

type JSONTasIut

type JSONTasIut struct {
	ID       string                `json:"id"`
	Checkin  *apiextensionsv1.JSON `json:"checkin,omitempty"`
	Checkout *apiextensionsv1.JSON `json:"checkout,omitempty"`
	List     JSONTasList           `json:"list"`
	Prepare  JSONTasIUTPrepare     `json:"prepare,omitempty"`
}

JSONTasIut is the IUT provider definition for the JSONTas provider.

func (*JSONTasIut) DeepCopy

func (in *JSONTasIut) DeepCopy() *JSONTasIut

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

func (*JSONTasIut) DeepCopyInto

func (in *JSONTasIut) DeepCopyInto(out *JSONTasIut)

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

type JSONTasList

type JSONTasList struct {
	Possible  *apiextensionsv1.JSON `json:"possible"`
	Available *apiextensionsv1.JSON `json:"available"`
}

JSONTasList is the List command in the JSONTas provider.

func (*JSONTasList) DeepCopy

func (in *JSONTasList) DeepCopy() *JSONTasList

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

func (*JSONTasList) DeepCopyInto

func (in *JSONTasList) DeepCopyInto(out *JSONTasList)

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

type JSONTasLogArea

type JSONTasLogArea struct {
	ID       string                `json:"id"`
	Checkin  *apiextensionsv1.JSON `json:"checkin,omitempty"`
	Checkout *apiextensionsv1.JSON `json:"checkout,omitempty"`
	List     JSONTasList           `json:"list"`
}

JSONTasLogArea is the log area provider definition for the JSONTas provider

func (*JSONTasLogArea) DeepCopy

func (in *JSONTasLogArea) DeepCopy() *JSONTasLogArea

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

func (*JSONTasLogArea) DeepCopyInto

func (in *JSONTasLogArea) DeepCopyInto(out *JSONTasLogArea)

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

type JSONTasPrepareStages

type JSONTasPrepareStages struct {
	// Underscore used in these due to backwards compatibility
	EnvironmentProvider Stage `json:"environment_provider"`
	SuiteRunner         Stage `json:"suite_runner"`
	TestRunner          Stage `json:"test_runner"`
}

JSONTasIUTPrepareStages defines the preparation stages required for an IUT.

func (*JSONTasPrepareStages) DeepCopy

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

func (*JSONTasPrepareStages) DeepCopyInto

func (in *JSONTasPrepareStages) DeepCopyInto(out *JSONTasPrepareStages)

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

type LogAreaProvider

type LogAreaProvider struct {
	ID string `json:"id"`
}

func (*LogAreaProvider) DeepCopy

func (in *LogAreaProvider) DeepCopy() *LogAreaProvider

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

func (*LogAreaProvider) DeepCopyInto

func (in *LogAreaProvider) DeepCopyInto(out *LogAreaProvider)

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

type LogListener

type LogListener struct {
	*Image `json:",inline"`
}

func (*LogListener) DeepCopy

func (in *LogListener) DeepCopy() *LogListener

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

func (*LogListener) DeepCopyInto

func (in *LogListener) DeepCopyInto(out *LogListener)

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

type MessageBus

type MessageBus struct {
	// +optional
	EiffelMessageBus RabbitMQ `json:"eiffel"`
	// +optional
	ETOSMessageBus RabbitMQ `json:"logs"`
}

MessageBus describes the deployment of messagesbuses for ETOS.

func (*MessageBus) DeepCopy

func (in *MessageBus) DeepCopy() *MessageBus

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

func (*MessageBus) DeepCopyInto

func (in *MessageBus) DeepCopyInto(out *MessageBus)

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

type MongoDB

type MongoDB struct {
	// +kubebuilder:default=false
	// +optional
	Deploy bool `json:"deploy"`
	// Ignored if deploy is true
	// +kubebuilder:default={"value": "mongodb://root:password@mongodb:27017/admin"}
	// +optional
	URI Var `json:"uri"`
}

MongoDB describes the deployment of a MongoDB.

func (*MongoDB) DeepCopy

func (in *MongoDB) DeepCopy() *MongoDB

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

func (*MongoDB) DeepCopyInto

func (in *MongoDB) DeepCopyInto(out *MongoDB)

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

type OpenTelemetry

type OpenTelemetry struct {
	// Enable opentelemetry support, adding the environment variables to services.
	// +kubebuilder:default=false
	// +optional
	Enabled bool `json:"enabled"`

	// Sets the OTEL_EXPORTER_OTLP_ENDPOINT environment variable
	// +kubebuilder:default="http://localhost:4317"
	// +optional
	Endpoint string `json:"endpoint"`

	// Sets the OTEL_EXPORTER_OTLP_INSECURE environment variable
	// +kubebuilder:default="true"
	// +optional
	Insecure string `json:"insecure"`
}

OpenTelemetry describes a deployment of an opentelemetry collector for ETOS to use.

func (*OpenTelemetry) DeepCopy

func (in *OpenTelemetry) DeepCopy() *OpenTelemetry

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

func (*OpenTelemetry) DeepCopyInto

func (in *OpenTelemetry) DeepCopyInto(out *OpenTelemetry)

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

type Provider

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

	Spec   ProviderSpec   `json:"spec,omitempty"`
	Status ProviderStatus `json:"status,omitempty"`
}

Provider is the Schema for the providers API +kubebuilder:printcolumn:name="Available",type="string",JSONPath=".status.conditions[?(@.type==\"Available\")].status" +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type==\"Available\")].reason" +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type==\"Available\")].message"

func (*Provider) DeepCopy

func (in *Provider) DeepCopy() *Provider

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

func (*Provider) DeepCopyInto

func (in *Provider) DeepCopyInto(out *Provider)

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

func (*Provider) DeepCopyObject

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

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

func (*Provider) Hub

func (*Provider) Hub()

Hub marks this type as a conversion hub.

type ProviderList

type ProviderList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Provider `json:"items"`
}

ProviderList contains a list of Provider

func (*ProviderList) DeepCopy

func (in *ProviderList) DeepCopy() *ProviderList

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

func (*ProviderList) DeepCopyInto

func (in *ProviderList) DeepCopyInto(out *ProviderList)

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

func (*ProviderList) DeepCopyObject

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

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

type ProviderSpec

type ProviderSpec struct {
	// +kubebuilder:validation:Enum=execution-space;iut;log-area
	Type string `json:"type"`
	// +optional
	Host string `json:"host,omitempty"`

	// +kubebuilder:default={}
	// +optional
	Healthcheck *Healthcheck `json:"healthCheck,omitempty"`

	// These are pointers so that they become nil in the Provider object in Kubernetes
	// and don't muddle up the yaml with empty data.
	JSONTas       *JSONTas   `json:"jsontas,omitempty"`
	JSONTasSource *VarSource `json:"jsontasSource,omitempty"`
}

ProviderSpec defines the desired state of Provider

func (*ProviderSpec) DeepCopy

func (in *ProviderSpec) DeepCopy() *ProviderSpec

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

func (*ProviderSpec) DeepCopyInto

func (in *ProviderSpec) DeepCopyInto(out *ProviderSpec)

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

type ProviderStatus

type ProviderStatus struct {
	Conditions          []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
	LastHealthCheckTime *metav1.Time       `json:"lastHealthCheckTime,omitempty"`
}

ProviderStatus defines the observed state of Provider

func (*ProviderStatus) DeepCopy

func (in *ProviderStatus) DeepCopy() *ProviderStatus

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

func (*ProviderStatus) DeepCopyInto

func (in *ProviderStatus) DeepCopyInto(out *ProviderStatus)

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

type Providers

type Providers struct {
	IUT            string `json:"iut"`
	LogArea        string `json:"logArea"`
	ExecutionSpace string `json:"executionSpace"`
}

Providers to use for test execution. These names must correspond to existing Provider kinds in the namespace where a testrun is created.

func (*Providers) DeepCopy

func (in *Providers) DeepCopy() *Providers

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

func (*Providers) DeepCopyInto

func (in *Providers) DeepCopyInto(out *Providers)

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

type RabbitMQ

type RabbitMQ struct {
	// +kubebuilder:default=false
	// +optional
	Deploy bool `json:"deploy"`
	// +kubebuilder:default="rabbitmq"
	// +optional
	Host string `json:"host"`
	// +kubebuilder:default="amq.topic"
	// +optional
	Exchange string `json:"exchange"`
	// +kubebuilder:default={"value": "guest"}
	// +optional
	Password *Var `json:"password,omitempty"`
	// +kubebuilder:default="guest"
	// +optional
	Username string `json:"username,omitempty"`
	// +kubebuilder:default="5672"
	// +optional
	Port string `json:"port"`
	// +kubebuilder:default="false"
	// +optional
	SSL string `json:"ssl"`
	// +kubebuilder:default=/
	// +optional
	Vhost string `json:"vhost"`
}

RabbitMQ configuration.

func (*RabbitMQ) DeepCopy

func (in *RabbitMQ) DeepCopy() *RabbitMQ

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

func (*RabbitMQ) DeepCopyInto

func (in *RabbitMQ) DeepCopyInto(out *RabbitMQ)

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

type Retention

type Retention struct {
	// +optional
	Failure *metav1.Duration `json:"failure,omitempty"`
	// +optional
	Success *metav1.Duration `json:"success,omitempty"`
}

Retention describes the failure and success retentions for testruns.

func (*Retention) DeepCopy

func (in *Retention) DeepCopy() *Retention

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

func (*Retention) DeepCopyInto

func (in *Retention) DeepCopyInto(out *Retention)

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

type Splitter

type Splitter struct {
	Tests []Test `json:"tests"`
}

func (*Splitter) DeepCopy

func (in *Splitter) DeepCopy() *Splitter

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

func (*Splitter) DeepCopyInto

func (in *Splitter) DeepCopyInto(out *Splitter)

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

type Stage

type Stage struct {
	// +kubebuilder:default={}
	// +optional
	Steps *apiextensionsv1.JSON `json:"steps"`
}

Stage is the definition of a stage where to execute steps.

func (*Stage) DeepCopy

func (in *Stage) DeepCopy() *Stage

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

func (*Stage) DeepCopyInto

func (in *Stage) DeepCopyInto(out *Stage)

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

type Suite

type Suite struct {
	// Name of the test suite.
	Name string `json:"name"`

	// Priority to execute the test suite.
	// +kubebuilder:default=1
	Priority int `json:"priority"`

	// Tests to execute as part of this suite.
	Tests []Test `json:"tests"`

	// Dataset for this suite.
	Dataset *apiextensionsv1.JSON `json:"dataset"`
}

Suite to execute.

func (*Suite) DeepCopy

func (in *Suite) DeepCopy() *Suite

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

func (*Suite) DeepCopyInto

func (in *Suite) DeepCopyInto(out *Suite)

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

type SuiteRunner

type SuiteRunner struct {
	*Image `json:",inline"`
}

func (*SuiteRunner) DeepCopy

func (in *SuiteRunner) DeepCopy() *SuiteRunner

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

func (*SuiteRunner) DeepCopyInto

func (in *SuiteRunner) DeepCopyInto(out *SuiteRunner)

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

type Test

type Test struct {
	ID          string          `json:"id"`
	TestCase    TestCase        `json:"testCase"`
	Execution   Execution       `json:"execution"`
	Environment TestEnvironment `json:"environment"`
}

func (*Test) DeepCopy

func (in *Test) DeepCopy() *Test

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

func (*Test) DeepCopyInto

func (in *Test) DeepCopyInto(out *Test)

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

type TestCase

type TestCase struct {
	ID      string `json:"id"`
	Version string `json:"version,omitempty"`
	Tracker string `json:"tracker,omitempty"`
	URI     string `json:"uri,omitempty"`
}

TestCase metadata.

func (*TestCase) DeepCopy

func (in *TestCase) DeepCopy() *TestCase

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

func (*TestCase) DeepCopyInto

func (in *TestCase) DeepCopyInto(out *TestCase)

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

type TestEnvironment

type TestEnvironment struct{}

TestEnvironment to run tests within.

func (*TestEnvironment) DeepCopy

func (in *TestEnvironment) DeepCopy() *TestEnvironment

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

func (*TestEnvironment) DeepCopyInto

func (in *TestEnvironment) DeepCopyInto(out *TestEnvironment)

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

type TestRun

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

	Spec   TestRunSpec   `json:"spec,omitempty"`
	Status TestRunStatus `json:"status,omitempty"`
}

TestRun is the Schema for the testruns API +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="Environment",type="string",JSONPath=".status.conditions[?(@.type==\"Environment\")].reason" +kubebuilder:printcolumn:name="Suiterunner",type="string",JSONPath=".status.conditions[?(@.type==\"SuiteRunner\")].reason" +kubebuilder:printcolumn:name="Active",type="string",JSONPath=".status.conditions[?(@.type==\"Active\")].status" +kubebuilder:printcolumn:name="Verdict",type="string",JSONPath=".status.verdict" +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type==\"Active\")].message" +kubebuilder:printcolumn:name="ID",type="string",JSONPath=.metadata.labels.etos\.eiffel-community\.github\.io/id

func (*TestRun) DeepCopy

func (in *TestRun) DeepCopy() *TestRun

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

func (*TestRun) DeepCopyInto

func (in *TestRun) DeepCopyInto(out *TestRun)

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

func (*TestRun) DeepCopyObject

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

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

func (*TestRun) Hub

func (*TestRun) Hub()

Hub marks this type as a conversion hub.

type TestRunList

type TestRunList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []TestRun `json:"items"`
}

TestRunList contains a list of TestRun

func (*TestRunList) DeepCopy

func (in *TestRunList) DeepCopy() *TestRunList

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

func (*TestRunList) DeepCopyInto

func (in *TestRunList) DeepCopyInto(out *TestRunList)

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

func (*TestRunList) DeepCopyObject

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

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

type TestRunSpec

type TestRunSpec struct {
	// Name of the ETOS cluster to execute the testrun in.
	Cluster string `json:"cluster,omitempty"`

	// ID is the test suite ID for this execution. Will be generated if nil. The ID is a UUID, any version, and regex matches that.
	// +kubebuilder:validation:Pattern="^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
	ID string `json:"id,omitempty"`

	// Artifact is the ID of the software under test. The ID is a UUID, any version, and regex matches that.
	// +kubebuilder:validation:Pattern="^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
	Artifact string `json:"artifact"`

	// +optional
	Retention Retention `json:"retention,omitempty"`

	SuiteRunner         *SuiteRunner         `json:"suiteRunner,omitempty"`
	TestRunner          *TestRunner          `json:"testRunner,omitempty"`
	LogListener         *LogListener         `json:"logListener,omitempty"`
	EnvironmentProvider *EnvironmentProvider `json:"environmentProvider,omitempty"`
	Identity            string               `json:"identity"`
	Providers           Providers            `json:"providers"`
	Suites              []Suite              `json:"suites"`
}

TestRunSpec defines the desired state of TestRun

func (*TestRunSpec) DeepCopy

func (in *TestRunSpec) DeepCopy() *TestRunSpec

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

func (*TestRunSpec) DeepCopyInto

func (in *TestRunSpec) DeepCopyInto(out *TestRunSpec)

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

type TestRunStatus

type TestRunStatus struct {
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`

	SuiteRunners        []corev1.ObjectReference `json:"suiteRunners,omitempty"`
	EnvironmentRequests []corev1.ObjectReference `json:"environmentRequests,omitempty"`

	StartTime      *metav1.Time `json:"startTime,omitempty"`
	CompletionTime *metav1.Time `json:"completionTime,omitempty"`
	Verdict        string       `json:"verdict,omitempty"`
}

TestRunStatus defines the observed state of TestRun

func (*TestRunStatus) DeepCopy

func (in *TestRunStatus) DeepCopy() *TestRunStatus

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

func (*TestRunStatus) DeepCopyInto

func (in *TestRunStatus) DeepCopyInto(out *TestRunStatus)

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

type TestRunner

type TestRunner struct {
	Version string `json:"version"`
}

func (*TestRunner) DeepCopy

func (in *TestRunner) DeepCopy() *TestRunner

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

func (*TestRunner) DeepCopyInto

func (in *TestRunner) DeepCopyInto(out *TestRunner)

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

type Var

type Var struct {
	Value     string    `json:"value,omitempty"`
	ValueFrom VarSource `json:"valueFrom,omitempty"`
}

Var describes either a string value or a value from a VarSource.

func (*Var) DeepCopy

func (in *Var) DeepCopy() *Var

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

func (*Var) DeepCopyInto

func (in *Var) DeepCopyInto(out *Var)

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

func (*Var) Get

func (v *Var) Get(ctx context.Context, client client.Client, namespace string) ([]byte, error)

Get the value from a Var struct. Either through the Value key, secret or configmap.

type VarSource

type VarSource struct {
	ConfigMapKeyRef *corev1.ConfigMapKeySelector `json:"configMapKeyRef,omitempty"`
	SecretKeyRef    *corev1.SecretKeySelector    `json:"secretKeyRef,omitempty"`
}

VarSource describes a value from either a secretmap or configmap.

func (*VarSource) DeepCopy

func (in *VarSource) DeepCopy() *VarSource

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

func (*VarSource) DeepCopyInto

func (in *VarSource) DeepCopyInto(out *VarSource)

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

Jump to

Keyboard shortcuts

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