|
Xdev Host Manager
authored
a week ago
|
1
|
# Madagascar Local Authority
|
|
Xdev Host Manager
authored
a week ago
|
2
|
|
|
Xdev Host Manager
authored
a week ago
|
3
|
Local authority for Madagascar hosts, DNS manifests, work orders, and host certificates.
|
|
Xdev Host Manager
authored
a week ago
|
4
|
|
|
Bogdan Timofte
authored
a week ago
|
5
|
The development checkout lives locally at:
|
|
|
6
|
|
|
|
7
|
```text
|
|
|
8
|
/Users/bogdan/Documents/Workspaces/Xdev/Madagascar/LocalAuthority
|
|
|
9
|
```
|
|
|
10
|
|
|
Bogdan Timofte
authored
a week ago
|
11
|
The canonical GitPrep repository is:
|
|
|
12
|
|
|
|
13
|
```text
|
|
|
14
|
git@192.168.2.102:repositories/bogdan/LocalAuthority.git
|
|
|
15
|
```
|
|
|
16
|
|
|
Bogdan Timofte
authored
a week ago
|
17
|
The runtime instance lives on jumper and remains the local source for operational registry data:
|
|
Xdev Host Manager
authored
a week ago
|
18
|
|
|
Bogdan Timofte
authored
4 days ago
|
19
|
- `var/host-manager.sqlite` - runtime source of truth for host registry and Work Orders
|
|
Bogdan Timofte
authored
a day ago
|
20
|
- `config/hosts.yaml` - finished host registry export and seed for new databases
|
|
Bogdan Timofte
authored
4 days ago
|
21
|
- `config/work-orders.yaml` - seed/snapshot export for confirmable operational changes
|
|
Xdev Host Manager
authored
a week ago
|
22
|
- `scripts/host_manager.pl` - Perl-only web app
|
|
Bogdan Timofte
authored
a day ago
|
23
|
- `scripts/sync_local_hosts.sh` - resolver configuration action for jumper and as01, sourced from the runtime DB on jumper
|
|
Xdev Host Manager
authored
a week ago
|
24
|
- `scripts/ca_manager.sh` - local OpenSSL CA helper for host certificates
|
|
Xdev Host Manager
authored
a week ago
|
25
|
|
|
|
26
|
The public `xdev.ro` zone is maintained in the separate DNS public-zone repository.
|
|
|
27
|
|
|
|
28
|
Runtime path:
|
|
|
29
|
|
|
|
30
|
```text
|
|
|
31
|
/usr/local/xdev-host-manager
|
|
|
32
|
```
|
|
|
33
|
|
|
|
34
|
Secrets live outside git in `/etc/xdev/host-manager.env`.
|
|
Xdev Host Manager
authored
a week ago
|
35
|
|
|
Xdev Host Manager
authored
a week ago
|
36
|
The product name is **Madagascar Local Authority**. The technical service, Unix user, repository path, and environment files still use `host-manager`.
|
|
|
37
|
|
|
Bogdan Timofte
authored
4 days ago
|
38
|
The web UI is OTP-protected for all registry data, downloads, exports, and writes. Automation should consume generated exports with dedicated read-only access, not unauthenticated HTTP.
|
|
Xdev Host Manager
authored
a week ago
|
39
|
|
|
Bogdan Timofte
authored
a week ago
|
40
|
For agent/operator context, see:
|
|
|
41
|
|
|
|
42
|
- [`agents.md`](agents.md)
|
|
Bogdan Timofte
authored
4 days ago
|
43
|
- [`.doc/database/`](.doc/database/README.md)
|
|
Bogdan Timofte
authored
4 days ago
|
44
|
- [`.doc/development-log.md`](.doc/development-log.md) - index pentru development logs pe componente
|
|
Bogdan Timofte
authored
a week ago
|
45
|
- [`.doc/host-manager.md`](.doc/host-manager.md)
|
|
|
46
|
- [`.doc/local-hosts.md`](.doc/local-hosts.md)
|
|
|
47
|
|
|
Bogdan Timofte
authored
4 days ago
|
48
|
## Local development and live testing
|
|
Bogdan Timofte
authored
a week ago
|
49
|
|
|
Bogdan Timofte
authored
4 days ago
|
50
|
Work on application code locally. Do not leave changes parked in a dirty working
|
|
|
51
|
tree; commit small, coherent changes so they cannot be lost during deploy,
|
|
|
52
|
reset, or context switches.
|
|
Bogdan Timofte
authored
a week ago
|
53
|
|
|
|
54
|
```bash
|
|
|
55
|
cd /Users/bogdan/Documents/Workspaces/Xdev/Madagascar/LocalAuthority
|
|
Bogdan Timofte
authored
4 days ago
|
56
|
git status --short
|
|
|
57
|
git add ...
|
|
|
58
|
git commit -m "Describe the change"
|
|
Bogdan Timofte
authored
a week ago
|
59
|
```
|
|
|
60
|
|
|
Bogdan Timofte
authored
4 days ago
|
61
|
For live testing, push the committed code to the runtime checkout on jumper:
|
|
|
62
|
|
|
|
63
|
```bash
|
|
|
64
|
git push jumper-runtime HEAD:main
|
|
|
65
|
```
|
|
|
66
|
|
|
|
67
|
The jumper receive hook validates the Perl scripts, restarts `host-manager`,
|
|
|
68
|
writes `BUILD`, and checks `/healthz`.
|
|
|
69
|
|
|
|
70
|
For archival/canonical history, push the same commits to GitPrep:
|
|
|
71
|
|
|
|
72
|
```bash
|
|
|
73
|
git push origin main
|
|
|
74
|
```
|
|
|
75
|
|
|
|
76
|
`scripts/deploy_to_jumper.sh` remains available as an explicit rsync deploy
|
|
|
77
|
tool, but the normal development loop is commit plus push: `jumper-runtime` for
|
|
|
78
|
live testing, `origin`/GitPrep for archive and sharing.
|
|
Bogdan Timofte
authored
a week ago
|
79
|
|
|
Bogdan Timofte
authored
a day ago
|
80
|
`config/` is not deployed by default. The live source of truth is `var/host-manager.sqlite`; `hosts.yaml` is the finished host export/seed and `work-orders.yaml` is a compatibility seed/snapshot. Deploy config only when intentionally replacing seed/export files:
|
|
Bogdan Timofte
authored
a week ago
|
81
|
|
|
|
82
|
```bash
|
|
|
83
|
scripts/deploy_to_jumper.sh --include-config
|
|
|
84
|
```
|
|
|
85
|
|
|
Xdev Host Manager
authored
a week ago
|
86
|
The default internal domain is `madagascar.xdev.ro`. Short aliases are derived automatically from FQDNs, so `autonas01.madagascar.xdev.ro` also publishes `autonas01` without declaring it separately.
|
|
|
87
|
|
|
Bogdan Timofte
authored
a day ago
|
88
|
Name removals with operational impact go through a Work Order. A WO records intent first; the operational checklist must be completed before confirmation can update the SQLite registry, mark the WO as confirmed, and queue resolver sync. Resolver sync remains an explicit operator action and reads runtime records from the jumper database.
|
|
Xdev Host Manager
authored
a week ago
|
89
|
|
|
Xdev Host Manager
authored
a week ago
|
90
|
The local host CA stores private material outside git under `var/ca`. Initialize it on jumper with:
|
|
|
91
|
|
|
|
92
|
```bash
|
|
|
93
|
sudo scripts/ca_manager.sh init
|
|
|
94
|
```
|