blob: 155335c6e388627f35baa383ee10de98df3faf46 [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
garciadeblasb7b3c302025-02-21 13:47:23 +010050FLUX_CLI_VERSION="2.4.0"
51curl -s https://fluxcd.io/install.sh | sudo FLUX_VERSION=${FLUX_CLI_VERSION} bash
garciadeblas8d8cd992024-05-21 16:04:14 +020052# Autocompletion
53. <(flux completion bash)
garciadeblas10944e82024-05-21 16:04:14 +020054
garciadeblas81689a52024-09-30 22:52:54 +020055# Argo client
56ARGO_VERSION="v3.5.7"
57curl -sLO https://github.com/argoproj/argo-workflows/releases/download/${ARGO_VERSION}/argo-linux-amd64.gz
58gunzip argo-linux-amd64.gz
59chmod +x argo-linux-amd64
60sudo mv ./argo-linux-amd64 /usr/local/bin/argo
61
garciadeblas10944e82024-05-21 16:04:14 +020062# Kustomize
63KUSTOMIZE_VERSION="5.4.3"
64curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash -s -- ${KUSTOMIZE_VERSION}
65sudo install -o root -g root -m 0755 kustomize /usr/local/bin/kustomize
66rm kustomize
67
68# yq
69VERSION=v4.33.3
70BINARY=yq_linux_amd64
71curl -L https://github.com/mikefarah/yq/releases/download/${VERSION}/${BINARY} -o yq
72sudo mv yq /usr/local/bin/yq
73sudo chmod +x /usr/local/bin/yq
74
75popd