Skip to content

Release/3.7.x#29

Merged
emirhandurmus merged 6 commits intomainfrom
release/3.7.x
Mar 4, 2026
Merged

Release/3.7.x#29
emirhandurmus merged 6 commits intomainfrom
release/3.7.x

Conversation

@emirhandurmus
Copy link

No description provided.

This change removes the legacy routing controller, routing service, and microservice pub/sub tags and replaces them with a full NATS backend. New NATS support includes accounts, users, rules, instances, and operators, with corresponding models, managers, services (nats-service, nats-api-service, nats-auth-service, nats-hub-service), API routes, and server config templates. Microservices and application logic are updated to use NATS, and DB migrations (MySQL, Postgres, SQLite) plus RBAC and Swagger are updated for the new model. Tests are added/updated for the NATS controller, nats-service, system-naming, and yaml-parser, and routing-related tests are removed.
…d fog validation

- Add GET /nats/bootstrap for K8s installer (operator JWT, seed, sys user creds);
  available only when Controller runs on Kubernetes control plane
- Introduce NatsReconcileTasks table and worker job: enqueue reconcile work,
  claim-by-controller with staleness reclaim, run reconcileResolverArtifacts,
  delete completed tasks; add natsReconcileChunkSize, natsReconcileTaskStalenessSeconds,
  natsReconcileWorkerIntervalSeconds to config
- Add JetStream store options: jsStorageSize and jsMemoryStoreSize on NatsInstances
  and hub, with schema/validation and server/leaf config template support
- Allow NatsInstances.iofog_uuid to be null (hub without fog)
- Link NatsUsers to NatsUserRules via nats_user_rule_id
- Validate system fogs: block creation on Kubernetes, require natsMode=server and
  routerMode=interior, disallow changing isSystem; add ForbiddenError and 403
- When NATS access disabled for app, reconcile then delete account (order fix)
- Add RBAC for natsBootstrap, Swagger for bootstrap and JetStream fields
…lookup logic improved with fallback to look up by also agent name
…vice account APIs now use appName in paths and require applicationName in YAML; list supports filtering by application; DB migrations add unique indexes on RbacServiceAccounts (application_id+name, microservice_uuid) and return 409 when a referenced SA is deleted. Bump Node to 24 (CI, Dockerfile, .nvmrc, engines), upgrade @kubernetes/client-node to ^1.4.0 and other dependencies, refactor NATS and k8s-client logic, add nats-auth and k8s-client tests, and document OpenBao in test/vault.
@emirhandurmus emirhandurmus merged commit 72dbd43 into main Mar 4, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant