Skip to content

Enterprise-Neurosystem/cluster-bootstrap

Repository files navigation

Cluster Bootstrap

Spelling Linting

This project is designed to bootstrap an OpenShift cluster using ArgoCD.

This repo is subject to frequent breaking changes while we all learn patterns to use as a team.

Prerequisites

OpenShift 4.10+ with cluster-admin.

This has been tested with the Red Hat Demo Platform using the following selection:

  • Red Hat OpenShift Container Platform 4 Demo
  • OpenShift Version: 4.10 (or greater)

Client

In order to bootstrap this repository you must have the following cli tools:

Bootstrapping a Cluster

  1. Verify you are logged into your cluster using oc.
  2. Clone this repository to your local environment.
oc whoami
git clone <repo>

Quick Start

Execute the following script:

scripts/bootstrap.sh
# setup workshop (optional)
. scripts/workshop_functions.sh

The bootstrap.sh script will:

  • Install the OpenShift GitOps Operator
  • Create an ArgoCD instance in the openshift-gitops namespace
  • Bootstrap a set of ArgoCD applications to configure the cluster

You can run also run individual functions.sh in a bash shell:

source scripts/functions.sh

# ex: save some money by doing more with less
ocp_save_money

Sealed Secrets Bootstrap

bootstrap.sh will attempt to deploy sealed-secrets and requires a sealed secret master key to manage existing deployments.

If managing an already bootstrapped cluster, the sealed-secrets key must be obtained from the initial bootstrap (ask the person who initially setup the cluster).

The sealed secret(s) for bootstrap should be located at:

bootstrap/base/sealed-secrets-secret.yaml

If this is the first time bootstrapping a cluster, bootstrap.sh will deploy a new sealed-secrets controller and obtain a new secret if it does not exist.

Additional Configurations

Sandbox Namespace

The sandbox namespace is useable by all authenticated users. All objects in the sandbox are cleaned out weekly.

Additional Info

External Links