Commit Graph

451 Commits

Author SHA1 Message Date
7426a548ff remove duplicate "member" attribute and remove broken configs (for now)
All checks were successful
Run Check Script / check (pull_request) Successful in 1m2s
2025-09-08 15:00:59 -04:00
d7dd8bd5c1 remove missing file for config tests
Some checks failed
Run Check Script / check (pull_request) Failing after 1m0s
2025-09-08 11:51:16 -04:00
a8d421efdc revert changes to harmony_secret local_file
Some checks failed
Run Check Script / check (pull_request) Failing after 1m3s
2025-09-08 11:45:46 -04:00
Jean-Gabriel Gill-Couture
14566e0327 doc: Host preparation notes
Some checks failed
Run Check Script / check (pull_request) Failing after 1m0s
2025-09-08 09:14:07 -04:00
Jean-Gabriel Gill-Couture
1304a3a1d1 fix: Haproxy now has SSL:Other(String) to store unknown values from opnsense, also ran a cargo fmt
Some checks failed
Run Check Script / check (pull_request) Failing after 58s
2025-09-04 23:47:09 -04:00
Jean-Gabriel Gill-Couture
ecc461a33f Merge branch 'feat/dnsmasqDhcpStatic' of https://git.nationtech.io/NationTech/harmony into feat/dnsmasqDhcpStatic
Some checks failed
Run Check Script / check (pull_request) Failing after 17s
2025-09-04 23:34:27 -04:00
Jean-Gabriel Gill-Couture
1640e6d7a3 feat: Invetory inspection score that dumps the inventory in a readable way, also quite a few fixes on okd installation scores 2025-09-04 23:34:23 -04:00
be385dccff fix: pxe boot for undionly client should use pxe config even if arch is bios
Some checks failed
Run Check Script / check (pull_request) Failing after 20s
2025-09-04 23:29:02 -04:00
6651194582 fix: Haproxy readyz check must force ssl 2025-09-04 23:29:02 -04:00
Jean-Gabriel Gill-Couture
f31d21f9da fix: boostrap control plane was using non-existend get_control_plane_host function -> control_plane. Also fix okd installation example
Some checks failed
Run Check Script / check (pull_request) Failing after 21s
2025-09-04 17:54:33 -04:00
Jean-Gabriel Gill-Couture
902185daa4 feat: Control plane bootstraping logic implemented, next step is testing it!
Some checks failed
Run Check Script / check (pull_request) Failing after 18s
2025-09-04 17:49:06 -04:00
Jean-Gabriel Gill-Couture
8bcade27a1 refact: Split OKD installation score into a simple struct that returns the list of scores. Also refactored discovery logic so it can be used by bootstrap and control plane steps
Some checks failed
Run Check Script / check (pull_request) Failing after 27s
2025-09-04 17:23:17 -04:00
e7ccfe6969 chore: Rename interpret name Okd.. string to OKD..
Some checks failed
Run Check Script / check (pull_request) Failing after 30s
2025-09-04 11:29:16 -04:00
4fdc2e8a58 fix: mac-specific ipxe file was missing #!ipxe sheban causing bad exec format. Also added autofree to chainloading boot file so it won't cause kernel panics when fallback boots after a failed boot of a previous file
Some checks failed
Run Check Script / check (pull_request) Failing after 30s
2025-09-03 22:42:16 -04:00
c5427b983c New boot ipxe default file, much better logging and easier to follow . Also Tolerate the opnsense lack of reloading every time
Some checks failed
Run Check Script / check (pull_request) Failing after 28s
2025-09-03 20:53:44 -04:00
f0d907d92f feat: opnsense-config make sure file has not changed on remote since loading it before saving it, also fix group member Vec<u8> type was not able to deserialize when more than one member
Some checks failed
Run Check Script / check (pull_request) Failing after 30s
2025-09-03 17:50:17 -04:00
a03327d7e4 fix: OPnsense xml fields for wk1 after update to 25.7
Some checks failed
Run Check Script / check (pull_request) Failing after 29s
2025-09-03 13:18:00 -04:00
680902e450 fix: Use ssh key from FileContent in OKDIpxe score instead of hardcoded path
Some checks failed
Run Check Script / check (pull_request) Failing after 28s
2025-09-03 13:07:00 -04:00
b765e9b7dc feat(secret): added get_or_prompt functionality and debuggable ipxe chainloading boot file and some misc stuff
Some checks failed
Run Check Script / check (pull_request) Failing after 29s
2025-09-03 12:09:44 -04:00
160939de21 fix: opnsense dhcp test and formatting
All checks were successful
Run Check Script / check (pull_request) Successful in 1m12s
2025-09-03 08:53:47 -04:00
5142e2dd2d fix: Support multiple mac address on static host binding
Some checks failed
Run Check Script / check (pull_request) Failing after 27s
2025-09-03 08:40:01 -04:00
ceea03d6ce wip minor refactor in okd example
Some checks failed
Run Check Script / check (pull_request) Failing after 1m8s
2025-09-03 00:39:21 -04:00
f1209b3823 feat: OKD bootstrap automation pretty much complete with a few prompt for manual steps
Some checks failed
Run Check Script / check (pull_request) Failing after 1m12s
2025-09-03 00:00:35 -04:00
6f746d4c88 feat: OKD Installation now generates ignition files, copies them over, also uploads scos images
Some checks failed
Run Check Script / check (pull_request) Failing after 30s
2025-09-02 20:48:48 -04:00
75f27a2b85 chore: Move opnsense credential secret from example into domain. There is an architectural problem around secrets still but its definitely something we want to manage for the user
Some checks failed
Run Check Script / check (pull_request) Failing after 31s
2025-09-02 11:46:43 -04:00
d24ea23413 fix: Dhcp static hostname has to have domain specified with dnsmasq, also progress on okd installation automation
Some checks failed
Run Check Script / check (pull_request) Failing after 32s
2025-09-02 11:26:07 -04:00
0070373714 feat(okd installation): Process works nicely all the way up to setting the bootstrap host binding in opnsense automatically! Next step : generate the mac address boot file for bootstrap host, install ignition files and the cluster will booooooooot
All checks were successful
Run Check Script / check (pull_request) Successful in 1m16s
2025-09-02 00:41:07 -04:00
f6e665f990 feat: Can now select a bootstrap host and save the role mapping to database
Some checks failed
Run Check Script / check (pull_request) Failing after 33s
2025-09-02 00:10:20 -04:00
241980ebec wip: OKd installation, some cleanup of unused and some refactoring
All checks were successful
Run Check Script / check (pull_request) Successful in 1m13s
2025-09-01 23:36:35 -04:00
35a459f63c wip: OKD Installation full process automation underway, ready to test bootstrapping very soon
Some checks failed
Run Check Script / check (pull_request) Failing after 30s
2025-09-01 23:21:44 -04:00
f076d36297 wip: bootstrap step of okd installation required some refactoring, its getting there
Some checks failed
Run Check Script / check (pull_request) Failing after 30s
2025-09-01 19:14:31 -04:00
138e414727 feat(opnsense-config): dnsmasq dhcp static mappings
Some checks failed
Run Check Script / check (pull_request) Failing after 31s
2025-09-01 17:34:19 -04:00
b6be44202e chore: rebase okd installation with refactoring on core types
All checks were successful
Run Check Script / check (pull_request) Successful in 1m16s
2025-09-01 14:14:29 -04:00
c372e781d8 doc(okdinstallationscore): Fix incorrect comments and remove some more useless comments 2025-09-01 14:07:16 -04:00
56c181fc3d wip: OKD Installation automation layed out. Next step : review this after some sleep and fill in the (many) blanks with actual implementations. 2025-09-01 14:07:16 -04:00
55bfe306ad feat: Secret module works with infisical and local file storage backends 2025-09-01 14:06:36 -04:00
62fa3c2b10 Merge pull request 'feat: Inventory PhysicalHost persistence with sqlx and local sqlite db' (#125) from feat/inventory_persistence into master
All checks were successful
Run Check Script / check (push) Successful in 1m14s
Compile and package harmony_composer / package_harmony_composer (push) Successful in 6m31s
Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/125
2025-08-31 22:49:28 +00:00
ea1380f98a Merge pull request 'refact: Move basic types to harmony_types crate to avoid external dependencies.' (#126) from refact/harmony_types into feat/inventory_persistence
All checks were successful
Run Check Script / check (pull_request) Successful in 1m15s
Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/126
Reviewed-by: Ian Letourneau <ian@noma.to>
2025-08-31 22:45:57 +00:00
701d8cfab9 feat: automatically discover inventory (#127)
All checks were successful
Run Check Script / check (pull_request) Successful in 1m15s
## Fully automated inventory gathering now works!

Boot up harmony_inventory_agent with `cargo run -p harmony_inventory_agent`
Launch the DiscoverInventoryAgentScore , currently available this way :

`RUST_LOG=info cargo run -p example-cli -- -f Discover -y`

And you will have automatically all hosts saved to the database. Run `cargo sqlx setup` if you have not done it yet.

Co-authored-by: Ian Letourneau <ian@noma.to>
Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/127
Co-authored-by: Jean-Gabriel Gill-Couture <jg@nationtech.io>
Co-committed-by: Jean-Gabriel Gill-Couture <jg@nationtech.io>
2025-08-31 22:45:07 +00:00
f9906cb419 refact: Move basic types to harmony_types crate to avoid external dependencies.
All checks were successful
Run Check Script / check (pull_request) Successful in 1m15s
This includes Id, IpAddress, Url and some other heavily used types
2025-08-30 18:01:14 -04:00
cb4382fbb5 feat: Inventory PhysicalHost persistence with sqlx and local sqlite db
Some checks failed
Run Check Script / check (pull_request) Failing after 34s
2025-08-30 16:48:56 -04:00
1eca2cc1a9 refact: Discovery callback takes a closure and fix git dependency hash
Some checks failed
Run Check Script / check (push) Failing after 33s
Compile and package harmony_composer / package_harmony_composer (push) Successful in 6m10s
2025-08-30 16:48:13 -04:00
269f13ae9b Merge pull request 'doc/pxe_test_setup' (#117) from doc/pxe_test_setup into master
All checks were successful
Run Check Script / check (push) Successful in 1m15s
Compile and package harmony_composer / package_harmony_composer (push) Successful in 6m45s
Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/117
2025-08-30 14:33:36 +00:00
ec277bc13d feat: Allow building harmony statically with x86_64-unknown-linux-musl target
All checks were successful
Run Check Script / check (pull_request) Successful in 1m15s
2025-08-29 14:49:44 -04:00
a9f8cd16ea Merge remote-tracking branch 'origin/master' into doc/pxe_test_setup
All checks were successful
Run Check Script / check (pull_request) Successful in 1m19s
2025-08-29 12:21:56 -04:00
c542a935e3 feat: Update harmony_inventory_agent binary in pxe http files
All checks were successful
Run Check Script / check (pull_request) Successful in 1m14s
2025-08-29 11:27:19 -04:00
0395d11e98 fix(doctest): Import harmony instrumentation properly in doc tests
All checks were successful
Run Check Script / check (pull_request) Successful in 1m15s
2025-08-29 11:23:11 -04:00
05e7b8075c feat(inventory agent): Local presence advertisement and discovery now works! Must be within the same LAN to share the multicast address though 2025-08-29 11:22:44 -04:00
b857412151 extract related logic into an OkdIpxeScore
Some checks failed
Run Check Script / check (pull_request) Failing after 33s
2025-08-29 09:52:11 -04:00
7bb3602ab8 make instrumentation sync instead of async to avoid concurrency issues 2025-08-29 06:03:59 -04:00