v1alpha1

package
v0.10.5 Latest Latest
Warning

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

Go to latest
Published: Mar 10, 2025 License: MIT Imports: 7 Imported by: 3

Documentation

Index

Constants

View Source
const (
	KindAirway = "Airway"
	APIVersion = "yoke.cd/v1alpha1"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Airway

type Airway struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              AirwaySpec    `json:"spec"`
	Status            flight.Status `json:"status,omitzero"`
}

func (Airway) CRD added in v0.4.1

CRD returns the CustomResourceDefinition as described by the template. The CRD will share the same name as the Airway and is owned by it.

func (Airway) CRGroupResource added in v0.5.1

func (airway Airway) CRGroupResource() schema.GroupResource

CRGroupResource returns the schema.GroupResource of the Custom Resource as defined by its CRD template.

func (Airway) MarshalJSON

func (airway Airway) MarshalJSON() ([]byte, error)

type AirwaySpec

type AirwaySpec struct {
	// WasmURLs defines the locations for the various implementations the AirTrafficController will invoke.
	WasmURLs WasmURLs `json:"wasmUrls"`

	// ObjectPath allows you to set a path within your CR to the value you wish to pass to your flight.
	// By default the entire Custom Resource is injected via STDIN to your flight implementation.
	// If, for example, you wish to encode the "spec" property over STDIN you would set ObjectPath to []string{"spec"}.
	ObjectPath []string `json:"objectPath,omitempty"`

	// FixDriftInterval sets an interval at which the resource is requeued for evaluation by the AirTrafficController.
	// The ATC will attempt to reapply the resource. In most cases this will result in a noop. If however a user
	// changed any of the underlying resource's configuration, this will be set back via this mechanism. It allows
	// you to enforce the desired state of your resource against external manipulation.
	FixDriftInterval openapi.Duration `json:"fixDriftInterval,omitempty"`

	// ClusterAccess allows the flight to lookup resources in the cluster. Resources are limited to those owned by the calling release.
	ClusterAccess bool `json:"clusterAccess,omitempty"`

	// CrossNamespace allows for resources to be created in other namespaces other than the releases target namespace.
	CrossNamespace bool `json:"crossNamespace,omitempty"`

	// Insecure only applies to flights using OCI urls. Allows image references to be fetched without TLS verification.
	Insecure bool `json:"insecure,omitempty"`

	// SkipAdmissionWebhook bypasses admission webhook for the airway's CRs.
	// The admission webhook validates that the resources that would be created pass a dry-run phase.
	// However in the case of some multi-stage implementations, stages that depend on prior stages cannot pass dry-run.
	// In this case there is no option but to skip the admission webhook.
	//
	// Therefore multi-stage Airways are not generally recommended.
	SkipAdmissionWebhook bool `json:"skipAdmissionWebhook,omitempty"`

	// Template is the CustomResourceDefinition Specification to create. A CRD will be created using this specification
	// and bound to the implementation defined by the WasmURLs.Flight property.
	Template apiextensionsv1.CustomResourceDefinitionSpec `json:"template"`
}

type WasmURLs added in v0.4.0

type WasmURLs struct {
	// Flight is the implementation used to implement the CustomResource as a Package. The flight is always applied against
	// the storage version of the Custom Resource. This property is required.
	Flight string `json:"flight"`

	// Converter is the implementation of the conversion webhook. If present, the ATC will automatically use it to serve conversion
	// requests between the various served versions of the Custom Resource.
	Converter string `json:"converter,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳