You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Backup-oriented connectors such as `internal/connectors/veeam/` may expose domain-specific discovery methods instead of the core VM discovery interface when they enrich the universal inventory rather than replace it.
21
21
- The KVM connector supports a real libvirt-backed implementation behind the `libvirt` build tag; the default build keeps an XML-backed fallback so the repo remains portable on machines without libvirt development tooling.
22
22
- Community plugins are loaded through `internal/connectors/plugin/`, which exposes a gRPC-based plugin host and a sample plugin under `examples/plugin-example/`.
23
+
- Plugin manifests may optionally declare `minimum_viaduct_version` and `maximum_viaduct_version` so host/plugin compatibility stays explicit once releases are published.
23
24
## Code Standards
24
25
- Run golangci-lint before committing. Config in .golangci.yml.
- Keep operator guidance honest about maturity. If a workflow is backend-only or automation-oriented rather than a first-class CLI command, document it that way instead of implying a polished surface that does not exist.
117
118
- Release verification should exercise packaging as well as builds and tests. If packaging breaks, the release is not ready even if `go build` passes.
118
119
- Plugin executable launches now expect a `plugin.json` sidecar manifest with name, platform, version, and protocol version metadata. Keep the manifest aligned with the plugin’s reported platform.
120
+
- Release bundles now include a machine-readable `dependency-manifest.json` alongside the release manifest and checksums. Treat it as part of the public artifact contract.
119
121
- Tenant-scoped audit, reporting, and request-correlation behavior are part of the operator surface. Changes to those routes should update both the API docs and troubleshooting guidance.
122
+
- Tenant automation should prefer service accounts over shared tenant API keys. Viewer, operator, and admin roles are part of the tenant isolation model and should stay explicit in API routing.
123
+
- The API route `/api/v1/about` is the canonical operator-visible build metadata surface for packaged environments and should stay aligned with CLI version output and release manifests.
124
+
- Migration `credential_ref` handling is operator-visible behavior. If it changes, update `configs/config.example.yaml` and the configuration docs in the same change.
120
125
- Treat install, upgrade, and rollback documentation as operational code. Broken runbooks are production bugs.
121
126
## Current State
122
127
- Discovery is implemented for VMware, Proxmox, Hyper-V, KVM, and Nutanix, with Veeam available for backup and restore-point enrichment plus portability planning.
123
128
-`internal/migrate/` includes declarative spec parsing, workload matching, pre-flight checks, execution windows, approval gates, wave planning, resumable checkpoints, disk conversion, cold and warm migration orchestration, replication progress tracking, boot verification, cutover coordination, and rollback support.
124
129
-`internal/lifecycle/` provides cost modeling, policy evaluation/simulation, waiver-aware remediation guidance, and drift detection backed by sample cost profiles and policy definitions under `configs/`.
125
-
-`internal/store/` persists discovery snapshots, migration state, recovery points, and tenant metadata in both in-memory and PostgreSQL backends.
130
+
-`internal/store/` persists discovery snapshots, migration state, recovery points, and tenant metadata in both in-memory and PostgreSQL backends, including tenant quotas and service-account definitions.
126
131
- The Go API server and React dashboard are both present, and `web/` builds into production static assets with inventory, migration, history, dependency-graph, tenant summary, runbook, and lifecycle remediation views.
127
132
- Integration coverage includes discovery, cold migration, scheduled-window pre-flight gating, migration resume after interruption, warm migration resume, cutover rollback on boot failure, tenant isolation under concurrent access, lifecycle recommendation/simulation flows, plugin crash handling, and backup portability workflows.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+27-9Lines changed: 27 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,19 +4,28 @@ All notable changes to Viaduct should be documented in this file.
4
4
5
5
This changelog tracks published releases and the major implementation milestones that shaped the current repository state.
6
6
7
-
## [1.0.0] - 2026-04-05
8
-
9
-
### Highlights
10
-
- shipped the first tagged Viaduct release with a release-gated CLI, API, dashboard, install scripts, packaged web assets, checksums, and release manifest generation
11
-
- delivered multi-platform discovery for VMware, Proxmox, Hyper-V, KVM, Nutanix, and Veeam-related backup inventory
12
-
- delivered dependency-aware migration planning, cold and warm migration workflows, execution windows, approval gates, checkpoints, resume support, verification, and rollback
13
-
- delivered lifecycle cost, policy, drift, remediation, and simulation workflows
14
-
- delivered tenant-scoped API access, persistent state backends, plugin hosting, contributor docs, operator runbooks, and example lab environments
15
-
16
7
## Unreleased
17
8
18
9
- no unreleased changes currently tracked
19
10
11
+
## [1.2.0] - 2026-04-07
12
+
13
+
### Tenant Security And Scale
14
+
- added tenant-scoped service accounts with viewer, operator, and admin roles for API authentication
15
+
- added role-gated tenant routes and a current-tenant introspection route without leaking API keys
16
+
- added tenant quotas for API request rate, snapshot count, and migration count
17
+
18
+
### Migration And API Correctness
19
+
- fixed current-inventory aggregation so the API no longer misses sources once snapshot history grows past twenty entries
20
+
- replaced brittle pending-approval summary detection with real migration-state decoding
21
+
- wired migration `credential_ref` resolution through the CLI config and API server connector-resolution paths
22
+
- added the `/api/v1/about` route for operator-visible build and compatibility metadata
23
+
24
+
### Plugin And Release Operability
25
+
- added optional plugin host-version compatibility markers in `plugin.json`
26
+
- added a machine-readable `dependency-manifest.json` to packaged release bundles
27
+
- expanded regression coverage for service-account auth, quota enforcement, plugin compatibility, packaging metadata, and summary correctness
28
+
20
29
## [1.1.0] - 2026-04-05
21
30
22
31
### Current Stable Surface
@@ -43,6 +52,15 @@ This changelog tracks published releases and the major implementation milestones
- improved directory onboarding for docs, configs, examples, API assets, tests, and the dashboard
45
54
55
+
## [1.0.0] - 2026-04-05
56
+
57
+
### Highlights
58
+
- shipped the first tagged Viaduct release with a release-gated CLI, API, dashboard, install scripts, packaged web assets, checksums, and release manifest generation
59
+
- delivered multi-platform discovery for VMware, Proxmox, Hyper-V, KVM, Nutanix, and Veeam-related backup inventory
60
+
- delivered dependency-aware migration planning, cold and warm migration workflows, execution windows, approval gates, checkpoints, resume support, verification, and rollback
61
+
- delivered lifecycle cost, policy, drift, remediation, and simulation workflows
62
+
- delivered tenant-scoped API access, persistent state backends, plugin hosting, contributor docs, operator runbooks, and example lab environments
Copy file name to clipboardExpand all lines: QUICKSTART.md
+7Lines changed: 7 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,6 +35,7 @@ The sample config already points the KVM source at the local lab fixtures.
35
35
36
36
```bash
37
37
./bin/viaduct serve-api --port 8080
38
+
curl http://localhost:8080/api/v1/about
38
39
```
39
40
40
41
## 6. Start The Dashboard
@@ -47,6 +48,12 @@ npm run dev
47
48
48
49
The dashboard expects the API at `/api` and can use `VITE_VIADUCT_API_KEY` from [web/.env.example](web/.env.example) when tenant-scoped access is enabled.
49
50
51
+
If you create additional tenants or service accounts, use:
Copy file name to clipboardExpand all lines: README.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,14 +10,14 @@ Viaduct is an open source control plane for discovering, migrating, and operatin
10
10
Broadcom's VMware licensing changes forced many teams into urgent platform decisions, but most migration tooling still assumes a one-time move into a single destination. Viaduct is built for operators who need a durable mixed-platform operating model: discover what exists, understand the blast radius, move workloads safely, preserve backup coverage, and keep managing cost, policy, and drift after cutover.
11
11
12
12
## Project Status
13
-
Viaduct is ready for broad evaluation, operator pilots, and community contribution. The repository includes multi-platform discovery, dependency graphing, declarative migration orchestration, warm-migration primitives, lifecycle remediation, backup portability, multi-tenancy, plugin hosting, a web dashboard, reproducible release packaging, and a shared release gate for CI and local verification.
13
+
Viaduct is ready for broad evaluation, operator pilots, and community contribution. The repository includes multi-platform discovery, dependency graphing, declarative migration orchestration, warm-migration primitives, lifecycle remediation, backup portability, multi-tenancy with service accounts and quota controls, plugin hosting, a web dashboard, reproducible release packaging, and a shared release gate for CI and local verification.
14
14
15
15
## Supported Capabilities
16
16
- Discovery engine: Collects normalized inventory from VMware, Proxmox, Hyper-V, KVM, Nutanix, and Veeam-related backup systems into a universal schema.
17
17
- Dependency mapping: Builds graph views across workloads, networks, storage, and backup relationships to support safer migration planning.
- Lifecycle analysis: Evaluates cost, policy, and drift, then turns those signals into remediation guidance and simulation output.
20
-
- Multi-tenancy and extensibility: Provides tenant-scoped API access, persistent state backends, and a gRPC-based plugin host for community connectors.
20
+
- Multi-tenancy and extensibility: Provides tenant-scoped API access, service-account and role-based access controls, persistent state backends, and a gRPC-based plugin host for community connectors.
21
21
- Operator surfaces: Exposes the same core workflows through a CLI, REST API, and React dashboard.
0 commit comments