Skip to content

Commit

Permalink
add simple installation
Browse files Browse the repository at this point in the history
Signed-off-by: craig <[email protected]>

rh-pre-commit.version: 2.2.0
rh-pre-commit.check-secrets: ENABLED
  • Loading branch information
maleck13 committed Dec 9, 2024
1 parent 14d9900 commit 19276ee
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 31 deletions.
34 changes: 28 additions & 6 deletions config/install/README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,38 @@
# Install Kuadrant and Sail via OLM

## Prerequisites
- Clone the[ Kuadrant-operator](https://github.com/Kuadrant/kuadrant-operator) repo
- OLM (operator lifecycle manager)
- cert-manager
- OLM is installed [operator lifecycle manager releases](https://github.com/operator-framework/operator-lifecycle-manager/releases)
- (optional) cert-manager is installed
- [cert-manager Operator for Red Hat OpenShift](https://docs.openshift.com/container-platform/4.16/security/cert_manager_operator/cert-manager-operator-install.html)
- [installing cert-manager via OperatorHub](https://cert-manager.io/docs/installation/operator-lifecycle-manager/)
- AWS, Azure or GCP with DNS capabilities. (Optional)
- Accessible Redis instance, for persistent storage for your rate limit counters. (Optional)
- (Optional) Access to AWS, Azure or GCP with DNS capabilities.
- (Optional) Accessible Redis instance, for persistent storage for your rate limit counters.


## Installation

To simply install Kuadrant at a given released version (post v1.x) with no credentials configured (This is the most basic setup and means TLSPolicy and DNSPolicy will not be able to be used).

Create the following `kustomization.yaml` locally

```
```


```bash


```


## Set up DNS credentials and a certificate issuer

In order for cert-manager and the Kuadrant DNS operator to be able to access and manage DNS records and setup TLS certificates, you need to setup a credential for these components. To do this, we will use a kubernetes secret. You can find example overlays for these under the [configure directory](https://github.com/Kuadrant/kuadrant-operator/tree/main/config/install/configure).

Each cloud provider has an example cluster-issuer and `credentials.env.sample` in the correct format alongside a kustomize overlay to trigger the installation and configuration. To use this locally we recommend copying the contentes of the cloud provider directory into your own directory, setting up the needed `.env` file locally and defining a cluster issuer (feel free to use the issuer provider as this is for lets-encrypt).


> Note: By default the following guide will install the "latest" or "main" version of Kuadrant. To pick a specific version, change the image in the `config/install/standard/kuadrant-version.yaml`. All versions available can be found on the Kuadrant operator [release page](https://github.com/Kuadrant/kuadrant-operator/releases)

> Note: for multiple clusters, it would make sense to do the installation via a tool like [argocd](https://argo-cd.readthedocs.io/en/stable/). For other methods of addressing multiple clusters take a look at the [kubectl docs](https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/)
Expand Down
5 changes: 3 additions & 2 deletions config/install/configure/aws/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ kind: Kustomization
## NOTE YOU NEED TO CREATE A aws-provider-credentials.env file first!

resources:
- ../standard
- https://github.com/Kuadrant/kuadrant-operator//config/install/standard
# - https://github.com/Kuadrant/kuadrant-operator//config/install/openshift # use this one if installing on OCP
- cluster-issuer.yaml

generatorOptions:
Expand All @@ -17,7 +18,7 @@ secretGenerator:
- name: aws-provider-credentials
namespace: cert-manager
envs:
- aws-credentials.env
- aws-credentials.env # you will need to setup this file locally
type: 'kuadrant.io/aws'
- name: aws-provider-credentials
namespace: gateway-system
Expand Down
9 changes: 0 additions & 9 deletions config/install/configure/kitchen-sink/kustomization.yaml

This file was deleted.

6 changes: 0 additions & 6 deletions config/install/standard/kuadrant-version.yaml

This file was deleted.

21 changes: 13 additions & 8 deletions config/install/standard/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,20 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

# note by default this will install the version of kuadrant you checkout from v1 onwards
# if you want to install a different version you can use the patch option below
# if you want to install a different released version you can use the patch options below.
# If you want to install the latest development tag, remove the subscription patch
resources:
- https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.1.0/standard-install.yaml
- sail-operator.yaml
- ../../deploy/olm
# patches:
# - target:
# group: operators.coreos.com
# version: v1alpha1
# kind: CatalogSource
# name: kuadrant-operator-catalog
# path: kuadrant-version.yaml
patches: # remove the subscription patch if you are installing a development version. It will then use the "preview" channel
- patch: |-
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: kuadrant
spec:
source: kuadrant-operator-catalog
sourceNamespace: kuadrant-system
name: kuadrant-operator
channel: 'stable'

0 comments on commit 19276ee

Please sign in to comment.