very draft roadmap#46
Conversation
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: ultrasaurus The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
inlined
left a comment
There was a problem hiding this comment.
Some missing components:
- Core API objects are renamed to match reviewed APIs
- An Event Source can be added to a cluster without recompile
- A formal CRD for how K8S services can proxy the implementation of an Event Provider.
- An event processor can be added to a cluster without recompile(?)
- Outbound version of proxy?
- The mixer work for on-prem req/res event sources
- Not 100% sure whether RIFF wants to support existing functions as an action or just work with the elafros serving team to make those functions suit their needs
- Events are durably stored before delivery
- Events are delivered in order according to a shard key
- Failed event handling can be retried according to the Flow spec
I'd also love a demo that can be added to samples to prove that each milestone has been completed/what additional value it offers.
| # 0.1 | ||
|
|
||
| A. Ability to register an event sources and specify which events may be generated from that source [Proposal](https://github.com/elafros/eventing/issues/39) | ||
| B. kubctl command to set up a trigger where a specific event will cause a specific action |
There was a problem hiding this comment.
specific action powered by a specific processor
|
|
||
| # 0.2 | ||
|
|
||
| A. A local event can trigger a Google Cloud Function |
There was a problem hiding this comment.
FYI: We may need help from GCF on this. Found out this week that the "CallFunction" API always makes up a fake event context.
There was a problem hiding this comment.
+inlined@ I assumed we would trigger an HTTP Function and just pass it an event, then include a JS library to make it "feel" like an event
| # 0.2 | ||
|
|
||
| A. A local event can trigger a Google Cloud Function | ||
| B. A Google source can trigger a local action |
There was a problem hiding this comment.
May make it clear that this is a conceptual demo and is allowed to use architectural scaffolding (e.g. deploy a cloud function that forwards the webhook to the event cluster)
|
I'm not sure where this belongs but it might be helpful to think of each milestone from a users prospective. I like to think in terms of end to end experience: Easy InstallationCreate a Kubernetes 1.10+ cluster: Deploy the eventing control plane: Creating Events and Mapping them to FunctionsCreate a Google cloud function Create an event source Map events to a function: |
|
I agree with @kelseyhightower that focusing on an end-to-end user experience is a good way to drive these roadmap items. I would however expect elafros to use |
|
Great feedback @kelseyhightower ! I've added your suggestions as issues: #51 I've added some more milestones to the roadmap based on feedback above. I made my best guess on ordering, please take a look! |
|
|
||
| # 0.4 | ||
|
|
||
| A. an action may accept a stream interface to process many events at once No newline at end of file |
There was a problem hiding this comment.
This is just a nit, but we might clarify how this is different from the batch like interface that could also accept many events at once.
|
/lgtm |
Includes the following changes 1e7c2e7 Update static_watcher.go d688349 Include note about embedding the ManualWatcher in the InformedWatcher 767d6a5 Few changes to the configmap package 0122abd The test logger will now log the correct caller (knative#63) e7a4b0d Dont call flag.parse in pkg/test (knative#62) b213523 Update test-infra dependency (knative#61) 382a2bf Make kube_checks generic so that it can be used in serving (knative#58) 760afb6 cleanup (knative#57) eedc0a9 Make verify-codegen.sh compatible with OS X (knative#54) 6eff182 Remove docker repo from e2e flags (knative#53) 4be5c07 Vendor the test-infra scripts (knative#52) 8c687df Update WaitForEndpointState to return response (knative#51) 8f6a3be Update knative/pkg/test (knative#50) 3ca4270 Add a logkey for the reconcile key. (knative#49) 62d2560 Add Istio DestinationRule and Policy into Istio apis and clients (knative#43) f4a77d7 Add a common test clients file (knative#46) 450739d Add common test logging module (knative#45)
Includes the following changes: 8fc80de Few changes to the configmap package (knative#59) 0122abd The test logger will now log the correct caller (knative#63) e7a4b0d Dont call flag.parse in pkg/test (knative#62) b213523 Update test-infra dependency (knative#61) 382a2bf Make kube_checks generic so that it can be used in serving (knative#58) 760afb6 cleanup (knative#57) eedc0a9 Make verify-codegen.sh compatible with OS X (knative#54) 6eff182 Remove docker repo from e2e flags (knative#53) 4be5c07 Vendor the test-infra scripts (knative#52) 8c687df Update WaitForEndpointState to return response (knative#51) 8f6a3be Update knative/pkg/test (knative#50) 3ca4270 Add a logkey for the reconcile key. (knative#49) 62d2560 Add Istio DestinationRule and Policy into Istio apis and clients (knative#43) f4a77d7 Add a common test clients file (knative#46) 450739d Add common test logging module (knative#45
* bump knative/pkg to 8fc80de Includes the following changes: 8fc80de Few changes to the configmap package (#59) 0122abd The test logger will now log the correct caller (#63) e7a4b0d Dont call flag.parse in pkg/test (#62) b213523 Update test-infra dependency (#61) 382a2bf Make kube_checks generic so that it can be used in serving (#58) 760afb6 cleanup (#57) eedc0a9 Make verify-codegen.sh compatible with OS X (#54) 6eff182 Remove docker repo from e2e flags (#53) 4be5c07 Vendor the test-infra scripts (#52) 8c687df Update WaitForEndpointState to return response (#51) 8f6a3be Update knative/pkg/test (#50) 3ca4270 Add a logkey for the reconcile key. (#49) 62d2560 Add Istio DestinationRule and Policy into Istio apis and clients (#43) f4a77d7 Add a common test clients file (#46) 450739d Add common test logging module (#45 * Use updated methods that indicate that the configmap.Watcher is using an informer
Do not DeepCopy() in Reconcile(), as controller-runtime already did it for us
Replaces fix like serving PR knative#60
Replaces fix like serving PR knative#60
Partial fix for #45
initial roadmap with milestones -- I'm sure I'm missing important things! Sending this PR for feedback