Skip to content

Commit 5686577

Browse files
authored
Update config readme (#2065)
Also update config comments to make it clear where features are supposed to be listed. Signed-off-by: Todd Short <tshort@redhat.com>
1 parent 6465e63 commit 5686577

File tree

3 files changed

+50
-48
lines changed

3 files changed

+50
-48
lines changed

config/README.md

Lines changed: 48 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,79 @@
1-
# OPERATOR-CONTROLLER CONFIG
1+
# OPERATOR-CONTROLLER CONFIGURATION
2+
3+
The main kustomize targets are all located in the `config/overlays` directory. These are the directories that should be passed to kustomize:
4+
5+
e.g.
6+
```
7+
kustomize build config/overlays/standard > standard.yaml
8+
```
9+
10+
# Overlays
11+
12+
All other directories are in support of of these overlays.
213

314
## config/overlays/basic-olm
415

5-
This includes basic support for an insecure OLMv1 deployment. This configuration uses:
6-
* config/base/catalogd
7-
* config/base/operator-controller
8-
* config/base/common
16+
This includes basic support for an insecure (non-TLS) OLMv1 deployment.
17+
18+
## config/overlays/standard
19+
20+
This includes support for a secure (i.e. with TLS) configuration of OLMv1. This configuration requires cert-manager.
21+
22+
This configuration is used to generate `manifests/standard.yaml`.
923

10-
## config/overlays/cert-manager
24+
## config/overlays/standard-e2e
1125

12-
This includes support for a secure (i.e. with TLS) configuration of OLMv1. This configuration uses:
13-
* config/base/catalogd
14-
* config/base/operator-controller
15-
* config/base/common
16-
* config/components/tls/catalogd
17-
* config/components/tls/operator-controller
18-
* config/components/tls/ca
26+
This provides additional configuration support for end-to-end testing, including code coverage. This configuration requires cert-manager.
1927

20-
This configuration requires cert-manager.
28+
This configuration is used to generate `manifests/standard-e2e.yaml`.
2129

22-
## config/overlays/e2e
30+
## config/overlays/experimental
2331

24-
This provides additional configuration support for end-to-end testing, including code coverage. This configuration uses:
25-
* config/base/catalogd
26-
* config/base/operator-controller
27-
* config/base/common
28-
* config/components/coverage
29-
* config/components/tls/catalogd
30-
* config/components/tls/operator-controller
31-
* config/components/tls/ca
32+
This provides additional configuration used to support experimental features, including CRDs. This configuration requires cert-manager.
3233

33-
This configuration requires cert-manager.
34+
This configuration is used to generate `manifests/experimental.yaml`.
3435

35-
## Base Configuration
36+
## config/overlays/experimental-e2e
3637

37-
The base configuration specifies a namespace of `olmv1-system`.
38+
This provides experimental configuration and support for end-to-end testing, includng code coverage. This configuration requires cert-manager.
3839

39-
### config/base/catalogd
40+
This configuration is used to generate `manifests/experimental-e2e.yaml`.
4041

41-
This provides the base configuration of catalogd.
42+
## config/overlays/tilt-local-dev
4243

43-
### config/base/operator-controller
44+
This provides configuration for Tilt debugging support.
4445

45-
This provides the base configuration of operator-controller.
46+
# Components
4647

47-
### config/base/common
48+
Components are the kustomize configuration building blocks.
4849

49-
This provides common components to both operator-controller and catalogd, i.e. namespace.
50+
## config/components/base
5051

51-
## Components
52+
This directory provides multiple configurations for organizing the base configuration into standard and experimental configurations.
5253

53-
Each of the `kustomization.yaml` files specify a `Component`, rather than an overlay, and thus, can be used within the overlays.
54+
:bangbang: *The following rules should be followed when configurating a feature:*
5455

55-
### config/components/tls/catalogd
56+
* Feature components that are GA'd and should be part of the standard manifest should be listed in `config/components/base/common/kustomization.yaml`. This `commmon` kustomization file is included by *both* the **standard** and **experimental** configurations.
57+
* Feature components that are still experimental and should be part of the standard manifest should be listed only in `config/components/base/experimental/kustomization.yaml`.
5658

57-
This provides a basic configuration of catalogd with TLS support.
59+
## config/components/features
5860

59-
This component requires cert-manager.
61+
This directory contains contains configuration for features (experimental or otherwise).
6062

61-
### config/components/tls/operator-controller
63+
:bangbang: *Feature configuration should be placed into a subdirectory here.*
6264

63-
This provides a basic configuration of operator-controller with TLS support for catalogd.
65+
## config/components/cert-manager
6466

65-
This component requires cert-manager.
67+
This directory provides configuration for using cert-manager with OLMv1.
6668

67-
### config/components/tls/ca
69+
## config/components/e2e
6870

69-
Provides a CA for operator-controller/catalogd operation.
71+
This directory provides configuration for end-to-end testing of OLMv1.
7072

71-
This component _does not_ specify a namespace, and _must_ be included last.
73+
# Base Configuration
7274

73-
This component requires cert-manager.
75+
The `config/base` directory contains the base kubebuilder-generated configuration, along with CRDs.
7476

75-
### config/components/coverage
77+
# Samples
7678

77-
Provides configuration for code coverage.
79+
The `config/samples` directory contains example ClusterCatalog and ClusterExtension resources.

config/components/base/common/kustomization.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@ resources:
66
- ../../../base/operator-controller
77
- ../../../base/common
88
# components should include any GA'd features (none as of now)
9+
# they should not be listed in the standard config, as they will be excluded from the experimental manifest
910
components:
10-

config/components/base/standard/kustomization.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ resources:
77
# Pull in the component(s) common to standard and experimental
88
components:
99
- ../common
10-
# GA'D FEATURES ARE LISTED HERE
10+
# GA'D FEATURES ARE LISTED IN THE COMMON CONFIG, NOT HERE

0 commit comments

Comments
 (0)