johnride
  • Joined on 2024-02-06
johnride commented on pull request NationTech/harmony#273 2026-04-22 16:14:43 +00:00
fix(opnsense): valid HAProxy config + From<&str> codegen cleanup

Instead of doing those ugly matches that depend on strings that we don't control here, implement From &str traits for those structs HealthCheckHttpMethod and the other similar above and below HealthcheckType and HealthcheckSsl and probably others around here. This is poor rust, feels like crappy python by a first year programmer. Do better.

johnride pushed to feat/iot-operator-helm-chart at NationTech/harmony 2026-04-22 15:36:37 +00:00
92150da12a feat(iot): label-selector targeting (replace target_devices with targetSelector)
johnride commented on pull request NationTech/harmony#272 2026-04-22 15:35:36 +00:00
feat/iot-operator-helm-chart

I feel like there is a scalability issue here. Computing the aggregate on the operator's side for every device does not work with millions of devices. Then again, each device has limited compute capacity. But I do think that the rpi target is powerful enough for that. So each device would be writing multiple keys for itself that the operator could scrape. The devices can update their "last_events" key by themselves, same goes for current_state and device_info, etc. I feel like all the logs could go on the wire but probably not on jetstream kv, just regular at least once nats channels. It would be great if we could buffer the last 10000 lines to access them at any time for any time. That could be a feature we implement where when we query logs for a device the device sends the last 10k lines and streams until we're done.

johnride commented on pull request NationTech/harmony#272 2026-04-22 15:35:36 +00:00
feat/iot-operator-helm-chart

Looks reasonable, but would be much better as an easily runnable rust example.

johnride commented on pull request NationTech/harmony#272 2026-04-22 15:35:36 +00:00
feat/iot-operator-helm-chart

We have to be careful with the aggregation architecture and data model, this is what makes or breaks performance of this kind of tool at scale, which is what makes or breaks how much users love using it.

johnride commented on pull request NationTech/harmony#272 2026-04-22 15:10:10 +00:00
feat/iot-operator-helm-chart

No values, we use full hydration. This will be handled by the rust binary generating a fully hydrated template, not typo magnets.

johnride commented on pull request NationTech/harmony#272 2026-04-22 15:10:10 +00:00
feat/iot-operator-helm-chart

I strongly disagree with that. Not using helm here is bad but not because we love helm, much more so because we're introducing another unrelated method of doing the same thing instead of improving the tooling and robustness of what we already have. I think this whole nats_score_basic should be coupled in one way or another with the other nats scores we have.

johnride commented on pull request NationTech/harmony#272 2026-04-22 15:10:10 +00:00
feat/iot-operator-helm-chart

This is potentially dangerous, what if we have multiple users on the same host? This is a tricky bit. Why to we need to know in advance what subuids podman expects? It feels like something that should be deferred to runtime/pod inspection once it is up. But I am lacking context to really understand the why here.

johnride commented on pull request NationTech/harmony#272 2026-04-22 15:10:10 +00:00
feat/iot-operator-helm-chart

don't use yaml. Use rust structs and apply them directly. Even helm generation is fully hydrated, we only use helm as a packaging and versionning tool, no configuration.

johnride commented on pull request NationTech/harmony#272 2026-04-22 15:10:10 +00:00
feat/iot-operator-helm-chart

No bash script to generate yaml, that is a crime against harmony .

johnride commented on pull request NationTech/harmony#272 2026-04-22 15:10:10 +00:00
feat/iot-operator-helm-chart

Avoid that. Use askama templates when we need them.

johnride commented on pull request NationTech/harmony#272 2026-04-22 15:10:10 +00:00
feat/iot-operator-helm-chart

No yaml, a clusterrole is a fully typed rust struct with kube-rs, much more robust than typo-magnet templates.

johnride commented on pull request NationTech/harmony#272 2026-04-22 15:10:10 +00:00
feat/iot-operator-helm-chart
  1. The entire chart thing has to be rewritten in rust.
johnride created pull request NationTech/harmony#272 2026-04-22 13:46:30 +00:00
feat/iot-operator-helm-chart
johnride pushed to feat/iot-operator-helm-chart at NationTech/harmony 2026-04-22 12:20:44 +00:00
99e661ce4d feat(iot-operator): helm chart + gen-chart-crd subcommand
c081f2cf5e style(iot-agent): silence two clippy nits in Chapter 2 code
c1dc7d56ea docs(iot): mark Chapter 2 shipped in v0_1_plan
9a08978e34 style(kvm): rustfmt the overlay args vec literal
9fb3691c3d feat(kvm): honor spec.disk_size_gb in overlay creation
Compare 10 commits »
johnride created branch feat/iot-operator-helm-chart in NationTech/harmony 2026-04-22 12:20:16 +00:00
johnride deleted branch feat/install-reconcile-operator-score from NationTech/harmony 2026-04-21 20:53:36 +00:00
johnride pushed to feat/iot-walking-skeleton at NationTech/harmony 2026-04-21 20:53:35 +00:00
a79c835b08 Merge pull request 'refactor(operator): replace gen-crd yaml pipeline with a harmony Score' (#271) from feat/install-reconcile-operator-score into feat/iot-walking-skeleton
6676023aa8 Merge branch 'feat/iot-walking-skeleton' into feat/install-reconcile-operator-score
b8db8241d1 docs(topology): flag InstallTopology smell + add roadmap §12.6
588afb9ab9 refactor(operator): replace gen-crd yaml pipeline with a harmony Score
Compare 4 commits »