7d3b895c8e42200b585f51c651bed423f8b9d2c2
[yaml_builds.git] / tools / 1prom-gen.sh
1 #!/bin/bash
2 ##############################################################################
3 # Copyright © 2018 AT&T Intellectual Property. All rights reserved.          #
4 #                                                                            #
5 # Licensed under the Apache License, Version 2.0 (the "License"); you may    #
6 # not use this file except in compliance with the License.                   #
7 #                                                                            #
8 # You may obtain a copy of the License at                                    #
9 #       http://www.apache.org/licenses/LICENSE-2.0                           #
10 #                                                                            #
11 # Unless required by applicable law or agreed to in writing, software        #
12 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT  #
13 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.           #
14 # See the License for the specific language governing permissions and        #
15 # limitations under the License.                                             #
16 ##############################################################################
17
18
19 # re-generate prom config
20
21 set -x
22
23 source $(dirname $0)/setenv.sh
24
25 PROMENADE_IMAGE=quay.io/airshipit/promenade:master
26
27 if [ -z "$AIC_CLCP_MANIFESTS" ]
28 then
29   echo "Please follow https://codecloud.web.att.com/projects/ST_CCP/repos/aic-clcp-manifests/browse/docs/source/deployment_blueprint.md to clone aic-clcp-manifests. Also set AIC_CLCP_MANIFESTS to it."
30   exit -1
31 else
32   WORKSPACE=$AIC_CLCP_MANIFESTS
33   echo "WORKSPACE=$WORKSPACE"
34 fi
35
36 if [ -z "$1" ]
37 then
38   echo "Plese pass site name as command line argument"
39   exit -2
40 else
41   SITE=${SITE:-$1}
42   echo "SITE=$SITE"
43 fi
44
45 source $(dirname $0)/env_$SITE.sh
46
47 # Check that we are root
48 if [[ $(whoami) != "root" ]]
49 then
50   echo "Must be root to run $0"
51   exit -1
52 fi
53 cd $AIC_CLCP_MANIFESTS/tools/
54
55 install_docker() {
56    # Configure proxy for Docker daemon
57    mkdir -p /etc/systemd/system/docker.service.d
58    mkdir -p /etc/docker
59
60 cat <<EOF > /etc/apt/sources.list.d/promenade-sources.list
61 deb http://apt.dockerproject.org/repo ubuntu-xenial main
62 EOF
63
64 #cat<<EOF > /etc/docker/daemon.json
65 #{
66 #  "insecure-registries": [
67 #    "artifacts-aic.atlantafoundry.com"
68 #  ],
69 #  "live-restore": true,
70 #  "storage-driver": "overlay2"
71 #}
72 #EOF
73
74 cat<<EOF > /etc/docker/daemon.json
75 {
76   "live-restore": true,
77   "storage-driver": "overlay2"
78 }
79 EOF
80
81 #Set HTTPS Proxy Variable
82 cat <<EOF > /etc/systemd/system/docker.service.d/http-proxy.conf
83 [Service]
84 Environment="HTTP_PROXY=http://one.proxy.att.com:8888"
85 EOF
86
87 #Set HTTPS Proxy Variable
88 cat <<EOF > /etc/systemd/system/docker.service.d/https-proxy.conf
89 [Service]
90 Environment="HTTPS_PROXY=http://one.proxy.att.com:8888"
91 EOF
92
93 apt-key add - <<"ENDKEY"
94 -----BEGIN PGP PUBLIC KEY BLOCK-----
95
96 mQINBFWln24BEADrBl5p99uKh8+rpvqJ48u4eTtjeXAWbslJotmC/CakbNSqOb9o
97 ddfzRvGVeJVERt/Q/mlvEqgnyTQy+e6oEYN2Y2kqXceUhXagThnqCoxcEJ3+KM4R
98 mYdoe/BJ/J/6rHOjq7Omk24z2qB3RU1uAv57iY5VGw5p45uZB4C4pNNsBJXoCvPn
99 TGAs/7IrekFZDDgVraPx/hdiwopQ8NltSfZCyu/jPpWFK28TR8yfVlzYFwibj5WK
100 dHM7ZTqlA1tHIG+agyPf3Rae0jPMsHR6q+arXVwMccyOi+ULU0z8mHUJ3iEMIrpT
101 X+80KaN/ZjibfsBOCjcfiJSB/acn4nxQQgNZigna32velafhQivsNREFeJpzENiG
102 HOoyC6qVeOgKrRiKxzymj0FIMLru/iFF5pSWcBQB7PYlt8J0G80lAcPr6VCiN+4c
103 NKv03SdvA69dCOj79PuO9IIvQsJXsSq96HB+TeEmmL+xSdpGtGdCJHHM1fDeCqkZ
104 hT+RtBGQL2SEdWjxbF43oQopocT8cHvyX6Zaltn0svoGs+wX3Z/H6/8P5anog43U
105 65c0A+64Jj00rNDr8j31izhtQMRo892kGeQAaaxg4Pz6HnS7hRC+cOMHUU4HA7iM
106 zHrouAdYeTZeZEQOA7SxtCME9ZnGwe2grxPXh/U/80WJGkzLFNcTKdv+rwARAQAB
107 tDdEb2NrZXIgUmVsZWFzZSBUb29sIChyZWxlYXNlZG9ja2VyKSA8ZG9ja2VyQGRv
108 Y2tlci5jb20+iQI4BBMBAgAiBQJVpZ9uAhsvBgsJCAcDAgYVCAIJCgsEFgIDAQIe
109 AQIXgAAKCRD3YiFXLFJgnbRfEAC9Uai7Rv20QIDlDogRzd+Vebg4ahyoUdj0CH+n
110 Ak40RIoq6G26u1e+sdgjpCa8jF6vrx+smpgd1HeJdmpahUX0XN3X9f9qU9oj9A4I
111 1WDalRWJh+tP5WNv2ySy6AwcP9QnjuBMRTnTK27pk1sEMg9oJHK5p+ts8hlSC4Sl
112 uyMKH5NMVy9c+A9yqq9NF6M6d6/ehKfBFFLG9BX+XLBATvf1ZemGVHQusCQebTGv
113 0C0V9yqtdPdRWVIEhHxyNHATaVYOafTj/EF0lDxLl6zDT6trRV5n9F1VCEh4Aal8
114 L5MxVPcIZVO7NHT2EkQgn8CvWjV3oKl2GopZF8V4XdJRl90U/WDv/6cmfI08GkzD
115 YBHhS8ULWRFwGKobsSTyIvnbk4NtKdnTGyTJCQ8+6i52s+C54PiNgfj2ieNn6oOR
116 7d+bNCcG1CdOYY+ZXVOcsjl73UYvtJrO0Rl/NpYERkZ5d/tzw4jZ6FCXgggA/Zxc
117 jk6Y1ZvIm8Mt8wLRFH9Nww+FVsCtaCXJLP8DlJLASMD9rl5QS9Ku3u7ZNrr5HWXP
118 HXITX660jglyshch6CWeiUATqjIAzkEQom/kEnOrvJAtkypRJ59vYQOedZ1sFVEL
119 MXg2UCkD/FwojfnVtjzYaTCeGwFQeqzHmM241iuOmBYPeyTY5veF49aBJA1gEJOQ
120 TvBR8Q==
121 =Fm3p
122 -----END PGP PUBLIC KEY BLOCK-----
123 ENDKEY
124
125    apt-get update
126    apt-get install -y docker-engine=1.13.1-0~ubuntu-xenial socat=1.7.3.1-1
127    systemctl daemon-reload
128    systemctl restart docker || true
129 }
130
131 cleanup() {
132    rm -rf ./configs/promenade
133    rm -rf ./configs/promenade-bundle
134    mkdir -p ./configs/promenade
135    mkdir -p ./configs/promenade-bundle
136 }
137
138 get_site_config(){
139    ./pegleg.sh site -p /workspace collect ${SITE} -s /workspace/tools/configs/promenade
140 }
141
142 gen_certs() {
143    docker run --env http_proxy=$http_proxy  --env https_proxy=$https_proxy --user 0 --rm -t -w /target -v $(pwd):/target ${PROMENADE_IMAGE} promenade generate-certs -o /target/configs/promenade /target/configs/promenade/*.yaml
144 }
145
146 gen_bundle(){
147    docker run --env http_proxy=$http_proxy  --env https_proxy=$https_proxy --user 0 --rm -t -w /target -v $(pwd):/target ${PROMENADE_IMAGE} promenade build-all --validators -o /target/configs/promenade-bundle /target/configs/promenade/*.yaml
148 }
149
150 prepare_tar(){
151    rm ./promenade-bundle.tar
152    cp ./configs/promenade/*.yaml ./configs/promenade-bundle/
153    tar cvf promenade-bundle.tar ./configs/promenade-bundle/
154 }
155
156 #install_docker
157 cleanup
158 get_site_config
159 gen_certs
160 gen_bundle
161 prepare_tar
162