about summary refs log tree commit diff
path: root/bundles/s6/items.py
blob: 597cdba1df2682c39fe57c5af28b1974bcafa8b9 (plain) (blame)
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
if node.os != "alpine":
    raise BundleError(f"{node.name}: OS {node.os} is not supported.")

from os.path import join

files = {
    "/bin/svdn":                                       {"mode": "0755"},
    "/bin/svup":                                       {"mode": "0755"},
    "/bin/svls":                                       {"mode": "0755"},
    "/bin/svre":                                       {"mode": "0755"},
    "/bin/s6-rc-recompile":                            {"mode": "0755"},
    "/bin/s6-rc-generate":                             {"mode": "0755"},
    "/etc/init.d/s6-rc-init":                          {"mode": "0755"},
    "/etc/init.d/s6-rc-up":                            {"mode": "0755"},
    "/etc/periodic/15min/s6-rc-metrics":               {"mode": "0755"},

    "/etc/s6-rc/templates/service/+service-srv/run":   {"mode": "0755"},
    "/etc/s6-rc/templates/service/+service-log/run":   {"mode": "0755"},
    "/etc/s6-rc/services/default/contents.d/services": {
        "content_type": "text",
        "content": "",
        "triggers": {
            "svc_openrc:s6-rc-up:restart",
        },
    },
    "/etc/s6-rc/services/services/type": {
        "content_type": "text",
        "content": "bundle",
        "triggers": {
            "svc_openrc:s6-rc-up:restart",
        },
    },
}

directories = {
    "/etc/s6-rc/services/services/contents.d": {}
}

repo.libs.gen.merge(files, repo.libs.gen.tree(
    join(repo.path, "bundles", "s6", "files"),
    keep_parent=False,
))

svc_openrc = {
    "s6-rc-init": {
        "enabled": True,
        "running": True,
        "needs": {"file:/etc/init.d/s6-rc-init"},
    },
    "s6-rc-up": {
        "enabled": True,
        "running": True,
        "needs": {"file:/etc/init.d/s6-rc-up"},
    },
}


for service, _ in node.metadata.get("services", {}).items():
    svc_s6rc[service] = {
        "bundle": "services",
        "generate": "service",
    }