Flux install of compute cluster
[icn.git] / env / metal3 / 01_install_package.sh
index 36beb04..8b8c36f 100755 (executable)
@@ -1,5 +1,5 @@
 #!/usr/bin/env bash
-set -ex
+set -eux -o pipefail
 
 LIBDIR="$(dirname "$PWD")"
 
@@ -11,103 +11,62 @@ if [[ $EUID -ne 0 ]]; then
     exit 1
 fi
 
-function install_essential_packages() {
+function install_essential_packages {
+    export DEBIAN_FRONTEND=noninteractive
     apt-get update
     apt-get -y install \
-               crudini \
-               curl \
-               dnsmasq \
-               figlet \
-               golang \
-               nmap \
-               patch \
-               psmisc \
-               python-pip \
-               python-requests \
-               python-setuptools \
-               vim \
-               wget
-}
-
-function install_ironic_packages() {
-    apt-get update
-    apt-get -y install \
-               jq \
-               nodejs \
-               python-ironicclient \
-               python-ironic-inspector-client \
-               python-lxml \
-               python-netaddr \
-               python-openstackclient \
-               unzip \
-               genisoimage
+    ca-certificates \
+    crudini \
+    curl \
+    dnsmasq \
+    figlet \
+    ipcalc \
+    nmap \
+    patch \
+    psmisc \
+    python3-pip \
+    python3-requests \
+    python3-setuptools \
+    vim \
+    wget \
+    git \
+    software-properties-common
 
-       if [ "$1" == "offline" ]; then
-               pip install --no-index
-                       --find-links=file:$PIP_CACHE_DIR locat yq
-               return
-       fi
+    update-alternatives --install /usr/bin/python python /usr/bin/python3 1
+    update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1
 
-    pip install \
-               lolcat \
-               yq
+    add-apt-repository -y ppa:longsleep/golang-backports
+    apt-get update
+    apt-get install golang-go -y
 }
 
-function install_docker_packages() {
-    apt-get remove docker \
-               docker-engine \
-               docker.io \
-               containerd \
-               runc
+function install_ironic_packages {
     apt-get update
     apt-get -y install \
-               apt-transport-https \
-               ca-certificates \
-               curl \
-               gnupg-agent \
-               software-properties-common
-       if [ "$1" != "offline" ]; then
-               curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
-               add-apt-repository \
-                       "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
-                       $(lsb_release -cs) \
-                       stable"
-               apt-get update
-       fi
-    apt-get -y install docker-ce=18.06.0~ce~3-0~ubuntu
-}
-
-function install_podman_packages() {
-       if [ "$1" != "offline" ]; then
-       add-apt-repository -y ppa:projectatomic/ppa
-               apt-get update
-       fi
-    apt-get -y install podman
-}
+    jq \
+    nodejs \
+    python3-ironicclient \
+    python3-ironic-inspector-client \
+    python3-lxml \
+    python3-netaddr \
+    python3-openstackclient \
+    unzip \
+    genisoimage \
+    whois
 
-function install_kubernetes_packages() {
-       if [ "$1" != "offline" ]; then
-               curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
-               bash -c 'cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
-deb https://apt.kubernetes.io/ kubernetes-xenial main
-EOF'
-               apt-get update
-       fi
-       apt-get install -y kubelet=1.15.0-00 kubeadm=1.15.0-00 kubectl=1.15.0-00
-       apt-mark hold kubelet kubeadm kubectl
+    pip install \
+    lolcat \
+    yq
 }
 
 install() {
-       install_essential_packages
-       install_ironic_packages $1
-       install_docker_packages $1
-       install_podman_packages $1
-       install_kubernetes_packages $1
+    install_essential_packages
+    install_ironic_packages
+    install_kustomize
+    install_clusterctl
+    install_flux_cli
+    install_sops
+    install_emcoctl
 }
 
-if ["$1" == "-o"]; then
-       install offline
-       exit 0
-fi
-
 install