UNPKG

kubevirt-js-sdk

Version:

JavaScript SDK for KubeVirt API - A comprehensive client library for interacting with KubeVirt API

123 lines (87 loc) 2.52 kB
# KubeVirt JavaScript SDK A comprehensive JavaScript SDK for interacting with the KubeVirt API. This library provides a simple and intuitive interface for managing virtual machines and related resources in a Kubernetes cluster. ## Features - Full support for KubeVirt API operations - TypeScript support with type definitions - Modern ES6+ JavaScript - Promise-based API - Comprehensive documentation - Built-in error handling - Support for all KubeVirt resources: - Virtual Machines - Virtual Machine Instances - Virtual Machine Instance Migrations - Virtual Machine Instance Presets - Virtual Machine Instance ReplicaSets ## Installation ```bash npm install kubevirt-js-sdk ``` ## Usage ```javascript import { KubeVirtClient } from 'kubevirt-js-sdk'; // Create a new client const client = new KubeVirtClient({ baseURL: 'https://your-kubevirt-api-server', headers: { 'Authorization': 'Bearer your-token' } }); // List all virtual machines const vms = await client.virtualMachine.listAllNamespaces(); // Create a new virtual machine const newVM = await client.virtualMachine.create('default', { apiVersion: 'kubevirt.io/v1', kind: 'VirtualMachine', metadata: { name: 'test-vm' }, spec: { // VM specification } }); // Start a virtual machine await client.virtualMachine.start('default', 'test-vm'); ``` ## API Documentation For detailed API documentation, please refer to the [API Reference](https://kubevirt.io/api-reference/). ## Development ### Prerequisites - Node.js >= 14.0.0 - npm >= 6.0.0 ### Setup 1. Clone the repository 2. Install dependencies: ```bash npm install ``` ### Building ```bash npm run build ``` ### Testing ```bash npm test ``` ### Linting ```bash npm run lint ``` ## Publishing This package is automatically published to npm using GitHub Actions: - Pushes to the `main` branch are published with the `latest` tag - Tagged releases (e.g., `v1.0.0`) are published with the corresponding version tag To create a new release: 1. Update the version in `package.json` 2. Create a new tag: ```bash git tag v1.0.0 git push origin v1.0.0 ``` The GitHub Actions workflow will automatically publish the package to npm. ## Contributing Contributions are welcome! Please feel free to submit a Pull Request. ## License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. ## Support If you encounter any issues or have questions, please open an issue in the GitHub repository.