diff --git a/docs/overview/roadmap.md b/docs/overview/roadmap.md index 4fde1662eb..30338a6ee6 100644 --- a/docs/overview/roadmap.md +++ b/docs/overview/roadmap.md @@ -41,8 +41,8 @@ If you have specific questions about the roadmap, please create an The Backstage roadmap lays out both [“what’s next”](#whats-next) and [“future work”](#future-work). With "next" we mean features planned for release -within the ongoing quarter starting in July until September 2021 included. With -"future" we mean features in the radar, but not yet scheduled. +within the ongoing quarter from January through March 2022. With "future" we +mean features in the radar, but not yet scheduled. The long-term roadmap (12 - 36 months) is not detailed in the public roadmap. Third-party contributions are also not currently included in the roadmap. Let us @@ -61,92 +61,57 @@ The feature set below is planned for the ongoing quarter, and grouped by theme. The list order doesn’t necessarily reflect priority, and the development/release cycle will vary based on maintainer schedules. -### Backstage Core +### Backstage 1.0 (and following versions) -The following features are planned for release: +During the first quarter of 2022, we plan to finalize and release version 1.0 of +the Backstage platform (defined by the Core, +[Catalog](https://backstage.io/docs/features/software-catalog/software-catalog-overview), +[Scaffolder](https://backstage.io/docs/features/software-templates/software-templates-index) +and [TechDocs](https://backstage.io/docs/features/techdocs/techdocs-overview)). +Included as part of this milestone: -- **Improved responsiveness:** Check out the - [RFC here](https://github.com/backstage/backstage/issues/6318) for further - details on how to improve the responsiveness for Backstage's UI. +- Deciding on the cadence of minor/weekly/daily releases to provide clarity on + the frequency and expectations for future versions of the platform and its + defining modules. +- Establish the support model to set the expectations from the adopters in their + respective use cases. -### Software Templates +### Backstage Security Audit -The following features are planned for release:: +This initiative is the first of a broader Security Strategy for Backstage. The +purpose of the Security Audit is to involve third-party companies in auditing +the platform and highlighting potential vulnerabilities. The benefit for the +adopters is clear: We want Backstage to be as secure as possible, and we want to +make it reliable through a specific initiative. This initiative in particular is +done together, and with the support of, the +[Cloud Native Computing Foundation (CNCF)](https://www.cncf.io/). -- **Re-creation/resubmission in case of failure:** Speed up productivity by - allowing developers to relaunch a project after a failure or any unexpected - problem. In the current version, this task requires retyping and a full - re-creation from scratch. -- **Performance and usability improvements for contributors:** Reach a relevant - improvement in templating's performance through the replacement of - [handlebars](https://handlebarsjs.com/). Other replacements will be considered - as part of this task (possibly - [cookiecutter](https://cookiecutter.readthedocs.io/)) for easier software - template creation, allowing more contributors to reach their goals without - having to learn new tooling. -- **Improved extensibility through inclusion:** Make software templates more - maintainable and extensible by adding `$include` support for parameters. -- **Authenticated job creation:** Created jobs will be able to run with an - authenticated user with all actions tracked for future consumption and - evidence. Track users creating jobs and make “jobs created by me” reporting - available. +### Moving to Incubation in CNCF -### Software Catalog - -The following features are planned for release: - -- **Request For Comments (RFC) for composability improvements (routing):** - Enable plugins to be auto-added and make plugin installation and upgrades - easier for all Backstage users. This includes information card layouts, entity - pages containing content and hooking the external header, considering the - support of a separate deployment, and configuration for plugins. -- **Removing duplicated entities in catalog:** As any adopter knows, a software - catalog can contain thousands or more entities and it is very important to - avoid duplications in naming to prevent failures. With this development task, - two entities with the same name won't be allowed as described - [here](https://github.com/backstage/backstage/issues/4760). -- **Connecting identity to ownership to prepare for role-based access control - ([RBAC](https://en.wikipedia.org/wiki/Role-based_access_control)):** This is a - first step to supporting RBAC for the software catalog (see the - [future work section](#future-work) for further details). Provide each entity - within the software catalog with a recognized owner. -- **Catalog performance improvements through improved caching:** Fix the - performance gaps in the catalog processor, which currently doesn’t have a - strong caching mechanism. The current version often requires fetching a - relevant amount of data, especially at scale. +The progress of the request can be seen +[here](https://github.com/cncf/toc/pull/717). ## Future work -The following feature list doesn’t represent a commitment to develop and the -list order doesn’t reflect any priority or importance. But these features are on +The following feature list doesn’t represent a commitment to develop, and the +list order doesn’t reflect any priority or importance, but these features are on the maintainers’ radar, with clear interest expressed by the community. +- **Backend Services:** To better scale and maintain the Backstage instances, a + backend layer of services is planned to be introduced as part of the software + architecture. This layer of backend services will help in decoupling the + various modules (e.g. Catalog and Scaffolder) from the frontend experience. +- **Security Plan (and Strategy):** The purpose of the Security Strategy is to + move another step along the path to maturing the platform, setting the + expectations of any adopters from a security standpoint. +- **Search GA:**. +- **[GraphQL](https://graphql.org/) support:** Introduce the ability to query + Backstage backend services with a standard query language for APIs. +- **Telemetry:** To efficiently generate logging and metrics in such a way that + adopters can get insights so that Backstage can be monitored and improved. - **Improved UX design:** Provide a better Backstage user experience through visual guidelines and templates, especially navigation across plug-ins and portal functionalities. -- **Catalog composability (routing):** Follow up development after the RFC - planned for the ongoing quarter (see [what’s next](#whats-next) for further - details). -- **Catalog-import improvements:** Provide a faster (scalability) and better - (more features like move/rename) way to import entities into the Software - Catalog. Importing items in the Software Catalog is crucial for creating a - Backstage proof-of-concept or testing/planning for broader organizational - adoption. This enhancement better supports getting developers to use Backstage - with less effort and customization. -- **Catalog improvements:** Add pagination and sourcing to Software Catalog. -- **[GraphQL](https://graphql.org/) support:** Introduce the ability to query - Backstage backend services with a standard query language for APIs. -- **Software templates performance improvements through decoupling a separate - worker:** Improve performance through decoupling resource-consuming services - and making them asynchronous. In the current version, project auto-creation - through the Software Templating system can consume a lot of resources and - bottleneck many concurrent projects created simultaneously. -- **API discovery and documentation:** Add better support for the - [gRPC](https://grpc.io/). -- **TechDocs GA release:** Work toward enhancements necessary to get TechDocs to - general availability. Check out the - [milestone here](https://github.com/backstage/backstage/milestone/30) for - further details. ## Completed milestones @@ -177,3 +142,19 @@ Read more about the completed (and released) features for reference. - Support auth providers: Google, Okta, GitHub, GitLab, [auth0](https://github.com/backstage/backstage/pull/1611), [AWS](https://github.com/backstage/backstage/pull/1990) + +- [Donate Backstage to the CNCF 🎉](https://backstage.io/blog/2020/09/23/backstage-cncf-sandbox) +- [TechDocs v1](https://backstage.io/blog/2020/09/08/announcing-tech-docs) +- [Plugin marketplace](https://backstage.io/plugins) +- [Improved and move documentation to backstage.io](https://backstage.io/docs/overview/what-is-backstage) +- [Backstage Software Catalog (alpha)](https://backstage.io/blog/2020/06/22/backstage-service-catalog-alpha) +- [Backstage Software Templates (beta)](https://backstage.io/blog/2021/07/26/software-templates-are-now-in-beta) +- [Make it possible to add custom auth providers](https://backstage.io/blog/2020/07/01/how-to-enable-authentication-in-backstage-using-passport) +- [TechDocs v0](https://github.com/backstage/backstage/milestone/15) +- CI plugins: CircleCI, Jenkins, GitHub Actions and TravisCI +- [Service API documentation](https://github.com/backstage/backstage/pull/1737) +- Backstage Software Catalog can read from: GitHub, GitLab, + [Bitbucket](https://github.com/backstage/backstage/pull/1938) +- Support auth providers: Google, Okta, GitHub, GitLab, + [auth0](https://github.com/backstage/backstage/pull/1611), + [AWS](https://github.com/backstage/backstage/pull/1990)