v1

package
v0.6.0-rc1 Latest Latest
Warning

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

Go to latest
Published: Nov 13, 2019 License: Apache-2.0 Imports: 11 Imported by: 1

Documentation

Overview

+k8s:deepcopy-gen=package +groupName=rio.cattle.io

+k8s:deepcopy-gen=package +groupName=rio.cattle.io

+k8s:deepcopy-gen=package +groupName=rio.cattle.io

Index

Constants

This section is empty.

Variables

View Source
var (
	ExternalServiceResourceName = "externalservices"
	RouterResourceName          = "routers"
	ServiceResourceName         = "services"
	StackResourceName           = "stacks"
)
View Source
var (
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	AddToScheme   = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: rio.GroupName, Version: "v1"}

SchemeGroupVersion is group version used to register these objects

View Source
var (
	ServiceConditionImageReady = condition.Cond("ImageReady")
)

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AutoscaleConfig

type AutoscaleConfig struct {
	// ContainerConcurrency specifies the maximum allowed in-flight (concurrent) requests per container of the Revision. Defaults to 0 which means unlimited concurrency.
	Concurrency int `json:"concurrency,omitempty"`

	// The minimal number of replicas Service can be scaled
	MinReplicas *int32 `json:"minReplicas,omitempty" mapper:"alias=minScale|min"`

	// The maximum number of replicas Service can be scaled
	MaxReplicas *int32 `json:"maxReplicas,omitempty" mapper:"alias=maxScale|max"`
}

func (*AutoscaleConfig) DeepCopy

func (in *AutoscaleConfig) DeepCopy() *AutoscaleConfig

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

func (*AutoscaleConfig) DeepCopyInto

func (in *AutoscaleConfig) DeepCopyInto(out *AutoscaleConfig)

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

type BuildRevision added in v0.6.0

type BuildRevision struct {
	Commits []string `json:"commits,omitempty"`
}

func (*BuildRevision) DeepCopy added in v0.6.0

func (in *BuildRevision) DeepCopy() *BuildRevision

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

func (*BuildRevision) DeepCopyInto added in v0.6.0

func (in *BuildRevision) DeepCopyInto(out *BuildRevision)

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

type Container

type Container struct {
	// Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.
	Image string `json:"image,omitempty"`

	// ImageBuild specifies how to build this image
	ImageBuild *ImageBuildSpec `json:"build,omitempty"`

	// Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided.
	// Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged.
	// The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not.
	// Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
	Command []string `json:"command,omitempty" mapper:"shlex"`

	// Arguments to the entrypoint. The docker image's CMD is used if this is not provided.
	// Variable references $(VAR_NAME) are expanded using the container's environment.
	// If a variable cannot be resolved, the reference in the input string will be unchanged.
	// The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not.
	// Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
	Args []string `json:"args,omitempty" mapper:"shlex,alias=arg"`

	// Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated.
	WorkingDir string `json:"workingDir,omitempty"`

	// List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed.
	// Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Cannot be updated.
	Ports []ContainerPort `json:"ports,omitempty" mapper:"ports,alias=port"`

	// List of environment variables to set in the container. Cannot be updated.
	Env []EnvVar `json:"env,omitempty" mapper:"env,envmap=sep==,alias=environment"`

	// CPU, in cores
	CPUMillis *int64 `json:"cpuMillis,omitempty" mapper:"quantity,alias=cpu|cpus"`

	// Memory, in bytes
	MemoryBytes *int64 `json:"memoryBytes,omitempty" mapper:"quantity,alias=mem|memory"`

	// Secrets Mounts
	Secrets []DataMount `json:"secrets,omitempty" mapper:"secrets,envmap=sep=:,alias=secret"`

	// Configmaps Mounts
	Configs []DataMount `json:"configs,omitempty" mapper:"configs,envmap=sep=:,alias=config"`

	// Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
	LivenessProbe *v1.Probe `json:"livenessProbe,omitempty" mapper:"alias=liveness"`

	// Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
	ReadinessProbe *v1.Probe `json:"readinessProbe,omitempty" mapper:"alias=readiness"`

	// Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if tag is does not start with v[0-9] or [0-9], or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images
	ImagePullPolicy v1.PullPolicy `json:"imagePullPolicy,omitempty" mapper:"enum=Always|IfNotPresent|Never,alias=pullPolicy"`

	// Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.
	Stdin bool `json:"stdin,omitempty" mapper:"alias=stdinOpen"`

	// Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions.
	// If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false
	StdinOnce bool `json:"stdinOnce,omitempty"`

	// Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false.
	TTY bool `json:"tty,omitempty"`

	// Pod volumes to mount into the container's filesystem
	Volumes []Volume `json:"volumes,omitempty" mapper:"volumes,envmap=sep=:,alias=volume"`

	*ContainerSecurityContext
}

func (*Container) DeepCopy

func (in *Container) DeepCopy() *Container

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

func (*Container) DeepCopyInto

func (in *Container) DeepCopyInto(out *Container)

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

type ContainerPort

type ContainerPort struct {
	Name string `json:"name,omitempty"`
	// Expose will make the port available outside the cluster. All http/https ports will be set to true by default
	// if Expose is nil.  All other protocols are set to false by default
	Expose     *bool    `json:"expose,omitempty"`
	Protocol   Protocol `json:"protocol,omitempty"`
	Port       int32    `json:"port"`
	TargetPort int32    `json:"targetPort,omitempty"`
	HostPort   bool     `json:"hostport,omitempty"`
}

func (*ContainerPort) DeepCopy

func (in *ContainerPort) DeepCopy() *ContainerPort

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

func (*ContainerPort) DeepCopyInto

func (in *ContainerPort) DeepCopyInto(out *ContainerPort)

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

func (ContainerPort) IsExposed added in v0.6.0

func (in ContainerPort) IsExposed() bool

func (ContainerPort) IsHTTP added in v0.6.0

func (in ContainerPort) IsHTTP() bool

type ContainerSecurityContext

type ContainerSecurityContext struct {
	// The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext.
	// If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container
	RunAsUser *int64 `json:"runAsUser,omitempty" mapper:"alias=user"`

	// The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in SecurityContext.
	// If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container.
	RunAsGroup *int64 `json:"runAsGroup,omitempty" mapper:"alias=user"`

	// Whether this container has a read-only root filesystem. Default is false.
	ReadOnlyRootFilesystem *bool `json:"readOnlyRootFilesystem,omitempty"`

	// Run container in privileged mode.
	// Processes in privileged containers are essentially equivalent to root on the host.
	// Defaults to false.
	// +optional
	Privileged *bool `json:"privileged,omitempty"`
}

ContainerSecurityContext holds pod-level security attributes and common container constants. Optional: Defaults to empty. See type description for default values of each field.

func (*ContainerSecurityContext) DeepCopy

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

func (*ContainerSecurityContext) DeepCopyInto

func (in *ContainerSecurityContext) DeepCopyInto(out *ContainerSecurityContext)

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

type DNS added in v0.6.0

type DNS struct {
	// Set DNS policy for the pod. Defaults to "ClusterFirst". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'.
	// DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy.
	// To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.
	Policy v1.DNSPolicy `json:"policy,omitempty" mapper:"enum=ClusterFirst|ClusterFirstWithHostNet|Default|None|host=Default"`

	// A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed.
	Nameservers []string `json:"nameservers,omitempty"`

	// A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.
	Searches []string `json:"searches,omitempty"`

	// A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy.
	// Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.
	Options []PodDNSConfigOption `json:"options,omitempty" mapper:"dnsOptions"`
}

func (*DNS) DeepCopy added in v0.6.0

func (in *DNS) DeepCopy() *DNS

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

func (*DNS) DeepCopyInto added in v0.6.0

func (in *DNS) DeepCopyInto(out *DNS)

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

type DataMount

type DataMount struct {
	// The directory or file to mount the value to in the container
	Target string `json:"target,omitempty"`
	// The name of the ConfigMap or Secret to mount
	Name string `json:"name,omitempty"`
	// The key in the data of the ConfigMap or Secret to mount to a file.
	// If Key is set the Target must be a file.  If key is set the target must be a directory and will
	// contain one file per key from the Secret/ConfigMap data field.
	Key string `json:"key,omitempty"`
}

func (*DataMount) DeepCopy

func (in *DataMount) DeepCopy() *DataMount

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

func (*DataMount) DeepCopyInto

func (in *DataMount) DeepCopyInto(out *DataMount)

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

type Destination

type Destination struct {
	// Destination Service
	App string `json:"app,omitempty"`

	// Destination Revision
	Version string `json:"version,omitempty"`

	// Destination Port
	Port uint32 `json:"port,omitempty"`
}

func (*Destination) DeepCopy

func (in *Destination) DeepCopy() *Destination

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

func (*Destination) DeepCopyInto

func (in *Destination) DeepCopyInto(out *Destination)

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

func (Destination) String

func (d Destination) String() string

type EnvVar

type EnvVar struct {
	Name          string `json:"name,omitempty"`
	Value         string `json:"value,omitempty"`
	SecretName    string `json:"secretName,omitempty"`
	ConfigMapName string `json:"configMapName,omitempty"`
	Key           string `json:"key,omitempty"`
}

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 ExternalService

type ExternalService struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ExternalServiceSpec   `json:"spec,omitempty"`
	Status            ExternalServiceStatus `json:"status,omitempty"`
}

ExternalService creates a DNS record and route rules for any Service outside of the cluster, can be IPs or FQDN outside the mesh

func NewExternalService

func NewExternalService(namespace, name string, obj ExternalService) *ExternalService

func (*ExternalService) DeepCopy

func (in *ExternalService) DeepCopy() *ExternalService

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

func (*ExternalService) DeepCopyInto

func (in *ExternalService) DeepCopyInto(out *ExternalService)

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

func (*ExternalService) DeepCopyObject

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

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

type ExternalServiceList

type ExternalServiceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []ExternalService `json:"items"`
}

ExternalServiceList is a list of ExternalService resources

func (*ExternalServiceList) DeepCopy

func (in *ExternalServiceList) DeepCopy() *ExternalServiceList

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

func (*ExternalServiceList) DeepCopyInto

func (in *ExternalServiceList) DeepCopyInto(out *ExternalServiceList)

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

func (*ExternalServiceList) DeepCopyObject

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

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

type ExternalServiceSpec

type ExternalServiceSpec struct {
	// External service located outside mesh, represented by IPs
	IPAddresses []string `json:"ipAddresses,omitempty"`

	// External service located outside mesh, represented by DNS
	FQDN string `json:"fqdn,omitempty"`

	// In-Mesh app in another namespace
	TargetApp string `json:"targetApp,omitempty"`

	// In-Mesh version in another namespace
	TargetVersion string `json:"targetVersion,omitempty"`

	// In-Mesh router in another namespace
	TargetRouter string `json:"targetRouter,omitempty"`

	// Namespace of in-mesh service in another namespace
	TargetServiceNamespace string `json:"targetServiceNamespace,omitempty"`
}

func (*ExternalServiceSpec) DeepCopy

func (in *ExternalServiceSpec) DeepCopy() *ExternalServiceSpec

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

func (*ExternalServiceSpec) DeepCopyInto

func (in *ExternalServiceSpec) DeepCopyInto(out *ExternalServiceSpec)

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

type ExternalServiceStatus

type ExternalServiceStatus struct {
	// Represents the latest available observations of a ExternalService's current state.
	Conditions []genericcondition.GenericCondition `json:"conditions,omitempty"`
}

func (*ExternalServiceStatus) DeepCopy

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

func (*ExternalServiceStatus) DeepCopyInto

func (in *ExternalServiceStatus) DeepCopyInto(out *ExternalServiceStatus)

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

type Fault

type Fault struct {
	// Percentage of requests on which the delay will be injected.
	Percentage int `json:"percentage,omitempty" norman:"min=0,max=100"`

	// REQUIRED. Add a fixed delay before forwarding the request. Units: milliseconds
	DelayMillis int `json:"delayMillis,omitempty"`

	// Abort Http request attempts and return error codes back to downstream service, giving the impression that the upstream service is faulty.
	AbortHTTPStatus int `json:"abortHTTPStatus,omitempty"`
}

func (*Fault) DeepCopy

func (in *Fault) DeepCopy() *Fault

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

func (*Fault) DeepCopyInto

func (in *Fault) DeepCopyInto(out *Fault)

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

type HeaderMatch added in v0.6.0

type HeaderMatch struct {
	Name  string       `json:"name,omitempty"`
	Value *StringMatch `json:"value,omitempty"`
}

func (*HeaderMatch) DeepCopy added in v0.6.0

func (in *HeaderMatch) DeepCopy() *HeaderMatch

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

func (*HeaderMatch) DeepCopyInto added in v0.6.0

func (in *HeaderMatch) DeepCopyInto(out *HeaderMatch)

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

func (HeaderMatch) String added in v0.6.0

func (h HeaderMatch) String() string

type HeaderOperations added in v0.6.0

type HeaderOperations struct {
	// Append the given values to the headers specified by keys
	// (will create a comma-separated list of values)
	Add []NameValue `json:"add,omitempty"`

	// Append the given values to the headers specified by keys
	// (will create a comma-separated list of values)
	Set []NameValue `json:"set,omitempty"`

	// Remove a the specified headers
	Remove []string `json:"remove,omitempty"`
}

HeaderOperations Describes the header manipulations to apply

func (*HeaderOperations) DeepCopy added in v0.6.0

func (in *HeaderOperations) DeepCopy() *HeaderOperations

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

func (*HeaderOperations) DeepCopyInto added in v0.6.0

func (in *HeaderOperations) DeepCopyInto(out *HeaderOperations)

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

type ImageBuildSpec added in v0.6.0

type ImageBuildSpec struct {
	// Repository url
	Repo string `json:"repo,omitempty"`

	// Repo Revision. Can be a git commit or tag
	Revision string `json:"revision,omitempty"`

	// Repo Branch. If specified, a gitmodule will be created to watch the repo and creating new revision if new commit or tag is pushed.
	Branch string `json:"branch,omitempty"`

	// Specify the name of the Dockerfile in the Repo. This is the full path relative to the repo root. Defaults to `Dockerfile`.
	Dockerfile string `json:"dockerfile,omitempty"`

	// Specify build context. Defaults to "."
	Context string `json:"context,omitempty"`

	// Specify build args
	Args []string `json:"args,omitempty" mapper:"alias=arg"`

	// Specify the build template. Defaults to `buildkit`.
	Template string `json:"template,omitempty"`

	// Specify the github secret name. Used to create Github webhook, the secret key has to be `accessToken`
	WebhookSecretName string `json:"webhookSecretName,omitempty"`

	// Specify secret name for checking our git resources
	CloneSecretName string `json:"cloneSecretName,omitempty"`

	// Specify custom registry to push the image instead of built-in one
	PushRegistry string `json:"pushRegistry,omitempty"`

	// Specify secret for pushing to custom registry
	PushRegistrySecretName string `json:"pushRegistrySecretName,omitempty"`

	// Specify image name instead of the one generated from service name, format: $registry/$imageName:$revision
	ImageName string `json:"imageName,omitempty"`

	// Whether to enable builds for pull requests
	PR bool `json:"pr,omitempty" mapper:"alias=onPR"`

	// Whether to enable builds for tags
	Tag bool `json:"tag,omitempty" mapper:"alias=onTag"`

	// Build image with no cache
	NoCache bool `json:"noCache,omitempty"`

	// TimeoutSeconds describes how long the build can run
	TimeoutSeconds *int `json:"timeout,omitempty" mapper:"duration"`
}

func (*ImageBuildSpec) DeepCopy added in v0.6.0

func (in *ImageBuildSpec) DeepCopy() *ImageBuildSpec

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

func (*ImageBuildSpec) DeepCopyInto added in v0.6.0

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

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

type Match

type Match struct {
	//URI to match values are case-sensitive and formatted as follows:
	//
	//    exact: "value" for exact string match
	//
	//    prefix: "value" for prefix-based match
	//
	//    regex: "value" for ECMAscript style regex-based match
	Path *StringMatch `json:"path,omitempty"`

	// HTTP Method values are case-sensitive and formatted as follows:
	//
	//    exact: "value" for exact string match
	//
	//    prefix: "value" for prefix-based match
	//
	//    regex: "value" for ECMAscript style regex-based match
	Methods []string `json:"methods,omitempty"`

	// The header keys must be lowercase and use hyphen as the separator, e.g. x-request-id.
	//
	// Header values are case-sensitive and formatted as follows:
	//
	//    exact: "value" for exact string match
	//
	//    prefix: "value" for prefix-based match
	//
	//    regex: "value" for ECMAscript style regex-based match
	//
	// Note: The keys uri, scheme, method, and authority will be ignored.
	Headers []HeaderMatch `json:"headers,omitempty"`
}

func (*Match) DeepCopy

func (in *Match) DeepCopy() *Match

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

func (*Match) DeepCopyInto

func (in *Match) DeepCopyInto(out *Match)

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

func (Match) MaybeString

func (m Match) MaybeString() interface{}

type NameValue added in v0.6.0

type NameValue struct {
	Name  string `json:"name,omitempty"`
	Value string `json:"value,omitempty"`
}

func (*NameValue) DeepCopy added in v0.6.0

func (in *NameValue) DeepCopy() *NameValue

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

func (*NameValue) DeepCopyInto added in v0.6.0

func (in *NameValue) DeepCopyInto(out *NameValue)

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

type NamedContainer

type NamedContainer struct {
	// The name of the container
	Name string `json:"name,omitempty"`

	// List of initialization containers belonging to the pod.
	// Init containers are executed in order prior to containers being started.
	// If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy.
	// The name for an init container or normal container must be unique among all containers.
	// Init containers may not have Lifecycle actions, Readiness probes, or Liveness probes.
	// The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers.
	// Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
	Init bool `json:"init,omitempty"`

	Container
}

func (*NamedContainer) DeepCopy

func (in *NamedContainer) DeepCopy() *NamedContainer

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

func (*NamedContainer) DeepCopyInto

func (in *NamedContainer) DeepCopyInto(out *NamedContainer)

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

type Permission

type Permission struct {
	Role         string   `json:"role,omitempty"`
	Verbs        []string `json:"verbs,omitempty"`
	APIGroup     string   `json:"apiGroup,omitempty"`
	Resource     string   `json:"resource,omitempty"`
	URL          string   `json:"url,omitempty"`
	ResourceName string   `json:"resourceName,omitempty"`
}

func (*Permission) DeepCopy

func (in *Permission) DeepCopy() *Permission

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

func (*Permission) DeepCopyInto

func (in *Permission) DeepCopyInto(out *Permission)

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

type PodConfig

type PodConfig struct {
	// List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated.
	Sidecars []NamedContainer `json:"containers,omitempty"`

	// Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value.
	Hostname string `json:"hostname,omitempty"`

	// HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods.
	HostAliases []v1.HostAlias `json:"hostAliases,omitempty" mapper:"hosts,envmap=sep==,alias=hosts"`

	// Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false.
	HostNetwork bool `json:"hostNetwork,omitempty" mapper:"hostNetwork"`

	// Image pull secret
	ImagePullSecrets []string `json:"imagePullSecrets,omitempty" mapper:"alias=pullSecrets"`

	// Volumes to create per replica
	VolumeTemplates []VolumeTemplate `json:"volumeTemplates,omitempty"`

	// DNS settings for this Pod
	DNS *DNS `json:"dns,omitempty"`

	*v1.Affinity `json:",inline"`

	Container
}

func (*PodConfig) DeepCopy

func (in *PodConfig) DeepCopy() *PodConfig

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

func (*PodConfig) DeepCopyInto

func (in *PodConfig) DeepCopyInto(out *PodConfig)

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

type PodDNSConfigOption

type PodDNSConfigOption struct {
	Name  string  `json:"name,omitempty"`
	Value *string `json:"value,omitempty"`
}

func (*PodDNSConfigOption) DeepCopy

func (in *PodDNSConfigOption) DeepCopy() *PodDNSConfigOption

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

func (*PodDNSConfigOption) DeepCopyInto

func (in *PodDNSConfigOption) DeepCopyInto(out *PodDNSConfigOption)

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

type Protocol

type Protocol string
const (
	ProtocolTCP   Protocol = "TCP"
	ProtocolUDP   Protocol = "UDP"
	ProtocolSCTP  Protocol = "SCTP"
	ProtocolHTTP  Protocol = "HTTP"
	ProtocolHTTP2 Protocol = "HTTP2"
	ProtocolGRPC  Protocol = "GRPC"
)

type Question

type Question struct {
	// The variable name to reference using ${...} syntax
	Variable string `json:"variable,omitempty"`

	// A friend name for the question
	Label string `json:"label,omitempty"`

	// A longer description of the question
	Description string `json:"description,omitempty"`

	// The field type: string, int, bool, enum. default is string
	Type string `json:"type,omitempty"`

	// The answer can not be blank
	Required bool `json:"required,omitempty"`

	// Default value of the answer if not specified by the user
	Default string `json:"default,omitempty"`

	// Group the question with questions in the same group (Most used by UI)
	Group string `json:"group,omitempty"`

	// Minimum length of the answer
	MinLength int `json:"minLength,omitempty"`

	// Maximum length of the answer
	MaxLength int `json:"maxLength,omitempty"`

	// Minimum value of an int answer
	Min int `json:"min,omitempty"`

	// Maximum value of an int answer
	Max int `json:"max,omitempty"`

	// An array of valid answers for type enum questions
	Options []string `json:"options,omitempty"`

	// Answer must be composed of only these characters
	ValidChars string `json:"validChars,omitempty"`

	// Answer must not have any of these characters
	InvalidChars string `json:"invalidChars,omitempty"`

	// A list of questions that are considered child questions
	Subquestions []SubQuestion `json:"subquestions,omitempty"`

	// Ask question only if this evaluates to true, more info on syntax below
	ShowIf string `json:"showIf,omitempty"`

	// Ask subquestions if this evaluates to true
	ShowSubquestionIf string `json:"showSubquestionIf,omitempty"`
}

func (*Question) DeepCopy

func (in *Question) DeepCopy() *Question

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

func (*Question) DeepCopyInto

func (in *Question) DeepCopyInto(out *Question)

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

type Redirect

type Redirect struct {
	Host    string `json:"host,omitempty"`
	Path    string `json:"path,omitempty"`
	Prefix  string `json:"prefix,omitempty"`
	ToHTTPS bool   `json:"toHTTPS,omitempty"`
}

func (*Redirect) DeepCopy

func (in *Redirect) DeepCopy() *Redirect

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

func (*Redirect) DeepCopyInto

func (in *Redirect) DeepCopyInto(out *Redirect)

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

type Retry

type Retry struct {
	TimeoutSeconds int `json:"timeoutSeconds,omitempty"`
	Attempts       int `json:"attempts,omitempty"`
}

func (*Retry) DeepCopy

func (in *Retry) DeepCopy() *Retry

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

func (*Retry) DeepCopyInto

func (in *Retry) DeepCopyInto(out *Retry)

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

type Rewrite

type Rewrite struct {
	Host string `json:"host,omitempty"`
	Path string `json:"path,omitempty"`
}

func (*Rewrite) DeepCopy

func (in *Rewrite) DeepCopy() *Rewrite

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

func (*Rewrite) DeepCopyInto

func (in *Rewrite) DeepCopyInto(out *Rewrite)

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

type RolloutConfig

type RolloutConfig struct {
	// Increment Value each Rollout can scale up or down, always a positive number
	Increment int `json:"increment,omitempty"`

	// Interval between each Rollout in seconds
	IntervalSeconds int `json:"intervalSeconds,omitempty" mapper:"duration,alias=interval"`

	// Pause if true the rollout will stop in place until set to false.
	Pause bool `json:"pause,omitempty"`
}

RolloutConfig specifies the configuration when promoting a new revision

func (*RolloutConfig) DeepCopy

func (in *RolloutConfig) DeepCopy() *RolloutConfig

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

func (*RolloutConfig) DeepCopyInto

func (in *RolloutConfig) DeepCopyInto(out *RolloutConfig)

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

type RouteSpec

type RouteSpec struct {
	//Match conditions to be satisfied for the rule to be activated. All conditions inside a single match block have AND semantics, while the list of match blocks have OR semantics.
	// The rule is matched if any one of the match blocks succeed.
	Match Match `json:"match,omitempty"`

	// A http rule can either redirect or forward (default) traffic. The forwarding target can be one of several versions of a service (see glossary in beginning of document).
	// Weights associated with the service version determine the proportion of traffic it receives.
	To []WeightedDestination `json:"to,omitempty"`

	// A http rule can either redirect or forward (default) traffic. If traffic passthrough option is specified in the rule, route/redirect will be ignored.
	// The redirect primitive can be used to send a HTTP 301 redirect to a different URI or Authority.
	Redirect *Redirect `json:"redirect,omitempty"`

	// Rewrite HTTP URIs and Authority headers. Rewrite cannot be used with Redirect primitive. Rewrite will be performed before forwarding.
	Rewrite *Rewrite `json:"rewrite,omitempty"`

	// Retries specifies the retry logic for each route
	Retry *Retry `json:"retry,omitempty"`

	//Header manipulation rules
	Headers *HeaderOperations `json:"headers,omitempty"`

	// Fault injection policy to apply on HTTP traffic at the client side. Note that timeouts or retries will not be enabled when faults are enabled on the client side.
	Fault *Fault `json:"fault,omitempty"`

	// Mirror HTTP traffic to a another destination in addition to forwarding the requests to the intended destination.
	// Mirrored traffic is on a best effort basis where the sidecar/gateway will not wait for the mirrored cluster to respond before returning the response from the original destination.
	// Statistics will be generated for the mirrored destination.
	Mirror *Destination `json:"mirror,omitempty"`

	// TimeoutSeconds specifies timeout setting for each route
	TimeoutSeconds *int `json:"timeoutSeconds,omitempty"`
}

func (*RouteSpec) DeepCopy

func (in *RouteSpec) DeepCopy() *RouteSpec

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

func (*RouteSpec) DeepCopyInto

func (in *RouteSpec) DeepCopyInto(out *RouteSpec)

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

type Router

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

	Spec   RouterSpec   `json:"spec,omitempty"`
	Status RouterStatus `json:"status,omitempty"`
}

Router is a top level resource to create L7 routing to different services. It will create VirtualService, ServiceEntry and DestinationRules

func NewRouter

func NewRouter(namespace, name string, obj Router) *Router

func (*Router) DeepCopy

func (in *Router) DeepCopy() *Router

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

func (*Router) DeepCopyInto

func (in *Router) DeepCopyInto(out *Router)

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

func (*Router) DeepCopyObject

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

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

type RouterList

type RouterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []Router `json:"items"`
}

RouterList is a list of Router resources

func (*RouterList) DeepCopy

func (in *RouterList) DeepCopy() *RouterList

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

func (*RouterList) DeepCopyInto

func (in *RouterList) DeepCopyInto(out *RouterList)

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

func (*RouterList) DeepCopyObject

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

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

type RouterSpec

type RouterSpec struct {
	// An ordered list of route rules for HTTP traffic. The first rule matching an incoming request is used.
	Routes []RouteSpec `json:"routes,omitempty"`

	// By default all Routers are public and exposed outside of the cluster. Setting internal to true will
	// cause the Router to not be exposed
	Internal bool `json:"internal,omitempty"`
}

func (*RouterSpec) DeepCopy

func (in *RouterSpec) DeepCopy() *RouterSpec

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

func (*RouterSpec) DeepCopyInto

func (in *RouterSpec) DeepCopyInto(out *RouterSpec)

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

type RouterStatus

type RouterStatus struct {
	// The endpoint to access the router
	Endpoints []string `json:"endpoints,omitempty" column:"name=Endpoint,type=string,jsonpath=.status.endpoints[0]"`

	// Represents the latest available observations of a PublicDomain's current state.
	Conditions []genericcondition.GenericCondition `json:"conditions,omitempty"`
}

func (*RouterStatus) DeepCopy

func (in *RouterStatus) DeepCopy() *RouterStatus

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

func (*RouterStatus) DeepCopyInto

func (in *RouterStatus) DeepCopyInto(out *RouterStatus)

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

type ScaleStatus

type ScaleStatus struct {
	// Total number of unavailable pods targeted by this deployment. This is the total number of pods that are still required for the deployment to have 100% available capacity.
	// They may either be pods that are running but not yet available or pods that still have not been created.
	Unavailable int `json:"unavailable,omitempty"`

	// Total number of available pods (ready for at least minReadySeconds) targeted by this deployment.
	Available int `json:"available,omitempty"`
}

func (*ScaleStatus) DeepCopy

func (in *ScaleStatus) DeepCopy() *ScaleStatus

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

func (*ScaleStatus) DeepCopyInto

func (in *ScaleStatus) DeepCopyInto(out *ScaleStatus)

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

type Service

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

	Spec   ServiceSpec   `json:"spec,omitempty"`
	Status ServiceStatus `json:"status,omitempty"`
}

Service acts as a top level resource for a container and its sidecars and routing resources. Each service represents an individual revision, group by Spec.App(defaults to Service.Name), and Spec.Version(defaults to v0)

func NewService

func NewService(namespace, name string, obj Service) *Service

func (*Service) DeepCopy

func (in *Service) DeepCopy() *Service

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

func (*Service) DeepCopyInto

func (in *Service) DeepCopyInto(out *Service)

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

func (*Service) DeepCopyObject

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

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

type ServiceList

type ServiceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []Service `json:"items"`
}

ServiceList is a list of Service resources

func (*ServiceList) DeepCopy

func (in *ServiceList) DeepCopy() *ServiceList

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

func (*ServiceList) DeepCopyInto

func (in *ServiceList) DeepCopyInto(out *ServiceList)

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

func (*ServiceList) DeepCopyObject

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

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

type ServiceSpec

type ServiceSpec struct {
	PodConfig

	// Template this service is a template for new versions to be created base on changes
	// from the build.repo
	Template bool `json:"template,omitempty"`

	// StageOnly whether to only stage services that are generated through template from build.repo
	StageOnly bool `json:"stageOnly,omitempty"`

	// Version version of this service
	Version string `json:"version,omitempty"`

	// App The exposed app name, if no value is set, then metadata.name of the Service is used
	App string `json:"app,omitempty"`

	// Weight The weight among services with matching app field to determine how much traffic is load balanced
	// to this service.  If rollout is set, the weight become the target weight of the rollout.
	Weight *int `json:"weight,omitempty"`

	// Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1 in deployment.
	Replicas *int `json:"replicas,omitempty" mapper:"alias=scale"`

	// The maximum number of pods that can be unavailable during the update.
	// Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
	// Absolute number is calculated from percentage by rounding down.
	// This can not be 0 if MaxSurge is 0.
	// Defaults to 25%.
	// Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods
	// immediately when the rolling update starts. Once new pods are ready, old ReplicaSet
	// can be scaled down further, followed by scaling up the new ReplicaSet, ensuring
	// that the total number of pods available at all times during the update is at
	// least 70% of desired pods.
	// +optional
	MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty"`

	// The maximum number of pods that can be scheduled above the desired number of
	// pods.
	// Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%).
	// This can not be 0 if MaxUnavailable is 0.
	// Absolute number is calculated from percentage by rounding up.
	// Defaults to 25%.
	// Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when
	// the rolling update starts, such that the total number of old and new pods do not exceed
	// 130% of desired pods. Once old pods have been killed,
	// new ReplicaSet can be scaled up further, ensuring that total number of pods running
	// at any time during the update is at most 130% of desired pods.
	// +optional
	MaxSurge *intstr.IntOrString `json:"maxSurge,omitempty"`

	// Autoscale the replicas based on the amount of traffic received by this service
	Autoscale *AutoscaleConfig `json:"autoscale,omitempty"`

	// RolloutConfig controls how each service is allocated ComputedWeight
	RolloutConfig *RolloutConfig `json:"rollout,omitempty"`

	// Place one pod per node that matches the scheduling rules
	Global bool `json:"global,omitempty"`

	// Whether to disable Service mesh for Service. If true, no mesh sidecar will be deployed along with the Service
	ServiceMesh *bool `json:"serviceMesh,omitempty"`

	// RequestTimeoutSeconds specify the timeout set on api gateway for each individual service
	RequestTimeoutSeconds *int `json:"requestTimeoutSeconds,omitempty"`

	// Permissions to the Services. It will create corresponding ServiceAccounts, Roles and RoleBinding.
	Permissions []Permission `json:"permissions,omitempty" mapper:"permissions,alias=permission"`

	// GlobalPermissions to the Services. It will create corresponding ServiceAccounts, ClusterRoles and ClusterRoleBinding.
	GlobalPermissions []Permission `json:"globalPermissions,omitempty" mapper:"permissions,alias=globalPermission"`
}

ServiceSpec represents spec for Service

func (*ServiceSpec) DeepCopy

func (in *ServiceSpec) DeepCopy() *ServiceSpec

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

func (*ServiceSpec) DeepCopyInto

func (in *ServiceSpec) DeepCopyInto(out *ServiceSpec)

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

type ServiceStatus

type ServiceStatus struct {
	// DeploymentReady for ready status on deployment
	DeploymentReady bool `json:"deploymentReady,omitempty"`

	// ScaleStatus for the Service
	ScaleStatus *ScaleStatus `json:"scaleStatus,omitempty"`

	// ComputedApp is the calculated value of Spec.App if not set
	ComputedApp string `json:"computedApp,omitempty"`

	// ComputedVersion is the calculated value of Spec.Version if not set
	ComputedVersion string `json:"computedVersion,omitempty"`

	// ComputedReplicas is calculated from autoscaling component to make sure pod has the desired load
	ComputedReplicas *int `json:"computedReplicas,omitempty"`

	// ComputedWeight is the weight calculated from the rollout revision
	ComputedWeight *int `json:"computedWeight,omitempty"`

	// ContainerRevision are populated from builds to store commits for each repo
	ContainerRevision map[string]BuildRevision `json:"containerRevision,omitempty"`

	// GeneratedServices contains all the service names are generated from build template
	GeneratedServices map[string]bool `json:"generatedServices,omitempty"`

	// GitCommits contains all git commits that triggers template update
	GitCommits []string `json:"gitCommits,omitempty"`

	// ShouldGenerate contains the serviceName that should be generated on the next controller run
	ShouldGenerate string `json:"shouldGenerate,omitempty"`

	// ShouldClean contains all the services that are generated from template but should be cleaned up.
	ShouldClean map[string]bool `json:"shouldClean,omitempty"`

	// Represents the latest available observations of a deployment's current state.
	Conditions []genericcondition.GenericCondition `json:"conditions,omitempty"`

	// The Endpoints to access this version directly
	Endpoints []string `json:"endpoints,omitempty" column:"name=Endpoint,type=string,jsonpath=.status.endpoints[0]"`

	// The Endpoints to access this service as part of an app
	AppEndpoints []string `json:"appEndpoints,omitempty"`

	// log token to access build log
	BuildLogToken string `json:"buildLogToken,omitempty"`

	// Watch represents if a service should creates git watcher to watch git changes
	Watch bool `json:"watch,omitempty"`
}

func (*ServiceStatus) DeepCopy

func (in *ServiceStatus) DeepCopy() *ServiceStatus

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

func (*ServiceStatus) DeepCopyInto

func (in *ServiceStatus) DeepCopyInto(out *ServiceStatus)

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

type Stack added in v0.3.0

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

	Spec   StackSpec   `json:"spec,omitempty"`
	Status StackStatus `json:"status,omitempty"`
}

func NewStack added in v0.3.0

func NewStack(namespace, name string, obj Stack) *Stack

func (*Stack) DeepCopy added in v0.3.0

func (in *Stack) DeepCopy() *Stack

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

func (*Stack) DeepCopyInto added in v0.3.0

func (in *Stack) DeepCopyInto(out *Stack)

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

func (*Stack) DeepCopyObject added in v0.3.0

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

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

type StackBuild added in v0.4.0

type StackBuild struct {
	// Git repo url
	Repo string `json:"repo,omitempty"`

	// Git branch
	Branch string `json:"branch,omitempty"`

	// Git revision
	Revision string `json:"revision,omitempty"`

	// Git secret name for repository
	CloneSecretName string `json:"cloneSecretName,omitempty"`

	// Specify the name of the Riofile in the Repo. This is the full path relative to the repo root. Defaults to `Riofile`.
	Riofile string `json:"rioFile,omitempty"`

	// Specify the github secret name. Used to create Github webhook, the secret key has to be `accessToken`
	WebhookSecretName string `json:"webhookSecretName,omitempty"`
}

func (*StackBuild) DeepCopy added in v0.4.0

func (in *StackBuild) DeepCopy() *StackBuild

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

func (*StackBuild) DeepCopyInto added in v0.4.0

func (in *StackBuild) DeepCopyInto(out *StackBuild)

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

type StackList added in v0.3.0

type StackList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []Stack `json:"items"`
}

StackList is a list of Stack resources

func (*StackList) DeepCopy added in v0.3.0

func (in *StackList) DeepCopy() *StackList

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

func (*StackList) DeepCopyInto added in v0.3.0

func (in *StackList) DeepCopyInto(out *StackList)

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

func (*StackList) DeepCopyObject added in v0.3.0

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

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

type StackSpec added in v0.3.0

type StackSpec struct {
	// Stack build parameters that watches git repo
	Build *StackBuild `json:"build,omitempty"`

	// Permissions used while deploying objects created by this stack
	Permissions []Permission `json:"permissions,omitempty" mapper:"permissions,alias=permission"`

	// Additional GVKs not in the rio.cattle.io that have the rio.cattle.io/stack label. These objects
	// are "owned" by this stack
	AdditionalGroupVersionKinds []schema.GroupVersionKind `json:"additionalGroupVersionKinds,omitempty"`

	// Stack answers
	Answers map[string]string `json:"answers,omitempty"`
}

func (*StackSpec) DeepCopy added in v0.3.0

func (in *StackSpec) DeepCopy() *StackSpec

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

func (*StackSpec) DeepCopyInto added in v0.3.0

func (in *StackSpec) DeepCopyInto(out *StackSpec)

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

type StackStatus added in v0.3.0

type StackStatus struct {
	// Observed commit for the build
	Revision string `json:"revision,omitempty"`

	Conditions []genericcondition.GenericCondition `json:"conditions,omitempty"`
}

func (*StackStatus) DeepCopy added in v0.3.0

func (in *StackStatus) DeepCopy() *StackStatus

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

func (*StackStatus) DeepCopyInto added in v0.3.0

func (in *StackStatus) DeepCopyInto(out *StackStatus)

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

type StringMatch

type StringMatch struct {
	Exact  string `json:"exact,omitempty"`
	Prefix string `json:"prefix,omitempty"`
	Regexp string `json:"regexp,omitempty"`
}

func (*StringMatch) DeepCopy

func (in *StringMatch) DeepCopy() *StringMatch

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

func (*StringMatch) DeepCopyInto

func (in *StringMatch) DeepCopyInto(out *StringMatch)

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

func (StringMatch) String

func (s StringMatch) String() string

type SubQuestion

type SubQuestion struct {
	Variable     string   `json:"variable,omitempty"`
	Label        string   `json:"label,omitempty"`
	Description  string   `json:"description,omitempty"`
	Type         string   `json:"type,omitempty"`
	Required     bool     `json:"required,omitempty"`
	Default      string   `json:"default,omitempty"`
	Group        string   `json:"group,omitempty"`
	MinLength    int      `json:"minLength,omitempty"`
	MaxLength    int      `json:"maxLength,omitempty"`
	Min          int      `json:"min,omitempty"`
	Max          int      `json:"max,omitempty"`
	Options      []string `json:"options,omitempty"`
	ValidChars   string   `json:"validChars,omitempty"`
	InvalidChars string   `json:"invalidChars,omitempty"`
	ShowIf       string   `json:"showIf,omitempty"`
}

func (*SubQuestion) DeepCopy

func (in *SubQuestion) DeepCopy() *SubQuestion

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

func (*SubQuestion) DeepCopyInto

func (in *SubQuestion) DeepCopyInto(out *SubQuestion)

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

type TemplateMeta

type TemplateMeta struct {
	Name       string     `json:"name,omitempty"`
	Version    string     `json:"version,omitempty"`
	IconURL    string     `json:"iconUrl,omitempty"`
	Readme     string     `json:"readme,omitempty"`
	Questions  []Question `json:"questions,omitempty"`
	GoTemplate bool       `json:"goTemplate,omitempty"`
	EnvSubst   bool       `json:"envSubst,omitempty"`
}

func (*TemplateMeta) DeepCopy

func (in *TemplateMeta) DeepCopy() *TemplateMeta

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

func (*TemplateMeta) DeepCopyInto

func (in *TemplateMeta) DeepCopyInto(out *TemplateMeta)

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

type Volume

type Volume struct {
	// Name is the name of the volume. If multiple Volumes in the same pod share the same name they
	// will be the same underlying storage. If persistent is set to true Name is required and will be
	// used to reference a PersistentVolumeClaim in the current namespace.
	//
	// If Name matches the name of a VolumeTemplate on this service then the VolumeTemplate will be used as the
	// source of the volume.
	Name string `json:"name,omitempty"`

	// That path within the container to mount the volume to
	Path string `json:"path,omitempty"`

	// That path on the host to mount into this container
	HostPath string `json:"hostpath,omitempty"`

	// HostPathType specify HostPath type
	HostPathType *v1.HostPathType `json:"hostPathType,omitempty" protobuf:"bytes,2,opt,name=type"`

	// If Persistent is true then this volume refers to a PersistentVolumeClaim in this namespace. The
	// Name field is used to reference PersistentVolumeClaim.  If the Name of this Volume matches a VolumeTemplate
	// then Persistent is assumed to be true
	Persistent bool `json:"persistent,omitempty"`
}

func (*Volume) DeepCopy

func (in *Volume) DeepCopy() *Volume

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

func (*Volume) DeepCopyInto

func (in *Volume) DeepCopyInto(out *Volume)

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

type VolumeTemplate added in v0.6.0

type VolumeTemplate struct {
	// Labels to be applied to the created PVC
	Labels map[string]string `json:"labels,omitempty"`
	// Annotations to be applied to the created PVC
	Annotations map[string]string `json:"annotations,omitempty"`

	// Name of the VolumeTemplate. A volume entry will use this name to refer to the created volume
	Name string

	// AccessModes contains the desired access modes the volume should have.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
	// +optional
	AccessModes []v1.PersistentVolumeAccessMode `json:"accessModes,omitempty"`
	// Resources represents the minimum resources the volume should have.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
	// +optional
	StorageRequest int64 `json:"storage,omitempty" mapper:"quantity"`
	// Name of the StorageClass required by the claim.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
	StorageClassName string `json:"storageClassName,omitempty"`
	// volumeMode defines what type of volume is required by the claim.
	// Value of Filesystem is implied when not included in claim spec.
	// This is a beta feature.
	// +optional
	VolumeMode *v1.PersistentVolumeMode `json:"volumeMode,omitempty"`
}

func (*VolumeTemplate) DeepCopy added in v0.6.0

func (in *VolumeTemplate) DeepCopy() *VolumeTemplate

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

func (*VolumeTemplate) DeepCopyInto added in v0.6.0

func (in *VolumeTemplate) DeepCopyInto(out *VolumeTemplate)

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

type WeightedDestination

type WeightedDestination struct {
	Destination

	// Weight for the Destination
	Weight int `json:"weight,omitempty"`
}

func (*WeightedDestination) DeepCopy

func (in *WeightedDestination) DeepCopy() *WeightedDestination

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

func (*WeightedDestination) DeepCopyInto

func (in *WeightedDestination) DeepCopyInto(out *WeightedDestination)

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

func (WeightedDestination) String

func (w WeightedDestination) String() string

Jump to

Keyboard shortcuts

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