Skip to content

very draft roadmap#46

Merged
google-prow-robot merged 1 commit into
knative:masterfrom
ultrasaurus:roadmap
Apr 27, 2018
Merged

very draft roadmap#46
google-prow-robot merged 1 commit into
knative:masterfrom
ultrasaurus:roadmap

Conversation

@ultrasaurus
Copy link
Copy Markdown
Contributor

Partial fix for #45

initial roadmap with milestones -- I'm sure I'm missing important things! Sending this PR for feedback

@google-prow-robot
Copy link
Copy Markdown

[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

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@google-prow-robot google-prow-robot added approved Indicates a PR has been approved by an approver from all required OWNERS files. size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Apr 18, 2018
Copy link
Copy Markdown
Contributor

@inlined inlined left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread roadmap.md
# 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
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

specific action powered by a specific processor

Comment thread roadmap.md

# 0.2

A. A local event can trigger a Google Cloud Function
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI: We may need help from GCF on this. Found out this week that the "CallFunction" API always makes up a fake event context.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+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

Comment thread roadmap.md
# 0.2

A. A local event can trigger a Google Cloud Function
B. A Google source can trigger a local action
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)

@kelseyhightower
Copy link
Copy Markdown

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 Installation

Create a Kubernetes 1.10+ cluster:

gcloud container clusters create events

Deploy the eventing control plane:

kubectl apply -f https://events.elafros.io/eventing.yaml

Creating Events and Mapping them to Functions

Create a Google cloud function

gcloud functions ....

Create an event source

kubectl apply -f https://events.elafros.io/example-event-source.yaml

Map events to a function:

kubectl apply -f https://events.elafros.io/example-event-binding.yaml

@markfisher
Copy link
Copy Markdown
Contributor

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 kubectl apply for the function resource as well, with the gcloud functions... command being a higher level wrapper.

@ultrasaurus
Copy link
Copy Markdown
Contributor Author

Great feedback @kelseyhightower ! I've added your suggestions as issues: #51
and #52

I've added some more milestones to the roadmap based on feedback above. I made my best guess on ordering, please take a look!

Comment thread roadmap.md

# 0.4

A. an action may accept a stream interface to process many events at once No newline at end of file
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@vaikas
Copy link
Copy Markdown
Contributor

vaikas commented Apr 27, 2018

/lgtm

@google-prow-robot google-prow-robot added the lgtm Indicates that a PR is ready to be merged. label Apr 27, 2018
@google-prow-robot google-prow-robot merged commit 91e7ad9 into knative:master Apr 27, 2018
dprotaso added a commit to dprotaso/eventing that referenced this pull request Sep 12, 2018
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)
dprotaso added a commit to dprotaso/eventing that referenced this pull request Sep 12, 2018
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
knative-prow-robot pushed a commit that referenced this pull request Sep 17, 2018
* 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
akashrv pushed a commit to akashrv/eventing that referenced this pull request Mar 25, 2019
Do not DeepCopy() in Reconcile(), as controller-runtime already did it for us
matzew pushed a commit to matzew/eventing that referenced this pull request Apr 10, 2019
matzew pushed a commit to matzew/eventing that referenced this pull request Apr 11, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants