Skip to main content

ShamanOps Installation✨

OpenShift Container Platform


1. Pre-requisites

1.1. Have the following tool installed:

  • docker

1.2. Have the following variables:

  • shamanops_customer_id: provided by ShamanOps after registration
  • shamanops_customer_token: provided by ShamanOps after registration
  • shamanops_manifest_repository: This value is provided by the customer and refers to the URL of manifest repository in GIT platform (ex https://github.com/shamanops/example-repo.git).
  • shamanops_manifest_repository_user: This value is provided by the customer and refers to the username to access the manifest repository in GIT platform.
  • shamanops_manifest_repository_token: This value is provided by the customer and refers to the PAT to access the manifest repository in GIT platform.
  • shamanops_registry_url: This value is provided by the customer and refers to the container registry base URL (ex ghcr.io).
  • shamanops_registry_user: This value is provided by the customer and refers to the username to access the container registry.
  • shamanops_registry_password: This value is provided by the customer and refers to the token to access the container registry.

1.3. Be logged in the ShamanOps public registry

echo < shamanops_customer_token > | docker login registry.shamanops.com -u <shamanops_customer_id> --password-stdin
info

Please remember to replace the shamanops_customer_token and shamanops_customer_id with the values that the ShamanOps Team has provide you

1.4 Be logged in the OpenShift cluster with the OC CLI (OC CLI Documentation)

2. Installation

The installation will be guided by the installer who will explain each step.
You must select the environment for which the cluster will be used (you can choose a combination and use it for more than one enviroment).
👉 In case of an error, the installer will stop and inform the resason.

NOTICE

This installation guide assumes that you are deploying the base-stack in a cluster that has at least:

  • 950m of cpu
  • 3096Mi of memory

2.1. Normal


2.1.1. Execute the container image provided by ShamanOps

docker run --pull=always --rm -it registry.shamanops.com/installers/ocp:stable

2.1.2. Login to your Openshift cluster with the OC CLI (OC CLI Documentation)

2.1.3. Execute the following command

shamanops_bs_ocp_install
tip

You can find a log file in /tmp directory

2.2. Debug


2.2.1. Execute the container image provided by ShamanOps

docker run --pull=always --rm -it registry.shamanops.com/installers/ocp:stable

2.2.2. Login to your Openshift cluster with the OC CLI (OC CLI Documentation)

2.2.3. Execute the following command

shamanops_bs_ocp_install DEBUG
tip

You can find a log file in /tmp directory

3. Once installed

Once ShamanOps is succesfully installed you'll get an output that contains some values that you need to configure your CI platform.
It will look like this:

🧙 We have reached the end of the journey, all that remains is to enjoy ShamanOps!✨
URL of ArgoCD: argocd.apps.customer.com
User of ArgoCD: admin
Token of ArgoCD: dc0ca777e7a83a8f0df26

URL of Grafana: grafana.apps.customer.com
User of Grafana: admin
Token of Grafana: 4e9e9815a8328324d54e96

4. Additionals

Actions Runners Controllers (ARC)

If you use Cloud runners in GitHub you should know that while approvals are pending, the pipelines will remain active and generate expenses.
In order to reduce billing, we provide the possibility to run approval jobs in your own Kubernetes-based infraestructure using Actions Runner Controller (ARC) that scale self-hosted runners for GitHub Actions.
These are the steps to install an additional tool in the ShamanOps stack that will allow you to use them:

1. Generate a fine-grained token with read and write permissions for the Self-hosted runners scope. Remember to set your organization as the resource owner

2. Execute the container image provided by ShamanOps

docker run --pull=always --rm -it registry.shamanops.com/installers/ocp:stable

3. Execute the following command.

info

The installer will ask you for the fine-grained token that you've created in step 1

shamanops_bs_k8s_runner

Configuration Set

info

With this tool you will be able to:

  • Update the secret you use for your docker registry
  • Update the secret you use for your manifest repository
  • Update the ShamanOps credentials
  • Update the certificate you use for ArgoCD or Grafana

To use any of the functionalities use the following steps:

1. Execute the container image provided by ShamanOps

docker run --pull=always --rm -it registry.shamanops.com/installers/ocp:stable

3. Execute the following command.

info

The script will ask you for the registry token and the manifest repository

shamanops_bs_update_credentials