v1alpha1

package
Version: v0.14.0 Latest Latest
Warning

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

Go to latest
Published: Apr 14, 2020 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

+k8s:deepcopy-gen=package +groupName=duck.cloud.google.com

Index

Constants

View Source
const (
	// Autoscaling refers to the autoscaling group.
	Autoscaling = "autoscaling.knative.dev"

	// AutoscalingClassAnnotation is the annotation for the explicit class of
	// scaler that a particular resource has opted into.
	AutoscalingClassAnnotation = Autoscaling + "/class"

	// AutoscalingMinScaleAnnotation is the annotation to specify the minimum number of pods to scale to.
	AutoscalingMinScaleAnnotation = Autoscaling + "/minScale"
	// AutoscalingMaxScaleAnnotation is the annotation to specify the maximum number of pods to scale to.
	AutoscalingMaxScaleAnnotation = Autoscaling + "/maxScale"

	// KEDA is Keda autoscaler.
	KEDA = "keda.autoscaling.knative.dev"

	// KedaAutoscalingPollingIntervalAnnotation is the annotation that refers to the interval in seconds Keda
	// uses to poll metrics in order to inform its scaling decisions.
	KedaAutoscalingPollingIntervalAnnotation = KEDA + "/pollingInterval"
	// KedaAutoscalingCooldownPeriodAnnotation is the annotation that refers to the period Keda waits until it
	// scales a Deployment down.
	KedaAutoscalingCooldownPeriodAnnotation = KEDA + "/cooldownPeriod"
	// KedaAutoscalingSubscriptionSizeAnnotation is the annotation that refers to the size of unacked messages in a
	// Pub/Sub subscription that Keda uses in order to decide when and by how much to scale out.
	KedaAutoscalingSubscriptionSizeAnnotation = KEDA + "/subscriptionSize"
)
View Source
const (
	// TopicReady has status True when the PubSub Topic is ready.
	TopicReady apis.ConditionType = "TopicReady"

	// PullSubscriptionReay has status True when the PullSubscription is ready.
	PullSubscriptionReady apis.ConditionType = "PullSubscriptionReady"
)
View Source
const (
	DefaultSecretName = "google-cloud-key"
)
View Source
const (
	IdentityConfigured apis.ConditionType = "WorkloadIdentityConfigured"
)

Variables

View Source
var (
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	AddToScheme   = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: duck.GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects

Functions

func DefaultGoogleCloudSecretSelector

func DefaultGoogleCloudSecretSelector() *corev1.SecretKeySelector

DefaultGoogleCloudSecretSelector is the default secret selector used to load the creds for the objects that will auth with Google Cloud.

func GroupResource

func GroupResource(resource string) schema.GroupResource

GroupResource takes an unqualified resource and returns a Group qualified GroupResource

func Kind

func Kind(kind string) schema.GroupKind

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

func SetAutoscalingAnnotationsDefaults

func SetAutoscalingAnnotationsDefaults(ctx context.Context, obj *metav1.ObjectMeta)

func ValidateAutoscalingAnnotations

func ValidateAutoscalingAnnotations(ctx context.Context, annotations map[string]string, errs *apis.FieldError) *apis.FieldError

ValidateAutoscalingAnnotations validates the autoscaling annotations. The class ensures that we reconcile using the corresponding controller.

func ValidateCredential

func ValidateCredential(secret *corev1.SecretKeySelector, gServiceAccountName string) *apis.FieldError

ValidateCredential checks secret and GCP service account.

Types

type IdentitySpec

type IdentitySpec struct {
	// GoogleServiceAccount is the GCP service account which has required permissions to poll from a Cloud Pub/Sub subscription.
	// If not specified, defaults to use secret.
	// +optional
	GoogleServiceAccount string `json:"googleServiceAccount,omitempty"`
}

func (*IdentitySpec) DeepCopy

func (in *IdentitySpec) DeepCopy() *IdentitySpec

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

func (*IdentitySpec) DeepCopyInto

func (in *IdentitySpec) DeepCopyInto(out *IdentitySpec)

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

type IdentityStatus

type IdentityStatus struct {
	// Inherits duck/v1 Status,, which currently provides:
	// * ObservedGeneration - the 'Generation' of the Service that was last processed by the controller.
	// * Conditions - the latest available observations of a resource's current state.
	duckv1.Status `json:",inline"`
	// ServiceAccountName is the k8s service account associated with Google service account.
	ServiceAccountName string `json:"serviceAccountName,omitempty"`
}

IdentityStatus inherits duck/v1 Status and adds a ServiceAccountName.

func (*IdentityStatus) DeepCopy

func (in *IdentityStatus) DeepCopy() *IdentityStatus

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

func (*IdentityStatus) DeepCopyInto

func (in *IdentityStatus) DeepCopyInto(out *IdentityStatus)

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

func (*IdentityStatus) IsReady

func (ss *IdentityStatus) IsReady() bool

IsReady returns true if the resource is ready overall.

func (*IdentityStatus) MarkWorkloadIdentityConfigured

func (s *IdentityStatus) MarkWorkloadIdentityConfigured(cs *apis.ConditionSet)

func (*IdentityStatus) MarkWorkloadIdentityFailed

func (s *IdentityStatus) MarkWorkloadIdentityFailed(cs *apis.ConditionSet, reason, messageFormat string, messageA ...interface{})

func (*IdentityStatus) MarkWorkloadIdentityNotConfigured

func (s *IdentityStatus) MarkWorkloadIdentityNotConfigured(cs *apis.ConditionSet, reason, messageFormat string, messageA ...interface{})

type PubSub

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

	Spec   PubSubSpec   `json:"spec"`
	Status PubSubStatus `json:"status"`
}

PubSub is a shared type that GCP sources which create a Topic / PullSubscription will use. This duck type is intended to allow implementors of GCP sources which use PubSub for their transport.

func (*PubSub) DeepCopy

func (in *PubSub) DeepCopy() *PubSub

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

func (*PubSub) DeepCopyInto

func (in *PubSub) DeepCopyInto(out *PubSub)

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

func (*PubSub) DeepCopyObject

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

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

func (*PubSub) GetFullType

func (*PubSub) GetFullType() duck.Populatable

GetFullType implements duck.Implementable

func (*PubSub) GetListType

func (*PubSub) GetListType() runtime.Object

GetListType implements apis.Listable

func (*PubSub) Populate

func (s *PubSub) Populate()

Populate implements duck.Populatable

type PubSubList

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

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

PubSubList is a list of PubSub resources

func (*PubSubList) DeepCopy

func (in *PubSubList) DeepCopy() *PubSubList

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

func (*PubSubList) DeepCopyInto

func (in *PubSubList) DeepCopyInto(out *PubSubList)

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

func (*PubSubList) DeepCopyObject

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

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

type PubSubSpec

type PubSubSpec struct {
	// This brings in CloudEventOverrides and Sink.
	duckv1.SourceSpec `json:",inline"`

	IdentitySpec `json:",inline"`

	// Secret is the credential to use to poll from a Cloud Pub/Sub subscription.
	// If not specified, defaults to:
	// Name: google-cloud-key
	// Key: key.json
	// +optional
	Secret *corev1.SecretKeySelector `json:"secret,omitempty"`

	// Project is the ID of the Google Cloud Project that the PubSub Topic exists in.
	// If omitted, defaults to same as the cluster.
	// +optional
	Project string `json:"project,omitempty"`
}

func (*PubSubSpec) DeepCopy

func (in *PubSubSpec) DeepCopy() *PubSubSpec

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

func (*PubSubSpec) DeepCopyInto

func (in *PubSubSpec) DeepCopyInto(out *PubSubSpec)

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

func (*PubSubSpec) SetPubSubDefaults

func (s *PubSubSpec) SetPubSubDefaults()

type PubSubStatus

type PubSubStatus struct {
	IdentityStatus `json:",inline"`

	// SinkURI is the current active sink URI that has been configured for the Source.
	// +optional
	SinkURI *apis.URL `json:"sinkUri,omitempty"`

	// CloudEventAttributes are the specific attributes that the Source uses
	// as part of its CloudEvents.
	// +optional
	CloudEventAttributes []duckv1.CloudEventAttributes `json:"ceAttributes,omitempty"`

	// ProjectID is the project ID of the Topic, might have been resolved.
	// +optional
	ProjectID string `json:"projectId,omitempty"`

	// TopicID where the notifications are sent to.
	// +optional
	TopicID string `json:"topicId,omitempty"`

	// SubscriptionID is the created subscription ID.
	// +optional
	SubscriptionID string `json:"subscriptionId,omitempty"`
}

PubSubStatus shows how we expect folks to embed Addressable in their Status field.

func (*PubSubStatus) DeepCopy

func (in *PubSubStatus) DeepCopy() *PubSubStatus

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

func (*PubSubStatus) DeepCopyInto

func (in *PubSubStatus) DeepCopyInto(out *PubSubStatus)

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

func (*PubSubStatus) IsReady

func (ss *PubSubStatus) IsReady() bool

IsReady returns true if the resource is ready overall.

func (*PubSubStatus) MarkPullSubscriptionFailed

func (s *PubSubStatus) MarkPullSubscriptionFailed(cs *apis.ConditionSet, reason, messageFormat string, messageA ...interface{})

MarkPullSubscriptionFailed sets the condition that the PubSub PullSubscription is False and why.

func (*PubSubStatus) MarkPullSubscriptionNotConfigured

func (s *PubSubStatus) MarkPullSubscriptionNotConfigured(cs *apis.ConditionSet)

MarkPullSubscriptionNotConfigured changes the PullSubscriptionReady condition to be unknown to reflect that the PullSubscription does not yet have a Status.

func (*PubSubStatus) MarkPullSubscriptionReady

func (s *PubSubStatus) MarkPullSubscriptionReady(cs *apis.ConditionSet)

MarkPullSubscriptionReady sets the condition that the PubSub PullSubscription is ready.

func (*PubSubStatus) MarkPullSubscriptionUnknown

func (s *PubSubStatus) MarkPullSubscriptionUnknown(cs *apis.ConditionSet, reason, messageFormat string, messageA ...interface{})

MarkPullSubscriptionUnknown sets the condition that the PubSub PullSubscription is Unknown.

func (*PubSubStatus) MarkTopicFailed

func (s *PubSubStatus) MarkTopicFailed(cs *apis.ConditionSet, reason, messageFormat string, messageA ...interface{})

MarkTopicFailed sets the condition that the PubSub Topic is False and why.

func (*PubSubStatus) MarkTopicNotConfigured

func (s *PubSubStatus) MarkTopicNotConfigured(cs *apis.ConditionSet)

MarkTopicNotConfigured changes the TopicReady condition to be unknown to reflect that the Topic does not yet have a Status.

func (*PubSubStatus) MarkTopicReady

func (s *PubSubStatus) MarkTopicReady(cs *apis.ConditionSet)

MarkTopicReady sets the condition that the PubSub Topic is ready.

func (*PubSubStatus) MarkTopicUnknown

func (s *PubSubStatus) MarkTopicUnknown(cs *apis.ConditionSet, reason, messageFormat string, messageA ...interface{})

MarkTopicUnknown sets the condition that the PubSub Topic is Unknown and why.

type Resource

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

Resource is a skeleton type wrapping all Kubernetes resources. It is typically used to watch arbitrary other resources. This is not a real resource. TODO upstream to pkg

func (*Resource) DeepCopy

func (in *Resource) DeepCopy() *Resource

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

func (*Resource) DeepCopyInto

func (in *Resource) DeepCopyInto(out *Resource)

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

func (*Resource) DeepCopyObject

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

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

func (*Resource) GetFullType

func (*Resource) GetFullType() duck.Populatable

GetFullType implements duck.Implementable

func (*Resource) GetListType

func (*Resource) GetListType() runtime.Object

GetListType implements apis.Listable

func (*Resource) Populate

func (s *Resource) Populate()

Populate implements duck.Populatable

type ResourceList

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

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

ResourceList is a list of Resource resources

func (*ResourceList) DeepCopy

func (in *ResourceList) DeepCopy() *ResourceList

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

func (*ResourceList) DeepCopyInto

func (in *ResourceList) DeepCopyInto(out *ResourceList)

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

func (*ResourceList) DeepCopyObject

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

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to