| #!/bin/bash |
| ################################################################################ |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| ################################################################################ |
| |
| # Install RedHat Prereqs: |
| if [ -f /etc/redhat-release ] |
| then |
| yum install make podman git tree jq unzip -y |
| ln -s /usr/bin/podman /usr/bin/docker |
| fi |
| |
| # Install kubectl |
| wget -qO /usr/local/bin/kubectl "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" |
| chmod a+x /usr/local/bin/kubectl |
| |
| |
| # Install helm |
| cd /root |
| wget https://get.helm.sh/helm-v3.10.1-linux-amd64.tar.gz |
| tar -zxvf helm-v3*-linux-amd64.tar.gz |
| mv linux-amd64/helm /usr/local/bin/helm |
| chmod 600 /root/auth/kubeconfig |
| |
| # Install the latest version of operator-sdk: |
| export ARCH=$(case $(uname -m) in x86_64) echo -n amd64 ;; aarch64) echo -n arm64 ;; *) echo -n $(uname -m) ;; esac) |
| export OS=$(uname | awk '{print tolower($0)}') |
| cd /root |
| export OPERATOR_SDK_DL_URL=https://github.com/operator-framework/operator-sdk/releases/download/v1.25.0 |
| curl -LO ${OPERATOR_SDK_DL_URL}/operator-sdk_${OS}_${ARCH} |
| gpg --keyserver keyserver.ubuntu.com --recv-keys 052996E2A20B5C7E |
| curl -LO ${OPERATOR_SDK_DL_URL}/checksums.txt |
| curl -LO ${OPERATOR_SDK_DL_URL}/checksums.txt.asc |
| gpg -u "Operator SDK (release) <cncf-operator-sdk@cncf.io>" --verify checksums.txt.asc |
| grep operator-sdk_${OS}_${ARCH} checksums.txt | sha256sum -c - |
| chmod +x operator-sdk_${OS}_${ARCH} && sudo mv operator-sdk_${OS}_${ARCH} /usr/local/bin/operator-sdk |
| operator-sdk version |
| |
| # Install OPM |
| curl -o opm-checksums.txt -LO https://github.com/operator-framework/operator-registry/releases/download/v1.26.2/checksums.txt |
| wget https://github.com/operator-framework/operator-registry/releases/download/v1.26.2/linux-amd64-opm |
| grep linux-amd64-opm opm-checksums.txt | sha256sum -c - |
| chmod +x linux-amd64-opm && sudo mv linux-amd64-opm /usr/local/bin/opm |
| opm version |
| |
| # Install YQ |
| cd /root |
| export VERSION=v4.29.2 |
| export BINARY=yq_linux_amd64 |
| wget https://github.com/mikefarah/yq/releases/download/${VERSION}/${BINARY}.tar.gz -O - |\ |
| tar xz && mv ${BINARY} /usr/bin/yq |
| yq --version |
| |
| # Install Docker |
| cd /root |
| #curl -fsSL https://get.docker.com -o get-docker.sh |
| #chmod +x ./get-docker.sh |
| #./get-docker.sh |
| apt-get install -y \ |
| ca-certificates \ |
| curl \ |
| gnupg \ |
| lsb-release |
| mkdir -p /etc/apt/keyrings |
| curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg |
| echo \ |
| "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ |
| $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null |
| apt-get update |
| apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin |
| |
| # Install KIND |
| cd /root |
| curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.17.0/kind-linux-amd64 |
| chmod +x ./kind |
| sudo mv ./kind /usr/local/bin/kind |
| kind delete cluster |
| kind create cluster |
| kubectl cluster-info --context kind-kind |
| operator-sdk olm install |
| kubectl config set-context --current --namespace=default |
| |
| |