This is a Golang module for the XenOrchestra API. It provides two client implementations:
- v1: Uses the JSON-RPC API (legacy)
- v2: Uses the REST API (WIP, should be used in parallel with v1 for missing endpoints, until v2 is fully released)
The v1 client uses the JSON-RPC API and is primarily used in the terraform-provider-xenorchestra Terraform provider.
The v2 client uses the REST API and provides a more modern, type-safe interface. Comprehensive documentation is available in the docs/v2
directory:
- Overview - Introduction and key features
- Architecture - Design patterns and components
- Migration Guide - How to migrate from v1 to v2
- Service Implementation Guide - How to add new services
go get github.com/vatesfr/xenorchestra-go-sdk
The SDK includes examples for both v1 and v2 clients:
- v1 Examples - Examples using the JSON-RPC API
- v2 Examples - Examples using the REST API
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
This project includes a Makefile to help with common development tasks:
# Run tests
make test
# Run specific client tests
make test-v1
make test-v2
# Run linter
make lint
# Generate mocks
make mock
# Run examples
make example-v1
make example-v2
# See all available commands
make help
MIT License