From 70544fed09fc37e14263897fba689c914ab99271 Mon Sep 17 00:00:00 2001 From: Nikhil Sharma Date: Mon, 15 May 2023 19:03:47 +0530 Subject: [PATCH] add status field for the function CRD Signed-off-by: Nikhil Sharma --- artifacts/crds/openfaas.com_functions.yaml | 6 +++++- pkg/apis/openfaas/v1/types.go | 8 ++++++++ pkg/apis/openfaas/v1/zz_generated.deepcopy.go | 17 +++++++++++++++++ .../versioned/fake/clientset_generated.go | 5 ++++- pkg/client/clientset/versioned/fake/register.go | 14 +++++++------- .../clientset/versioned/scheme/register.go | 14 +++++++------- 6 files changed, 48 insertions(+), 16 deletions(-) diff --git a/artifacts/crds/openfaas.com_functions.yaml b/artifacts/crds/openfaas.com_functions.yaml index 53ee76023..6c08d3bba 100644 --- a/artifacts/crds/openfaas.com_functions.yaml +++ b/artifacts/crds/openfaas.com_functions.yaml @@ -85,9 +85,13 @@ spec: type: array items: type: string + status: + description: FunctionStatus defines the observed state of a Function + type: object served: true storage: true - subresources: {} + subresources: + status: {} status: acceptedNames: kind: "" diff --git a/pkg/apis/openfaas/v1/types.go b/pkg/apis/openfaas/v1/types.go index 62262980d..f8eedcce3 100644 --- a/pkg/apis/openfaas/v1/types.go +++ b/pkg/apis/openfaas/v1/types.go @@ -9,6 +9,7 @@ import ( // +genclient:noStatus // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // +kubebuilder:printcolumn:name="Image",type=string,JSONPath=`.spec.image` +// +kubebuilder:subresource:status // Function describes an OpenFaaS function type Function struct { @@ -16,6 +17,9 @@ type Function struct { metav1.ObjectMeta `json:"metadata,omitempty"` Spec FunctionSpec `json:"spec"` + + // +optional + Status FunctionStatus `json:"status"` } // FunctionSpec is the spec for a Function resource @@ -43,6 +47,10 @@ type FunctionSpec struct { ReadOnlyRootFilesystem bool `json:"readOnlyRootFilesystem"` } +// FunctionStatus defines the observed state of a Function +type FunctionStatus struct { +} + // FunctionResources is used to set CPU and memory limits and requests type FunctionResources struct { Memory string `json:"memory,omitempty"` diff --git a/pkg/apis/openfaas/v1/zz_generated.deepcopy.go b/pkg/apis/openfaas/v1/zz_generated.deepcopy.go index 412c08ec9..c11ca8788 100644 --- a/pkg/apis/openfaas/v1/zz_generated.deepcopy.go +++ b/pkg/apis/openfaas/v1/zz_generated.deepcopy.go @@ -22,6 +22,7 @@ func (in *Function) DeepCopyInto(out *Function) { out.TypeMeta = in.TypeMeta in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) in.Spec.DeepCopyInto(&out.Spec) + out.Status = in.Status return } @@ -161,6 +162,22 @@ func (in *FunctionSpec) DeepCopy() *FunctionSpec { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FunctionStatus) DeepCopyInto(out *FunctionStatus) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionStatus. +func (in *FunctionStatus) DeepCopy() *FunctionStatus { + if in == nil { + return nil + } + out := new(FunctionStatus) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Profile) DeepCopyInto(out *Profile) { *out = *in diff --git a/pkg/client/clientset/versioned/fake/clientset_generated.go b/pkg/client/clientset/versioned/fake/clientset_generated.go index a079c0253..aa21daa4d 100644 --- a/pkg/client/clientset/versioned/fake/clientset_generated.go +++ b/pkg/client/clientset/versioned/fake/clientset_generated.go @@ -64,7 +64,10 @@ func (c *Clientset) Tracker() testing.ObjectTracker { return c.tracker } -var _ clientset.Interface = &Clientset{} +var ( + _ clientset.Interface = &Clientset{} + _ testing.FakeClient = &Clientset{} +) // OpenfaasV1 retrieves the OpenfaasV1Client func (c *Clientset) OpenfaasV1() openfaasv1.OpenfaasV1Interface { diff --git a/pkg/client/clientset/versioned/fake/register.go b/pkg/client/clientset/versioned/fake/register.go index 6cf346584..42f8458ea 100644 --- a/pkg/client/clientset/versioned/fake/register.go +++ b/pkg/client/clientset/versioned/fake/register.go @@ -27,14 +27,14 @@ var localSchemeBuilder = runtime.SchemeBuilder{ // AddToScheme adds all types of this clientset into the given scheme. This allows composition // of clientsets, like in: // -// import ( -// "k8s.io/client-go/kubernetes" -// clientsetscheme "k8s.io/client-go/kubernetes/scheme" -// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" -// ) +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) // -// kclientset, _ := kubernetes.NewForConfig(c) -// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// kclientset, _ := kubernetes.NewForConfig(c) +// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) // // After this, RawExtensions in Kubernetes types will serialize kube-aggregator types // correctly. diff --git a/pkg/client/clientset/versioned/scheme/register.go b/pkg/client/clientset/versioned/scheme/register.go index 9993d4881..707b7bac9 100644 --- a/pkg/client/clientset/versioned/scheme/register.go +++ b/pkg/client/clientset/versioned/scheme/register.go @@ -27,14 +27,14 @@ var localSchemeBuilder = runtime.SchemeBuilder{ // AddToScheme adds all types of this clientset into the given scheme. This allows composition // of clientsets, like in: // -// import ( -// "k8s.io/client-go/kubernetes" -// clientsetscheme "k8s.io/client-go/kubernetes/scheme" -// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" -// ) +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) // -// kclientset, _ := kubernetes.NewForConfig(c) -// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// kclientset, _ := kubernetes.NewForConfig(c) +// _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) // // After this, RawExtensions in Kubernetes types will serialize kube-aggregator types // correctly.