Skip to content

Commit

Permalink
chore: 24 roadmap update (#1479)
Browse files Browse the repository at this point in the history
## Description

Update the '24 Pepr Roadmap

End to End Test:  <!-- if applicable -->  
(See [Pepr Excellent
Examples](https://github.com/defenseunicorns/pepr-excellent-examples))

## Related Issue

Fixes #1477 
<!-- or -->
Relates to #

## Type of change

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [x] Other (security config, docs update, etc)

## Checklist before merging
- [x] Unit,
[Journey](https://github.com/defenseunicorns/pepr/tree/main/journey),
[E2E Tests](https://github.com/defenseunicorns/pepr-excellent-examples),
[docs](https://github.com/defenseunicorns/pepr/tree/main/docs),
[adr](https://github.com/defenseunicorns/pepr/tree/main/adr) added or
updated as needed
- [x] [Contributor Guide
Steps](https://docs.pepr.dev/main/contribute/#submitting-a-pull-request)
followed

Signed-off-by: Case Wylie <[email protected]>
  • Loading branch information
cmwylie19 authored Nov 22, 2024
1 parent a936a1c commit 2da08c2
Showing 1 changed file with 45 additions and 34 deletions.
79 changes: 45 additions & 34 deletions docs/090_roadmap/README.md
Original file line number Diff line number Diff line change
@@ -1,57 +1,68 @@
# Roadmap for Pepr

_2024 Roadmap_
## Phase 1: Preparation - Testing and Docs

- **Q1**:
- **Establish Medium for Communication with Community**:
Establish communication channel for community members and contributors. Easy/discoverable "how to contribute" guide.
- Establish communication channel for community members and contributors. Easy/discoverable "how to contribute" guide.
- **Site/Documentation**:
Improve information architecture, nail killer use-cases, and make it obvious how to get started and find your way around.
- Improve information architecture, nail killer use-cases, and make it obvious how to get started and find your way around.
- **Automated Testing**:
Focus on stories that increase confidence in protection of features and functionality. Simplify hello-pepr and bring e2e test against external repo with examples. Make sure that contributions are well-tested.
- Focus on stories that increase confidence in protection of features and functionality. Simplify hello-pepr and bring e2e test against external repo with examples. Make sure that contributions are well-tested.

## Phase 2: Community Building, Competitive Analysis, and Feature Development
## Phase 2: Community Building, Competitive Analysis, Instrumentation and Feature Development

- **Q2**:
- **Community Engagement**:
Begin engaging with potential contributors and users through social media, Kubernetes/Cloud Native Computing Foundation (CNCF) meetups, and other channels. Monitor and participate in our Slack channel.
- Begin engaging with potential contributors and users through social media, Kubernetes/Cloud Native Computing Foundation (CNCF) meetups, and other channels. Monitor and participate in our Slack channel.
- **Feature Development**:
Based on company feedback, continuously improve and add features. Add feature parity with other tools in the Kubernetes ecosystem where it makes sense. Chip away at the backlog.
- Based on company feedback, continuously improve and add features. Add feature parity with other tools in the Kubernetes ecosystem where it makes sense. Chip away at the backlog.
- **Documentation Improvements**:
Continue to improve documentation and add more examples like Doom, find scaling limitations
- Continue to improve documentation and add more examples like Doom, find scaling limitations
- **Competitive Analysis**:
Understand the competitive landscape and how/where Pepr can/does differentiate itself. Have it in the docs.
- Understand the competitive landscape and how/where Pepr can/does differentiate itself. Have it in the docs.
- **Instrumentation**:
- Outfit Pepr with the necessary instrumentation to collect metrics and logs. Use this data to make informed about the watch direction.

## Phase 3: Donation, Transition, Move Project, and Stabilization/Improvement of New Features
## Phase 3: Informer Iterations, Watch Analysis, Metric Collection, Development/Stabilization/Improvement of New Features

- **Q3**:
- **Donation**:
- Donate the project to the CNCF.
- CNCF Code of conduct
- CNCF IP policy
- CNCF CLA
- Discoverable and simple governance model
- move project to its own organization
- ensure license in Apache 2.0
- Transfer trademark, logo, domain name, and other assets to CNCF.
- **Community Building**:
Grow the contributor base, establish a governance model, and encourage community-led initiatives. Interact with people in our Slack channel.
- **Informer Iterations**:
- Tune informer based on feedback from UDS Core and delivery so events will be reconciled through eventual consistency.
- [Evaluate](https://github.com/defenseunicorns/pepr/blob/main/adr/0015-kfc-watch-undici.md) other underlying technologies for informer.
- **Feature Development**:
Based on community feedback, continuously improve and add features. Rigoursly test and document and review code.
- `.WithNameRegex()/.InNamespaceRegex()` for Kubernetes Controller development against resources that could match a variety of names or namespaces.
- `.WithDeletionTimestamp()` for Kubernetes Controller Development against resources that are pending deletion
- Create a sharded queue that enables the Module Author to define queueing strategies based on `kind`, `kind/namespace`, `kind/namespace/name`, `global`.
- **Community Building**:
- Grow the contributor base, establish a governance model, and encourage community-led initiatives. Look to drive conversation in our Slack Channel.
- Based on community feedback, continuously improve and add features. Rigoursly test and document and review code.
- **Project Advocation**:
Publicly advocate for the project and encourage adoption.
- **Submit PR for Sandbox**
- Submit sandbox PR when ready
- Publicly advocate for the project and encourage adoption.
- **Stability**:
- Ensure that the project is stable and reliable. Make sure that the project is well-tested and documented.
- Identify new areas of project improvement and work on them.

## Phase 4: Post Donation
## Phase 4: Feature Development, Stablization, Code and Testing Quality Improvements

- **Q4**:
- **Road to GA**:
Right now, Pepr itself is still in its 'development' phase. We are working on some final things before we release the official 1.0 General Availability (GA) release
- **Community Meetings**:
- Monthly community meetings/steering committee meetings/contributor meetings
- **Review Sandbox PR**
- Review PR for sandbox
- **Road to Incubation**:
- to come
- **Features**:
- Improve DevEx overrides in Pepr section of package.json for customized builds of Modules
- `.Finalize()` for Kubernetes Controller Development to controlling downstream resources through finalizers
- Scaffolding to validate images from a registry through cosign/sigstore
- Replace node-fetch with Undici in the KFC project for performance improvements
- **Removal of Circular Dependencies**:
Identify and remove circular dependencies in the codebase.
- **Strong Typings**:
- Identify where we can make Pepr/KFC stronger by adding typings.
- **Work to reduce code complexity**
- Monitor code complexity through eslint, work to drive down complexity
- **Robust E2E Tests in KFC**:
- Create a strong e2e suite in KFC, ensure tests are robust and cover all the features of KFC.
- **Documentation**:
- Ensure that the documentation is up-to-date and accurate. Add more examples and use-cases.
- Onboarding and contribution guides should be clear and easy to follow.
- **Load/Stress Testing**:
- Load test Pepr/KFC to identify bottlenecks and areas of improvement.
- Ensure that Pepr/KFC can handle a large number of resources and events over a sustained period of time (nightly).

0 comments on commit 2da08c2

Please sign in to comment.