journal-query CLI, machined, polkit con grants reales, GNOME boot test
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}