-
Notifications
You must be signed in to change notification settings - Fork 42
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
bumping knative.dev/eventing ef6b31a...fa6b4c5: > fa6b4c5 Add jobsinks-addressable-resolver cluster role (# 8298) > b4b609a Add observedGeneration in JobSink OpenAPI schema (# 8297) > 2e4d353 Allow imc-controller to list JobSinks (# 8294) > 7bca815 IntegrationSource CRD (# 8238) > c859efd [main] Format Go code (# 8289) > 7c97e6f Schduler: MAXFILLUP strategy will spread vreplicas across multiple pods (# 8263) Signed-off-by: Knative Automation <[email protected]>
- Loading branch information
1 parent
5c78eb2
commit 0ff7b5b
Showing
23 changed files
with
1,382 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
20 changes: 20 additions & 0 deletions
20
vendor/knative.dev/eventing/pkg/apis/sources/v1alpha1/doc.go
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
/* | ||
Copyright 2020 The Knative Authors | ||
Licensed under the Apache License, Version 2.0 (the "License"); | ||
you may not use this file except in compliance with the License. | ||
You may obtain a copy of the License at | ||
http://www.apache.org/licenses/LICENSE-2.0 | ||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License. | ||
*/ | ||
|
||
// Package v1alpha1 contains API Schema definitions for the sources v1alpha1 API group. | ||
// +k8s:deepcopy-gen=package | ||
// +groupName=sources.knative.dev | ||
package v1alpha1 |
36 changes: 36 additions & 0 deletions
36
vendor/knative.dev/eventing/pkg/apis/sources/v1alpha1/integration_conversion.go
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
/* | ||
Copyright 2020 The Knative Authors | ||
Licensed under the Apache License, Version 2.0 (the "License"); | ||
you may not use this file except in compliance with the License. | ||
You may obtain a copy of the License at | ||
http://www.apache.org/licenses/LICENSE-2.0 | ||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License. | ||
*/ | ||
|
||
package v1alpha1 | ||
|
||
import ( | ||
"context" | ||
"fmt" | ||
|
||
"knative.dev/pkg/apis" | ||
) | ||
|
||
// ConvertTo implements apis.Convertible | ||
// Converts source from v1alpha1.IntegrationSource into a higher version. | ||
func (source *IntegrationSource) ConvertTo(ctx context.Context, obj apis.Convertible) error { | ||
return fmt.Errorf("v1alpha1 is the highest known version, got: %T", source) | ||
} | ||
|
||
// ConvertFrom implements apis.Convertible | ||
// Converts source from a higher version into v1beta2.IntegrationSource | ||
func (source *IntegrationSource) ConvertFrom(ctx context.Context, obj apis.Convertible) error { | ||
return fmt.Errorf("v1alpha1 is the highest known version, got: %T", source) | ||
} |
26 changes: 26 additions & 0 deletions
26
vendor/knative.dev/eventing/pkg/apis/sources/v1alpha1/integration_defaults.go
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
/* | ||
Copyright 2020 The Knative Authors | ||
Licensed under the Apache License, Version 2.0 (the "License"); | ||
you may not use this file except in compliance with the License. | ||
You may obtain a copy of the License at | ||
http://www.apache.org/licenses/LICENSE-2.0 | ||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License. | ||
*/ | ||
|
||
package v1alpha1 | ||
|
||
import "context" | ||
|
||
func (source *IntegrationSource) SetDefaults(ctx context.Context) { | ||
source.Spec.SetDefaults(ctx) | ||
} | ||
|
||
func (source *IntegrationSourceSpec) SetDefaults(ctx context.Context) { | ||
} |
76 changes: 76 additions & 0 deletions
76
vendor/knative.dev/eventing/pkg/apis/sources/v1alpha1/integration_lifecycle.go
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
/* | ||
Copyright 2020 The Knative Authors | ||
Licensed under the Apache License, Version 2.0 (the "License"); | ||
you may not use this file except in compliance with the License. | ||
You may obtain a copy of the License at | ||
http://www.apache.org/licenses/LICENSE-2.0 | ||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License. | ||
*/ | ||
|
||
package v1alpha1 | ||
|
||
import ( | ||
corev1 "k8s.io/api/core/v1" | ||
v1 "knative.dev/eventing/pkg/apis/sources/v1" | ||
"knative.dev/pkg/apis" | ||
) | ||
|
||
const ( | ||
// IntegrationSourceConditionReady has status True when the IntegrationSource is ready to send events. | ||
IntegrationSourceConditionReady = apis.ConditionReady | ||
|
||
// IntegrationSourceConditionReceiveAdapterReady has status True when the IntegrationSource's Deployment is ready. | ||
IntegrationSourceConditionContainerSourceReady apis.ConditionType = "ContainerSourceReady" | ||
) | ||
|
||
var IntegrationCondSet = apis.NewLivingConditionSet( | ||
IntegrationSourceConditionContainerSourceReady, | ||
) | ||
|
||
// GetConditionSet retrieves the condition set for this resource. Implements the KRShaped interface. | ||
func (*IntegrationSource) GetConditionSet() apis.ConditionSet { | ||
return IntegrationCondSet | ||
} | ||
|
||
// GetTopLevelCondition returns the top level condition. | ||
func (s *IntegrationSourceStatus) GetTopLevelCondition() *apis.Condition { | ||
return IntegrationCondSet.Manage(s).GetTopLevelCondition() | ||
} | ||
|
||
// InitializeConditions sets relevant unset conditions to Unknown state. | ||
func (s *IntegrationSourceStatus) InitializeConditions() { | ||
IntegrationCondSet.Manage(s).InitializeConditions() | ||
} | ||
|
||
func (iss *IntegrationSourceStatus) IsReady() bool { | ||
return IntegrationCondSet.Manage(iss).IsHappy() | ||
} | ||
|
||
func (s *IntegrationSourceStatus) PropagateContainerSourceStatus(status *v1.ContainerSourceStatus) { | ||
//// Do not copy conditions nor observedGeneration | ||
s.SourceStatus = *status.SourceStatus.DeepCopy() | ||
|
||
cond := status.GetCondition(apis.ConditionReady) | ||
switch { | ||
case cond == nil: | ||
IntegrationCondSet.Manage(s).MarkUnknown(IntegrationSourceConditionContainerSourceReady, "", "") | ||
case cond.Status == corev1.ConditionTrue: | ||
IntegrationCondSet.Manage(s).MarkTrue(IntegrationSourceConditionContainerSourceReady) | ||
case cond.Status == corev1.ConditionFalse: | ||
IntegrationCondSet.Manage(s).MarkFalse(IntegrationSourceConditionContainerSourceReady, cond.Reason, cond.Message) | ||
case cond.Status == corev1.ConditionUnknown: | ||
IntegrationCondSet.Manage(s).MarkUnknown(IntegrationSourceConditionContainerSourceReady, cond.Reason, cond.Message) | ||
default: | ||
IntegrationCondSet.Manage(s).MarkUnknown(IntegrationSourceConditionContainerSourceReady, cond.Reason, cond.Message) | ||
} | ||
|
||
// Propagate ContainerSources AuthStatus to IntegrationSources AuthStatus | ||
s.Auth = status.Auth | ||
} |
185 changes: 185 additions & 0 deletions
185
vendor/knative.dev/eventing/pkg/apis/sources/v1alpha1/integration_types.go
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,185 @@ | ||
/* | ||
Copyright 2020 The Knative Authors | ||
Licensed under the Apache License, Version 2.0 (the "License"); | ||
you may not use this file except in compliance with the License. | ||
You may obtain a copy of the License at | ||
http://www.apache.org/licenses/LICENSE-2.0 | ||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License. | ||
*/ | ||
|
||
package v1alpha1 | ||
|
||
import ( | ||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | ||
"k8s.io/apimachinery/pkg/runtime" | ||
"k8s.io/apimachinery/pkg/runtime/schema" | ||
"knative.dev/pkg/apis" | ||
duckv1 "knative.dev/pkg/apis/duck/v1" | ||
"knative.dev/pkg/kmeta" | ||
) | ||
|
||
// +genclient | ||
// +genreconciler | ||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object | ||
|
||
// IntegrationSource is the Schema for the Integrationsources API | ||
type IntegrationSource struct { | ||
metav1.TypeMeta `json:",inline"` | ||
metav1.ObjectMeta `json:"metadata,omitempty"` | ||
|
||
Spec IntegrationSourceSpec `json:"spec,omitempty"` | ||
Status IntegrationSourceStatus `json:"status,omitempty"` | ||
} | ||
|
||
var ( | ||
_ runtime.Object = (*IntegrationSource)(nil) | ||
_ kmeta.OwnerRefable = (*IntegrationSource)(nil) | ||
_ apis.Validatable = (*IntegrationSource)(nil) | ||
_ apis.Defaultable = (*IntegrationSource)(nil) | ||
_ apis.HasSpec = (*IntegrationSource)(nil) | ||
_ duckv1.KRShaped = (*IntegrationSource)(nil) | ||
_ apis.Convertible = (*IntegrationSource)(nil) | ||
) | ||
|
||
// IntegrationSourceSpec defines the desired state of IntegrationSource | ||
type IntegrationSourceSpec struct { | ||
// inherits duck/v1 SourceSpec, which currently provides: | ||
// * Sink - a reference to an object that will resolve to a domain name or | ||
// a URI directly to use as the sink. | ||
// * CloudEventOverrides - defines overrides to control the output format | ||
// and modifications of the event sent to the sink. | ||
duckv1.SourceSpec `json:",inline"` | ||
|
||
Aws *Aws `json:"aws,omitempty"` // AWS source configuration | ||
Timer *Timer `json:"timer,omitempty"` // Timer configuration | ||
} | ||
|
||
type Timer struct { | ||
Period int `json:"period" default:"1000"` // Interval (in milliseconds) between producing messages | ||
Message string `json:"message"` // Message to generate | ||
ContentType string `json:"contentType" default:"text/plain"` // Content type of generated message | ||
RepeatCount int `json:"repeatCount,omitempty"` // Max number of fires (optional) | ||
} | ||
|
||
type AWSCommon struct { | ||
// Auth is the S3 authentication (accessKey/secretKey) configuration. | ||
Region string `json:"region,omitempty"` // AWS region | ||
ProfileCredentialsName string `json:"profileCredentialsName,omitempty"` // Profile name for profile credentials provider | ||
SessionToken string `json:"sessionToken,omitempty"` // Session token | ||
URIEndpointOverride string `json:"uriEndpointOverride,omitempty"` // Override endpoint URI | ||
OverrideEndpoint bool `json:"overrideEndpoint" default:"false"` // Override endpoint flag | ||
} | ||
|
||
type AWSS3 struct { | ||
AWSCommon `json:",inline"` // Embeds AWSCommon to inherit its fields in JSON | ||
BucketNameOrArn string `json:"bucketNameOrArn,omitempty"` // S3 Bucket name or ARN | ||
DeleteAfterRead bool `json:"deleteAfterRead" default:"true"` // Auto-delete objects after reading | ||
MoveAfterRead bool `json:"moveAfterRead" default:"false"` // Move objects after reading | ||
DestinationBucket string `json:"destinationBucket,omitempty"` // Destination bucket for moved objects | ||
DestinationBucketPrefix string `json:"destinationBucketPrefix,omitempty"` // Prefix for moved objects | ||
DestinationBucketSuffix string `json:"destinationBucketSuffix,omitempty"` // Suffix for moved objects | ||
AutoCreateBucket bool `json:"autoCreateBucket" default:"false"` // Auto-create S3 bucket | ||
Prefix string `json:"prefix,omitempty"` // S3 bucket prefix for search | ||
IgnoreBody bool `json:"ignoreBody" default:"false"` // Ignore object body | ||
ForcePathStyle bool `json:"forcePathStyle" default:"false"` // Force path style for bucket access | ||
Delay int `json:"delay" default:"500"` // Delay between polls in milliseconds | ||
MaxMessagesPerPoll int `json:"maxMessagesPerPoll" default:"10"` // Max messages to poll per request | ||
} | ||
|
||
type AWSSQS struct { | ||
AWSCommon `json:",inline"` // Embeds AWSCommon to inherit its fields in JSON | ||
QueueNameOrArn string `json:"queueNameOrArn,omitempty"` // SQS Queue name or ARN | ||
DeleteAfterRead bool `json:"deleteAfterRead" default:"true"` // Auto-delete messages after reading | ||
AutoCreateQueue bool `json:"autoCreateQueue" default:"false"` // Auto-create SQS queue | ||
AmazonAWSHost string `json:"amazonAWSHost" default:"amazonaws.com"` // AWS host | ||
Protocol string `json:"protocol" default:"https"` // Communication protocol (http/https) | ||
QueueURL string `json:"queueURL,omitempty"` // Full SQS queue URL | ||
Greedy bool `json:"greedy" default:"false"` // Greedy scheduler | ||
Delay int `json:"delay" default:"500"` // Delay between polls in milliseconds | ||
MaxMessagesPerPoll int `json:"maxMessagesPerPoll" default:"1"` // Max messages to return (1-10) | ||
WaitTimeSeconds int `json:"waitTimeSeconds,omitempty"` // Wait time for messages | ||
VisibilityTimeout int `json:"visibilityTimeout,omitempty"` // Visibility timeout in seconds | ||
} | ||
|
||
type AWSDDBStreams struct { | ||
AWSCommon `json:",inline"` // Embeds AWSCommon to inherit its fields in JSON | ||
Table string `json:"table,omitempty"` // The name of the DynamoDB table | ||
StreamIteratorType string `json:"streamIteratorType,omitempty" default:"FROM_LATEST"` // Defines where in the DynamoDB stream to start getting records | ||
Delay int `json:"delay,omitempty" default:"500"` // Delay in milliseconds before the next poll from the database | ||
} | ||
|
||
type Aws struct { | ||
S3 *AWSS3 `json:"s3,omitempty"` // S3 source configuration | ||
SQS *AWSSQS `json:"sqs,omitempty"` // SQS source configuration | ||
DDBStreams *AWSDDBStreams `json:"ddb-streams,omitempty"` // DynamoDB Streams source configuration | ||
Auth *Auth `json:"auth,omitempty"` | ||
} | ||
|
||
type Auth struct { | ||
// Auth Secret | ||
Secret *Secret `json:"secret,omitempty"` | ||
|
||
// AccessKey is the AWS access key ID. | ||
AccessKey string `json:"accessKey,omitempty"` | ||
|
||
// SecretKey is the AWS secret access key. | ||
SecretKey string `json:"secretKey,omitempty"` | ||
} | ||
|
||
func (a *Auth) HasAuth() bool { | ||
return a != nil && a.Secret != nil && | ||
a.Secret.Ref != nil && a.Secret.Ref.Name != "" | ||
} | ||
|
||
type Secret struct { | ||
// Secret reference for SASL and SSL configurations. | ||
Ref *SecretReference `json:"ref,omitempty"` | ||
} | ||
|
||
type SecretReference struct { | ||
// Secret name. | ||
Name string `json:"name"` | ||
} | ||
|
||
// GetGroupVersionKind returns the GroupVersionKind. | ||
func (*IntegrationSource) GetGroupVersionKind() schema.GroupVersionKind { | ||
return SchemeGroupVersion.WithKind("IntegrationSource") | ||
} | ||
|
||
// IntegrationSourceStatus defines the observed state of IntegrationSource | ||
type IntegrationSourceStatus struct { | ||
// inherits duck/v1 SourceStatus, 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. | ||
// * SinkURI - the current active sink URI that has been configured for the | ||
// Source. | ||
duckv1.SourceStatus `json:",inline"` | ||
} | ||
|
||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object | ||
|
||
// IntegrationSourceList contains a list of IntegrationSource | ||
type IntegrationSourceList struct { | ||
metav1.TypeMeta `json:",inline"` | ||
metav1.ListMeta `json:"metadata,omitempty"` | ||
Items []IntegrationSource `json:"items"` | ||
} | ||
|
||
// GetUntypedSpec returns the spec of the IntegrationSource. | ||
func (c *IntegrationSource) GetUntypedSpec() interface{} { | ||
return c.Spec | ||
} | ||
|
||
// GetStatus retrieves the status of the IntegrationSource. Implements the KRShaped interface. | ||
func (c *IntegrationSource) GetStatus() *duckv1.Status { | ||
return &c.Status.Status | ||
} |
Oops, something went wrong.