Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Schema tool for Eventing v1 #5087

Merged
merged 5 commits into from
Mar 17, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions cmd/schema/main.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/*
Copyright 2021 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 main

import (
"log"

"knative.dev/hack/schema/commands"
"knative.dev/hack/schema/registry"

eventingv1 "knative.dev/eventing/pkg/apis/eventing/v1"
)

// schema is a tool to dump the schema for Eventing resources.
func main() {
registry.Register(&eventingv1.Broker{})
registry.Register(&eventingv1.Trigger{})

if err := commands.New("knative.dev/eventing").Execute(); err != nil {
log.Fatal("Error during command execution: ", err)
}
}
122 changes: 40 additions & 82 deletions config/core/resources/broker.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,117 +31,84 @@ spec:
status: {}
schema:
openAPIV3Schema: &openAPIV3Schema
description: 'Broker collects a pool of events that are consumable using Triggers. Brokers provide a well-known endpoint for event delivery that senders can use with minimal knowledge of the event routing strategy. Subscribers use Triggers to request delivery of events from a Broker''s pool to a specific URL or Addressable endpoint.'
type: object
description: 'Broker collects a pool of events that are consumable using Triggers.
Brokers provide a well-known endpoint for event delivery that senders can
use with minimal knowledge of the event routing strategy. Subscribers use
Triggers to request delivery of events from a Broker''s pool to a specific
URL or Addressable endpoint.'
properties:
spec:
description: 'Spec defines the desired state of the Broker.'
type: object
properties:
description: Spec defines the desired state of the Broker.
type: object
properties:
config:
description: 'Config is a KReference to the configuration that specifies
configuration options for this Broker. For example, this could
be a pointer to a ConfigMap.'
description: Config is a KReference to the configuration that specifies configuration options for this Broker. For example, this could be a pointer to a ConfigMap.
type: object
properties:
apiVersion:
description: 'API version of the referent.'
description: API version of the referent.
type: string
kind:
description: 'Kind of the referent. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
name:
description: 'Name of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
This is optional field, it gets defaulted to the object
holding it if left out.'
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
type: string
delivery:
description: 'Delivery contains the delivery spec for each trigger
to this Broker. Each trigger delivery spec, if any, overrides this
global delivery spec.'
description: Delivery contains the delivery spec for each trigger to this Broker. Each trigger delivery spec, if any, overrides this global delivery spec.
type: object
properties:
backoffDelay:
description: 'BackoffDelay is the delay before retrying. More
information on Duration format: - https://www.iso.org/iso-8601-date-and-time-format.html
- https://en.wikipedia.org/wiki/ISO_8601 For linear policy,
backoff delay is backoffDelay*<numberOfRetries>. For
exponential policy, backoff delay is backoffDelay*2^<numberOfRetries>.'
description: 'BackoffDelay is the delay before retrying. More information on Duration format: - https://www.iso.org/iso-8601-date-and-time-format.html - https://en.wikipedia.org/wiki/ISO_8601 For linear policy, backoff delay is backoffDelay*<numberOfRetries>. For exponential policy, backoff delay is backoffDelay*2^<numberOfRetries>.'
type: string
backoffPolicy:
description: ' BackoffPolicy is the retry backoff policy (linear,
exponential).'
description: BackoffPolicy is the retry backoff policy (linear, exponential).
type: string
deadLetterSink:
description: 'DeadLetterSink is the sink receiving event that
could not be sent to a destination.'
description: DeadLetterSink is the sink receiving event that could not be sent to a destination.
type: object
properties:
ref:
description: 'Ref points to an Addressable.'
description: Ref points to an Addressable.
type: object
properties:
apiVersion:
description: 'API version of the referent.'
type: string
kind:
description: 'Kind of the referent. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
name:
description: 'Name of the referent. More info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More
info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
This is optional field, it gets defaulted
to the object holding it if left out.'
type: string
apiVersion:
description: API version of the referent.
type: string
kind:
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.'
type: string
uri:
description: 'URI can be an absolute URL(non-empty
scheme and non-empty host) pointing to the target
or a relative URI. Relative URIs will be resolved
using the base URI retrieved from Ref.'
description: URI can be an absolute URL(non-empty scheme and non-empty host) pointing to the target or a relative URI. Relative URIs will be resolved using the base URI retrieved from Ref.
type: string
retry:
description: 'Retry is the minimum number of retries the sender
should attempt when sending an event before moving it
to the dead letter sink.'
description: Retry is the minimum number of retries the sender should attempt when sending an event before moving it to the dead letter sink.
type: integer
format: int32
status:
description: 'Status represents the current state of the Broker. This data
may be out of date.'
description: Status represents the current state of the Broker. This data may be out of date.
type: object
properties:
address:
description: 'Broker is Addressable. It exposes the endpoint as an
URI to get events delivered into the Broker mesh.'
description: Broker is Addressable. It exposes the endpoint as an URI to get events delivered into the Broker mesh.
type: object
required:
- url
properties:
url:
type: string
type: string
annotations:
description: 'Annotations is additional Status fields for the Resource
to save some additional State as well as convey more information
to the user. This is roughly akin to Annotations on any k8s resource,
just the reconciler conveying richer information outwards.'
description: Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.
type: object
x-kubernetes-preserve-unknown-fields: true
conditions:
description: 'Conditions the latest available observations of a resource''s
current state.'
description: Conditions the latest available observations of a resource's current state.
type: array
items:
type: object
Expand All @@ -150,34 +117,25 @@ spec:
- status
properties:
lastTransitionTime:
description: 'LastTransitionTime is the last time the condition
transitioned from one status to another. We use VolatileTime
in place of metav1.Time to exclude this from creating
equality.Semantic differences (all other things held
constant).'
description: 'LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).'
type: string
message:
description: 'A human readable message indicating details
about the transition.'
description: 'A human readable message indicating details about the transition.'
type: string
reason:
description: 'The reason for the condition''s last transition.'
type: string
severity:
description: 'Severity with which to treat failures of
this type of condition. When this is not specified,
it defaults to Error.'
description: 'Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.'
type: string
status:
description: 'Status of the condition, one of True, False,
Unknown.'
description: 'Status of the condition, one of True, False, Unknown.'
type: string
type:
description: 'Type of condition.'
type: string
observedGeneration:
description: 'ObservedGeneration is the ''Generation'' of the Service
that was last processed by the controller.'
description: ObservedGeneration is the 'Generation' of the Service that was last processed by the controller.
type: integer
format: int64
additionalPrinterColumns:
Expand Down
Loading