When discussing user actions, it is often helpful to define specific user roles who might want to do the action.
Event generation and consumption is a core part of the serverless (particularly function as a service) computing model. Event generation and dispatch enables decoupling of event producers from consumers.
An event consumer may be a software developer, or may be an integrator which is reusing existing packaged functions to build a workflow without writing code.
User stories:
- Determine what event sources are available
- Trigger my service when certain events happen (event feed)
- Filter events from a provider
An event producer owns a data source or system which produces events which can be acted on by event consumers.
User stories:
- Publish events
- Control who can create Feeds
System Integrators are typically of three varieties. They are producing new Channel implementations, or new Event Source implementations, or new Broker implementations.
User stories:
- Create a new Event Source (creating a bridge between an existing system and Knative Eventing)
- Create a new Channel implementation
- Create a new Broker implementation
A System Operator manages the Knative Eventing including installing and upgrading Knative Eventing. They also monitor the system health and manage access for developers.
User stories:
- Install new CRDs (Sources, Broker Implementations)
- Upgrade Knative Eventing
- Upgrade Broker's backing infrastructure (eg. Kafka or RabbitMQ)
- Grant access to developers
Contributors are an important part of the Knative project. As such, we will also consider how various infrastructure encourages and enables contributors to the project, as well as the impact on end-users.
- Hobbyist or newcomer
- Motivated user
- Corporate (employed) maintainer
- Consultant
User stories:
- Check out the code
- Build and run the code
- Run tests
- View test status
- Run performance tests