Skip to content

Commit 0ffea04

Browse files
author
Per Goncalves da Silva
committed
First stab at doc hierarchy
Signed-off-by: Per Goncalves da Silva <[email protected]>
1 parent 15401fb commit 0ffea04

40 files changed

+315
-186
lines changed

CONTRIBUTING.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,16 @@ Operator Controller is an Apache 2.0 licensed project and accepts contributions
77
By contributing to this project you agree to the Developer Certificate of
88
Origin (DCO). This document was created by the Linux Kernel community and is a
99
simple statement that you, as a contributor, have the legal right to make the
10-
contribution. See the [DCO](DCO) file for details.
10+
contribution. See the [DCO](https://github.com/operator-framework/operator-controller/blob/main/DCO) file for details.
1111

1212
## Overview
1313

1414
Thank you for your interest in contributing to the Operator-Controller.
1515

16-
As you may or may not know, the Operator-Controller project aims to deliver the user experience described in the [Operator Lifecycle Manager (OLM) V1 Product Requirements Document (PRD)](https://docs.google.com/document/d/1-vsZ2dAODNfoHb7Nf0fbYeKDF7DUqEzS9HqgeMCvbDs/edit). The design requirements captured in the OLM V1 PRD were born from customer and community feedback based on the experience they had with the released version of [OLM V0](github.com/operator-framework/operator-lifecycle-manager).
16+
As you may or may not know, the Operator-Controller project aims to deliver the user experience described in the [Operator Lifecycle Manager (OLM) V1 Product Requirements Document (PRD)](https://docs.google.com/document/d/1-vsZ2dAODNfoHb7Nf0fbYeKDF7DUqEzS9HqgeMCvbDs/edit). The design requirements captured in the OLM V1 PRD were born from customer and community feedback based on the experience they had with the released version of [OLM V0](https://github.com/operator-framework/operator-lifecycle-manager).
1717

1818
The user experience captured in the OLM V1 PRD introduces many requirements that are best satisfied by a microservices architecture. The OLM V1 experience currently relies on two projects:
19+
1920
- [The Operator-Controller project](https://github.com/operator-framework/operator-controller/), which is the top level component allowing users to specify operators they'd like to install.
2021
- [The Catalogd project](https://github.com/operator-framework/catalogd/), which hosts operator content and helps users discover installable content.
2122

@@ -45,14 +46,15 @@ Please keep this workflow in mind as you read through the document.
4546
## How are Milestones Designed?
4647

4748
It's unreasonable to attempt to consider all of the design requirements laid out in the [OLM V1 PRD](https://docs.google.com/document/d/1-vsZ2dAODNfoHb7Nf0fbYeKDF7DUqEzS9HqgeMCvbDs/edit) from the onset of the project. Instead, the community attempts to design Milestones with the following principles:
49+
4850
- Milestones are tightly scoped units of work, ideally lasting one to three weeks.
4951
- Milestones are derived from the OLM V1 PRD.
5052
- Milestones are "demo driven", meaning that a set of acceptance criteria is defined upfront and the milestone is done as soon as some member of the community can run the demo.
5153
- Edge cases found during development are captured in issues and assigned to the GA Milestone, which contains a list of issues that block the release of operator-controller v1.0.0 .
5254

5355
This "demo driven" development model will allow us to collect user experience and regularly course correct based on user feedback. Subsequent milestone may revert features or change the user experience based on community feedback.
5456

55-
The project maintainer will create a [GitHub Discussion](github.com/operator-framework/operator-controller/discussions) for the upcoming milestone once we've finalized the current milestone. Please feel encouraged to contribute suggestions for the milestone in the discussion.
57+
The project maintainer will create a [GitHub Discussion](https://github.com/operator-framework/operator-controller/discussions) for the upcoming milestone once we've finalized the current milestone. Please feel encouraged to contribute suggestions for the milestone in the discussion.
5658

5759
## Where are Operator Controller Milestones?
5860

@@ -67,6 +69,7 @@ As discussed earlier, the operator-controller adheres to a microservice architec
6769
## Submitting Issues
6870

6971
Unsure where to submit an issue?
72+
7073
- [The Operator-Controller project](https://github.com/operator-framework/operator-controller/), which is the top level component allowing users to specify operators they'd like to install.
7174
- [The Catalogd project](https://github.com/operator-framework/catalogd/), which hosts operator content and helps users discover installable content.
7275

@@ -87,7 +90,7 @@ approach of changes.
8790
When contributing changes that require a new dependency, check whether it's feasible to directly vendor that
8891
code [without introducing a new dependency](https://go-proverbs.github.io/).
8992

90-
Currently, PRs require at least one approval from a operator-controller maintainer in order to get merged.
93+
Currently, PRs require at least one approval from an operator-controller maintainer in order to get merged.
9194

9295
### Code style
9396

Makefile

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -312,17 +312,18 @@ quickstart: $(KUSTOMIZE) manifests #EXHELP Generate the installation release man
312312
OPERATOR_CONTROLLER_API_REFERENCE_FILENAME := operator-controller-api-reference.md
313313
CATALOGD_API_REFERENCE_FILENAME := catalogd-api-reference.md
314314
CATALOGD_TMP_DIR := $(ROOT_DIR)/.catalogd-tmp/
315+
API_REFERENCE_DIR := $(ROOT_DIR)/docs/api-reference
315316
crd-ref-docs: $(CRD_REF_DOCS) #EXHELP Generate the API Reference Documents.
316-
rm -f $(ROOT_DIR)/docs/refs/api/$(OPERATOR_CONTROLLER_API_REFERENCE_FILENAME)
317+
rm -f $(API_REFERENCE_DIR)/$(OPERATOR_CONTROLLER_API_REFERENCE_FILENAME)
317318
$(CRD_REF_DOCS) --source-path=$(ROOT_DIR)/api \
318-
--config=$(ROOT_DIR)/docs/refs/api/crd-ref-docs-gen-config.yaml \
319-
--renderer=markdown --output-path=$(ROOT_DIR)/docs/refs/api/$(OPERATOR_CONTROLLER_API_REFERENCE_FILENAME);
319+
--config=$(API_REFERENCE_DIR)/crd-ref-docs-gen-config.yaml \
320+
--renderer=markdown --output-path=$(API_REFERENCE_DIR)/$(OPERATOR_CONTROLLER_API_REFERENCE_FILENAME);
320321
rm -rf $(CATALOGD_TMP_DIR)
321322
git clone --depth 1 --branch $(CATALOGD_VERSION) https://github.com/operator-framework/catalogd $(CATALOGD_TMP_DIR)
322-
rm -f $(ROOT_DIR)/docs/refs/api/$(CATALOGD_API_REFERENCE_FILENAME)
323+
rm -f $(API_REFERENCE_DIR)/$(CATALOGD_API_REFERENCE_FILENAME)
323324
$(CRD_REF_DOCS) --source-path=$(CATALOGD_TMP_DIR)/api \
324-
--config=$(ROOT_DIR)/docs/refs/api/crd-ref-docs-gen-config.yaml \
325-
--renderer=markdown --output-path=$(ROOT_DIR)/docs/refs/api/$(CATALOGD_API_REFERENCE_FILENAME)
325+
--config=$(API_REFERENCE_DIR)/crd-ref-docs-gen-config.yaml \
326+
--renderer=markdown --output-path=$(API_REFERENCE_DIR)/$(CATALOGD_API_REFERENCE_FILENAME)
326327
rm -rf $(CATALOGD_TMP_DIR)/
327328

328329
VENVDIR := $(abspath docs/.venv)

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ OLM v1 consists of two different components:
1616
* operator-controller (this repository)
1717
* [catalogd](https://github.com/operator-framework/catalogd)
1818

19-
For a more complete overview of OLM v1 and how it differs from OLM v0, see our [overview](docs/general/olmv1_design_decisions.md).
19+
For a more complete overview of OLM v1 and how it differs from OLM v0, see our [overview](docs/project/olmv1_design_decisions.md).
2020

2121
## Getting Started
2222

23-
To get started with OLM v1, please see our [Getting Started](docs/general/olmv1_getting_started.md) documentation.
23+
To get started with OLM v1, please see our [Getting Started](docs/getting-started/olmv1_getting_started.md) documentation.
2424

2525
## License
2626

docs/assets/logo.svg

Lines changed: 98 additions & 0 deletions
Loading

docs/refs/controlling-catalog-selection.md renamed to docs/concepts/controlling-catalog-selection.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ spec:
2727
catalog:
2828
selector:
2929
matchLabels:
30-
olm.operatorframework.io/metadata.name: my-catalog
30+
olm.operatorframework.io/metadata.name: my-content-management
3131
```
3232
3333
In this example, only the catalog named `my-catalog` will be considered when resolving `my-package`.
@@ -93,7 +93,7 @@ spec:
9393
- key: olm.operatorframework.io/metadata.name
9494
operator: NotIn
9595
values:
96-
- unwanted-catalog
96+
- unwanted-content-management
9797
```
9898

9999
This excludes the catalog named `unwanted-catalog` from consideration.
@@ -134,7 +134,7 @@ spec:
134134
source:
135135
type: image
136136
image:
137-
ref: quay.io/example/high-priority-catalog:latest
137+
ref: quay.io/example/high-priority-content-management:latest
138138
```
139139

140140
Catalogs have a default priority of `0`. The priority can be any 32-bit integer. Catalogs with higher priority values are preferred during bundle resolution.
@@ -171,7 +171,7 @@ If the system cannot resolve to a single bundle due to ambiguity, it will genera
171171
source:
172172
type: image
173173
image:
174-
ref: quay.io/example/catalog-a:latest
174+
ref: quay.io/example/content-management-a:latest
175175
```
176176

177177
```yaml
@@ -186,7 +186,7 @@ If the system cannot resolve to a single bundle due to ambiguity, it will genera
186186
source:
187187
type: image
188188
image:
189-
ref: quay.io/example/catalog-b:latest
189+
ref: quay.io/example/content-management-b:latest
190190
```
191191
NB: an `olm.operatorframework.io/metadata.name` label will be added automatically to ClusterCatalogs when applied
192192

@@ -209,8 +209,8 @@ If the system cannot resolve to a single bundle due to ambiguity, it will genera
209209
3. **Apply the Resources**
210210

211211
```shell
212-
kubectl apply -f catalog-a.yaml
213-
kubectl apply -f catalog-b.yaml
212+
kubectl apply -f content-management-a.yaml
213+
kubectl apply -f content-management-b.yaml
214214
kubectl apply -f install-my-operator.yaml
215215
```
216216

File renamed without changes.

docs/refs/single-owner-objects.md renamed to docs/concepts/single-owner-objects.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
# OLM Ownership Enforcement for `ClusterExtensions`
32

43
In OLM, **a Kubernetes resource can only be owned by a single `ClusterExtension` at a time**. This ensures that resources within a Kubernetes cluster are managed consistently and prevents conflicts between multiple `ClusterExtensions` attempting to control the same resource.
@@ -15,6 +14,7 @@ Operator bundles provide `CustomResourceDefinitions` (CRDs), which are part of a
1514

1615

1716
### 2. `ClusterExtensions` Cannot Share Objects
17+
1818
OLM's single-owner policy means that **`ClusterExtensions` cannot share ownership of any resources**. If one `ClusterExtension` manages a specific resource (e.g., a `Deployment`, `CustomResourceDefinition`, or `Service`), another `ClusterExtension` cannot claim ownership of the same resource. Any attempt to do so will be blocked by the system.
1919

2020
## Error Messages

docs/tasks/upgrade/upgrade-support.md renamed to docs/concepts/upgrade-support.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
---
2+
hide:
3+
- toc
4+
---
5+
16
# Upgrade support
27

38
This document explains how OLM v1 handles upgrades.

docs/refs/version-ranges.md renamed to docs/concepts/version-ranges.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ This document explains how to specify a version range to install or update an ex
44

55
You define a version range in a ClusterExtension's custom resource (CR) file.
66

7-
## Specifying a version range in the CR
7+
### Specifying a version range in the CR
88

99
If you specify a version range in the ClusterExtension's CR, OLM 1.0 installs or updates the latest version of the extension that can be resolved within the version range.
1010
The resolved version is the latest version of the extension that satisfies the dependencies and constraints of the extension and the environment.

docs/contribute/contributing.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../CONTRIBUTING.md

docs/general/developer.md renamed to docs/contribute/developer.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,4 +177,4 @@ done
177177

178178
## Contributing
179179

180-
Refer to [CONTRIBUTING.md](./CONTRIBUTING.md) for more information.
180+
Refer to [CONTRIBUTING.md](contributing.md) for more information.

docs/css/extra.css

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
/* Hide banner title */
2+
.md-header__title {
3+
visibility: hidden;
4+
}
5+
6+
/* Make top-level navigation items bold */
7+
.md-nav__item--active > .md-nav__link, /* Active top-level items */
8+
.md-nav__item--nested > .md-nav__link { /* Nested top-level items */
9+
font-weight: bold;
10+
}

docs/drafts/create-installer-service-account.md

Lines changed: 0 additions & 3 deletions
This file was deleted.

docs/drafts/olmv1-limitations.md

Lines changed: 0 additions & 3 deletions
This file was deleted.

docs/drafts/support-watchNamespaces.md

Lines changed: 0 additions & 24 deletions
This file was deleted.

0 commit comments

Comments
 (0)