v1alpha1

package
v0.3.11 Latest Latest
Warning

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

Go to latest
Published: Sep 16, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the exstensions v1alpha1 API group

Index

Constants

View Source
const GroupName = "extensions.apoxy.dev"

GroupName specifies the group name used to register the objects.

Variables

View Source
var (
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	// Deprecated: use Install instead
	AddToScheme = localSchemeBuilder.AddToScheme
	Install     = localSchemeBuilder.AddToScheme
)
View Source
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1alpha1"}

GroupVersion specifies the group and the version used to register the objects.

View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects Deprecated: use GroupVersion instead.

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type EdgeFunction

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

	Spec   EdgeFunctionSpec   `json:"spec,omitempty"`
	Status EdgeFunctionStatus `json:"status,omitempty"`
}

func (*EdgeFunction) DeepCopy

func (in *EdgeFunction) DeepCopy() *EdgeFunction

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

func (*EdgeFunction) DeepCopyInto

func (in *EdgeFunction) DeepCopyInto(out *EdgeFunction)

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

func (*EdgeFunction) DeepCopyObject

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

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

func (*EdgeFunction) Default

func (r *EdgeFunction) Default()

Default sets the default values for an EdgeFunction.

func (*EdgeFunction) GetGroupVersionResource

func (p *EdgeFunction) GetGroupVersionResource() schema.GroupVersionResource

func (*EdgeFunction) GetObjectMeta

func (p *EdgeFunction) GetObjectMeta() *metav1.ObjectMeta

func (*EdgeFunction) GetSingularName

func (p *EdgeFunction) GetSingularName() string

func (*EdgeFunction) GetStatus

func (p *EdgeFunction) GetStatus() resource.StatusSubResource

func (*EdgeFunction) IsStorageVersion

func (p *EdgeFunction) IsStorageVersion() bool

func (*EdgeFunction) NamespaceScoped

func (p *EdgeFunction) NamespaceScoped() bool

func (*EdgeFunction) New

func (p *EdgeFunction) New() runtime.Object

func (*EdgeFunction) NewList

func (p *EdgeFunction) NewList() runtime.Object

func (*EdgeFunction) SetupWebhookWithManager

func (r *EdgeFunction) SetupWebhookWithManager(mgr ctrl.Manager) error

type EdgeFunctionCodeSource

type EdgeFunctionCodeSource struct {
	// Metadata of the function source.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// JsSource specifies sources for the JavaScript function runtime.
	// If set/modified, a function will undergo a build step to compile the
	// JavaScript source into a WebAssembly binary before it is deployed.
	// +optional
	JsSource *JavaScriptSource `json:"jsSource,omitempty"`

	// WasmSource specifies sources for the WebAssembly function runtime.
	// +optional
	WasmSource *WasmSource `json:"wasmSource,omitempty"`

	// GoSource specifies sources for the Go filter plugin.
	// This option is only available for non-cloud (kubernets, unmanaged, etc)
	// Proxy providers.
	// +optional
	GoPluginSource *GoPluginSource `json:"goPluginSource,omitempty"`
}

func (*EdgeFunctionCodeSource) DeepCopy

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

func (*EdgeFunctionCodeSource) DeepCopyInto

func (in *EdgeFunctionCodeSource) DeepCopyInto(out *EdgeFunctionCodeSource)

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

type EdgeFunctionList

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

func (*EdgeFunctionList) DeepCopy

func (in *EdgeFunctionList) DeepCopy() *EdgeFunctionList

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

func (*EdgeFunctionList) DeepCopyInto

func (in *EdgeFunctionList) DeepCopyInto(out *EdgeFunctionList)

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

func (*EdgeFunctionList) DeepCopyObject

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

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

func (*EdgeFunctionList) GetListMeta

func (pl *EdgeFunctionList) GetListMeta() *metav1.ListMeta

type EdgeFunctionPhase

type EdgeFunctionPhase string
const (
	// EdgeFunctionPhasePreparing means the function is being prepared.
	EdgeFunctionPhasePreparing EdgeFunctionPhase = "Preparing"
	// EdgeFunctionPhaseReady means the function is ready.
	EdgeFunctionPhaseReady EdgeFunctionPhase = "Ready"
	// EdgeFunctionPhaseUpdating means the function is being updated.
	EdgeFunctionPhaseUpdating EdgeFunctionPhase = "Updating"
	// EdgeFunctionPhaseFailed means the function has failed.
	EdgeFunctionPhaseFailed EdgeFunctionPhase = "Failed"
	// EdgeFunctionPhaseUnknown means the function is in an unknown state.
	EdgeFunctionPhaseUnknown EdgeFunctionPhase = "Unknown"
)

type EdgeFunctionRevision

type EdgeFunctionRevision struct {
	// Ref is the reference to the function revision.
	Ref string `json:"ref"`

	// Status is the status of the function revision.
	// +optional
	Status string `json:"status,omitempty"`

	// CreatedAt is the time the function revision was created.
	CreatedAt metav1.Time `json:"createdAt"`
}

func (*EdgeFunctionRevision) DeepCopy

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

func (*EdgeFunctionRevision) DeepCopyInto

func (in *EdgeFunctionRevision) DeepCopyInto(out *EdgeFunctionRevision)

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

type EdgeFunctionSpec

type EdgeFunctionSpec struct {
	// TargetRefs are the resources that the function is associated with.
	// Currently we only support Proxy targets and not Routes or Backends.
	TargetRefs []EdgeFunctionTargetReference `json:"targetRefs"`

	// Code is the source of the function code/binary.
	Code EdgeFunctionCodeSource `json:"code"`

	// Env is a list of environment variables to set in the function
	// runtime.
	// These will be available via WASIp1 environ* routines as well as Apoxy Runtime SDK APIs.
	// +optional
	Env []EnvVar `json:"env,omitempty"`

	// RuntimeConfig is the configuration for the function runtime.
	// +optional
	RuntimeConfig RuntimeConfig `json:"runtimeConfig"`
}

func (*EdgeFunctionSpec) DeepCopy

func (in *EdgeFunctionSpec) DeepCopy() *EdgeFunctionSpec

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

func (*EdgeFunctionSpec) DeepCopyInto

func (in *EdgeFunctionSpec) DeepCopyInto(out *EdgeFunctionSpec)

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

type EdgeFunctionStatus

type EdgeFunctionStatus struct {
	// Phase is the current phase of the function.
	Phase EdgeFunctionPhase `json:"phase"`

	// Message is a human-readable message indicating details about the function.
	// +optional
	Message string `json:"message,omitempty"`

	// Revisions is a list of function revisions.
	// Latest revision is the first element in the list.
	// +optional
	Revisions []EdgeFunctionRevision `json:"revisions,omitempty"`
}

func (*EdgeFunctionStatus) CopyTo

func (*EdgeFunctionStatus) DeepCopy

func (in *EdgeFunctionStatus) DeepCopy() *EdgeFunctionStatus

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

func (*EdgeFunctionStatus) DeepCopyInto

func (in *EdgeFunctionStatus) DeepCopyInto(out *EdgeFunctionStatus)

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

func (*EdgeFunctionStatus) SubResourceName

func (ps *EdgeFunctionStatus) SubResourceName() string

type EdgeFunctionTargetReference

type EdgeFunctionTargetReference struct {
	// Group is the group of the target resource.
	// Currently only controllers.apoxy.dev/v1alpha1 is supported.
	Group gwapiv1.Group `json:"group"`

	// Kind is kind of the target resource.
	// Currently only Proxy is supported.
	Kind gwapiv1.Kind `json:"kind"`

	// Name is the name of the target resource.
	Name gwapiv1.ObjectName `json:"name"`
}

func (*EdgeFunctionTargetReference) DeepCopy

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

func (*EdgeFunctionTargetReference) DeepCopyInto

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

type EnvVar

type EnvVar struct {
	// Name of the environment variable.
	Name string `json:"name"`

	// Value of the environment variable.
	Value string `json:"value"`
}

func (*EnvVar) DeepCopy

func (in *EnvVar) DeepCopy() *EnvVar

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

func (*EnvVar) DeepCopyInto

func (in *EnvVar) DeepCopyInto(out *EnvVar)

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

type GoPluginSource

type GoPluginSource struct {
	// URL is the URL to the Go plugin .so
	URL string `json:"url"`

	// PluginConfig is the configuration passed to the Go plugin as JSON-encoded
	// structpb.Struct message. Plugin will receive it as anypb.Any message.
	// +optional
	PluginConfig string `json:"pluginConfig,omitempty"`
}

func (*GoPluginSource) DeepCopy

func (in *GoPluginSource) DeepCopy() *GoPluginSource

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

func (*GoPluginSource) DeepCopyInto

func (in *GoPluginSource) DeepCopyInto(out *GoPluginSource)

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

type JavaScriptAssetsSource

type JavaScriptAssetsSource struct {
	Files []SourceFile `json:"files"`
}

func (*JavaScriptAssetsSource) DeepCopy

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

func (*JavaScriptAssetsSource) DeepCopyInto

func (in *JavaScriptAssetsSource) DeepCopyInto(out *JavaScriptAssetsSource)

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

type JavaScriptGitSource

type JavaScriptGitSource struct {
	// Repository is the git repository URL.
	Repository string `json:"repository"`

	// Branch is the git branch.
	// +optional
	Branch string `json:"branch,omitempty"`

	// Commit is the git commit.
	// +optional
	Commit string `json:"commit,omitempty"`
}

func (*JavaScriptGitSource) DeepCopy

func (in *JavaScriptGitSource) DeepCopy() *JavaScriptGitSource

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

func (*JavaScriptGitSource) DeepCopyInto

func (in *JavaScriptGitSource) DeepCopyInto(out *JavaScriptGitSource)

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

type JavaScriptNpmSource

type JavaScriptNpmSource struct {
	// Package is the npm package name.
	Package string `json:"package"`

	// Version is the npm package version.
	// +optional
	Version string `json:"version,omitempty"`
}

func (*JavaScriptNpmSource) DeepCopy

func (in *JavaScriptNpmSource) DeepCopy() *JavaScriptNpmSource

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

func (*JavaScriptNpmSource) DeepCopyInto

func (in *JavaScriptNpmSource) DeepCopyInto(out *JavaScriptNpmSource)

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

type JavaScriptSource

type JavaScriptSource struct {
	// Entrypoint is the entrypoint path to the function.
	Entrypoint string `json:"entrypoint"`

	// Asset accepts a list of source files to be included in the function.
	// Only one of Assets, Git, or Npm may be specified.
	// +optional
	Assets *JavaScriptAssetsSource `json:"assets,omitempty"`

	// Git is the git source for the function.
	// Only one of Assets, Git, or Npm may be specified.
	// +optional
	Git *JavaScriptGitSource `json:"git,omitempty"`

	// Npm is the npm source for the function.
	// Only one of Assets, Git, or Npm may be specified.
	// +optional
	Npm *JavaScriptNpmSource `json:"npm,omitempty"`
}

JavaScriptSource provides sources for the JavaScript function runtime. Only one of the fields may be specified.

func (*JavaScriptSource) DeepCopy

func (in *JavaScriptSource) DeepCopy() *JavaScriptSource

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

func (*JavaScriptSource) DeepCopyInto

func (in *JavaScriptSource) DeepCopyInto(out *JavaScriptSource)

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

type RuntimeCapabilities

type RuntimeCapabilities struct {
	// FetchAPI is the capability to fetch data from the internet.
	// Defaults to true.
	// +optional
	FetchAPI *bool `json:"fetchAPI,omitempty"`
}

func (*RuntimeCapabilities) DeepCopy

func (in *RuntimeCapabilities) DeepCopy() *RuntimeCapabilities

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

func (*RuntimeCapabilities) DeepCopyInto

func (in *RuntimeCapabilities) DeepCopyInto(out *RuntimeCapabilities)

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

type RuntimeConfig

type RuntimeConfig struct {
	// Timeout is the maximum time the function is allowed to run.
	// Defaults to 30 seconds but can be increased depending on your plan.
	// +optional
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// Capabilities is the list of capabilities granted to the function.
	// +optional
	Capabilities *RuntimeCapabilities `json:"capabilities"`
}

func (*RuntimeConfig) DeepCopy

func (in *RuntimeConfig) DeepCopy() *RuntimeConfig

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

func (*RuntimeConfig) DeepCopyInto

func (in *RuntimeConfig) DeepCopyInto(out *RuntimeConfig)

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

type SourceFile

type SourceFile struct {
	// Path is the path to the source file.
	Path string `json:"path"`

	// Content is the content of the source file.
	Content string `json:"content"`
}

func (*SourceFile) DeepCopy

func (in *SourceFile) DeepCopy() *SourceFile

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

func (*SourceFile) DeepCopyInto

func (in *SourceFile) DeepCopyInto(out *SourceFile)

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

type WasmSource

type WasmSource struct {
	// URL is the URL to the WebAssembly binary.
	URL string `json:"url"`
}

func (*WasmSource) DeepCopy

func (in *WasmSource) DeepCopy() *WasmSource

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

func (*WasmSource) DeepCopyInto

func (in *WasmSource) DeepCopyInto(out *WasmSource)

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