-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathinstall-ubuntu.sh
121 lines (83 loc) · 5.61 KB
/
install-ubuntu.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#!/bin/bash
set -e
proManagerBranch=${1:-"main"}
echo "Passed branch is '$proManagerBranch'"
echo "creating user bl-pro-manger"
sudo adduser --gecos 'user for backendless pro-manager' --disabled-password --quiet bl-pro-manager
sudo passwd -d bl-pro-manager
sudo adduser bl-pro-manager sudo
sudo adduser bl-pro-manager adm
sudo adduser bl-pro-manager systemd-journal
export proManagerBranch=$proManagerBranch
su bl-pro-manager
work_dir="/home/bl-pro-manager"
exec 1> >(tee -a "/home/bl-pro-manager/pro-manager-install.log")
echo "Backendless Pro Manager installation started at `date`"
cd $work_dir
echo "in working folder $work_dir"
nvm_dir="$work_dir/.nvm"
export NVM_DIR="$work_dir/.nvm"
echo "installing nvm to $nvm_dir ..."
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
echo "nvm installed"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
nvm install v14.18.2
nvm use v14.18.2
echo "installing k3s..."
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="server --disable traefik" sh -
echo "k3s installed"
mkdir ~/.kube
echo "export KUBECONFIG=~/.kube/config" >> ~/.bashrc
export KUBECONFIG=~/.kube/config
sudo k3s kubectl config view --raw > ~/.kube/config
echo "saved k3s config to work dir"
echo "cloning $proManagerBranch"
git clone -b "$proManagerBranch" https://github.com/Backendless/pro-manager.git
cd pro-manager
git config --global --add safe.directory /home/bl-pro-manager/pro-manager
npm i
echo "systemd: Creating service file pro-manager"
sudo tee /etc/systemd/system/pro-manager.service > /dev/null << EOF
[Unit]
Description=Backendless Pro Manager
Documentation=https://github.com/Backendless/pro-manager#readme
[Install]
WantedBy=multi-user.target
[Service]
Environment="KUBECONFIG=/home/bl-pro-manager/.kube/config"
Environment="HOME=/home/bl-pro-manager"
WorkingDirectory=/home/bl-pro-manager/pro-manager
ExecStart=/bin/bash -c "PATH=$PATH:/home/bl-pro-manager/.nvm/versions/node/v14.18.2/bin exec /home/bl-pro-manager/.nvm/versions/node/v14.18.2/bin/node ./src"
Restart=always
EOF
sudo systemctl daemon-reload
echo "system daemon reloaded. Starting pro manager"
sudo systemctl enable pro-manager.service
sudo systemctl start pro-manager.service
echo "pro-manager.service enabled"
systemctl status pro-manager.service
echo 'installing ingress'
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.5.1/deploy/static/provider/cloud/deploy.yaml | tee ./ingress-nginx-install.log
kubectl get pods --namespace=ingress-nginx | tee ./ingress-nginx-info.txt
echo 'installing cert manager'
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.12.0/cert-manager.yaml | tee ./cert-manager-install.log
echo 'list Issuers,ClusterIssuers,Certificates,CertificateRequests,Orders,Challenges'
kubectl get Issuers,ClusterIssuers,Certificates,CertificateRequests,Orders,Challenges --all-namespaces | tee ./cert-manager-info.txt
echo 'list kubernetes events'
kubectl get events -A | tee ./kubernetes-event.txt
cat << EOF
*******************************************************************************************************************
*******************************************************************************************************************
█████╗░░█████╗░░█████╗░██╗░░██╗███████╗███╗░░██╗██████╗░██╗░░░░░███████╗░██████╗░██████╗ ██████╗░██████╗░░█████╗░
██╔══██╗██╔══██╗██╔══██╗██║░██╔╝██╔════╝████╗░██║██╔══██╗██║░░░░░██╔════╝██╔════╝██╔════╝ ██╔══██╗██╔══██╗██╔══██╗
██████╦╝███████║██║░░╚═╝█████═╝░█████╗░░██╔██╗██║██║░░██║██║░░░░░█████╗░░╚█████╗░╚█████╗░ ██████╔╝██████╔╝██║░░██║
██╔══██╗██╔══██║██║░░██╗██╔═██╗░██╔══╝░░██║╚████║██║░░██║██║░░░░░██╔══╝░░░╚═══██╗░╚═══██╗ ██╔═══╝░██╔══██╗██║░░██║
██████╦╝██║░░██║╚█████╔╝██║░╚██╗███████╗██║░╚███║██████╔╝███████╗███████╗██████╔╝██████╔╝ ██║░░░░░██║░░██║╚█████╔╝
╚═════╝░╚═╝░░╚═╝░╚════╝░╚═╝░░╚═╝╚══════╝╚═╝░░╚══╝╚═════╝░╚══════╝╚══════╝╚═════╝░╚═════╝░ ╚═╝░░░░░╚═╝░░╚═╝░╚════╝░
Copyright 2012-2023, Backendless Corp. All rights reserved.
Congratulations, the initial part of the Backendless Pro installation is complete. To proceed with the installation,
open a web browser and navigate to <instance IP address>:5050
EOF
sleep 1
exit 0