Skip to content

Commit 7447caa

Browse files
authored
Merge pull request #172 from projectsyn/roadmap-update
Update Project Syn Roadmap for 2023 and beyond
2 parents 31c54cd + 6e5de16 commit 7447caa

File tree

7 files changed

+56
-114
lines changed

7 files changed

+56
-114
lines changed

.github/workflows/test.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ jobs:
1010
strategy:
1111
matrix:
1212
command:
13-
- lint_yaml
14-
- docs-vale
13+
- check
1514
steps:
1615
- uses: actions/checkout@v2
1716
- name: Run ${{ matrix.command }}
@@ -23,7 +22,7 @@ jobs:
2322
- uses: actions/checkout@v2
2423
- uses: snow-actions/eclint@v1.0.1
2524
with:
26-
args: 'check'
25+
args: "check"
2726

2827
docs:
2928
runs-on: ubuntu-latest

CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
* @projectsyn/tarazed
1+
* @projectsyn/project-syn-ig

Makefile

Lines changed: 17 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,24 @@
1-
MAKEFLAGS += --warn-undefined-variables
2-
SHELL := bash
3-
.SHELLFLAGS := -eu -o pipefail -c
4-
.DEFAULT_GOAL := all
5-
.DELETE_ON_ERROR:
6-
.SUFFIXES:
1+
pages := $(shell find . -type f -name '*.adoc')
2+
out_dir := ./_public
73

8-
ANTORA_PREVIEW_CMD ?= $(DOCKER_CMD) run --rm --publish 35729:35729 --publish 2020:2020 --volume "${PWD}":/preview/antora vshn/antora-preview:3.0.1.1 --style=syn --antora=docs
4+
docker_cmd ?= docker
5+
docker_opts ?= --rm --tty --user "$$(id -u)"
96

10-
DOCKER_CMD ?= docker
11-
DOCKER_ARGS ?= run --rm --user "$$(id -u)" --volume "$${PWD}:/src" --workdir /src
12-
13-
YAML_FILES ?= $(shell find . -type f -name '*.yaml' -or -name '*.yml')
14-
YAMLLINT_ARGS ?= --no-warnings
15-
YAMLLINT_CONFIG ?= .yamllint.yml
16-
YAMLLINT_IMAGE ?= docker.io/cytopia/yamllint:latest
17-
YAMLLINT_DOCKER ?= $(DOCKER_CMD) $(DOCKER_ARGS) $(YAMLLINT_IMAGE)
18-
19-
VALE_CMD ?= $(DOCKER_CMD) $(DOCKER_ARGS) --volume "$${PWD}"/docs/modules:/pages vshn/vale:2.1.1
20-
VALE_ARGS ?= --minAlertLevel=error --config=/pages/ROOT/pages/.vale.ini /pages
7+
vale_cmd ?= $(docker_cmd) run $(docker_opts) --volume "$${PWD}"/docs/modules/ROOT/pages:/pages --workdir /pages docker.io/vshn/vale:2.10.5.1 --minAlertLevel=error /pages
8+
preview_cmd ?= $(docker_cmd) run --rm --publish 35729:35729 --publish 2020:2020 --volume "${PWD}":/preview/antora docker.io/vshn/antora-preview:3.1.1.1 --antora=docs --style=syn
219

2210
.PHONY: all
23-
all: lint docs open
24-
25-
.PHONY: lint
26-
lint: lint_yaml docs-vale
11+
all: html
2712

28-
.PHONY: lint_yaml
29-
lint_yaml: $(YAML_FILES)
30-
$(YAMLLINT_DOCKER) -f parsable -c $(YAMLLINT_CONFIG) $(YAMLLINT_ARGS) -- $?
13+
# This will clean the Antora Artifacts, not the npm artifacts
14+
.PHONY: clean
15+
clean:
16+
rm -rf $(out_dir) '?' .cache
3117

32-
.PHONY: docs-serve
33-
docs-serve:
34-
$(ANTORA_PREVIEW_CMD)
18+
.PHONY: check
19+
check:
20+
$(vale_cmd)
3521

36-
.PHONY: docs-vale
37-
docs-vale:
38-
$(VALE_CMD) $(VALE_ARGS)
22+
.PHONY: preview
23+
preview:
24+
$(preview_cmd)

README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
# Project Syn Documentation
22

3-
This is the umbrella documentation for project syn.
4-
It is written using [Asciidoc][asciidoc] and [Antora][antora] and located in the [docs/](docs) folder.
3+
This is the umbrella documentation for Project Syn.
4+
5+
It is written using [AsciiDoc][asciidoc] and [Antora][antora]. The source is located in the [docs/](docs) folder.
56
The [Divio documentation structure](https://documentation.divio.com/) is used to organize its content.
67

7-
Run the `make docs-serve` command in the root of the project, and then browse to http://localhost:2020 to see a preview of the documentation.
8+
Run the `make preview` command in the root of the project, and then browse to http://localhost:2020 to see a preview of the documentation.
89

9-
After writing the documentation, please use the `make docs-vale` command and correct any warnings raised by the tool.
10+
After writing the documentation, please use the `make check` command and correct any warnings raised by the tool.
1011

1112
## Contributing and license
1213

docs/modules/ROOT/pages/.vale.ini

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ MinAlertLevel = warning # suggestion, warning or error
33

44
# Only check Asciidoc files
55
[*.adoc]
6-
7-
# Using the Microsoft style
86
BasedOnStyles = Microsoft
9-
Microsoft.GenderBias = warning
7+
Microsoft.GenderBias = suggestion
8+
Openly.GenderBias = suggestion

docs/modules/ROOT/pages/about/roadmap.adoc

Lines changed: 28 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -4,84 +4,41 @@ This page lists the high level roadmap of Project Syn. It will be under constant
44

55
> It's done when it's done
66

7-
== v0.1.0
7+
NOTE: We release the tools independently, this page contains a list of ideas throughout all Project Syn tools.
88

9-
*Released*: 2020–03–02
9+
== Planned
1010

11-
This is the very first release of Project Syn and contains the following tool releases:
11+
Features which we're confident are being implemented:
1212

13-
* https://github.com/projectsyn/lieutenant-operator/releases/tag/v0.1.0[Lieutenant Operator - v0.1.0]
14-
* https://github.com/projectsyn/lieutenant-api/releases/tag/v0.1.0[Lieutenant API - v0.1.0]
15-
* https://github.com/projectsyn/commodore/releases/v0.1.0[Commodore - v0.1.0]
16-
* https://github.com/projectsyn/steward/releases/tag/v0.1.0[Steward - v0.1.0]
13+
Commodore::
14+
* Make catalog compilation much faster than it's today (Rewrite Reclass in Rust).
15+
* Introduce component dependency handling.
16+
* Rework UX of CLI.
17+
* Support for decentralized GitOps repositories.
18+
* Create merge requests on catalog generation (policy-based, similar to Renovate).
19+
* Local development environment for simpler Commodore Component development.
1720

18-
With this initial release the focus was to get the basics up and running:
21+
Lieutenant::
22+
* Remove Lieutenant API and make it a 100% Kubernetes API.
23+
* Component version reporting, so that it's known which Component versions are used where.
1924

20-
* Registering Tenants and Clusters in Lieutenant
21-
* Bootstrap GitOps repositories
22-
* Bootstrap Steward and GitOps on the Cluster
23-
* Generate Cluster Catalogs with Commodore
25+
== Vision
2426

25-
Announcement blog post: https://vshn.ch/en/blog/first-pre-release-of-project-syn-tools/[First Pre-Release of Project Syn Tools].
27+
Features which are part of our vision and therefore have uncertainty of being implemented:
2628

27-
== v0.2.0
28-
29-
*Released*: 2020–07–23
30-
31-
This is the second release of Project Syn and contains the following tool releases:
32-
33-
* https://github.com/projectsyn/lieutenant-operator/releases/tag/v0.2.0[Lieutenant Operator - v0.2.0]
34-
* https://github.com/projectsyn/lieutenant-api/releases/tag/v0.2.0[Lieutenant API - v0.2.0]
35-
* https://github.com/projectsyn/commodore/releases/v0.2.0[Commodore - v0.2.0]
36-
* https://github.com/projectsyn/steward/releases/tag/v0.2.0[Steward - v0.2.0]
37-
* https://github.com/orgs/projectsyn/projects/1[GitHub Project]
38-
39-
Focus for this release:
40-
41-
* Enable people to work with Commodore Components (CC), "Dev Experience."
42-
** Helper tools to write Commodore Components (https://cookiecutter.readthedocs.io[Cookiecutter] template)
43-
* Decommissioning of clusters and other components fully automated
44-
** Git repository deletion mechanism - including safe-guards
45-
* Get the bootstrap process fully automated
46-
** Automate creation of cluster config file in tenant configuration repository
47-
** Initialize empty catalog Git repository
48-
* Bring the documentation of Project Syn up to speed
49-
** Rework existing Syn Design Documents
50-
** How-Tos for basic workflows
51-
52-
Announcement blog post: https://vshn.ch/blog/second-beta-release-of-project-syn-tools/[Second Beta Release of Project Syn Tools].
53-
54-
== v1.0.0
55-
56-
The following topics will be part of the first one-point-zero release:
57-
58-
* Enhancements for Commodore Component developers
59-
** Component testing framework and automation
60-
** Component documentation automation and integration into syn.tools
61-
* Enhanced Commodore configuration hierarchy (dynamic hierarchy)
62-
* Automated Component maintenance with Renovate (Support for GitHub)
63-
* Automated secret generation in Vault on cluster creation
64-
* Implementation of https://syn.tools/syn/SDDs/0023-managed-services-controller.html[SDD 0023 - Managed Services Controller]
65-
* GitOps for application deployment on a Project Syn enabled Kubernetes Cluster
66-
* Commodore automated catalog generation
67-
** Implementation of https://syn.tools/syn/SDDs/0021-cluster-catalog-compilation.html[SDD 0021 - Cluster Catalog Compilation]
68-
69-
New tools appearing in this release:
70-
71-
* _Quartermaster_: Catalog compilation decision engine
72-
* _Carpenter_: Conditional object generator
73-
74-
https://github.com/orgs/projectsyn/projects/2[GitHub Project]
29+
* Project Syn Control Plane as a Service (So you don't have to care of running Lieutenant, Vault and other stuff needed).
30+
* Renewed "Getting Started" experience to make it much easier to start with Project Syn.
31+
* Decentralized catalog compilation, for example directly on the destination cluster.
32+
* Make Commodore Components usable standalone, without requiring Lieutenant and Steward.
33+
* Automated secret generation in Vault on cluster creation.
34+
* Support for other Git repository hosting than GitLab (for example GitHub, Gitea, Forgejo)
35+
* Git commit signing of Commodore catalogs and only allow properly signed catalogs on clusters
7536

76-
== Upcoming
37+
== Older Releases
7738

78-
NOTE: This is still subject to change
39+
See the GitHub Releases for each tool:
7940

80-
* Enhance Commodore to be used for regular application deployment
81-
* Full https://crossplane.io/[Crossplane] integration
82-
* Enable Commodore to create merge requests on catalog generation (policy-based, similar to Renovate)
83-
* Integration of Open Policy Agent into Lieutenant Operator
84-
* Git commit signing of Commodore catalogs and only allow properly signed catalogs on clusters
85-
* Automated cluster provisioning object generator, supporting OpenShift Hive and Crossplane
86-
* Cluster inventory enhancements (reports via Lieutenant inventory)
87-
* Pull / Merge Request dashboard showing open maintenance requests
41+
* https://github.com/projectsyn/commodore/releases[Commodore^]
42+
* https://github.com/projectsyn/lieutenant-operator/releases[Lieutenant Operator^]
43+
* https://github.com/projectsyn/lieutenant-api/releases[Lieutenant API^]
44+
* https://github.com/projectsyn/steward/releases[Steward^]

docs/modules/ROOT/pages/references/style-guide.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,7 @@ animal.newAnimal("Finnegan",
390390
==== File structure
391391

392392
* Jsonnet files which are intended to be materialized should end with the `.jsonnet` suffix.
393-
* Jsonnet files which aren't intended to be materialized -- usually libraries -- should end with the `.libjsonnet` suffix.
393+
* Jsonnet files which aren't intended to be materialized (usually libraries) should end with the `.libjsonnet` suffix.
394394
* Files in `lib` always are libraries which should never be materialized and must be named accordingly.
395395
Those files are considered part of a public API.
396396
Treat functions in libraries accordingly and look out for breaking changes.

0 commit comments

Comments
 (0)