From 0ac46edc1e633746d37a91fc01707968a2781212 Mon Sep 17 00:00:00 2001 From: Scot Wells Date: Tue, 22 Sep 2026 16:00:45 -0500 Subject: [PATCH] feat: make IPAM available in datumctl --- README.md | 9 ++++++++ index.yaml | 57 +++++++++++++++++++++++++++++++++++++++++++++++ plugins/ipam.yaml | 57 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 123 insertions(+) create mode 100644 plugins/ipam.yaml diff --git a/README.md b/README.md index 7106a2d..63ea74e 100644 --- a/README.md +++ b/README.md @@ -9,12 +9,14 @@ The official plugin index for [datumctl](https://github.com/datum-cloud/datumctl | [assistant](plugins/assistant.yaml) | Chat with Patch, the Datum Cloud assistant, and browse your conversation history | | [compute](plugins/compute.yaml) | Deploy and manage containerized workloads on Datum Cloud | | [dns](plugins/dns.yaml) | Manage DNS zones and records on Datum Cloud | +| [ipam](plugins/ipam.yaml) | Manage IP address space (pools and prefixes) across the platform | | [search](plugins/search.yaml) | Search for resources across the platform by kind, name, and project scope | ## Installing a plugin ```sh datumctl plugin install compute +datumctl plugin install ipam ``` ## Submitting a plugin @@ -46,3 +48,10 @@ spec: The binary inside each archive must be named `datumctl-` or `milo-` (add `.exe` on Windows). datumctl recognizes both prefixes, so a plugin built for the milo-os platform installs from this catalog without a second, datumctl-branded build. + +To explicitly select the binary to install, set `files` for each platform, as in the [IPAM manifest](plugins/ipam.yaml): + +```yaml + files: + - from: milo-ipam # milo-ipam.exe on Windows +``` diff --git a/index.yaml b/index.yaml index 94e629c..1aba09f 100644 --- a/index.yaml +++ b/index.yaml @@ -125,6 +125,63 @@ items: arch: amd64 uri: https://github.com/datum-cloud/dns-operator/releases/download/v0.7.4/datumctl-dns_Windows_x86_64.zip sha256: ea522f376866828182c8f62dff3e4873d40bc0453887cf8dc28dab5e8f78bf54 +- apiVersion: datumctl.datum.net/v1alpha1 + kind: Plugin + metadata: + name: ipam + spec: + shortDescription: Manage IP address space (pools and prefixes) across the platform + homepage: https://github.com/milo-os/ipam + version: v0.4.0 + platforms: + - selector: + matchLabels: + os: linux + arch: amd64 + uri: https://github.com/milo-os/ipam/releases/download/v0.4.0/milo-ipam_Linux_x86_64.tar.gz + sha256: 642c9761f2039b70f04b9af759a79b758252a76ee9ea207474d30d7737781d08 + files: + - from: milo-ipam + - selector: + matchLabels: + os: linux + arch: arm64 + uri: https://github.com/milo-os/ipam/releases/download/v0.4.0/milo-ipam_Linux_arm64.tar.gz + sha256: 6adafcc9a3b60f3424c697069cbaebc98a3acef0c2d68f3180a5f580d59797dc + files: + - from: milo-ipam + - selector: + matchLabels: + os: darwin + arch: amd64 + uri: https://github.com/milo-os/ipam/releases/download/v0.4.0/milo-ipam_Darwin_x86_64.tar.gz + sha256: a6b7a9b83685443b9c77207367abf9dac4e17207e73f9d581e8d803235a8a85c + files: + - from: milo-ipam + - selector: + matchLabels: + os: darwin + arch: arm64 + uri: https://github.com/milo-os/ipam/releases/download/v0.4.0/milo-ipam_Darwin_arm64.tar.gz + sha256: db61c0e3cd82c1c862bc1ad6bd57be0d2bfe388b6e8bdddbdf85892172a90a0c + files: + - from: milo-ipam + - selector: + matchLabels: + os: windows + arch: amd64 + uri: https://github.com/milo-os/ipam/releases/download/v0.4.0/milo-ipam_Windows_x86_64.zip + sha256: f0e9a81b754c10706ad059b1fecd38e8ca3fbf6c9e1a66993bdbe1ca3c745300 + files: + - from: milo-ipam.exe + - selector: + matchLabels: + os: windows + arch: arm64 + uri: https://github.com/milo-os/ipam/releases/download/v0.4.0/milo-ipam_Windows_arm64.zip + sha256: bbdab13ee33e945c1e4b801ef3312c5b11b9e8a53293496db0d903c2238e9412 + files: + - from: milo-ipam.exe - apiVersion: datumctl.datum.net/v1alpha1 kind: Plugin metadata: diff --git a/plugins/ipam.yaml b/plugins/ipam.yaml new file mode 100644 index 0000000..6645016 --- /dev/null +++ b/plugins/ipam.yaml @@ -0,0 +1,57 @@ +apiVersion: datumctl.datum.net/v1alpha1 +kind: Plugin +metadata: + name: ipam +spec: + shortDescription: Manage IP address space (pools and prefixes) across the platform + homepage: https://github.com/milo-os/ipam + version: v0.4.0 + platforms: + - selector: + matchLabels: + os: linux + arch: amd64 + uri: https://github.com/milo-os/ipam/releases/download/v0.4.0/milo-ipam_Linux_x86_64.tar.gz + sha256: 642c9761f2039b70f04b9af759a79b758252a76ee9ea207474d30d7737781d08 + files: + - from: milo-ipam + - selector: + matchLabels: + os: linux + arch: arm64 + uri: https://github.com/milo-os/ipam/releases/download/v0.4.0/milo-ipam_Linux_arm64.tar.gz + sha256: 6adafcc9a3b60f3424c697069cbaebc98a3acef0c2d68f3180a5f580d59797dc + files: + - from: milo-ipam + - selector: + matchLabels: + os: darwin + arch: amd64 + uri: https://github.com/milo-os/ipam/releases/download/v0.4.0/milo-ipam_Darwin_x86_64.tar.gz + sha256: a6b7a9b83685443b9c77207367abf9dac4e17207e73f9d581e8d803235a8a85c + files: + - from: milo-ipam + - selector: + matchLabels: + os: darwin + arch: arm64 + uri: https://github.com/milo-os/ipam/releases/download/v0.4.0/milo-ipam_Darwin_arm64.tar.gz + sha256: db61c0e3cd82c1c862bc1ad6bd57be0d2bfe388b6e8bdddbdf85892172a90a0c + files: + - from: milo-ipam + - selector: + matchLabels: + os: windows + arch: amd64 + uri: https://github.com/milo-os/ipam/releases/download/v0.4.0/milo-ipam_Windows_x86_64.zip + sha256: f0e9a81b754c10706ad059b1fecd38e8ca3fbf6c9e1a66993bdbe1ca3c745300 + files: + - from: milo-ipam.exe + - selector: + matchLabels: + os: windows + arch: arm64 + uri: https://github.com/milo-os/ipam/releases/download/v0.4.0/milo-ipam_Windows_arm64.zip + sha256: bbdab13ee33e945c1e4b801ef3312c5b11b9e8a53293496db0d903c2238e9412 + files: + - from: milo-ipam.exe