blob: 7eb15512e7e03722ff7c0a63dda358f69d52631b [file] [log] [blame]
garciadeblas8d8cd992024-05-21 16:04:14 +02001#!/bin/bash
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14#
15
garciadeblas10944e82024-05-21 16:04:14 +020016pushd $HOME
17
Pedro Escaleira4f41c7f2025-04-08 15:18:29 +010018export DEBIAN_FRONTEND=noninteractive
19
garciadeblas8d8cd992024-05-21 16:04:14 +020020# Install `gnupg` and `gpg` - Typically pre-installed in Ubuntu
Pedro Escaleira4f41c7f2025-04-08 15:18:29 +010021sudo apt-get install gnupg gpg -y
garciadeblas8d8cd992024-05-21 16:04:14 +020022
23# Install `sops`
24curl -LO https://github.com/getsops/sops/releases/download/v3.8.1/sops-v3.8.1.linux.amd64
25sudo mv sops-v3.8.1.linux.amd64 /usr/local/bin/sops
26sudo chmod +x /usr/local/bin/sops
27
28# Install `envsubst`
Pedro Escaleira4f41c7f2025-04-08 15:18:29 +010029sudo apt-get install gettext-base -y
garciadeblas8d8cd992024-05-21 16:04:14 +020030
31# Install `age`
garciadeblas10944e82024-05-21 16:04:14 +020032curl -LO https://github.com/FiloSottile/age/releases/download/v1.1.0/age-v1.1.0-linux-amd64.tar.gz
33tar xvfz age-v1.1.0-linux-amd64.tar.gz
34sudo mv age/age age/age-keygen /usr/local/bin/
35sudo chmod +x /usr/local/bin/age*
36rm -rf age age-v1.1.0-linux-amd64.tar.gz
garciadeblas8d8cd992024-05-21 16:04:14 +020037
38# (Only for Gitea) Install `apg`
Pedro Escaleira4f41c7f2025-04-08 15:18:29 +010039sudo apt-get install apg -y
garciadeblas8d8cd992024-05-21 16:04:14 +020040
41# # (Only for Minio) `kubectl minio` plugin and Minio Client
garciadeblas10944e82024-05-21 16:04:14 +020042if [ -n "${INSTALL_MINIO}" ]; then
43 curl https://github.com/minio/operator/releases/download/v5.0.12/kubectl-minio_5.0.12_linux_amd64 -Lo kubectl-minio
44 curl https://dl.min.io/client/mc/release/linux-amd64/mc -o minioc
45 chmod +x kubectl-minio minioc
46 sudo mv kubectl-minio minioc /usr/local/bin/
47 # (Only for HTTPS Ingress for Minio tenant) Install `openssl`
Pedro Escaleira4f41c7f2025-04-08 15:18:29 +010048 sudo apt-get install openssl -y
garciadeblas10944e82024-05-21 16:04:14 +020049fi
garciadeblas8d8cd992024-05-21 16:04:14 +020050
51# Flux client
garciadeblas6c7fa272025-02-21 13:47:23 +010052FLUX_CLI_VERSION="2.4.0"
53curl -s https://fluxcd.io/install.sh | sudo FLUX_VERSION=${FLUX_CLI_VERSION} bash
garciadeblas8d8cd992024-05-21 16:04:14 +020054# Autocompletion
55. <(flux completion bash)
garciadeblas10944e82024-05-21 16:04:14 +020056
garciadeblas171ad292024-09-30 22:52:54 +020057# Argo client
58ARGO_VERSION="v3.5.7"
59curl -sLO https://github.com/argoproj/argo-workflows/releases/download/${ARGO_VERSION}/argo-linux-amd64.gz
60gunzip argo-linux-amd64.gz
61chmod +x argo-linux-amd64
62sudo mv ./argo-linux-amd64 /usr/local/bin/argo
63
garciadeblas10944e82024-05-21 16:04:14 +020064# Kustomize
65KUSTOMIZE_VERSION="5.4.3"
66curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash -s -- ${KUSTOMIZE_VERSION}
67sudo install -o root -g root -m 0755 kustomize /usr/local/bin/kustomize
68rm kustomize
69
70# yq
71VERSION=v4.33.3
72BINARY=yq_linux_amd64
73curl -L https://github.com/mikefarah/yq/releases/download/${VERSION}/${BINARY} -o yq
74sudo mv yq /usr/local/bin/yq
75sudo chmod +x /usr/local/bin/yq
76
77popd