Nexus SDK Go is a Golang development kit for Nexus client applications. Base client code is generated using ogen
from OpenAPI v3 specification of the Nexus API.
SDK is tested against a Nexus stack deployed to a kind
cluster (WIP).
- Create a controller cluster:
kind create cluster --name nexus-controller
- Create a shard cluster:
kind create cluster --name nexus-shard-0
- Export kubeconfigs:
kind export kubeconfig --name nexus-controller --kubeconfig ./test-resources/kubecfg/controller
kind export kubeconfig --name nexus-shard-0 --kubeconfig ./test-resources/kubecfg/shards/kind-nexus-shard-0.kubeconfig
# update permissions
chmod 777 ./test-resources/kubecfg/controller
chmod 777 ./test-resources/kubecfg/shards/kind-nexus-shard-0.kubeconfig
- Install CRDs into both clusters:
cd .helm
helm dependency build .
helm --kube-context kind-nexus-controller install nexus-test-stack . --create-namespace --namespace nexus
helm --kube-context kind-nexus-shard-0 install nexus-test-stack . --create-namespace --namespace nexus
- Launch docker-compose stack
docker compose up --quiet-pull -d
Now, try to access the scheduler API:
> curl -vvv http://localhost:8080/algorithm/v1/results/tags/aaa
and check for a response like below:
* Host localhost:8080 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
* Trying [::1]:8080...
* Connected to localhost (::1) port 8080
> GET /algorithm/v1/results/tags/aaa HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/8.7.1
> Accept: */*
>
* Request completely sent off
< HTTP/1.1 200 OK
< Content-Type: application/json; charset=utf-8
< Date: Mon, 04 Aug 2025 08:23:44 GMT
< Content-Length: 2