gioser
⎇ 48e41331a104ba136b34e7695dccb08ef9188703 docs/seed-gnome-test.k 155 líneas · 5.6 KB Historia crudo

journal-query CLI, machined, polkit con grants reales, GNOME boot test 48e41331a · Sergio ·

1# Card Semilla para el boot test de GNOME bajo Ente #0.
2#
3# Este archivo se valida con `kcl run` contra el schema en
4# crates/ente-card/schema/card.k antes de que ente-zero lo cargue.
5#
6# Genesis declara la constelación mínima para que GNOME arranque sin
7# systemd: D-Bus daemon, los 8 compat-shims, NetworkManager, gdm.
8
9import .ente_card.schema.card
10
11# Card "supervisor genérico" reutilizable — dispara un binario con Restart.
12schema NativeRestart(EnteBase):
13    soma = SomaSpec {
14        rlimits = ResourceLimits {nofile = 16384}
15    }
16    supervision = Supervision {
17        kind = "Restart"
18        initial_ms = 100
19        max_ms = 30000
20    }
21
22
23# ----- La Semilla -----
24
25seed = EntityCard {
26    schema_version = 1
27    id = "01KQABOOTTESTSEEDFRACTAL00"
28    label = "boot-gnome-test"
29    provides = [
30        Capability {kind = "Spawn"}
31        Capability {kind = "Journal"}
32    ]
33    soma = SomaSpec {}
34    payload = Payload {kind = "Virtual"}
35    supervision = Supervision {kind = "OneShot"}
36
37    genesis = [
38        # 1. dbus-daemon — pivote del system bus, todos los demás dependen de él.
39        EntityCard {
40            schema_version = 1
41            id = "01KQABOOTTESTDBUSDAEMON___"
42            label = "dbus-daemon"
43            soma = SomaSpec {}
44            payload = Payload {
45                kind = "Native"
46                exec = "/usr/bin/dbus-daemon"
47                argv = ["--system", "--nofork", "--nopidfile"]
48            }
49            supervision = Supervision {
50                kind = "Restart"
51                initial_ms = 100
52                max_ms = 30000
53            }
54        }
55
56        # 2-9. Los 8 compat-shims D-Bus.
57        EntityCard {
58            schema_version = 1
59            id = "01KQABOOTTESTLOGIND_______"
60            label = "compat-logind"
61            provides = [Capability {kind = "LegacyLogind"}]
62            soma = SomaSpec {}
63            payload = Payload {
64                kind = "Native"
65                exec = "/usr/local/bin/ente-logind-compat"
66            }
67            supervision = Supervision {kind = "Restart", initial_ms = 100, max_ms = 30000}
68        }
69        EntityCard {
70            schema_version = 1
71            id = "01KQABOOTTESTHOSTNAMED____"
72            label = "compat-hostnamed"
73            soma = SomaSpec {}
74            payload = Payload {kind = "Native", exec = "/usr/local/bin/ente-hostnamed-compat"}
75            supervision = Supervision {kind = "Restart", initial_ms = 100, max_ms = 30000}
76        }
77        EntityCard {
78            schema_version = 1
79            id = "01KQABOOTTESTTIMEDATED____"
80            label = "compat-timedated"
81            soma = SomaSpec {}
82            payload = Payload {kind = "Native", exec = "/usr/local/bin/ente-timedated-compat"}
83            supervision = Supervision {kind = "Restart", initial_ms = 100, max_ms = 30000}
84        }
85        EntityCard {
86            schema_version = 1
87            id = "01KQABOOTTESTLOCALED______"
88            label = "compat-localed"
89            soma = SomaSpec {}
90            payload = Payload {kind = "Native", exec = "/usr/local/bin/ente-localed-compat"}
91            supervision = Supervision {kind = "Restart", initial_ms = 100, max_ms = 30000}
92        }
93        EntityCard {
94            schema_version = 1
95            id = "01KQABOOTTESTJOURNALD_____"
96            label = "compat-journald"
97            provides = [Capability {kind = "Journal"}]
98            soma = SomaSpec {}
99            payload = Payload {kind = "Native", exec = "/usr/local/bin/ente-journald-compat"}
100            supervision = Supervision {kind = "Restart", initial_ms = 100, max_ms = 30000}
101        }
102        EntityCard {
103            schema_version = 1
104            id = "01KQABOOTTESTRESOLVED_____"
105            label = "compat-resolved"
106            soma = SomaSpec {}
107            payload = Payload {kind = "Native", exec = "/usr/local/bin/ente-resolved-compat"}
108            supervision = Supervision {kind = "Restart", initial_ms = 100, max_ms = 30000}
109        }
110        EntityCard {
111            schema_version = 1
112            id = "01KQABOOTTESTPOLKIT_______"
113            label = "compat-polkit"
114            soma = SomaSpec {}
115            payload = Payload {kind = "Native", exec = "/usr/local/bin/ente-polkit-compat"}
116            supervision = Supervision {kind = "Restart", initial_ms = 100, max_ms = 30000}
117        }
118        EntityCard {
119            schema_version = 1
120            id = "01KQABOOTTESTMACHINED_____"
121            label = "compat-machined"
122            soma = SomaSpec {}
123            payload = Payload {kind = "Native", exec = "/usr/local/bin/ente-machined-compat"}
124            supervision = Supervision {kind = "Restart", initial_ms = 100, max_ms = 30000}
125        }
126
127        # 10. NetworkManager — la mayoría de distros lo prefieren sobre networkd.
128        EntityCard {
129            schema_version = 1
130            id = "01KQABOOTTESTNETWORKMGR___"
131            label = "NetworkManager"
132            soma = SomaSpec {}
133            payload = Payload {
134                kind = "Native"
135                exec = "/usr/sbin/NetworkManager"
136                argv = ["--no-daemon"]
137            }
138            supervision = Supervision {kind = "Restart", initial_ms = 200, max_ms = 30000}
139        }
140
141        # 11. gdm — display manager. GNOME settings panels via gnome-shell.
142        EntityCard {
143            schema_version = 1
144            id = "01KQABOOTTESTGDMDAEMON____"
145            label = "gdm"
146            soma = SomaSpec {}
147            payload = Payload {
148                kind = "Native"
149                exec = "/usr/bin/gdm"
150                argv = ["--no-daemon"]
151            }
152            supervision = Supervision {kind = "Restart", initial_ms = 500, max_ms = 60000}
153        }
154    ]
155}