|
| 1 | +// SPDX-License-Identifier: PMPL-1.0-or-later |
| 2 | +// Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk> |
| 3 | += v-ecosystem — V-lang Deprecated (2026-04-12) |
| 4 | +:toc: |
| 5 | + |
| 6 | +== Status |
| 7 | + |
| 8 | +All V-lang connector stubs under `v-ecosystem/` (107 connectors across |
| 9 | +`v-api-interfaces/` and `v_api_interfaces/`) are *deprecated* as of |
| 10 | +2026-04-12 following the estate-wide V-lang ban (2026-04-10). |
| 11 | + |
| 12 | +The stubs were interface skeletons only — no logic resided in them. |
| 13 | +They defined typed entry points for REST, gRPC, and GraphQL protocols |
| 14 | +that V code would call into at runtime. |
| 15 | + |
| 16 | +== Migration Target: Zig FFI |
| 17 | + |
| 18 | +The canonical replacement for all connector interfaces is the Zig connector |
| 19 | +pool at `developer-ecosystem/zig-api/`: |
| 20 | + |
| 21 | +[source,toml] |
| 22 | +---- |
| 23 | +# developer-ecosystem/zig-api/zig-api.ipkg (Idris2 ABI definitions) |
| 24 | +modules = ZigApi.ABI.Types, ZigApi.ABI.Http, ZigApi.ABI.Process, |
| 25 | + ZigApi.ABI.Connector, ZigApi.ABI.Foreign, |
| 26 | + ZigApi.ABI.Layout, ZigApi.ABI.Proofs |
| 27 | +---- |
| 28 | + |
| 29 | +[source,bash] |
| 30 | +---- |
| 31 | +# Build the Zig connector pool |
| 32 | +cd developer-ecosystem/zig-api/ffi/zig |
| 33 | +zig build |
| 34 | +
|
| 35 | +# Run integration tests |
| 36 | +zig build test |
| 37 | +---- |
| 38 | + |
| 39 | +=== Protocol Mapping |
| 40 | + |
| 41 | +[cols="1,1,1"] |
| 42 | +|=== |
| 43 | +| V connector stub | Protocol | Zig ABI module |
| 44 | + |
| 45 | +| `v_grpc/` | gRPC | `ZigApi.ABI.Connector` |
| 46 | +| `v_httpd/`, `v_apiserver/` | HTTP/REST | `ZigApi.ABI.Http` |
| 47 | +| `v_dns/`, `v_doh/`, `v_dot/`, `v_doq/` | DNS | `ZigApi.ABI.Connector` |
| 48 | +| `v_bgp/`, `v_bfd/`, `v_ospf/` | Routing | `ZigApi.ABI.Connector` |
| 49 | +| `v_ids/`, `v_firewall/`, `v_honeypot/` | Security | `ZigApi.ABI.Connector` |
| 50 | +| `v_metrics/`, `v_siem/`, `v_logcollector/` | Observability | `ZigApi.ABI.Connector` |
| 51 | +| All others (82 connectors) | Various | `ZigApi.ABI.Connector` (generic) |
| 52 | +|=== |
| 53 | + |
| 54 | +== Next Steps |
| 55 | + |
| 56 | +. Confirm `zig-api` builds and passes all integration tests. |
| 57 | +. Identify any consumer code that imports from `v-api-interfaces/` and |
| 58 | + redirect imports to the Zig ABI or Rust crates as appropriate. |
| 59 | +. Once no consumers remain, delete all `v-api-interfaces/` and |
| 60 | + `v_api_interfaces/` directories and their `v.mod` files. |
0 commit comments