Skip to content

Commit 9ecaa6c

Browse files
upgrade to latest dependencies
bumping knative.dev/eventing 291c0a8...7bca815: > 7bca815 IntegrationSource CRD (# 8238) > c859efd [main] Format Go code (# 8289) > 7c97e6f Schduler: MAXFILLUP strategy will spread vreplicas across multiple pods (# 8263) > ef6b31a fix: et autocreate makes eventtype id required (# 8288) > 4faf9c8 [main] Upgrade to latest dependencies (# 8287) > 65aeab5 [main] Upgrade to latest dependencies (# 8275) > 03ba8f4 feat: autocreate v1beta3 eventtypes (# 8276) bumping knative.dev/reconciler-test 09111f0...aae114c: > aae114c upgrade to latest dependencies (# 771) > 9d5e1c0 Update community files (# 770) > 22c241b upgrade to latest dependencies (# 769) > 3e8ae56 Update community files (# 768) bumping knative.dev/hack 05b2fb3...ef6e7e9: > ef6e7e9 Export KO_FLAGS for consuming scripts (# 401) > 2191456 Update community files (# 400) bumping knative.dev/pkg 9b9d535...25f6002: > 25f6002 upgrade to latest dependencies (# 3111) > 6af2bf9 upgrade to latest dependencies (# 3110) > 76cfa12 Fix `WEBHOOK_DISABLE_NAMESPACE_OWNERSHIP` env-var (# 3107) > 6d10851 Add `WEBHOOK_DISABLE_NAMESPACE_OWNERSHIP` env-var (# 3103) > 6eb75e8 Update community files (# 3105) Signed-off-by: Knative Automation <[email protected]>
1 parent a84a271 commit 9ecaa6c

32 files changed

+1691
-28
lines changed

go.mod

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ require (
2020
k8s.io/client-go v0.31.0
2121
k8s.io/code-generator v0.31.0
2222
k8s.io/kube-openapi v0.0.0-20240808142205-8e686545bdb8
23-
knative.dev/eventing v0.43.0
24-
knative.dev/hack v0.0.0-20241010131451-05b2fb30cb4d
25-
knative.dev/pkg v0.0.0-20241021183759-9b9d535af5ad
26-
knative.dev/reconciler-test v0.0.0-20241015093232-09111f0f1364
23+
knative.dev/eventing v0.43.1-0.20241031141551-7bca81597eee
24+
knative.dev/hack v0.0.0-20241025103803-ef6e7e983a60
25+
knative.dev/pkg v0.0.0-20241026180704-25f6002b00f3
26+
knative.dev/reconciler-test v0.0.0-20241024141702-aae114c1c0e3
2727
sigs.k8s.io/controller-runtime v0.19.0
2828
)
2929

go.sum

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -826,14 +826,14 @@ k8s.io/kube-openapi v0.0.0-20240808142205-8e686545bdb8 h1:1Wof1cGQgA5pqgo8MxKPtf
826826
k8s.io/kube-openapi v0.0.0-20240808142205-8e686545bdb8/go.mod h1:Os6V6dZwLNii3vxFpxcNaTmH8LJJBkOTg1N0tOA0fvA=
827827
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 h1:pUdcCO1Lk/tbT5ztQWOBi5HBgbBP1J8+AsQnQCKsi8A=
828828
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
829-
knative.dev/eventing v0.43.0 h1:GELHZ0yYosMeV78l4alMsd7HJciEu6a3T2C5l7MPi3Y=
830-
knative.dev/eventing v0.43.0/go.mod h1:pdrF+bEUfRkNn9ifWXS7DoVj5W31gA5KQVd8iwplXUo=
831-
knative.dev/hack v0.0.0-20241010131451-05b2fb30cb4d h1:aCfX7kwkvgGxXXGbso5tLqdwQmzBkJ9d+EIRwksKTvk=
832-
knative.dev/hack v0.0.0-20241010131451-05b2fb30cb4d/go.mod h1:R0ritgYtjLDO9527h5vb5X6gfvt5LCrJ55BNbVDsWiY=
833-
knative.dev/pkg v0.0.0-20241021183759-9b9d535af5ad h1:Nrjtr2H168rJeamH4QdyLMV1lEKHejNhaj1ymgQMfLk=
834-
knative.dev/pkg v0.0.0-20241021183759-9b9d535af5ad/go.mod h1:StJI72GWcm/iErmk4RqFJiOo8RLbVqPbHxUqeVwAzeo=
835-
knative.dev/reconciler-test v0.0.0-20241015093232-09111f0f1364 h1:DIc+vbaFKOSGktPXJ1MaXIXoDjlmUIXQkHiZaPcYGbQ=
836-
knative.dev/reconciler-test v0.0.0-20241015093232-09111f0f1364/go.mod h1:PVRnK/YQo9s3foRtut00oAxvCPc9f/qV2PApZh/rMPw=
829+
knative.dev/eventing v0.43.1-0.20241031141551-7bca81597eee h1:ICnpaqvLBul+BwSBFRjRP2WIxFeOVbm6pQmYkyN30Q4=
830+
knative.dev/eventing v0.43.1-0.20241031141551-7bca81597eee/go.mod h1:2mdt9J66vQYzxizDz8I/F6IGzV1QgwCkacBR8X12Ssk=
831+
knative.dev/hack v0.0.0-20241025103803-ef6e7e983a60 h1:LjBbosBvW/9/qjzIJtGpehPsbNWVvy1Fz8yZvMbFWe4=
832+
knative.dev/hack v0.0.0-20241025103803-ef6e7e983a60/go.mod h1:R0ritgYtjLDO9527h5vb5X6gfvt5LCrJ55BNbVDsWiY=
833+
knative.dev/pkg v0.0.0-20241026180704-25f6002b00f3 h1:uUSDGlOIkdPT4svjlhi+JEnP2Ufw7AM/F5QDYiEL02U=
834+
knative.dev/pkg v0.0.0-20241026180704-25f6002b00f3/go.mod h1:FeMbTLlxQqSASwlRCrYEOsZ0OKUgSj52qxhECwYCJsw=
835+
knative.dev/reconciler-test v0.0.0-20241024141702-aae114c1c0e3 h1:pa3b/0EKzONPLBHqM0RFzG5EaB+k8OTyHGaUXWPIgns=
836+
knative.dev/reconciler-test v0.0.0-20241024141702-aae114c1c0e3/go.mod h1:W9Kmdoxelg2mswUpDKerL/4Ih1/ouVhlSMeZeJ5LX9c=
837837
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
838838
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
839839
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=

vendor/knative.dev/eventing/pkg/apis/sources/register.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,4 +56,10 @@ var (
5656
Group: GroupName,
5757
Resource: "containersources",
5858
}
59+
60+
// IntegrationSourceResource respresents a Knative Eventing Sources IntegrationSource
61+
IntegrationSourceResource = schema.GroupResource{
62+
Group: GroupName,
63+
Resource: "integrationsources",
64+
}
5965
)
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
/*
2+
Copyright 2020 The Knative Authors
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
*/
16+
17+
// Package v1alpha1 contains API Schema definitions for the sources v1alpha1 API group.
18+
// +k8s:deepcopy-gen=package
19+
// +groupName=sources.knative.dev
20+
package v1alpha1
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/*
2+
Copyright 2020 The Knative Authors
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
*/
16+
17+
package v1alpha1
18+
19+
import (
20+
"context"
21+
"fmt"
22+
23+
"knative.dev/pkg/apis"
24+
)
25+
26+
// ConvertTo implements apis.Convertible
27+
// Converts source from v1alpha1.IntegrationSource into a higher version.
28+
func (source *IntegrationSource) ConvertTo(ctx context.Context, obj apis.Convertible) error {
29+
return fmt.Errorf("v1alpha1 is the highest known version, got: %T", source)
30+
}
31+
32+
// ConvertFrom implements apis.Convertible
33+
// Converts source from a higher version into v1beta2.IntegrationSource
34+
func (source *IntegrationSource) ConvertFrom(ctx context.Context, obj apis.Convertible) error {
35+
return fmt.Errorf("v1alpha1 is the highest known version, got: %T", source)
36+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/*
2+
Copyright 2020 The Knative Authors
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
*/
16+
17+
package v1alpha1
18+
19+
import "context"
20+
21+
func (source *IntegrationSource) SetDefaults(ctx context.Context) {
22+
source.Spec.SetDefaults(ctx)
23+
}
24+
25+
func (source *IntegrationSourceSpec) SetDefaults(ctx context.Context) {
26+
}
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
/*
2+
Copyright 2020 The Knative Authors
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
*/
16+
17+
package v1alpha1
18+
19+
import (
20+
corev1 "k8s.io/api/core/v1"
21+
v1 "knative.dev/eventing/pkg/apis/sources/v1"
22+
"knative.dev/pkg/apis"
23+
)
24+
25+
const (
26+
// IntegrationSourceConditionReady has status True when the IntegrationSource is ready to send events.
27+
IntegrationSourceConditionReady = apis.ConditionReady
28+
29+
// IntegrationSourceConditionReceiveAdapterReady has status True when the IntegrationSource's Deployment is ready.
30+
IntegrationSourceConditionContainerSourceReady apis.ConditionType = "ContainerSourceReady"
31+
)
32+
33+
var IntegrationCondSet = apis.NewLivingConditionSet(
34+
IntegrationSourceConditionContainerSourceReady,
35+
)
36+
37+
// GetConditionSet retrieves the condition set for this resource. Implements the KRShaped interface.
38+
func (*IntegrationSource) GetConditionSet() apis.ConditionSet {
39+
return IntegrationCondSet
40+
}
41+
42+
// GetTopLevelCondition returns the top level condition.
43+
func (s *IntegrationSourceStatus) GetTopLevelCondition() *apis.Condition {
44+
return IntegrationCondSet.Manage(s).GetTopLevelCondition()
45+
}
46+
47+
// InitializeConditions sets relevant unset conditions to Unknown state.
48+
func (s *IntegrationSourceStatus) InitializeConditions() {
49+
IntegrationCondSet.Manage(s).InitializeConditions()
50+
}
51+
52+
func (iss *IntegrationSourceStatus) IsReady() bool {
53+
return IntegrationCondSet.Manage(iss).IsHappy()
54+
}
55+
56+
func (s *IntegrationSourceStatus) PropagateContainerSourceStatus(status *v1.ContainerSourceStatus) {
57+
//// Do not copy conditions nor observedGeneration
58+
s.SourceStatus = *status.SourceStatus.DeepCopy()
59+
60+
cond := status.GetCondition(apis.ConditionReady)
61+
switch {
62+
case cond == nil:
63+
IntegrationCondSet.Manage(s).MarkUnknown(IntegrationSourceConditionContainerSourceReady, "", "")
64+
case cond.Status == corev1.ConditionTrue:
65+
IntegrationCondSet.Manage(s).MarkTrue(IntegrationSourceConditionContainerSourceReady)
66+
case cond.Status == corev1.ConditionFalse:
67+
IntegrationCondSet.Manage(s).MarkFalse(IntegrationSourceConditionContainerSourceReady, cond.Reason, cond.Message)
68+
case cond.Status == corev1.ConditionUnknown:
69+
IntegrationCondSet.Manage(s).MarkUnknown(IntegrationSourceConditionContainerSourceReady, cond.Reason, cond.Message)
70+
default:
71+
IntegrationCondSet.Manage(s).MarkUnknown(IntegrationSourceConditionContainerSourceReady, cond.Reason, cond.Message)
72+
}
73+
74+
// Propagate ContainerSources AuthStatus to IntegrationSources AuthStatus
75+
s.Auth = status.Auth
76+
}
Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,185 @@
1+
/*
2+
Copyright 2020 The Knative Authors
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
*/
16+
17+
package v1alpha1
18+
19+
import (
20+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
21+
"k8s.io/apimachinery/pkg/runtime"
22+
"k8s.io/apimachinery/pkg/runtime/schema"
23+
"knative.dev/pkg/apis"
24+
duckv1 "knative.dev/pkg/apis/duck/v1"
25+
"knative.dev/pkg/kmeta"
26+
)
27+
28+
// +genclient
29+
// +genreconciler
30+
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
31+
32+
// IntegrationSource is the Schema for the Integrationsources API
33+
type IntegrationSource struct {
34+
metav1.TypeMeta `json:",inline"`
35+
metav1.ObjectMeta `json:"metadata,omitempty"`
36+
37+
Spec IntegrationSourceSpec `json:"spec,omitempty"`
38+
Status IntegrationSourceStatus `json:"status,omitempty"`
39+
}
40+
41+
var (
42+
_ runtime.Object = (*IntegrationSource)(nil)
43+
_ kmeta.OwnerRefable = (*IntegrationSource)(nil)
44+
_ apis.Validatable = (*IntegrationSource)(nil)
45+
_ apis.Defaultable = (*IntegrationSource)(nil)
46+
_ apis.HasSpec = (*IntegrationSource)(nil)
47+
_ duckv1.KRShaped = (*IntegrationSource)(nil)
48+
_ apis.Convertible = (*IntegrationSource)(nil)
49+
)
50+
51+
// IntegrationSourceSpec defines the desired state of IntegrationSource
52+
type IntegrationSourceSpec struct {
53+
// inherits duck/v1 SourceSpec, which currently provides:
54+
// * Sink - a reference to an object that will resolve to a domain name or
55+
// a URI directly to use as the sink.
56+
// * CloudEventOverrides - defines overrides to control the output format
57+
// and modifications of the event sent to the sink.
58+
duckv1.SourceSpec `json:",inline"`
59+
60+
Aws *Aws `json:"aws,omitempty"` // AWS source configuration
61+
Timer *Timer `json:"timer,omitempty"` // Timer configuration
62+
}
63+
64+
type Timer struct {
65+
Period int `json:"period" default:"1000"` // Interval (in milliseconds) between producing messages
66+
Message string `json:"message"` // Message to generate
67+
ContentType string `json:"contentType" default:"text/plain"` // Content type of generated message
68+
RepeatCount int `json:"repeatCount,omitempty"` // Max number of fires (optional)
69+
}
70+
71+
type AWSCommon struct {
72+
// Auth is the S3 authentication (accessKey/secretKey) configuration.
73+
Region string `json:"region,omitempty"` // AWS region
74+
ProfileCredentialsName string `json:"profileCredentialsName,omitempty"` // Profile name for profile credentials provider
75+
SessionToken string `json:"sessionToken,omitempty"` // Session token
76+
URIEndpointOverride string `json:"uriEndpointOverride,omitempty"` // Override endpoint URI
77+
OverrideEndpoint bool `json:"overrideEndpoint" default:"false"` // Override endpoint flag
78+
}
79+
80+
type AWSS3 struct {
81+
AWSCommon `json:",inline"` // Embeds AWSCommon to inherit its fields in JSON
82+
BucketNameOrArn string `json:"bucketNameOrArn,omitempty"` // S3 Bucket name or ARN
83+
DeleteAfterRead bool `json:"deleteAfterRead" default:"true"` // Auto-delete objects after reading
84+
MoveAfterRead bool `json:"moveAfterRead" default:"false"` // Move objects after reading
85+
DestinationBucket string `json:"destinationBucket,omitempty"` // Destination bucket for moved objects
86+
DestinationBucketPrefix string `json:"destinationBucketPrefix,omitempty"` // Prefix for moved objects
87+
DestinationBucketSuffix string `json:"destinationBucketSuffix,omitempty"` // Suffix for moved objects
88+
AutoCreateBucket bool `json:"autoCreateBucket" default:"false"` // Auto-create S3 bucket
89+
Prefix string `json:"prefix,omitempty"` // S3 bucket prefix for search
90+
IgnoreBody bool `json:"ignoreBody" default:"false"` // Ignore object body
91+
ForcePathStyle bool `json:"forcePathStyle" default:"false"` // Force path style for bucket access
92+
Delay int `json:"delay" default:"500"` // Delay between polls in milliseconds
93+
MaxMessagesPerPoll int `json:"maxMessagesPerPoll" default:"10"` // Max messages to poll per request
94+
}
95+
96+
type AWSSQS struct {
97+
AWSCommon `json:",inline"` // Embeds AWSCommon to inherit its fields in JSON
98+
QueueNameOrArn string `json:"queueNameOrArn,omitempty"` // SQS Queue name or ARN
99+
DeleteAfterRead bool `json:"deleteAfterRead" default:"true"` // Auto-delete messages after reading
100+
AutoCreateQueue bool `json:"autoCreateQueue" default:"false"` // Auto-create SQS queue
101+
AmazonAWSHost string `json:"amazonAWSHost" default:"amazonaws.com"` // AWS host
102+
Protocol string `json:"protocol" default:"https"` // Communication protocol (http/https)
103+
QueueURL string `json:"queueURL,omitempty"` // Full SQS queue URL
104+
Greedy bool `json:"greedy" default:"false"` // Greedy scheduler
105+
Delay int `json:"delay" default:"500"` // Delay between polls in milliseconds
106+
MaxMessagesPerPoll int `json:"maxMessagesPerPoll" default:"1"` // Max messages to return (1-10)
107+
WaitTimeSeconds int `json:"waitTimeSeconds,omitempty"` // Wait time for messages
108+
VisibilityTimeout int `json:"visibilityTimeout,omitempty"` // Visibility timeout in seconds
109+
}
110+
111+
type AWSDDBStreams struct {
112+
AWSCommon `json:",inline"` // Embeds AWSCommon to inherit its fields in JSON
113+
Table string `json:"table,omitempty"` // The name of the DynamoDB table
114+
StreamIteratorType string `json:"streamIteratorType,omitempty" default:"FROM_LATEST"` // Defines where in the DynamoDB stream to start getting records
115+
Delay int `json:"delay,omitempty" default:"500"` // Delay in milliseconds before the next poll from the database
116+
}
117+
118+
type Aws struct {
119+
S3 *AWSS3 `json:"s3,omitempty"` // S3 source configuration
120+
SQS *AWSSQS `json:"sqs,omitempty"` // SQS source configuration
121+
DDBStreams *AWSDDBStreams `json:"ddb-streams,omitempty"` // DynamoDB Streams source configuration
122+
Auth *Auth `json:"auth,omitempty"`
123+
}
124+
125+
type Auth struct {
126+
// Auth Secret
127+
Secret *Secret `json:"secret,omitempty"`
128+
129+
// AccessKey is the AWS access key ID.
130+
AccessKey string `json:"accessKey,omitempty"`
131+
132+
// SecretKey is the AWS secret access key.
133+
SecretKey string `json:"secretKey,omitempty"`
134+
}
135+
136+
func (a *Auth) HasAuth() bool {
137+
return a != nil && a.Secret != nil &&
138+
a.Secret.Ref != nil && a.Secret.Ref.Name != ""
139+
}
140+
141+
type Secret struct {
142+
// Secret reference for SASL and SSL configurations.
143+
Ref *SecretReference `json:"ref,omitempty"`
144+
}
145+
146+
type SecretReference struct {
147+
// Secret name.
148+
Name string `json:"name"`
149+
}
150+
151+
// GetGroupVersionKind returns the GroupVersionKind.
152+
func (*IntegrationSource) GetGroupVersionKind() schema.GroupVersionKind {
153+
return SchemeGroupVersion.WithKind("IntegrationSource")
154+
}
155+
156+
// IntegrationSourceStatus defines the observed state of IntegrationSource
157+
type IntegrationSourceStatus struct {
158+
// inherits duck/v1 SourceStatus, which currently provides:
159+
// * ObservedGeneration - the 'Generation' of the Service that was last
160+
// processed by the controller.
161+
// * Conditions - the latest available observations of a resource's current
162+
// state.
163+
// * SinkURI - the current active sink URI that has been configured for the
164+
// Source.
165+
duckv1.SourceStatus `json:",inline"`
166+
}
167+
168+
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
169+
170+
// IntegrationSourceList contains a list of IntegrationSource
171+
type IntegrationSourceList struct {
172+
metav1.TypeMeta `json:",inline"`
173+
metav1.ListMeta `json:"metadata,omitempty"`
174+
Items []IntegrationSource `json:"items"`
175+
}
176+
177+
// GetUntypedSpec returns the spec of the IntegrationSource.
178+
func (c *IntegrationSource) GetUntypedSpec() interface{} {
179+
return c.Spec
180+
}
181+
182+
// GetStatus retrieves the status of the IntegrationSource. Implements the KRShaped interface.
183+
func (c *IntegrationSource) GetStatus() *duckv1.Status {
184+
return &c.Status.Status
185+
}

0 commit comments

Comments
 (0)