|
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. |
2 | 13 |
|
3 | 14 | ## config/overlays/basic-olm |
4 | 15 |
|
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`. |
9 | 23 |
|
10 | | -## config/overlays/cert-manager |
| 24 | +## config/overlays/standard-e2e |
11 | 25 |
|
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. |
19 | 27 |
|
20 | | -This configuration requires cert-manager. |
| 28 | +This configuration is used to generate `manifests/standard-e2e.yaml`. |
21 | 29 |
|
22 | | -## config/overlays/e2e |
| 30 | +## config/overlays/experimental |
23 | 31 |
|
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. |
32 | 33 |
|
33 | | -This configuration requires cert-manager. |
| 34 | +This configuration is used to generate `manifests/experimental.yaml`. |
34 | 35 |
|
35 | | -## Base Configuration |
| 36 | +## config/overlays/experimental-e2e |
36 | 37 |
|
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. |
38 | 39 |
|
39 | | -### config/base/catalogd |
| 40 | +This configuration is used to generate `manifests/experimental-e2e.yaml`. |
40 | 41 |
|
41 | | -This provides the base configuration of catalogd. |
| 42 | +## config/overlays/tilt-local-dev |
42 | 43 |
|
43 | | -### config/base/operator-controller |
| 44 | +This provides configuration for Tilt debugging support. |
44 | 45 |
|
45 | | -This provides the base configuration of operator-controller. |
| 46 | +# Components |
46 | 47 |
|
47 | | -### config/base/common |
| 48 | +Components are the kustomize configuration building blocks. |
48 | 49 |
|
49 | | -This provides common components to both operator-controller and catalogd, i.e. namespace. |
| 50 | +## config/components/base |
50 | 51 |
|
51 | | -## Components |
| 52 | +This directory provides multiple configurations for organizing the base configuration into standard and experimental configurations. |
52 | 53 |
|
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:* |
54 | 55 |
|
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`. |
56 | 58 |
|
57 | | -This provides a basic configuration of catalogd with TLS support. |
| 59 | +## config/components/features |
58 | 60 |
|
59 | | -This component requires cert-manager. |
| 61 | +This directory contains contains configuration for features (experimental or otherwise). |
60 | 62 |
|
61 | | -### config/components/tls/operator-controller |
| 63 | +:bangbang: *Feature configuration should be placed into a subdirectory here.* |
62 | 64 |
|
63 | | -This provides a basic configuration of operator-controller with TLS support for catalogd. |
| 65 | +## config/components/cert-manager |
64 | 66 |
|
65 | | -This component requires cert-manager. |
| 67 | +This directory provides configuration for using cert-manager with OLMv1. |
66 | 68 |
|
67 | | -### config/components/tls/ca |
| 69 | +## config/components/e2e |
68 | 70 |
|
69 | | -Provides a CA for operator-controller/catalogd operation. |
| 71 | +This directory provides configuration for end-to-end testing of OLMv1. |
70 | 72 |
|
71 | | -This component _does not_ specify a namespace, and _must_ be included last. |
| 73 | +# Base Configuration |
72 | 74 |
|
73 | | -This component requires cert-manager. |
| 75 | +The `config/base` directory contains the base kubebuilder-generated configuration, along with CRDs. |
74 | 76 |
|
75 | | -### config/components/coverage |
| 77 | +# Samples |
76 | 78 |
|
77 | | -Provides configuration for code coverage. |
| 79 | +The `config/samples` directory contains example ClusterCatalog and ClusterExtension resources. |
0 commit comments