Documentation ¶
Overview ¶
Package v1beta1 is a version of the API. +groupName=config.testmachinery.gardener.cloud
Package v1beta1 is the v1beta1 version of the API. +k8s:deepcopy-gen=package,register +k8s:openapi-gen=true +k8s:defaulter-gen=TypeMeta +groupName=config.testmachinery.gardener.cloud
Index ¶
- Constants
- Variables
- func Kind(kind string) schema.GroupKind
- func RegisterDefaults(scheme *runtime.Scheme) error
- func Resource(resource string) schema.GroupResource
- type BotConfiguration
- type Certificate
- type Configuration
- type Controller
- type Dashboard
- type DashboardAuthentication
- type DashboardAuthenticationProvider
- type ElasticSearch
- type GitHub
- type GitHubAuthentication
- type GitHubBot
- type GitHubCache
- type HealthCheckTarget
- type LandscapeMapping
- type Locations
- type OAuth
- type S3
- type S3Server
- type TTLController
- type TestMachinery
- type WebhookConfig
- type Webserver
Constants ¶
const ( // ArgoChartName is the name of the chart to bootstrap argo ArgoChartName = "argo" // ArgoManagedResourceName is the name of the managed resource deployment ArgoManagedResourceName = "argo" // ArgoUIImageName is the name of the argo ui image in the image vector ArgoUIImageName = "argo-server" // ArgoWorkflowControllerImageName is the name of the argo workflow controller image in the image vector ArgoWorkflowControllerImageName = "argo-workflow-controller" // ArgoExecutorImageName is the name of the argo executor image in the image vector ArgoExecutorImageName = "argo-executor" // ArgoUIIngressName is the name of the argo ui ingress resource deployed to the cluster ArgoUIIngressName = "argo-server" // ArgoWorkflowControllerDeploymentName is the name workflow controller deployment ArgoWorkflowControllerDeploymentName = "workflow-controller" )
Argo constants
const ( // MinioChartName is the name of the chart to bootstrap minio MinioChartName = "minio" // MinioManagedResourceName is the name of the managed resource deployment MinioManagedResourceName = "minio" // MinioImageName is the name of the minio image in the image vector MinioImageName = "minio" // MinioDeploymentName is the name of the minio deployment or statefulset in the cluster MinioDeploymentName = "minio" // MinioServiceName is the name of the minio service in the cluster MinioServiceName = "minio" // MinioServicePort is the port of the minio service in the cluster MinioServicePort = 9000 )
Minio constants
const ( // LoggingChartName is the name of the chart to bootstrap logging LoggingChartName = "logging" // LoggingManagedResourceName is the name of the managed resource deployment LoggingManagedResourceName = "logging" // LokiImageName is the name of the loki image in the image vector LokiImageName = "loki" // PromtailImageName is the name of the promtail image in the image vector PromtailImageName = "promtail" )
Logging constants
const ( // ReserveExcessCapacityChartName is the name of the chart to deploy reserved excess capacity pods ReserveExcessCapacityChartName = "reserve-excess-capacity" // ReserveExcessCapacityManagedResourceName is the name of the managed resource for reserved excess capicity pods ReserveExcessCapacityManagedResourceName = "reserve-excess-capacity" // ReserveExcessCapacityImageName is the name of the image for reserved excess capicity ReserveExcessCapacityImageName = "reserve-excess-capacity" )
Reserve excess capacity
const GitHubSecretKeyName = "config.yaml" // #nosec G101 -- No credential.
GitHubSecretKeyName is the name of the secret key that contains the github secrets
const GroupName = "config.testmachinery.gardener.cloud"
GroupName is the name of the Garden API group.
const S3SecretName = "s3-secret"
S3SecretName is the name of the secret containing the s3 credentials
Variables ¶
var ( SchemeBuilder runtime.SchemeBuilder AddToScheme = SchemeBuilder.AddToScheme )
var ChartsPath = filepath.Join("charts", "internal")
ChartsPath is the path to the charts
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func RegisterDefaults ¶
RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type BotConfiguration ¶
type BotConfiguration struct { metav1.TypeMeta `json:",inline"` Webserver Webserver `json:"webserver"` Dashboard Dashboard `json:"dashboard"` GitHubBot GitHubBot `json:"githubBot"` }
Configuration contains the testmachinery configuration values
func (*BotConfiguration) DeepCopy ¶
func (in *BotConfiguration) DeepCopy() *BotConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BotConfiguration.
func (*BotConfiguration) DeepCopyInto ¶
func (in *BotConfiguration) DeepCopyInto(out *BotConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BotConfiguration) DeepCopyObject ¶
func (in *BotConfiguration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type Certificate ¶
type Certificate struct { // Cert specifies the path to the certificate file Cert string `json:"cert"` // PrivateKey specifies the path to the private key file PrivateKey string `json:"privateKey"` }
Certificate holds the certificate and its the private key
func (*Certificate) DeepCopy ¶
func (in *Certificate) DeepCopy() *Certificate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Certificate.
func (*Certificate) DeepCopyInto ¶
func (in *Certificate) DeepCopyInto(out *Certificate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Configuration ¶
type Configuration struct { metav1.TypeMeta `json:",inline"` Controller Controller `json:"controller"` TestMachinery TestMachinery `json:"testmachinery"` GitHub GitHub `json:"github,omitempty"` S3 *S3 `json:"s3Configuration,omitempty"` ElasticSearch *ElasticSearch `json:"esConfiguration,omitempty"` ImagePullSecretNames []string `json:"imagePullSecretNames,omitempty"` }
Configuration contains the testmachinery configuration values
func (*Configuration) DeepCopy ¶
func (in *Configuration) DeepCopy() *Configuration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Configuration.
func (*Configuration) DeepCopyInto ¶
func (in *Configuration) DeepCopyInto(out *Configuration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Configuration) DeepCopyObject ¶
func (in *Configuration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type Controller ¶
type Controller struct { // HealthAddr is the address of the healtcheck endpoint. HealthAddr string `json:"healthAddr,omitempty"` // MetricsAddr is the address of the metrics endpoint. MetricsAddr string `json:"metricsAddr,omitempty"` // EnableLeaderElection enables leader election for the controller. EnableLeaderElection bool `json:"enableLeaderElection,omitempty"` // MaxConcurrentSyncs is the max concurrent reconciles the controller does. MaxConcurrentSyncs int `json:"maxConcurrentSyncs,omitempty"` // TTLController contains the ttl controller configuration. TTLController TTLController `json:"ttlController,omitempty"` // WebhookConfig holds the validating webhook configuration. WebhookConfig WebhookConfig `json:"webhook,omitempty"` // DependencyHealthCheck specifies a deployment whose health is relevant for the controller. DependencyHealthCheck HealthCheckTarget `json:"dependencyHealthCheck,omitempty"` }
Controller holds information about the testmachinery controller
func (*Controller) DeepCopy ¶
func (in *Controller) DeepCopy() *Controller
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Controller.
func (*Controller) DeepCopyInto ¶
func (in *Controller) DeepCopyInto(out *Controller)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Dashboard ¶
type Dashboard struct { // UIBasePath specifies the base path for static files and templates UIBasePath string `json:"UIBasePath"` // Authentication to restrict access to specific parts in the dashboard Authentication DashboardAuthentication `json:"authentication"` }
Dashboard contains configuration values for the TestMachinery Dashboard
func (*Dashboard) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Dashboard.
func (*Dashboard) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DashboardAuthentication ¶
type DashboardAuthentication struct { // Provider defines the authentication provider that should be used to authenticate and authorize users // to view testruns. Provider DashboardAuthenticationProvider `json:"provider"` // CookieSecret is the secret for the cookie store // +optional CookieSecret string `json:"cookieSecret"` // GitHub holds the GitHub provider specific configuration // +optional GitHub *GitHubAuthentication `json:"githubConfig"` }
DashboardAuthentication to restrict access to specific parts in the dashboard
func (*DashboardAuthentication) DeepCopy ¶
func (in *DashboardAuthentication) DeepCopy() *DashboardAuthentication
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DashboardAuthentication.
func (*DashboardAuthentication) DeepCopyInto ¶
func (in *DashboardAuthentication) DeepCopyInto(out *DashboardAuthentication)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DashboardAuthenticationProvider ¶
type DashboardAuthenticationProvider string
DashboardAuthenticationProvider is a enum to specify a dashboard authentication method
const ( GitHubAuthProvider DashboardAuthenticationProvider = "github" NoAuthProvider DashboardAuthenticationProvider = "noauth" DummyAuthProvider DashboardAuthenticationProvider = "dummy" )
type ElasticSearch ¶
type ElasticSearch struct { Endpoint string `json:"endpoint,omitempty"` Username string `json:"username,omitempty"` Password string `json:"password,omitempty"` }
ElasticSearch holds information about the elastic instance to write data to.
func (*ElasticSearch) DeepCopy ¶
func (in *ElasticSearch) DeepCopy() *ElasticSearch
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticSearch.
func (*ElasticSearch) DeepCopyInto ¶
func (in *ElasticSearch) DeepCopyInto(out *ElasticSearch)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitHub ¶
type GitHub struct { Cache *GitHubCache `json:"cache,omitempty"` // SecretsPath is the path to the github secrets file SecretsPath string `json:"secretsPath,omitempty"` }
GitHub holds all github related information needed in the testmachinery.
func (*GitHub) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitHub.
func (*GitHub) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitHubAuthentication ¶
type GitHubAuthentication struct { // OAuth GitHub configuration that is used to protect parts of the dashboard // +optional OAuth *OAuth `json:"oAuth"` // Organization is the GitHub organization to restrict access to the bot // +optional Organization string `json:"organization"` // Hostname points to the GitHub instance used for the authentication flow // +optional Hostname string `json:"hostname"` }
func (*GitHubAuthentication) DeepCopy ¶
func (in *GitHubAuthentication) DeepCopy() *GitHubAuthentication
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitHubAuthentication.
func (*GitHubAuthentication) DeepCopyInto ¶
func (in *GitHubAuthentication) DeepCopyInto(out *GitHubAuthentication)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitHubBot ¶
type GitHubBot struct { // Enabled defines if the GitHub Bot integration should be enabled Enabled bool `json:"enabled"` // ConfigurationFilePath specifies the path to the configuration inside a repository that is watched by the bot ConfigurationFilePath string `json:"configurationFilePath"` // DefaultTeam is the slug name of the default team to grant permissions to perform bot commands DefaultTeam string `json:"defaultTeam"` // ApiUrl specifies the github api endpoint ApiUrl string `json:"apiUrl"` // AppID holds the ID of the GitHub App. AppID int64 `json:"appId"` // AppPrivateKeyPath is the path to the private key for the GitHub app. AppPrivateKeyPath string `json:"appPrivateKeyPath"` // GitHub webhook secret to verify payload WebhookSecret string `json:"webhookSecret"` // GitHubCache configures the cache for the github api GitHubCache GitHubCache `json:"cache"` }
GitHubBot contains the configuration for the github integration
func (*GitHubBot) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitHubBot.
func (*GitHubBot) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitHubCache ¶
type GitHubCache struct { CacheDir string `json:"cacheDir,omitempty"` CacheDiskSizeGB uint64 `json:"cacheDiskSizeGB,omitempty"` MaxAgeSeconds int `json:"maxAgeSeconds,omitempty"` }
GitHubCache is the github cache configuration
func (*GitHubCache) DeepCopy ¶
func (in *GitHubCache) DeepCopy() *GitHubCache
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitHubCache.
func (*GitHubCache) DeepCopyInto ¶
func (in *GitHubCache) DeepCopyInto(out *GitHubCache)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthCheckTarget ¶
type HealthCheckTarget struct { //Namespace specifies the namespace where resources relevant for a health check exist in. Namespace string `json:"namespace,omitempty"` // DeploymentName is the name of a deployment whose health will be checked. DeploymentName string `json:"deploymentName,omitempty"` //Interval specifies the frequency of the health check Interval metav1.Duration `json:"interval,omitempty"` }
HealthCheckTarget specifies a deployment whose health should be checked.
func (*HealthCheckTarget) DeepCopy ¶
func (in *HealthCheckTarget) DeepCopy() *HealthCheckTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckTarget.
func (*HealthCheckTarget) DeepCopyInto ¶
func (in *HealthCheckTarget) DeepCopyInto(out *HealthCheckTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LandscapeMapping ¶
type LandscapeMapping struct { // Namespace indicates the namespace where TestRuns for a specific landscape should run Namespace string `json:"namespace,omitempty"` // ApiServerUrl discloses the allowed target APi server ApiServerUrl string `json:"apiServerUrl,omitempty"` // Audience is the audience/client ID, which has to be used for requests to this landscape Audience string `json:"audience"` //ExpirationSeconds specifies the lifetime of issued tokens ExpirationSeconds int64 `json:"expirationSeconds"` //AllowUntrustedUsage defines, if a token is allowed to be used in untrusted steps AllowUntrustedUsage bool `json:"allowUntrustedUsage"` }
LandscapeMapping defines how to connect to a landscape using an OpenIDConnect IDP
func (*LandscapeMapping) DeepCopy ¶
func (in *LandscapeMapping) DeepCopy() *LandscapeMapping
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LandscapeMapping.
func (*LandscapeMapping) DeepCopyInto ¶
func (in *LandscapeMapping) DeepCopyInto(out *LandscapeMapping)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Locations ¶
type Locations struct { // ExcludeDomains is a list of domains that should be excluded and no test definition fetched from. // Note that the domain and all its subdomains are ignored. ExcludeDomains []string `json:"excludeDomains,omitempty"` }
Locations defines test location configurations.
func (*Locations) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Locations.
func (*Locations) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OAuth ¶
type OAuth struct { ClientID string `json:"clientId"` ClientSecret string `json:"clientSecret"` RedirectURL string `json:"redirectUrl"` }
func (*OAuth) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuth.
func (*OAuth) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type S3 ¶
type S3 struct { Server S3Server `json:"server"` BucketName string `json:"bucketName,omitempty"` AccessKey string `json:"accessKey,omitempty"` SecretKey string `json:"secretKey,omitempty"` }
S3 holds information about the s3 endpoint
func (*S3) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3.
func (*S3) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type S3Server ¶
type S3Server struct { Endpoint string `json:"endpoint,omitempty"` SSL bool `json:"ssl,omitempty"` }
S3Server defines the used s3 server
func (*S3Server) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3Server.
func (*S3Server) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TTLController ¶
type TTLController struct { // Disable disables the ttl controller. Disable bool `json:"disable,omitempty"` // MaxConcurrentSyncs is the max concurrent reconciles the controller does. MaxConcurrentSyncs int `json:"maxConcurrentSyncs,omitempty"` }
TTLController contains the ttl controller configuration.
func (*TTLController) DeepCopy ¶
func (in *TTLController) DeepCopy() *TTLController
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TTLController.
func (*TTLController) DeepCopyInto ¶
func (in *TTLController) DeepCopyInto(out *TTLController)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TestMachinery ¶
type TestMachinery struct { // Namespace is the namespace the testmachinery is deployed to. Namespace string `json:"namespace,omitempty"` // TestDefPath is the repository path where the Test Machinery should search for testdefinitions. TestDefPath string `json:"testdefPath"` // Locations contains all testlocation configurations Locations Locations `json:"locations,omitempty"` // PrepareImage is the prepare image that is used in the prepare and postprepare step. PrepareImage string `json:"prepareImage"` // PrepareImage is the base image that is used as the default image if a TestDefinition does not define an image. BaseImage string `json:"baseImage"` // Local indicates if the controller is run locally. Local bool `json:"local,omitempty"` // Insecure indicates that the testmachinery runs insecure. Insecure bool `json:"insecure,omitempty"` // RetryTimeout defines the timeout when a testrun is not retried anymore and goes into failed state. // The string is expected to be passed as golang duration parsable format. RetryTimeout string `json:"retryTimeout,omitempty"` // RetryTimeoutDuration is the parsed value of the RetryTimeout. RetryTimeoutDuration *time.Duration `json:"-"` // DisableCollector disables the collection of test results and their ingestion into elasticsearch. DisableCollector bool `json:"disableCollector"` // CleanWorkflowPods indicates if workflow pods should be directly cleaned up by the testmachinery. CleanWorkflowPods bool `json:"cleanWorkflowPods,omitempty"` //LandscapeMappings defines how to connect to landscapes using the respective OpenIDConnect IDP LandscapeMappings []LandscapeMapping `json:"landscapeMappings,omitempty"` }
TestMachinery holds information about the testmachinery
func (*TestMachinery) DeepCopy ¶
func (in *TestMachinery) DeepCopy() *TestMachinery
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TestMachinery.
func (*TestMachinery) DeepCopyInto ¶
func (in *TestMachinery) DeepCopyInto(out *TestMachinery)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WebhookConfig ¶
type WebhookConfig struct { // Port is the port to serve validating webhooks Port int `json:"port,omitempty"` // CertDir is the directory that contains the certificates that is used by the webhook CertDir string `json:"certDir,omitempty"` }
WebhookConfig holds the validating webhook configuration
func (*WebhookConfig) DeepCopy ¶
func (in *WebhookConfig) DeepCopy() *WebhookConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookConfig.
func (*WebhookConfig) DeepCopyInto ¶
func (in *WebhookConfig) DeepCopyInto(out *WebhookConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Webserver ¶
type Webserver struct { // HTTPPort specifies the port to listen for http traffic HTTPPort int `json:"httpPort"` // HTTPSPort specifies the port to listen for https traffic HTTPSPort int `json:"httpsPort"` // Certificate holds the certificate the should be used to server the https traffic // +optional Certificate Certificate `json:"certificate"` }
Webserver configures the webserver that servres the bot and the dashboard
func (*Webserver) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Webserver.
func (*Webserver) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package v1beta1 is a version of the API.
|
Package v1beta1 is a version of the API. |