-
Notifications
You must be signed in to change notification settings - Fork 222
chore(docs): 2025 roadmap proposal #3670
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
52b99a1
chore(docs): 2025 roadmap proposal
brandtkeller eba92f5
Merge branch 'main' of github.com:zarf-dev/zarf into 3446_roadmap_update
brandtkeller 5a6e11f
chore(docs): update roadmap with refinements
brandtkeller dca2280
Merge branch 'main' of github.com:zarf-dev/zarf into 3446_roadmap_update
brandtkeller 0181130
fix(docs): update roadmap section title and add meeting link
brandtkeller File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,86 +1,78 @@ | ||
| --- | ||
| title: Roadmap | ||
| title: Zarf 2025 Roadmap | ||
| --- | ||
|
|
||
| ## Issue Tracking | ||
| ## Introduction | ||
|
|
||
| The issue board for Zarf is hosted on a [GitHub Project Board](https://github.com/orgs/zarf-dev/projects/1) that tracks the issues the Zarf team is working along with future work we are prioritizing. | ||
| 2025 is about building resilience, empowering extensibility, and preparing the system for broader integrations through SDKs. | ||
|
|
||
| If you would like to add bug reports or feature requests, please [add an issue](https://github.com/zarf-dev/zarf/issues) to the GitHub repository under the appropriate template. If you have a more general question about a feature, feel free to ask the team in the [Zarf Kubernetes Slack Channel](https://kubernetes.slack.com/archives/C03B6BJAUJ3). | ||
| ## Core Themes for 2025 | ||
|
|
||
| We also accept contributions from the community (regardless of where a particular bug or feature is in the queue), so feel free to read our [contributing guidelines](/contribute/contributor-guide) and [submit a PR](https://github.com/zarf-dev/zarf/pulls)! You can also ask any development related questions in the [Zarf Dev Kubernetes Slack Channel](https://kubernetes.slack.com/archives/C03BP9Z3CMA). | ||
| - **SDK Support & Decoupled Architecture** | ||
| Enable integration and extensibility by refactoring the core to cleanly separate CLI operations from library logic. This will unlock use cases for tooling integration, programmatic workflows, and community enhancements. | ||
|
|
||
| ## 2024 General Roadmap | ||
| - **Resilient-by-Design Infrastructure** | ||
| Invest in the internal consistency, recovery, and upgrade mechanisms of Zarf to ensure performance across edge and connected environments. | ||
|
|
||
| ### Q1: Community Building and Refactoring | ||
| - **Operational Enhancements** | ||
| Improve package lifecycle operations, diagnostics, and user observability to make Zarf more usable and reliable in production. | ||
|
|
||
| - [X] - Establish a [monthly community meetup](https://github.com/zarf-dev/zarf/issues/2202) to engage members of the community and answer questions. | ||
| - [ ] - Refactor and add tests to library code shared with [UDS-CLI](https://github.com/defenseunicorns/uds-cli) and split into a new GitHub repository. | ||
| - [ ] - Gather OpenSSF donation requirements and clear off pre-reqs (additional maintainers and sponsor working group). | ||
| - **Workflow Stability & Expansion** | ||
| Mature the package lifecycle, extend schema-based definitions, and reduce the learning curve for new users through simplification and documentation. | ||
|
|
||
| ### Q2 Consistency, Docs and Donation to OpenSSF | ||
|
|
||
| - [ ] - Consolidate and improve consistency around features such as Zarf `variables` and component `required` schema. | ||
| - [X] - Move [docs website](https://docs.zarf.dev) from Docusaurus to a different framework to improve maintainability going forward. | ||
| - [ ] - Finalize and submit Zarf's `sandbox` application to officially join the OpenSSF. | ||
|
|
||
| ### Q3: Transfer Project, Stabilize and Extend | ||
|
|
||
| - [ ] - Transfer project and additional repos (`zarf-ui`, `zarf-init-aws`, `setup-zarf`, etc.) to a new GitHub organization. | ||
| - [ ] - Stabilize features after the consolidation of Q2 - clean up GA milestone in preparation for Q4. | ||
| - [ ] - Flesh out the extension system for new features / experiments to be more smoothly integrated with Zarf. | ||
| - [ ] - Make `zarf init` custom logic definable in-schema and across all packages. | ||
|
|
||
| ### Q4: Post Donation and General Availability | ||
|
|
||
| - [ ] - Continue stabilizing features and interfaces in preparation for GA release. | ||
| - [ ] - Gather and prepare to meet OpenSSF's `incubation` requirements. | ||
| - [ ] - Officially cut a GA v1.0.0 release of Zarf. | ||
| --- | ||
|
|
||
| ## Feature Stability | ||
| ## Development Story | ||
|
|
||
| Zarf has three levels of feature stability that are defined below but generally follow existing Kubernetes conventions. These communicate how a feature may change in the future as well as expectations for [\*ilities](https://en.wiktionary.org/wiki/ility) like documentation. | ||
| ### SDK Readiness (Q1 - Q2) | ||
|
|
||
| ### `alpha` | ||
| We began the year with a deliberate push to lay the groundwork for SDK support. This involves: | ||
|
|
||
| Alpha features act as early previews for things that are being considered for inclusion into Zarf and: | ||
| - Refactor internal logic to split the CLI from the shared library. | ||
| - Establish SDK entry points for Zarf functionality. | ||
| - Standardize on logging patterns for package lifecycle execution. | ||
|
|
||
| - they are very likely to have breaking changes (or be removed entirely) in future versions of Zarf | ||
| - they will have limited documentation beyond autogenerated CLI and schema documentation (questions should be directed to the [Zarf team](https://kubernetes.slack.com/archives/C03B6BJAUJ3)) | ||
| - they will have limited testing and are only recommended for use cases where the risk of instability is acceptable | ||
| Parallel to these efforts, we also focused on extending our test suite to cover decoupled components and ensure changes did not regress GA stability. | ||
|
|
||
| ### `beta` | ||
| ### Hardening & Observability (Q2 - Q3) | ||
|
|
||
| Beta features are newer features that are being prepared to eventually become stable features and: | ||
| As the architecture matures, attention turns to reliability and transparency: | ||
|
|
||
| - they may introduce breaking changes before release, but will include any applicable workarounds | ||
| - they will have documentation beyond autogenerated docs, but it won't be fully complete | ||
| - they will have tests that cover their core features, but not covering every flavor of environment | ||
| - Improve support for chaining packages and dynamic variable injection during deploy. | ||
| - Enhance package and chart values patterns and enhance configuration opportunities. | ||
| - Improve supply chain lifecycle with enhanced artifact delivery and discovery. | ||
| - Harden lifecycle to recover from partial failures on deploy or remove. | ||
|
|
||
| ### `stable` | ||
| These upgrades strengthen Zarf's use in production pipelines and across disconnected systems. | ||
|
|
||
| Stable features are features that the Zarf team has committed to maintaining stability for and: | ||
| ### Package Lifecycle and UX Enhancements (Q3 - Q4) | ||
brandtkeller marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| - they will have backwards compatibility shims introduced in lieu of breaking changes | ||
| - they will have autogenerated docs, tutorials/tutorial mentions, examples, and core docs | ||
| - they will have tests that cover the feature which will run across all tested environments | ||
| Actively investing in enhancements that simplify and expand what Zarf can do: | ||
|
|
||
| :::note | ||
| - Add observable error messages and diagnostic metadata to simplify user troubleshooting. | ||
| - Introduce schema enhancements from new features and deprecation removals. | ||
| - Improve state management to enable more dynamic deployment scenarios and ensure resource traceability. | ||
|
|
||
| While Zarf is pre-General Availability (see below) the above feature stability guidelines should be considered notionally what our expectations are for different Zarf features. There may be individual cases where \*ilities are not met as we work to shore things up for GA. | ||
| We believe these improvements can assist in making zarf more operationally effective. | ||
|
|
||
| ::: | ||
| ### Community, Contribution & Ecosystem (Ongoing) | ||
|
|
||
| ### `deprecated` | ||
| Throughout the year, the Zarf team remains committed to open governance and community development: | ||
|
|
||
| Deprecated features are features that are no longer recommended for use and: | ||
| - Bi-weekly community [meetups](https://zoom-lfx.platform.linuxfoundation.org/meeting/97461829237?password=add48ad5-fc07-4951-96d2-531b72d2a5dc) to showcase demos and field feature proposals. | ||
| - [Zarf Enhancements Proposal](https://github.com/zarf-dev/proposals) process introduced to align contributors and consumers of proposed features or changes. | ||
| - Continued engagement with the OpenSSF Incubation process and secure software practices. | ||
| - Creation and maintenance of learning and community materials. | ||
| - Improve sustainability and governance of the project. | ||
| - Respond to Critical bug fixes and vulnerabilities. | ||
|
|
||
| - they will have a deprecation notice in the documentation + CLI | ||
| - they will have a timeline for removal (currently all deprecated features will be removed in the next major release of Zarf) | ||
| - they will have a recommended alternative | ||
| --- | ||
|
|
||
| ## General Availability (GA) Release | ||
| ## Feature Stability Guidance | ||
|
|
||
| Right now, Zarf itself is still in its 'beta' phase. We are working on some final things before we release the official 1.0 General Availability (GA) release. The work still needed for the GA release can be found in our issues with [this filter](https://github.com/zarf-dev/zarf/issues?q=is%3Aopen+is%3Aissue+label%3Aga). | ||
| We continue to follow the [Kubernetes feature maturity model](https://kubernetes.io/docs/reference/using-api/#api-versioning) for Zarf features: | ||
|
|
||
| We are currently targeting Q4 2024 to have Zarf be generally available and will be pushing weekly releases until then to add necessary features and fix bugs as well as improve docs, architecture and test coverage behind the scenes. | ||
| - **Alpha**: Experimental, subject to change/removal. | ||
| - **Beta**: Functionally complete but still evolving; documented with known caveats. | ||
| - **Stable**: Guaranteed backwards compatibility, robust documentation and testing. | ||
| - **Deprecated**: Marked for removal, with alternatives documented. | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.