Skip to content

Commit dd2074b

Browse files
authored
Fix formatting in docs (#1466)
Mostly fixes lists that render fine in GitHub, but not on the mkdocs website. Also replaces several text notes with visual note blocks like we do in other places across our docs. Signed-off-by: Mikalai Radchuk <[email protected]>
1 parent 32316d3 commit dd2074b

File tree

4 files changed

+28
-24
lines changed

4 files changed

+28
-24
lines changed

docs/howto/derive-service-account.md

+11-9
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ The service account must have permissions to:
2121
- create and manage the extension controller's deployment
2222

2323
Additionally, for clusters that use the [OwnerReferencesPermissionEnforcement](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement) admission plug-in, the service account must also have permissions to:
24+
2425
- update finalizers on the ClusterExtension to be able to set blockOwnerDeletion and ownerReferences
2526

2627
It is good security practice to follow the [principle of least privilege](https://en.wikipedia.org/wiki/Principle_of_least_privilege), and scope permissions to specific resource names, wherever possible.
@@ -36,17 +37,17 @@ The final permission set can be found in the [ClusterExtension sample manifest](
3637
The bundle includes the following manifests, which can be found [here](https://github.com/argoproj-labs/argocd-operator/tree/da6b8a7e68f71920de9545152714b9066990fc4b/deploy/olm-catalog/argocd-operator/0.6.0):
3738

3839
* `ClusterServiceVersion`:
39-
- [argocd-operator.v0.6.0.clusterserviceversion.yaml](https://github.com/argoproj-labs/argocd-operator/blob/da6b8a7e68f71920de9545152714b9066990fc4b/deploy/olm-catalog/argocd-operator/0.6.0/argocd-operator.v0.6.0.clusterserviceversion.yaml)
40+
- [argocd-operator.v0.6.0.clusterserviceversion.yaml](https://github.com/argoproj-labs/argocd-operator/blob/da6b8a7e68f71920de9545152714b9066990fc4b/deploy/olm-catalog/argocd-operator/0.6.0/argocd-operator.v0.6.0.clusterserviceversion.yaml)
4041
* `CustomResourceDefinition`s:
41-
- [argoproj.io_applicationsets.yaml](https://github.com/argoproj-labs/argocd-operator/blob/da6b8a7e68f71920de9545152714b9066990fc4b/deploy/olm-catalog/argocd-operator/0.6.0/argoproj.io_applicationsets.yaml)
42-
- [argoproj.io_applications.yaml](https://github.com/argoproj-labs/argocd-operator/blob/da6b8a7e68f71920de9545152714b9066990fc4b/deploy/olm-catalog/argocd-operator/0.6.0/argoproj.io_applications.yaml)
43-
- [argoproj.io_appprojects.yaml](https://github.com/argoproj-labs/argocd-operator/blob/da6b8a7e68f71920de9545152714b9066990fc4b/deploy/olm-catalog/argocd-operator/0.6.0/argoproj.io_appprojects.yaml)
44-
- [argoproj.io_argocdexports.yaml](https://github.com/argoproj-labs/argocd-operator/blob/da6b8a7e68f71920de9545152714b9066990fc4b/deploy/olm-catalog/argocd-operator/0.6.0/argoproj.io_argocdexports.yaml)
45-
- [argoproj.io_argocds.yaml](https://github.com/argoproj-labs/argocd-operator/blob/da6b8a7e68f71920de9545152714b9066990fc4b/deploy/olm-catalog/argocd-operator/0.6.0/argoproj.io_argocds.yaml)
42+
- [argoproj.io_applicationsets.yaml](https://github.com/argoproj-labs/argocd-operator/blob/da6b8a7e68f71920de9545152714b9066990fc4b/deploy/olm-catalog/argocd-operator/0.6.0/argoproj.io_applicationsets.yaml)
43+
- [argoproj.io_applications.yaml](https://github.com/argoproj-labs/argocd-operator/blob/da6b8a7e68f71920de9545152714b9066990fc4b/deploy/olm-catalog/argocd-operator/0.6.0/argoproj.io_applications.yaml)
44+
- [argoproj.io_appprojects.yaml](https://github.com/argoproj-labs/argocd-operator/blob/da6b8a7e68f71920de9545152714b9066990fc4b/deploy/olm-catalog/argocd-operator/0.6.0/argoproj.io_appprojects.yaml)
45+
- [argoproj.io_argocdexports.yaml](https://github.com/argoproj-labs/argocd-operator/blob/da6b8a7e68f71920de9545152714b9066990fc4b/deploy/olm-catalog/argocd-operator/0.6.0/argoproj.io_argocdexports.yaml)
46+
- [argoproj.io_argocds.yaml](https://github.com/argoproj-labs/argocd-operator/blob/da6b8a7e68f71920de9545152714b9066990fc4b/deploy/olm-catalog/argocd-operator/0.6.0/argoproj.io_argocds.yaml)
4647
* Additional resources:
47-
- [argocd-operator-controller-manager-metrics-service_v1_service.yaml](https://github.com/argoproj-labs/argocd-operator/blob/da6b8a7e68f71920de9545152714b9066990fc4b/deploy/olm-catalog/argocd-operator/0.6.0/argocd-operator-controller-manager-metrics-service_v1_service.yaml)
48-
- [argocd-operator-manager-config_v1_configmap.yaml](https://github.com/argoproj-labs/argocd-operator/blob/da6b8a7e68f71920de9545152714b9066990fc4b/deploy/olm-catalog/argocd-operator/0.6.0/argocd-operator-manager-config_v1_configmap.yaml)
49-
- [argocd-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml](https://github.com/argoproj-labs/argocd-operator/blob/da6b8a7e68f71920de9545152714b9066990fc4b/deploy/olm-catalog/argocd-operator/0.6.0/argocd-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml)
48+
- [argocd-operator-controller-manager-metrics-service_v1_service.yaml](https://github.com/argoproj-labs/argocd-operator/blob/da6b8a7e68f71920de9545152714b9066990fc4b/deploy/olm-catalog/argocd-operator/0.6.0/argocd-operator-controller-manager-metrics-service_v1_service.yaml)
49+
- [argocd-operator-manager-config_v1_configmap.yaml](https://github.com/argoproj-labs/argocd-operator/blob/da6b8a7e68f71920de9545152714b9066990fc4b/deploy/olm-catalog/argocd-operator/0.6.0/argocd-operator-manager-config_v1_configmap.yaml)
50+
- [argocd-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml](https://github.com/argoproj-labs/argocd-operator/blob/da6b8a7e68f71920de9545152714b9066990fc4b/deploy/olm-catalog/argocd-operator/0.6.0/argocd-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml)
5051

5152
The `ClusterServiceVersion` defines a single `Deployment` in `spec.install.deployments` named `argocd-operator-controller-manager` with a `ServiceAccount` of the same name.
5253
It declares the following cluster-scoped permissions in `spec.install.clusterPermissions`, and its namespace-scoped permissions in `spec.install.permissions`.
@@ -269,6 +270,7 @@ This example's `ClusterServiceVersion` can be found [here](https://github.com/ar
269270

270271
The installer service account must also create and manage other namespace-scoped resources included in the bundle.
271272
In this example, the bundle also includes two additional namespace-scoped resources:
273+
272274
* the [argocd-operator-controller-manager-metrics-service](https://github.com/argoproj-labs/argocd-operator/blob/da6b8a7e68f71920de9545152714b9066990fc4b/deploy/olm-catalog/argocd-operator/0.6.0/argocd-operator-controller-manager-metrics-service_v1_service.yaml) `Service`, and
273275
* the [argocd-operator-manager-config](https://github.com/argoproj-labs/argocd-operator/blob/da6b8a7e68f71920de9545152714b9066990fc4b/deploy/olm-catalog/argocd-operator/0.6.0/argocd-operator-manager-config_v1_configmap.yaml) `ConfigMap`
274276

docs/howto/how-to-grant-api-access.md

+5-3
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ rules:
7676
- create
7777
- update
7878
- patch
79-
- delete
79+
- delete
8080
```
8181
8282
### Example: Defining a Custom "Admin" ClusterRole
@@ -94,8 +94,10 @@ rules:
9494
verbs:
9595
- '*'
9696
```
97-
**Note**: The `'*'` in verbs allows all actions on the specified resources
98-
In each case, replace `<your-api-group>` and `<your-custom-resources>` with the actual API group and resource names provided by the installed cluster extension.
97+
98+
!!! note
99+
The `'*'` in verbs allows all actions on the specified resources.
100+
In each case, replace `<your-api-group>` and `<your-custom-resources>` with the actual API group and resource names provided by the installed cluster extension.
99101

100102
---
101103

docs/project/olmv1_architecture.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ flowchart TB
5353
A -- pushed to --> B
5454
```
5555

56-
**Note**: The direction of the arrows represents the flow of communication. If an arrow starts from A and points to B, it indicates that A retrieves or consumes information from B, unless otherwise specified.
56+
!!! note
57+
The direction of the arrows represents the flow of communication. If an arrow starts from A and points to B, it indicates that A retrieves or consumes information from B, unless otherwise specified.
5758

5859
---
5960

@@ -91,10 +92,9 @@ catalogd has three main sub-components:
9192
1. **ClusterCatalog Controller**:
9293
- Pulls FBC-based catalog images from the registry and unpacks them into the catalog content cache.
9394
- Reconciles any changes in the catalog and ensures the latest content is reflected in the cluster.
94-
95+
9596
2. **CatalogD HTTP Server**:
9697
- Serves catalog information to clients, such as the Cluster Extension Controller.
9798

9899
3. **CatalogD Content Cache**:
99100
- A cache maintained by the Catalog Controller that stores unpacked catalog data, which the CatalogD HTTP Server uses to respond to client queries.
100-

docs/project/olmv1_design_decisions.md

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Multi-Tenancy Challenges, Lessons Learned, and Design Shifts
22

3-
This provides historical context on the design explorations and challenges that led to substantial design shifts between
4-
OLM v1 and its predecessor. It explains the technical reasons why OLM v1 cannot support major v0 features, such as,
5-
multi-tenancy, and namespace-specific controller configurations. Finally, it highlights OLM v1’s shift toward
3+
This provides historical context on the design explorations and challenges that led to substantial design shifts between
4+
OLM v1 and its predecessor. It explains the technical reasons why OLM v1 cannot support major v0 features, such as,
5+
multi-tenancy, and namespace-specific controller configurations. Finally, it highlights OLM v1’s shift toward
66
more secure, predictable, and simple operations while moving away from some of the complex, error-prone features of OLM v0.
77

88
## What won't OLM v1 do that OLM v0 did?
@@ -91,7 +91,7 @@ There is a set of operators that both (a) provide fully namespace-scoped workloa
9191

9292
Some projects have been successful delivering and supporting their operator on Kubernetes, but outside of OLM, for example with helm-packaged operators. On this path, individual layered project teams have more flexibility in solving lifecycling problems for their users because they are unencumbered by OLM’s opinions. However the tradeoff is that those project teams and their users take on responsibility and accountability for safe upgrades, automation, and multi-tenant architectures. With OLM v1 no longer attempting to support multi-tenancy in a first-class way, these tradeoffs change and project teams may decide that a different approach is necessary.
9393

94-
This path does not necessarily mean a scattering of content in various places. It would still be possible to provide customers with a marketplace of content (e.g. see https://artifacthub.io/).
94+
This path does not necessarily mean a scattering of content in various places. It would still be possible to provide customers with a marketplace of content (e.g. see [artifacthub.io](https://artifacthub.io/)).
9595

9696
### Authors of "simple" operators ship their workload without an operator
9797

@@ -168,6 +168,7 @@ In cases where OLMv0 decides that joint ownership of CRDs will not impact differ
168168
In OLM v1, we will not design the core APIs and controllers around this promise. Instead, we will build an API where ownership of installed objects is not shared. Managed objects are owned by exactly one extension.
169169

170170
This pattern is generic, aligns with the Kubernetes API, and makes multi-tenancy a possibility, but not a guarantee or core concept. We will explore the implications of this design on existing OLMv0 registry+v1 bundles as part of the larger v0 to v1 migration design. For net new content, operator authors that intend multiple installations of operator on the same cluster would need to package their components to account for this ownership rule. Generally, this would entail separation along these lines:
171+
171172
- CRDs, conversion webhook workloads, and admission webhook configurations and workloads, APIServices and workloads.
172173
- Controller workloads, service accounts, RBAC, etc.
173174

@@ -212,11 +213,11 @@ OLM v1 will take a slightly different approach:
212213

213214
- It will not require bundles to have very specific controller-centric shapes. OLM v1 will happily install a bundle that contains a deployment, service, and ingress or a bundle that contains a single configmap.
214215
- However for bundles that do include CRDs, controllers, RBAC, webhooks, and other objects that relate to the behavior of the apiserver, OLM will continue to have opinions and special handling:
215-
- CRD upgrade checks (best effort)
216-
- Specific knowledge and handling of webhooks.
216+
- CRD upgrade checks (best effort)
217+
- Specific knowledge and handling of webhooks.
217218
- To the extent necessary OLM v1 will include optional controller-centric concepts in its APIs and or CLIs in order to facilitate the most common controller patterns. Examples could include:
218-
- Permission management
219-
- CRD upgrade check policies
219+
- Permission management
220+
- CRD upgrade check policies
220221
- OLM v1 will continue to have opinions about upgrade traversals and CRD changes that help users prevent accidental breakage, but it will also allow administrators to disable safeguards and proceed anyway.
221222

222223
OLMv0 has some support for automatic upgrades. However, administrators cannot control the maximum version for automatic upgrades, and the upgrade policy (manual vs automatic) applies to all operators in a namespace. If any operator’s upgrade policy is manual, all upgrades of all operators in the namespace must be approved manually.
@@ -260,4 +261,3 @@ Areas where the official CLI could provide value include:
260261
- Upgrade previews
261262
- RBAC management
262263
- Discovery of available APIs
263-

0 commit comments

Comments
 (0)