Skip to main contentCloud-Native Toolkit

Install App Connect on an existing cluster using GitOps

This is a work in progress, come back for updates.

Steps to install App Connect in an existing cluster using ArgoCD.

Installation

  1. Fork the multi-tenancy-gitops repository and clone your fork.

    git clone git@github.com:{gitid}/multi-tenancy-gitops.git
  2. Install the Red Hat OpenShift GitOps operator.

    cd multi-tenancy-gitops
    oc apply -f 2-services/operators/openshift-gitops/
  3. Update your repository to reference your forked repository. Search and replace cloud-native-toolkit GithUb Org references with your {gitid}.

  4. Create the bootstrap ArgoCD application.

    oc apply -f bootstrap.yaml -n openshift-gitops
  5. Generate an encrypted Secret containing the IBM Entitlement Key using Sealed Secret Operator.

  6. Install kubeseal CLI.

  7. Encrypt IBM Entitlement Key Secret.

    NAMESPACE=tools
    IBM_ENTITLEMENT_KEY=<Entitlement Key>
    # Create Secret YAML containing Entitlement Key
    oc create secret docker-registry ibm-entitlement-key \
    --docker-username=cp \
    --docker-server=cp.icr.io \
    --docker-password=${IBM_ENTITLEMENT_KEY} \
    --namespace=${NAMESPACE} \
  8. Apply the yaml manually or add to your gitops git repo to be deploy via ArgoCD.

    oc apply -f enc-ibm-entitled-key-secret.yaml
  9. Verify the infrastructure and cluster wide resources under the 3-infra folder are created successfully.

    3-infra/
    ├── argocd-apps
    │   ├── consolelink.yaml
    │   ├── consolenotification.yaml
    │   ├── namespace-ci.yaml
    │   ├── namespace-dev.yaml
    │   ├── namespace-istio-system.yaml
    │   ├── namespace-openldap.yaml
    │   ├── namespace-qa.yaml
    ArgoCD deployments of 3-infra
  10. Verify the operators and instances of custom resource definitions under the 2-services folder are created successfully.

    2-services/
    ├── active
    │   ├── instances
    │   │   └── argocd
    │   └── operators
    │   └── argocd
    └── inactive
    ├── instances
    │   ├── argocd
    ArgoCD deployments of 2-services