Skip to content

vatesfr/xenorchestra-go-sdk

Repository files navigation

Golang client for XenOrchestra API

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)

📚 Documentation

v1 Documentation

The v1 client uses the JSON-RPC API and is primarily used in the terraform-provider-xenorchestra Terraform provider.

v2 Documentation

The v2 client uses the REST API and provides a more modern, type-safe interface. Comprehensive documentation is available in the docs/v2 directory:

🧑🏻‍💻 Usage

go get github.com/vatesfr/xenorchestra-go-sdk

Examples

The SDK includes examples for both v1 and v2 clients:

🍰 Contributing

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.

Development

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

License

MIT License