Skip to content

Commit

Permalink
Outline deployment requirements (#42)
Browse files Browse the repository at this point in the history
* deployment requirements added to README.

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* development requirements added.

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* ENVTEST K8S version updated.

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* matrix doc on container orchestration systems support added

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* add documentation on updating the Operator SDK and tie it to the requirements of Kubernetes

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

* list of required actions for updating the Operator SDK added to CLUSTER_SUPPORT.md

Signed-off-by: Michael Valdron <mvaldron@redhat.com>

---------

Signed-off-by: Michael Valdron <mvaldron@redhat.com>
  • Loading branch information
michael-valdron committed May 26, 2023
1 parent ac7373a commit dea070a
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 1 deletion.
31 changes: 31 additions & 0 deletions CLUSTER_SUPPORT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Supported Container Orchestration Systems

The devfile registry operator supports container orchestration
systems based on which Operator SDK version the registry operator
is using as well as the API overlap between OpenShift and
Kubernetes.

| | OpenShift 4.12.x |
|:-----------------:|:----------------:|
| Kubernetes 1.25.x | X |
| Kubernetes 1.26.x | X |

## Operator SDK

Current version in use by the Registry Operator is [Operator SDK v1.28.0](https://sdk.operatorframework.io/docs/upgrading-sdk-version/v1.28.0/).

To update the Operator SDK, refer to [Upgrade SDK Version](https://sdk.operatorframework.io/docs/upgrading-sdk-version/)
and change the following
1. Update the following Kubernetes API dependencies under
`go.mod` to the version supported by the chosen Operator SDK
version
- `k8s.io/api`
- `k8s.io/apimachinery`
- `k8s.io/client-go`
2. Update `ENVTEST_K8S_VERSION` under `Makefile` to the
Kubernetes version supported by the chosen Operator SDK version
3. Make any changes necessary to the source based on the updates
to Kubernetes API dependencies
4. Update the Operator SDK CLI to the version chosen
5. Run `make bundle` to update fields to include the changes
for updating Operator SDK and Kubernetes APIs
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ BUNDLE_METADATA_OPTS ?= $(BUNDLE_CHANNELS) $(BUNDLE_DEFAULT_CHANNEL)
# Image URL to use all building/pushing image targets
IMG ?= quay.io/devfile/registry-operator:next
# ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary.
ENVTEST_K8S_VERSION = 1.22
ENVTEST_K8S_VERSION = 1.26


# Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set)
Expand Down
21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,27 @@ The Devfile Registry operator manages the lifecycle of the following custom reso

Issue tracking repo: https://github.com/devfile/api with label area/registry

## Requirements

Deployment cluster must meet one of the following criteria:

- OpenShift Container Platform (OCP) 4.12.x
- Kubernetes 1.25.x-1.26.x

More on the support of container orchestration systems can be
found [here](CLUSTER_SUPPORT.md).

Deployments made by the devfile registry operator must *never* target the default namespace due to incompatibility with
security setups.

### Development

- Go 1.19.x
- Docker / Podman
- Operator SDK 1.28.x

See [Upgrade SDK Version](https://sdk.operatorframework.io/docs/upgrading-sdk-version/) for a guide on updating the Operator SDK. Ensure the Operator SDK version and the version of Kubernetes APIs match each other when updating by checking [CLUSTER_SUPPORT.md](CLUSTER_SUPPORT.md).

## Running the controller in a cluster

Install cert-manager to provision self-signed certificates for the validating webhooks which are used specifically for the `ClusterDevfileRegistriesList` and `DevfileRegistriesList` CRs. Cert manager needs to be installed in order for the controller manager to start.
Expand Down

0 comments on commit dea070a

Please sign in to comment.