dream

Форк
0
/
create_local_yml.py 
36 строк · 1.3 Кб
1
# ! pip install PyYAML==5.3b1
2
import yaml
3
import argparse
4
import pathlib
5

6
parser = argparse.ArgumentParser()
7
parser.add_argument("-s", "--service_names", action="append")
8
parser.add_argument("-d", "--repository_root_dir", type=pathlib.Path, default=pathlib.Path("./"))
9
parser.add_argument("-p", "--no_drop_ports", action="store_true")
10
parser.add_argument("-r", "--no_one_replica", action="store_true")
11
args = parser.parse_args()
12

13

14
def run_cmd(args):
15
    proxy = yaml.load((args.repository_root_dir / "proxy.yml").open("rt"), yaml.FullLoader)
16
    dev = yaml.load((args.repository_root_dir / "dev.yml").open("rt"), yaml.FullLoader)
17
    dev_services = args.service_names + ["agent", "mongo"]
18

19
    for serv_name in dev_services:
20
        serv = dev["services"][serv_name]
21
        if not args.no_drop_ports:
22
            print(f"rm ports: {serv_name}")
23
            del serv["ports"]
24
        proxy["services"][serv_name] = serv
25

26
    if not args.no_one_replica:
27
        for serv_name in proxy["services"]:
28
            proxy["services"][serv_name]["deploy"] = {"mode": "replicated", "replicas": 1}
29

30
    yaml.dump(proxy, (args.repository_root_dir / "local.yml").open("wt"))
31
    print("All services: " + " ".join(proxy["services"]))
32

33

34
run_cmd(args)
35
# example:
36
# python venv/create_local_yml.py -s dff-friendship-skill
37

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

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

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

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