blob: 0b7210e010421420a61a0a719f075a23663bbc9e [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
garciadeblas8d8cd992024-05-21 16:04:14 +020018# Install `gnupg` and `gpg` - Typically pre-installed in Ubuntu
19sudo apt-get install gnupg gpg
20
21# Install `sops`
22curl -LO https://github.com/getsops/sops/releases/download/v3.8.1/sops-v3.8.1.linux.amd64
23sudo mv sops-v3.8.1.linux.amd64 /usr/local/bin/sops
24sudo chmod +x /usr/local/bin/sops
25
26# Install `envsubst`
27sudo apt-get install gettext-base
28
29# Install `age`
garciadeblas10944e82024-05-21 16:04:14 +020030curl -LO https://github.com/FiloSottile/age/releases/download/v1.1.0/age-v1.1.0-linux-amd64.tar.gz
31tar xvfz age-v1.1.0-linux-amd64.tar.gz
32sudo mv age/age age/age-keygen /usr/local/bin/
33sudo chmod +x /usr/local/bin/age*
34rm -rf age age-v1.1.0-linux-amd64.tar.gz
garciadeblas8d8cd992024-05-21 16:04:14 +020035
36# (Only for Gitea) Install `apg`
37sudo apt-get install apg
38
39# # (Only for Minio) `kubectl minio` plugin and Minio Client
garciadeblas10944e82024-05-21 16:04:14 +020040if [ -n "${INSTALL_MINIO}" ]; then
41 curl https://github.com/minio/operator/releases/download/v5.0.12/kubectl-minio_5.0.12_linux_amd64 -Lo kubectl-minio
42 curl https://dl.min.io/client/mc/release/linux-amd64/mc -o minioc
43 chmod +x kubectl-minio minioc
44 sudo mv kubectl-minio minioc /usr/local/bin/
45 # (Only for HTTPS Ingress for Minio tenant) Install `openssl`
46 sudo apt-get install openssl
47fi
garciadeblas8d8cd992024-05-21 16:04:14 +020048
49# Flux client
50curl -s https://fluxcd.io/install.sh | sudo bash
51# Autocompletion
52. <(flux completion bash)
garciadeblas10944e82024-05-21 16:04:14 +020053
garciadeblas81689a52024-09-30 22:52:54 +020054# Argo client
55ARGO_VERSION="v3.5.7"
56curl -sLO https://github.com/argoproj/argo-workflows/releases/download/${ARGO_VERSION}/argo-linux-amd64.gz
57gunzip argo-linux-amd64.gz
58chmod +x argo-linux-amd64
59sudo mv ./argo-linux-amd64 /usr/local/bin/argo
60
garciadeblas10944e82024-05-21 16:04:14 +020061# Kustomize
62KUSTOMIZE_VERSION="5.4.3"
63curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash -s -- ${KUSTOMIZE_VERSION}
64sudo install -o root -g root -m 0755 kustomize /usr/local/bin/kustomize
65rm kustomize
66
67# yq
68VERSION=v4.33.3
69BINARY=yq_linux_amd64
70curl -L https://github.com/mikefarah/yq/releases/download/${VERSION}/${BINARY} -o yq
71sudo mv yq /usr/local/bin/yq
72sudo chmod +x /usr/local/bin/yq
73
74popd