Skip to main content

ShamanOps Installation✨

Kubernetes


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).
note

If you are going to use a Google Artifact Registry please check de Important Points section

  • 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

2. Installation

note

The Kubernetes installation works with the most common cloud distributions like GKE, EKS and AKS

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 -v /var/run/docker.sock:/var/run/docker.sock \
registry.shamanops.com/installers/aks:stable

2.1.2. Login to your Kubernetes cluster with Cloud CLI or kubectl CLI

2.1.3. Execute the following command

shamanops_bs_k8s_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 -v /var/run/docker.sock:/var/run/docker.sock \
registry.shamanops.com/installers/aks:stable

2.2.2. Login to your Kubernetes cluster with Cloud CLI or kubectl CLI

2.2.3. Execute the following command

shamanops_bs_k8s_install DEBUG
tip

You can find a log file in /tmp directory

3. Once installed

Once ShamanOps is succesfully installed y ou will receive an email in which you will be able to download a file with all the information generated by the installation.


🔔 You will need to upload the generated information to your CI platform, if you use GitHub or GitLab you can choose to load it manually or with assistance.

4. Important Points

Google Artifact Registry

If your decision is to use a Google Artifact Registry these are the steps you should follow:

1. Create a Docker type Registry. You can find out how here

2. Configure a Service Account authentication for Docker. You can find out how here

Please consider that in the Toolkit installation the data should be entered in the following way:

  • shamanops_registry_url:   REGION-docker.pkg.dev/PROJECT-ID/REPOSITORY-NAME
    (ex: us-central1-docker.pkg.dev/elegant-matrix-444319-h9/poc-registry)
  • shamanops_registry_user:   _json_key_base64
  • shamanops_registry_password:   BASE64-ENCODED-KEY
info

The shamanops_registry_password, that should be a base64 encoded key must be in one line only
In bash you can use the following command: cat encoded-key.json | base64 | tr -d '\n' > encoded-key-oneline.json

3. You are ready to use your registry!