Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
330 commits
Select commit Hold shift + click to select a range
40ca8da
Adding some tests to trigger
nachocano Feb 14, 2019
650ef47
More UTs
nachocano Feb 15, 2019
d2c1ef8
More UTs
nachocano Feb 15, 2019
ae04007
More UTs
nachocano Feb 15, 2019
6d6c488
Merge pull request #12 from nachocano/broker-new-trigger-ut
Harwayne Feb 15, 2019
9c63dbc
Namespace reconciler automatically creates the Broker Filter's Servic…
Harwayne Feb 15, 2019
3ad193f
Remove no longer needed label.
Harwayne Feb 15, 2019
d18acab
Broker and trigger types UTs
nachocano Feb 15, 2019
2a02ba5
WIP early E2E test
grantr Feb 15, 2019
54cdb3c
Changes after code review. Adding trigger defaults and validation tests
nachocano Feb 19, 2019
11a1734
Cleaner trigger validation
nachocano Feb 19, 2019
d713eeb
Adding dummy tests for broker validation...
nachocano Feb 19, 2019
89cdd58
Merge pull request #14 from nachocano/broker-new-trigger-ut
Harwayne Feb 19, 2019
bd4345a
Merge remote-tracking branch 'grantr/broker-new-model-e2e' into broke…
nachocano Feb 19, 2019
49fd1a0
Compiling and moving things around
nachocano Feb 19, 2019
4cdfd58
Updating test
nachocano Feb 20, 2019
b42d359
More updates
nachocano Feb 20, 2019
29be515
Waiting for potentially multiple contents.
nachocano Feb 20, 2019
1edbf0a
Compiling
nachocano Feb 20, 2019
9c415e6
Fixing compilation
nachocano Feb 20, 2019
ac9b485
Fixing compilation errors. Adding AnnotateNamespace function.
nachocano Feb 20, 2019
2b39168
Adding ns
nachocano Feb 20, 2019
ed9fcbe
Adding logs. Changing to lowercase any otherwise the pod name is invalid
nachocano Feb 20, 2019
4848952
Removing namespace when creating trigger subscriber spec.
nachocano Feb 20, 2019
311e174
Checking if all triggers are ready
nachocano Feb 20, 2019
d361afb
Updated logs
nachocano Feb 20, 2019
d1198a9
Working
nachocano Feb 20, 2019
6bd659c
Adding logs... Still not receiving the events.
nachocano Feb 21, 2019
0d80f9c
More logs
nachocano Feb 21, 2019
cd862ff
Adding build constraint
nachocano Feb 21, 2019
2ea7aa3
Removing unnecessary stuff
nachocano Feb 21, 2019
aa60a8a
Removing ugly structs
nachocano Feb 21, 2019
6471b4f
More logs
nachocano Feb 21, 2019
6bc7f64
Merge pull request #13 from Harwayne/ns-rbac
Harwayne Feb 21, 2019
56ad43c
Merge remote-tracking branch 'broker/broker-new-model' into broker-e2e
nachocano Feb 21, 2019
c4959e2
Removing quotes
nachocano Feb 21, 2019
69ebf18
More logs
nachocano Feb 21, 2019
1dccad8
Adding delay
nachocano Feb 21, 2019
2b67eb8
Listing triggers in receiver when we create it, so that we don't miss
nachocano Feb 22, 2019
a44d6d2
Adding delay to sender pod
nachocano Feb 22, 2019
41ab0a8
Removing withDelay method and just sleep for a while
nachocano Feb 22, 2019
6a832ea
Improve log...
nachocano Feb 22, 2019
446022a
Updates after code review.
nachocano Feb 23, 2019
7f24f14
Adding some more logs and trailing dots.
nachocano Feb 23, 2019
2a3eb19
Merge branch 'master' into broker-controller-runtime
Harwayne Feb 25, 2019
9debaf2
Switch import order.
Harwayne Feb 25, 2019
abf3427
Merge pull request #16 from Harwayne/broker-controller-runtime
Harwayne Feb 25, 2019
a83ca82
Updating comments.
nachocano Feb 25, 2019
fda6550
Updating comments.
nachocano Feb 25, 2019
3ee6343
Merge remote-tracking branch 'broker/broker-new-model' into broker-ge…
nachocano Feb 25, 2019
2aae7eb
Replace the bad errgroup usage with the runnableServer.
Harwayne Feb 25, 2019
e15431d
Merge pull request #18 from Harwayne/codegen
Harwayne Feb 25, 2019
5f201fa
Namespace scoped the Broker Filter's client.
Harwayne Feb 25, 2019
ba726b3
Fix unit tests.
Harwayne Feb 25, 2019
e7ff5b2
Fix yaml
Harwayne Feb 25, 2019
d640c7a
Merge pull request #19 from Harwayne/namespace-rolebinding
Harwayne Feb 25, 2019
dc91427
Merge remote-tracking branch 'broker/broker-new-model' into broker-e2e
nachocano Feb 25, 2019
0ea0402
Merge branch 'broker-e2e' of github.com:nachocano/eventing into broke…
nachocano Feb 25, 2019
dcb8774
Setting source to source not type.
nachocano Feb 25, 2019
df88eab
Merge remote-tracking branch 'broker/broker-new-model' into broker-ge…
nachocano Feb 25, 2019
86f7330
Merge pull request #15 from nachocano/broker-e2e
Harwayne Feb 26, 2019
b6fe6bd
Merge pull request #17 from nachocano/broker-gen-pass
Harwayne Feb 26, 2019
71c5250
Switch from annotating the namespace to labeling it, to match Istio.
Harwayne Feb 26, 2019
b12da7e
Merge pull request #20 from Harwayne/ns-eventing-label
Harwayne Feb 26, 2019
c11e25c
Adding EventType CRD
nachocano Feb 27, 2019
251ce2a
Update to type
nachocano Feb 27, 2019
6f68670
Updates
nachocano Feb 27, 2019
b69d6ea
updating eventtypes to event-types
nachocano Feb 27, 2019
833b77d
Ingress policy
nachocano Feb 27, 2019
d6a32c8
Updating environment variables
nachocano Feb 27, 2019
4c6b1d9
yamls to give event-type permissions
nachocano Feb 27, 2019
8d6df67
General clean up.
Harwayne Feb 27, 2019
c27d283
Merge pull request #21 from Harwayne/broker-cleanup
Harwayne Feb 27, 2019
9819a47
Adding namespace to ingress and reconciling service accounts in ns.
nachocano Feb 27, 2019
930261e
More changes
nachocano Feb 27, 2019
bd3cadd
Merge remote-tracking branch 'broker/broker-new-model' into registry
nachocano Feb 27, 2019
d9a607c
Merge branch 'master' into broker-merge-master
Harwayne Feb 27, 2019
77a69f9
Merge pull request #22 from Harwayne/broker-merge-master
Harwayne Feb 27, 2019
f6af707
Service account in namespace
nachocano Feb 27, 2019
026bc20
Updating events registered
nachocano Feb 27, 2019
c11a60f
Updating origin to source.
nachocano Feb 28, 2019
ee3ac4c
to newer version
nachocano Feb 28, 2019
796711b
moving the ingress policy to the broker itself...
nachocano Feb 28, 2019
02e6515
making header a constant. Should use the SDK instead.
nachocano Feb 28, 2019
a71b0de
Adding dummy change to trigger event
nachocano Mar 1, 2019
383c411
Using cloudevents sdk but still needs to be updated.
nachocano Mar 1, 2019
a5da4e3
Merge pull request #3 from nachocano/test_pr
nachocano Mar 1, 2019
f6b218c
Adding cloudevents-sdk library
nachocano Mar 1, 2019
f28f41a
Invalid eventtype
nachocano Mar 4, 2019
edcab3e
Initial docs for the Broker.
Harwayne Mar 6, 2019
26586ab
Fill some of the usage section.
Harwayne Mar 6, 2019
a3e485f
Add instructions for installing the Broker without using Namespace an…
Harwayne Mar 7, 2019
3e5f80e
Merge branch 'master' into broker-merge
Harwayne Mar 8, 2019
4bdde4e
Merge pull request #29 from Harwayne/broker-merge
Harwayne Mar 8, 2019
19f9653
Merge pull request #28 from Harwayne/broker-docs
Harwayne Mar 8, 2019
a367206
Create example_{brokers,triggers}.yaml to document how they can be used.
Harwayne Mar 8, 2019
3447c4d
Merge pull request #30 from Harwayne/broker-cleanup
Harwayne Mar 8, 2019
a0599d6
Fix MD linter issues.
Harwayne Mar 8, 2019
a099404
Merge pull request #31 from Harwayne/md-fix
Harwayne Mar 8, 2019
31f5e52
Fix MD linter issues.
Harwayne Mar 8, 2019
d0bd9dc
Merge pull request #32 from Harwayne/md-fix
Harwayne Mar 8, 2019
ac179cd
Fix MD linter issues.
Harwayne Mar 8, 2019
ac4e3f8
Merge pull request #33 from Harwayne/md-fix
Harwayne Mar 8, 2019
dfa159f
Minor clean up.
Harwayne Mar 8, 2019
17ddb6c
Merge pull request #34 from Harwayne/broker-cleanup
Harwayne Mar 8, 2019
af13c65
Merge remote-tracking branch 'broker/broker-new-model' into registry
nachocano Mar 8, 2019
3c0915f
adding type as authoritative
nachocano Mar 8, 2019
858f00e
Should actually compare to lowercase
nachocano Mar 8, 2019
3e2291a
listing all event types... we should use some sort of selectors.
nachocano Mar 9, 2019
4d168c6
Might not need origin after all, but adding it here
nachocano Mar 11, 2019
edbed92
adding origin to yaml as well
nachocano Mar 11, 2019
a0c0729
eventtypes instead of event-types to maintain consistency.
nachocano Mar 12, 2019
8c779be
Merge branch 'master' into broker-merge
Harwayne Mar 12, 2019
30f9031
Clean up some spots the merge didn't catch.
Harwayne Mar 12, 2019
c6a05c6
Merge pull request #35 from Harwayne/broker-merge
Harwayne Mar 12, 2019
88b4fce
updating example
nachocano Mar 12, 2019
b1cbba9
Merge branch 'registry' of github.com:nachocano/eventing into registry
nachocano Mar 12, 2019
39d1bf6
Removing source
nachocano Mar 13, 2019
a4f122d
cluster-scoped registry to simplify things.
nachocano Mar 13, 2019
84f080c
updating example
nachocano Mar 13, 2019
19c0d45
removing source
nachocano Mar 13, 2019
99f8473
updating broker policy to create event types...
nachocano Mar 13, 2019
0fae1b3
adding a TODO to update to a cluster-level role binding for the ingress.
nachocano Mar 13, 2019
5ee11fc
namespaced EventTypes, i.e., registry per namespace
nachocano Mar 13, 2019
ce0b024
Merge branch 'master' into broker-merge-2
Harwayne Mar 13, 2019
0a34a1a
Merge branch 'master' into broker-new-model
Harwayne Mar 13, 2019
fc27ae2
adding create permission to ingress
nachocano Mar 13, 2019
2baca2e
registry per namespace. Ingress policies working!
nachocano Mar 13, 2019
cb4c98d
Merge remote-tracking branch 'broker/broker-new-model' into registry-…
nachocano Mar 13, 2019
ac38587
Fix the bad merge by replacing logger.BaseLogger with logger.FormatLo…
Harwayne Mar 13, 2019
923dc01
Merge pull request #37 from Harwayne/broker-merge-2
Harwayne Mar 13, 2019
542d4a7
Add extra columns when using kubectl get.
Harwayne Mar 13, 2019
abf2495
MarkBrokerDoesNotExist
Harwayne Mar 13, 2019
bd5252d
Rename extra columns.
Harwayne Mar 13, 2019
215fdd9
Merge pull request #38 from Harwayne/broker-pr-comments
Harwayne Mar 13, 2019
68f5a77
cosmetic change
nachocano Mar 14, 2019
5f9a5d4
Replace the Trigger reconciler's in-memory map with a simple list, ut…
Harwayne Mar 14, 2019
6927fc6
Merge pull request #39 from Harwayne/trigger-list
Harwayne Mar 14, 2019
b9a7d0f
Accept v0.1 and v0.2 cloud events. Adding UTs.
nachocano Mar 14, 2019
0a09e11
Merge branch 'master' into broker-fix-merge
Harwayne Mar 14, 2019
7d8ee9e
Change to resolve.SubscriberSpec().
Harwayne Mar 14, 2019
8691236
Merge remote-tracking branch 'broker/broker-new-model' into cloud_events
nachocano Mar 14, 2019
99e7e45
Remove restClient as it wasn't actually used.
Harwayne Mar 14, 2019
24e5285
Merge pull request #42 from Harwayne/remove-rest-config
Harwayne Mar 14, 2019
24d7603
Only reconcile the Namespace if the specific resource we care about c…
Harwayne Mar 14, 2019
326d9f6
changing origin to from
nachocano Mar 14, 2019
7f7d554
Merge pull request #43 from Harwayne/namespace-resources
Harwayne Mar 14, 2019
c27bf22
lowercase
nachocano Mar 14, 2019
0d169db
Merge pull request #40 from nachocano/cloud_events
Harwayne Mar 14, 2019
475572b
Merge remote-tracking branch 'broker/broker-new-model' into registry-…
nachocano Mar 14, 2019
f0a86d0
Merge remote-tracking branch 'upstream/master' into registry-namespace
nachocano Mar 18, 2019
021ea59
Merge remote-tracking branch 'upstream/master' into registry-namespace
nachocano Mar 18, 2019
a5fa227
Merge remote-tracking branch 'upstream/master' into registry-namespace
nachocano Mar 18, 2019
cd58375
Merge remote-tracking branch 'upstream/master' into registry-namespace
nachocano Mar 21, 2019
b99266b
updating event type to include broker
nachocano Mar 21, 2019
61af012
additional columns
nachocano Mar 21, 2019
8dd5292
just TODOs
nachocano Mar 21, 2019
410764c
Merge remote-tracking branch 'upstream/master' into broker-new-model
nachocano Mar 21, 2019
5f5d950
Merge remote-tracking branch 'origin/broker-new-model' into registry-…
nachocano Mar 21, 2019
9ca02c2
adding some TODOs
nachocano Mar 21, 2019
b500d30
Adding TODOs, updating cloudevents after my change
nachocano Mar 21, 2019
71f166c
Adding observability
nachocano Mar 21, 2019
e323c7a
validation
nachocano Mar 21, 2019
c07196a
broker default
nachocano Mar 21, 2019
08c679c
event type controller... checks for broker existence and readiness
nachocano Mar 21, 2019
c01af03
adding extra columns
nachocano Mar 21, 2019
0217061
message in columns
nachocano Mar 21, 2019
2caf7c8
Merge remote-tracking branch 'upstream/master' into broker-new-model
nachocano Mar 21, 2019
87cacc6
Merge remote-tracking branch 'origin/broker-new-model' into registry-…
nachocano Mar 21, 2019
ea1d272
Passing broker. Need to refactor this module
nachocano Mar 21, 2019
ea4a531
broker immutable to avoid problem with label selector
nachocano Mar 21, 2019
3e918bd
Merge remote-tracking branch 'origin/master' into broker-new-model
nachocano Mar 22, 2019
f56b285
Merge remote-tracking branch 'origin/broker-new-model' into registry-…
nachocano Mar 22, 2019
4537b44
listening for broker changes
nachocano Mar 22, 2019
35d0095
removing broker label. Making broker mutable again.
nachocano Mar 22, 2019
71638f0
fixing dns subdomain
nachocano Mar 22, 2019
be11e6c
ingress policy as an object.
nachocano Mar 22, 2019
1cf75ca
removing DeprecatedGeneration
nachocano Mar 22, 2019
32383a7
Adding README
nachocano Mar 22, 2019
52abb77
yaml
nachocano Mar 22, 2019
c86581b
updating readme
nachocano Mar 22, 2019
c066a10
updating trigger
nachocano Mar 22, 2019
7782715
all fields immutable in eventType.
nachocano Mar 22, 2019
123e5a4
Merge remote-tracking branch 'upstream/master' into broker-new-model
nachocano Mar 22, 2019
e884f6b
Merge remote-tracking branch 'upstream/master' into registry-namespace
nachocano Mar 22, 2019
ffc6e56
Merge remote-tracking branch 'upstream/master' into broker-new-model
nachocano Mar 22, 2019
ce69047
Merge remote-tracking branch 'upstream/master' into registry-namespace
nachocano Mar 22, 2019
3b6ed5d
Merge remote-tracking branch 'origin/broker-new-model' into registry-…
nachocano Mar 22, 2019
2a49a81
adding UTs
nachocano Mar 25, 2019
8705e53
Merge remote-tracking branch 'upstream/master' into broker-new-model
nachocano Mar 25, 2019
42048c1
Merge remote-tracking branch 'origin/broker-new-model' into registry-…
nachocano Mar 25, 2019
cb71819
Updating README for source
nachocano Mar 25, 2019
af1934b
moving ToDNSSubdomain to utils
nachocano Mar 25, 2019
2bac3a6
removing ommitempty
nachocano Mar 26, 2019
430dfec
Merge remote-tracking branch 'upstream/master' into broker-new-model
nachocano Mar 26, 2019
d631797
Merge with master
nachocano Mar 26, 2019
d51a96f
Using github.com/kelseyhightower/envconfig for env variables.
nachocano Mar 26, 2019
46dec0b
changing Triggers to also look for an extension attribute as part of its
nachocano Mar 26, 2019
3cf6875
Updating ingress to read From custom extension, if present, and use that
nachocano Mar 26, 2019
23f5502
Updating comments
nachocano Mar 26, 2019
a40b2a0
Merge remote-tracking branch 'upstream/master' into broker-new-model
nachocano Mar 26, 2019
423c4d6
Merge remote-tracking branch 'origin/broker-new-model' into registry-…
nachocano Mar 26, 2019
93fbd76
Merge pull request #7 from nachocano/registry-namespace
nachocano Mar 26, 2019
5ea6e24
It seems to complaint if I add an invalid URL in the markup.
nachocano Mar 26, 2019
4eca34c
typo
nachocano Mar 27, 2019
657bc37
lowercase from
nachocano Mar 27, 2019
9f5d97e
Merge remote-tracking branch 'upstream/master' into broker-new-model
nachocano Mar 28, 2019
5f11229
using new cloud event API
nachocano Mar 28, 2019
9f67f3c
addressing Grant's comment.
nachocano Mar 28, 2019
d8fb195
Merge remote-tracking branch 'upstream/master' into broker-new-model
nachocano Mar 28, 2019
f58a53e
Merge branch 'broker-new-model' of github.com:nachocano/eventing into…
nachocano Mar 28, 2019
8e9088e
Merge remote-tracking branch 'upstream/master' into broker-new-model
nachocano Mar 28, 2019
3138555
Bumping cloud-sdk
nachocano Mar 29, 2019
8792cdf
Merge remote-tracking branch 'upstream/master' into broker-new-model
nachocano Mar 29, 2019
9f4374c
Migrate to correct sdk usage.
Mar 29, 2019
2cada16
Merge remote-tracking branch 'upstream/master' into broker-new-model
nachocano Mar 29, 2019
6adff6e
Merge pull request #9 from n3wscott/nacho-broker-new-model
nachocano Mar 29, 2019
b68e7e0
Merge remote-tracking branch 'upstream/master' into broker-new-model
nachocano Mar 29, 2019
47997a8
Merge remote-tracking branch 'upstream/master' into broker-new-model
nachocano Mar 29, 2019
5adb2c3
Merge remote-tracking branch 'upstream/master' into broker-new-model
nachocano Apr 5, 2019
7741e18
update README with other branch
nachocano Apr 10, 2019
868d834
Merge remote-tracking branch 'upstream/master' into broker-new-model
nachocano Apr 10, 2019
bc3236b
updating e2e tests
nachocano Apr 10, 2019
f0ce511
Updating deepcopy
nachocano Apr 10, 2019
d341ab2
naming changes
nachocano Apr 10, 2019
06f98cf
disabling registry test to see if this is causing problems
nachocano Apr 10, 2019
00cd8e2
re-enabling these guys again
nachocano Apr 11, 2019
004b28a
Merge remote-tracking branch 'upstream/master' into broker-new-model
nachocano Apr 17, 2019
7d5da5f
Merging upstream/master
nachocano Apr 24, 2019
b324794
Missing files
nachocano Apr 24, 2019
c38c663
Merge remote-tracking branch 'upstream/master' into registry-new-model
nachocano Apr 24, 2019
82f3921
adding description
nachocano Apr 25, 2019
1a4ab08
removing autoAdd
nachocano Apr 25, 2019
f0df342
some updates, still broken
nachocano Apr 25, 2019
9d46b79
Merge remote-tracking branch 'upstream/master' into broker-new-model
nachocano Apr 25, 2019
b69f643
some updates, still broken
nachocano Apr 25, 2019
f763159
removing broker ingress policies related stuff
nachocano Apr 25, 2019
2728f9f
adding eventType controller
nachocano Apr 25, 2019
7c9278a
eventType controller new serving structure
nachocano Apr 25, 2019
02f4824
bug
nachocano Apr 25, 2019
fbd97d3
Merge remote-tracking branch 'upstream/master' into eventtype-crd
nachocano Apr 25, 2019
28c5771
removing commented code
nachocano Apr 25, 2019
d0151aa
adding Gopkg.lock
nachocano Apr 25, 2019
fb8bd9f
rollback source getter
nachocano Apr 25, 2019
f809f72
Merge branch 'eventtype-crd' of github.com:nachocano/eventing into ev…
nachocano Apr 25, 2019
394ad77
permissions!!! damn...
nachocano Apr 26, 2019
104849b
permissions.
nachocano Apr 26, 2019
a7fe9f2
removing formatting of imports in goland
nachocano Apr 26, 2019
4772ab8
tracking changes to broker as trigger does.
nachocano Apr 26, 2019
95b5cf6
Merge remote-tracking branch 'upstream/master' into eventtype-crd
nachocano Apr 26, 2019
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
11 changes: 10 additions & 1 deletion cmd/controller/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ import (
"log"
"os"

"github.com/knative/eventing/pkg/reconciler/eventtype"

kubeinformers "k8s.io/client-go/informers"
"k8s.io/client-go/rest"

Expand Down Expand Up @@ -67,7 +69,7 @@ func main() {

logger.Info("Starting the controller")

const numControllers = 5
const numControllers = 6
cfg.QPS = numControllers * rest.DefaultQPS
cfg.Burst = numControllers * rest.DefaultBurst
opt := reconciler.NewOptionsOrDie(cfg, logger, stopCh)
Expand All @@ -80,6 +82,7 @@ func main() {
channelInformer := eventingInformerFactory.Eventing().V1alpha1().Channels()
subscriptionInformer := eventingInformerFactory.Eventing().V1alpha1().Subscriptions()
brokerInformer := eventingInformerFactory.Eventing().V1alpha1().Brokers()
eventTypeInformer := eventingInformerFactory.Eventing().V1alpha1().EventTypes()

// Kube
serviceInformer := kubeInformerFactory.Core().V1().Services()
Expand Down Expand Up @@ -125,6 +128,11 @@ func main() {
FilterServiceAccountName: getRequiredEnv("BROKER_FILTER_SERVICE_ACCOUNT"),
},
),
eventtype.NewController(
opt,
eventTypeInformer,
brokerInformer,
),
}
if len(controllers) != numControllers {
logger.Fatalf("Number of controllers and QPS settings mismatch: %d != %d", len(controllers), numControllers)
Expand All @@ -147,6 +155,7 @@ func main() {
channelInformer.Informer(),
subscriptionInformer.Informer(),
triggerInformer.Informer(),
eventTypeInformer.Informer(),
// Kube
configMapInformer.Informer(),
serviceInformer.Informer(),
Expand Down
1 change: 1 addition & 0 deletions cmd/webhook/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ func main() {
eventingv1alpha1.SchemeGroupVersion.WithKind("ClusterChannelProvisioner"): &eventingv1alpha1.ClusterChannelProvisioner{},
eventingv1alpha1.SchemeGroupVersion.WithKind("Subscription"): &eventingv1alpha1.Subscription{},
eventingv1alpha1.SchemeGroupVersion.WithKind("Trigger"): &eventingv1alpha1.Trigger{},
eventingv1alpha1.SchemeGroupVersion.WithKind("EventType"): &eventingv1alpha1.EventType{},
},
Logger: logger,
}
Expand Down
2 changes: 2 additions & 0 deletions config/200-controller-clusterrole.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,8 @@ rules:
- "subscriptions/status"
- "triggers"
- "triggers/status"
- "eventtypes"
- "eventtypes/status"
verbs: *everything

# Source resources and statuses we care about.
Expand Down
2 changes: 2 additions & 0 deletions config/200-webhook-clusterrole.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,8 @@ rules:
- "subscriptions/status"
- "triggers"
- "triggers/status"
- "eventtypes"
- "eventtypes/status"
verbs:
- "get"
- "list"
Expand Down
53 changes: 53 additions & 0 deletions config/300-eventtype.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Copyright 2019 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.
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: eventtypes.eventing.knative.dev
spec:
group: eventing.knative.dev
version: v1alpha1
names:
kind: EventType
plural: eventtypes
singular: eventtype
categories:
- all
- knative
- eventing
scope: Namespaced
subresources:
status: {}
additionalPrinterColumns:
- name: Type
type: string
JSONPath: ".spec.type"
- name: Source
type: string
JSONPath: ".spec.source"
- name: Schema
type: string
JSONPath: ".spec.schema"
- name: Broker
type: string
JSONPath: ".spec.broker"
- name: Description
type: string
JSONPath: ".spec.description"
- name: Ready
type: string
JSONPath: ".status.conditions[?(@.type==\"Ready\")].status"
- name: Reason
type: string
JSONPath: ".status.conditions[?(@.type==\"Ready\")].reason"
49 changes: 49 additions & 0 deletions docs/registry/example_eventtype.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Copyright 2019 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.

---

# This EventType creates an event type with type 'com.github.pull_request', source
# 'github.com', for the 'default' Broker.

apiVersion: eventing.knative.dev/v1alpha1
kind: EventType
metadata:
name: com.github.pullrequest
spec:
type: com.github.pull_request
source: github.com
broker: default
description: "GitHub Pull Request"

---

# This Trigger matches all events of type 'com.github.pull_request' and source
# 'github.com', that are sent to the 'default' Broker.

apiVersion: eventing.knative.dev/v1alpha1
kind: Trigger
metadata:
name: filtering-event-type
spec:
filter:
sourceAndType:
type: com.github.pull_request
source: github.com
broker: default
subscriber:
ref:
apiVersion: serving.knative.dev/v1alpha1
kind: Service
name: message-dumper
29 changes: 29 additions & 0 deletions pkg/apis/eventing/v1alpha1/eventtype_defaults.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/*
Copyright 2018 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 (et *EventType) SetDefaults(ctx context.Context) {
et.Spec.SetDefaults(ctx)
}

func (ets *EventTypeSpec) SetDefaults(ctx context.Context) {
if ets.Broker == "" {
ets.Broker = "default"
}
}
83 changes: 83 additions & 0 deletions pkg/apis/eventing/v1alpha1/eventtype_defaults_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
/*
Copyright 2019 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"
"testing"

"github.com/google/go-cmp/cmp"
)

func TestEventTypeDefaults(t *testing.T) {
testCases := map[string]struct {
initial EventType
expected EventType
}{
"nil spec": {
initial: EventType{},
expected: EventType{
Spec: EventTypeSpec{
Broker: "default",
},
},
},
"broker empty": {
initial: EventType{
Spec: EventTypeSpec{
Type: "test-type",
Source: "test-source",
Broker: "",
Schema: "test-schema",
},
},
expected: EventType{
Spec: EventTypeSpec{
Type: "test-type",
Source: "test-source",
Broker: "default",
Schema: "test-schema",
},
},
},
"broker not set": {
initial: EventType{
Spec: EventTypeSpec{
Type: "test-type",
Source: "test-source",
Schema: "test-schema",
},
},
expected: EventType{
Spec: EventTypeSpec{
Type: "test-type",
Source: "test-source",
Broker: "default",
Schema: "test-schema",
},
},
},
}
for n, tc := range testCases {
t.Run(n, func(t *testing.T) {
tc.initial.SetDefaults(context.TODO())
if diff := cmp.Diff(tc.expected, tc.initial); diff != "" {
t.Fatalf("Unexpected defaults (-want, +got): %s", diff)
}
})
}
}
58 changes: 58 additions & 0 deletions pkg/apis/eventing/v1alpha1/eventtype_lifecycle.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
/*
Copyright 2019 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 duckv1alpha1 "github.com/knative/pkg/apis/duck/v1alpha1"

var eventTypeCondSet = duckv1alpha1.NewLivingConditionSet(EventTypeConditionBrokerExists, EventTypeConditionBrokerReady)

const (
EventTypeConditionReady = duckv1alpha1.ConditionReady
EventTypeConditionBrokerExists duckv1alpha1.ConditionType = "BrokerExists"
EventTypeConditionBrokerReady duckv1alpha1.ConditionType = "BrokerReady"
)

// GetCondition returns the condition currently associated with the given type, or nil.
func (et *EventTypeStatus) GetCondition(t duckv1alpha1.ConditionType) *duckv1alpha1.Condition {
return eventTypeCondSet.Manage(et).GetCondition(t)
}

// IsReady returns true if the resource is ready overall.
func (et *EventTypeStatus) IsReady() bool {
return eventTypeCondSet.Manage(et).IsHappy()
}

// InitializeConditions sets relevant unset conditions to Unknown state.
func (et *EventTypeStatus) InitializeConditions() {
eventTypeCondSet.Manage(et).InitializeConditions()
}

func (et *EventTypeStatus) MarkBrokerExists() {
eventTypeCondSet.Manage(et).MarkTrue(EventTypeConditionBrokerExists)
}

func (et *EventTypeStatus) MarkBrokerDoesNotExist() {
eventTypeCondSet.Manage(et).MarkFalse(EventTypeConditionBrokerExists, "BrokerDoesNotExist", "Broker does not exist")
}

func (et *EventTypeStatus) MarkBrokerReady() {
eventTypeCondSet.Manage(et).MarkTrue(EventTypeConditionBrokerReady)
}

func (et *EventTypeStatus) MarkBrokerNotReady() {
eventTypeCondSet.Manage(et).MarkFalse(EventTypeConditionBrokerReady, "BrokerNotReady", "Broker is not ready")
}
Loading