v1

package
v0.11.1 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2024 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the hephaestus v1 API group. +k8s:openapi-gen=true +kubebuilder:object:generate=true +groupName=hephaestus.dominodatalab.com

Index

Constants

View Source
const (
	ImageBuildKind = "ImageBuild"
	ImageCacheKind = "ImageCache"
)
View Source
const (
	CacheModeMax = "max"
	CacheModeMin = "min"
)
View Source
const (
	// Kubernetes metadata set by clients required to allow reading secrets by Hephaestus.
	// Safeguards against accidental secret exposure / exfiltration.
	AccessLabel = "hephaestus-accessible"
	// Kubernetes metadata set by clients, to manage secret lifetime.
	// When set, the given secret gets deleted at the same time as the ImageBuild that uses it.
	OwnedLabel = "hephaestus-owned"
)

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects.
	SchemeGroupVersion = schema.GroupVersion{Group: "hephaestus.dominodatalab.com", Version: "v1"}

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

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

Functions

Types

type BasicAuthCredentials

type BasicAuthCredentials struct {
	Username string `json:"username,omitempty"`
	Password string `json:"password,omitempty"`
}

func (*BasicAuthCredentials) DeepCopy

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

func (*BasicAuthCredentials) DeepCopyInto

func (in *BasicAuthCredentials) DeepCopyInto(out *BasicAuthCredentials)

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

type ImageBuild

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

	Spec   ImageBuildSpec   `json:"spec,omitempty"`
	Status ImageBuildStatus `json:"status,omitempty"`
}

func (*ImageBuild) DeepCopy

func (in *ImageBuild) DeepCopy() *ImageBuild

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

func (*ImageBuild) DeepCopyInto

func (in *ImageBuild) DeepCopyInto(out *ImageBuild)

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

func (*ImageBuild) DeepCopyObject

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

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

func (*ImageBuild) Default

func (in *ImageBuild) Default()

func (*ImageBuild) GetConditions

func (in *ImageBuild) GetConditions() *[]metav1.Condition

func (*ImageBuild) GetPhase

func (in *ImageBuild) GetPhase() Phase

func (*ImageBuild) ObjectKey

func (in *ImageBuild) ObjectKey() client.ObjectKey

func (*ImageBuild) SetPhase

func (in *ImageBuild) SetPhase(p Phase)

func (*ImageBuild) ValidateCreate

func (in *ImageBuild) ValidateCreate() (admission.Warnings, error)

func (*ImageBuild) ValidateDelete

func (in *ImageBuild) ValidateDelete() (admission.Warnings, error)

func (*ImageBuild) ValidateUpdate

func (in *ImageBuild) ValidateUpdate(runtime.Object) (admission.Warnings, error)

type ImageBuildAMQPOverrides

type ImageBuildAMQPOverrides struct {
	ExchangeName string `json:"exchangeName,omitempty"`
	QueueName    string `json:"queueName,omitempty"`
}

func (*ImageBuildAMQPOverrides) DeepCopy

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

func (*ImageBuildAMQPOverrides) DeepCopyInto

func (in *ImageBuildAMQPOverrides) DeepCopyInto(out *ImageBuildAMQPOverrides)

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

type ImageBuildList

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

func (*ImageBuildList) DeepCopy

func (in *ImageBuildList) DeepCopy() *ImageBuildList

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

func (*ImageBuildList) DeepCopyInto

func (in *ImageBuildList) DeepCopyInto(out *ImageBuildList)

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

func (*ImageBuildList) DeepCopyObject

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

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

type ImageBuildMessage added in v0.1.14

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

	Spec   ImageBuildMessageSpec   `json:"spec,omitempty"`
	Status ImageBuildMessageStatus `json:"status,omitempty"`
}

func (*ImageBuildMessage) DeepCopy added in v0.1.14

func (in *ImageBuildMessage) DeepCopy() *ImageBuildMessage

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

func (*ImageBuildMessage) DeepCopyInto added in v0.1.14

func (in *ImageBuildMessage) DeepCopyInto(out *ImageBuildMessage)

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

func (*ImageBuildMessage) DeepCopyObject added in v0.1.14

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

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

type ImageBuildMessageAMQPConnection added in v0.1.14

type ImageBuildMessageAMQPConnection struct {
	URI      string `json:"uri"`
	Queue    string `json:"queue"`
	Exchange string `json:"exchange"`
}

func (*ImageBuildMessageAMQPConnection) DeepCopy added in v0.1.14

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

func (*ImageBuildMessageAMQPConnection) DeepCopyInto added in v0.1.14

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

type ImageBuildMessageList added in v0.1.14

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

func (*ImageBuildMessageList) DeepCopy added in v0.1.14

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

func (*ImageBuildMessageList) DeepCopyInto added in v0.1.14

func (in *ImageBuildMessageList) DeepCopyInto(out *ImageBuildMessageList)

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

func (*ImageBuildMessageList) DeepCopyObject added in v0.1.14

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

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

type ImageBuildMessageRecord added in v0.1.14

type ImageBuildMessageRecord struct {
	SentAt  metav1.Time                       `json:"sentAt"`
	Message ImageBuildStatusTransitionMessage `json:"message"`
}

func (*ImageBuildMessageRecord) DeepCopy added in v0.1.14

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

func (*ImageBuildMessageRecord) DeepCopyInto added in v0.1.14

func (in *ImageBuildMessageRecord) DeepCopyInto(out *ImageBuildMessageRecord)

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

type ImageBuildMessageSpec added in v0.1.14

type ImageBuildMessageSpec struct {
	AMQP ImageBuildMessageAMQPConnection `json:"amqp"`
}

func (*ImageBuildMessageSpec) DeepCopy added in v0.1.14

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

func (*ImageBuildMessageSpec) DeepCopyInto added in v0.1.14

func (in *ImageBuildMessageSpec) DeepCopyInto(out *ImageBuildMessageSpec)

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

type ImageBuildMessageStatus added in v0.1.14

type ImageBuildMessageStatus struct {
	AMQPSentMessages []ImageBuildMessageRecord `json:"amqpSentMessages,omitempty"`
}

func (*ImageBuildMessageStatus) DeepCopy added in v0.1.14

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

func (*ImageBuildMessageStatus) DeepCopyInto added in v0.1.14

func (in *ImageBuildMessageStatus) DeepCopyInto(out *ImageBuildMessageStatus)

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

type ImageBuildSpec

type ImageBuildSpec struct {
	// Context is a remote URL used to fetch the build context.  Overrides dockerfileContents if present.
	Context string `json:"context,omitempty"`
	// DockerfileContents specifies the contents of the Dockerfile directly in the CR.  Ignored if context is present.
	DockerfileContents string `json:"dockerfileContents,omitempty"`
	// Images is a list of images to build and push.
	Images []string `json:"images,omitempty"`
	// BuildArgs are applied to the build at runtime.
	BuildArgs []string `json:"buildArgs,omitempty"`
	// LogKey is used to uniquely annotate build logs for post-processing
	LogKey string `json:"logKey,omitempty"`
	// RegistryAuth credentials used to pull/push images from/to private registries.
	RegistryAuth []RegistryCredentials `json:"registryAuth,omitempty"`
	// AMQPOverrides to the main controller configuration.
	AMQPOverrides *ImageBuildAMQPOverrides `json:"amqpOverrides,omitempty"`
	// ImportRemoteBuildCache from one or more canonical image references when building the images.
	ImportRemoteBuildCache []string `json:"importRemoteBuildCache,omitempty"`
	// DisableLocalBuildCache  will disable the use of the local cache when building the images.
	DisableLocalBuildCache bool `json:"disableBuildCache,omitempty"`
	// DisableCacheLayerExport will remove the "inline" cache metadata from the image configuration.
	DisableCacheLayerExport bool `json:"disableCacheExport,omitempty"`
	// Secrets provides references to Kubernetes secrets to expose to individual image builds.
	Secrets []SecretReference `json:"secrets,omitempty"`
}

ImageBuildSpec specifies the desired state of an ImageBuild resource.

func (*ImageBuildSpec) DeepCopy

func (in *ImageBuildSpec) DeepCopy() *ImageBuildSpec

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

func (*ImageBuildSpec) DeepCopyInto

func (in *ImageBuildSpec) DeepCopyInto(out *ImageBuildSpec)

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

type ImageBuildStatus

type ImageBuildStatus struct {
	// AllocationTime is the total time spent allocating a build pod.
	AllocationTime string `json:"allocationTime,omitempty"`
	// BuildTime is the total time spent during the image build process.
	BuildTime string `json:"buildTime,omitempty"`
	// BuilderAddr is the routable address to the buildkit pod used during the image build process.
	BuilderAddr string `json:"builderAddr,omitempty"`
	// CompressedImageSizeBytes is the total size of all the compressed layers in the image.
	CompressedImageSizeBytes string `json:"compressedImageSizeBytes,omitempty"`
	// Digest is the image digest
	Digest string `json:"digest,omitempty"`
	// Map of string keys and values corresponding OCI image config labels.
	// Labels contains arbitrary metadata for the container.
	Labels map[string]string `json:"labels,omitempty"`

	Conditions  []metav1.Condition     `json:"conditions,omitempty"`
	Transitions []ImageBuildTransition `json:"transitions,omitempty"`
	Phase       Phase                  `json:"phase,omitempty"`
	// contains filtered or unexported fields
}

func (*ImageBuildStatus) DeepCopy

func (in *ImageBuildStatus) DeepCopy() *ImageBuildStatus

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

func (*ImageBuildStatus) DeepCopyInto

func (in *ImageBuildStatus) DeepCopyInto(out *ImageBuildStatus)

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

type ImageBuildStatusTransitionMessage added in v0.1.5

type ImageBuildStatusTransitionMessage struct {
	// Name of the ImageBuild resource that underwent a transition.
	Name string `json:"name"`
	// Annotations present on the resource.
	Annotations map[string]string `json:"annotations,omitempty"`
	// ObjectLink points to the resource inside the Kubernetes API.
	ObjectLink string `json:"objectLink"`
	// PreviousPhase of the resource.
	PreviousPhase Phase `json:"previousPhase"`
	// CurrentPhase of the resource.
	CurrentPhase Phase `json:"currentPhase"`
	// OccurredAt indicates when the transition occurred.
	OccurredAt metav1.Time `json:"occurredAt"`
	// ImageURLs contains a list of fully-qualified registry images.
	// This field is only populated when an ImageBuild transitions to PhaseSucceeded.
	ImageURLs []string `json:"imageURLs,omitempty"`
	// ErrorMessage contains the details of error when one occurs.
	ErrorMessage string `json:"errorMessage,omitempty"`
}

ImageBuildStatusTransitionMessage contains information about ImageBuild status transitions.

This type is used to publish JSON-formatted messages to one or more configured messaging endpoints when ImageBuild resources undergo phase changes during the build process.

func (*ImageBuildStatusTransitionMessage) DeepCopy added in v0.1.5

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

func (*ImageBuildStatusTransitionMessage) DeepCopyInto added in v0.1.5

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

type ImageBuildTransition

type ImageBuildTransition struct {
	PreviousPhase Phase       `json:"previousPhase"`
	Phase         Phase       `json:"phase"`
	OccurredAt    metav1.Time `json:"occurredAt,omitempty"`
}

func (*ImageBuildTransition) DeepCopy

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

func (*ImageBuildTransition) DeepCopyInto

func (in *ImageBuildTransition) DeepCopyInto(out *ImageBuildTransition)

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

type ImageCache

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

	Spec   ImageCacheSpec   `json:"spec,omitempty"`
	Status ImageCacheStatus `json:"status,omitempty"`
}

func (*ImageCache) DeepCopy

func (in *ImageCache) DeepCopy() *ImageCache

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

func (*ImageCache) DeepCopyInto

func (in *ImageCache) DeepCopyInto(out *ImageCache)

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

func (*ImageCache) DeepCopyObject

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

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

func (*ImageCache) GetConditions

func (in *ImageCache) GetConditions() *[]metav1.Condition

func (*ImageCache) GetPhase

func (in *ImageCache) GetPhase() Phase

func (*ImageCache) SetPhase

func (in *ImageCache) SetPhase(p Phase)

func (*ImageCache) ValidateCreate

func (in *ImageCache) ValidateCreate() (admission.Warnings, error)

func (*ImageCache) ValidateDelete

func (in *ImageCache) ValidateDelete() (admission.Warnings, error)

func (*ImageCache) ValidateUpdate

func (in *ImageCache) ValidateUpdate(runtime.Object) (admission.Warnings, error)

type ImageCacheList

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

func (*ImageCacheList) DeepCopy

func (in *ImageCacheList) DeepCopy() *ImageCacheList

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

func (*ImageCacheList) DeepCopyInto

func (in *ImageCacheList) DeepCopyInto(out *ImageCacheList)

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

func (*ImageCacheList) DeepCopyObject

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

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

type ImageCacheSpec

type ImageCacheSpec struct {
	Images       []string              `json:"images"`
	RegistryAuth []RegistryCredentials `json:"registryAuth,omitempty"`
}

func (*ImageCacheSpec) DeepCopy

func (in *ImageCacheSpec) DeepCopy() *ImageCacheSpec

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

func (*ImageCacheSpec) DeepCopyInto

func (in *ImageCacheSpec) DeepCopyInto(out *ImageCacheSpec)

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

type ImageCacheStatus

type ImageCacheStatus struct {
	BuildkitPods []string           `json:"buildkitPods,omitempty"`
	CachedImages []string           `json:"cachedImages,omitempty"`
	Conditions   []metav1.Condition `json:"conditions,omitempty"`
	Phase        Phase              `json:"phase,omitempty"`
}

func (*ImageCacheStatus) DeepCopy

func (in *ImageCacheStatus) DeepCopy() *ImageCacheStatus

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

func (*ImageCacheStatus) DeepCopyInto

func (in *ImageCacheStatus) DeepCopyInto(out *ImageCacheStatus)

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

type Phase

type Phase string

Phase represents a step in a resource processing lifecycle.

const (
	// PhaseInitializing indicates that an execution sequence is preparing to run.
	PhaseInitializing Phase = "Initializing"
	// PhaseRunning indicates that an execution sequence has begun.
	PhaseRunning Phase = "Running"
	// PhaseSucceeded indicates that an execution sequence successfully operated against a resource.
	PhaseSucceeded Phase = "Succeeded"
	// PhaseFailed indicates an error was encountered during execution.
	PhaseFailed Phase = "Failed"
)

type RegistryCredentials

type RegistryCredentials struct {
	// NOTE: this field was previously used to assert the presence of an auth entry inside of secret credentials. if the
	//  Server was missing, then an error was raised. this design is limiting because it requires users to create
	//  several `registryAuth` items with the same secret if they want to verify the presence. in a future api version,
	//  we may remove the Server field from this type and replace it with one or more fields that service the needs all
	//  credential types.
	Server string `json:"server,omitempty"`

	// NOTE: this field was previously used to determine whether to fetch credentials from the cloud a given server.
	// this is now done automatically and this field is no longer necessary.
	CloudProvided *bool `json:"cloudProvided,omitempty"`

	BasicAuth *BasicAuthCredentials `json:"basicAuth,omitempty"`
	Secret    *SecretCredentials    `json:"secret,omitempty"`
}

func (*RegistryCredentials) DeepCopy

func (in *RegistryCredentials) DeepCopy() *RegistryCredentials

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

func (*RegistryCredentials) DeepCopyInto

func (in *RegistryCredentials) DeepCopyInto(out *RegistryCredentials)

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

type SecretCredentials

type SecretCredentials struct {
	Name      string `json:"name,omitempty"`
	Namespace string `json:"namespace,omitempty"`
}

func (*SecretCredentials) DeepCopy

func (in *SecretCredentials) DeepCopy() *SecretCredentials

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

func (*SecretCredentials) DeepCopyInto

func (in *SecretCredentials) DeepCopyInto(out *SecretCredentials)

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

type SecretReference added in v0.3.0

type SecretReference struct {
	Name      string `json:"name,omitempty"`
	Namespace string `json:"namespace,omitempty"`
}

func (*SecretReference) DeepCopy added in v0.3.0

func (in *SecretReference) DeepCopy() *SecretReference

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

func (*SecretReference) DeepCopyInto added in v0.3.0

func (in *SecretReference) DeepCopyInto(out *SecretReference)

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