Repository navigation
Expand file tree
/
Copy pathinstall-ubuntu.sh
More file actions
132 lines (91 loc) · 6.04 KB
/
Copy pathinstall-ubuntu.sh
File metadata and controls
132 lines (91 loc) · 6.04 KB
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
122
123
124
125
126
127
128
129
130
131
132
#!/bin/bash
set -e
proManagerBranch=${1:-"main"}
echo "Passed branch is '$proManagerBranch'"
# ---- privileged bootstrap: runs as the invoking (e.g. ubuntu) user ----
echo "creating user bl-pro-manager"
id -u bl-pro-manager >/dev/null 2>&1 || \
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
echo "granting passwordless sudo to bl-pro-manager"
echo 'bl-pro-manager ALL=(ALL) NOPASSWD:ALL' | sudo tee /etc/sudoers.d/bl-pro-manager > /dev/null
sudo chmod 440 /etc/sudoers.d/bl-pro-manager
# ---- install body: runs as bl-pro-manager, fed via heredoc (single download) ----
sudo -H -u bl-pro-manager bash -s -- "$proManagerBranch" <<'INSTALL_BODY'
set -e
proManagerBranch=${1:-"main"}
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 v22.17.1
nvm use v22.17.1
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/v22.17.1/bin exec /home/bl-pro-manager/.nvm/versions/node/v22.17.1/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
INSTALL_BODY