-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall.sh
More file actions
executable file
·78 lines (62 loc) · 1.53 KB
/
Copy pathinstall.sh
File metadata and controls
executable file
·78 lines (62 loc) · 1.53 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
#!/bin/bash
function install_docker()
{
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
yum-config-manager -y \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
yum -y install docker-ce
systemctl enable docker
systemctl start docker
}
function install_ansible()
{
yum -y install ansible \
python-docker-py.noarch \
pyOpenSSL.x86_64
}
function _create_ssh_folder ()
{
local _user=$1
local _home_folder=$2
mkdir $_home_folder/.ssh/
chown -R ${_user}:${_user} $_home_folder/.ssh/
}
function _generate_and_copy_key ()
{
local _home_folder=$1
ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> $_home_folder/.ssh/authorized_keys
}
function _configure_ssh()
{
local _user=$1
local _home_folder=$(grep ${_user} /etc/passwd | awk -F: '{print $6}')
_create_ssh_folder $_user $_home_folder
_generate_and_copy_key $_home_folder
}
function add_ansible_user()
{
local _user=$1
useradd $_user
usermod -a -G docker $_user
echo $_user | passwd --stdin $_user
echo "$_user ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/$_user
_configure_ssh $_user
}
install_docker
install_ansible
add_ansible_user "develop"
sysctl -w vm.max_map_count=262144