consul-demo

Форк
1
/
initialize.sh 
64 строки · 1.7 Кб
1
#!/bin/bash
2

3
rm -rf ./tmp/
4
mkdir ./tmp/
5

6
### Build gateway
7

8
cd ./demo-gateway/
9
chmod +x gradlew
10
./gradlew clean bootJar
11
cp ./build/libs/demo-gateway-0.0.1-SNAPSHOT.jar ../ansible-playbooks/roles/java-application/files/
12
cd ..
13

14
### Build service
15

16
cd ./demo-service/
17
chmod +x gradlew
18
./gradlew clean bootJar
19
cp ./build/libs/demo-service-0.0.1-SNAPSHOT.jar ../ansible-playbooks/roles/java-application/files/
20
cd ..
21

22
### Start VM environment
23

24
cd vagrant
25
vagrant up
26
bash ./gather-inventory.sh
27
python3 build-ansible-inventory.py
28
cp -f ./inventory.ini ../ansible-playbooks/inventory.ini
29

30
cd ..
31

32
### Deploy components with ansible
33

34
cd ansible-playbooks
35
ansible-playbook consul-cluster-playbook.yaml
36

37
cd ../vagrant
38
vagrant scp ../consul-configurations/acl consul-1:~/
39
vagrant ssh consul-1 -c "bash ~/acl/initialize-acl.sh"
40

41
vagrant scp consul-1:~/acl/*.token ../tmp/
42

43
TOKEN_SERVICE=$(cat ../tmp/srv.token)
44
TOKEN_GATEWAY=$(cat ../tmp/gateway.token)
45
TOKEN_GATEWAY_ISOLATED=$(cat ../tmp/gateway-isolated.token)
46
TOKEN_LOADBALANCER=$(cat ../tmp/loadbalancer.token)
47

48
cd ../ansible-playbooks
49

50
ansible-playbook service-playbook.yaml --extra-vars "consul_client_acl_token=$TOKEN_SERVICE"
51
ansible-playbook gateway-playbook.yaml --extra-vars "consul_client_acl_token=$TOKEN_GATEWAY"
52
ansible-playbook lb-playbook.yaml --extra-vars "consul_client_acl_token=$TOKEN_LOADBALANCER"
53

54
# can't be executed here,
55
# currently, autogenerated inventory file is not supported  [isolated-gw] group
56
# which required for isolated-gw
57
# ansible-playbook gateway-playbook-isolated-gw.yaml --extra-vars "consul_client_acl_token=$TOKEN_GATEWAY_ISOLATED"
58

59
cd ..
60

61
### Done
62

63
echo "######### Done #########"
64
cat ansible-playbooks/inventory.ini
65

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.