Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kubevirt/terraform-provider-kubevirt
Terraform provider for Kubevirt platform
https://github.com/kubevirt/terraform-provider-kubevirt
Last synced: 4 days ago
JSON representation
Terraform provider for Kubevirt platform
- Host: GitHub
- URL: https://github.com/kubevirt/terraform-provider-kubevirt
- Owner: kubevirt
- License: apache-2.0
- Created: 2021-05-12T18:19:26.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-06-07T04:21:49.000Z (5 months ago)
- Last Synced: 2024-08-01T21:46:06.246Z (3 months ago)
- Language: Go
- Size: 22.1 MB
- Stars: 27
- Watchers: 9
- Forks: 10
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Terraform Provider
- Website: https://www.terraform.io
- [![Gitter chat](https://badges.gitter.im/hashicorp-terraform/Lobby.png)](https://gitter.im/hashicorp-terraform/Lobby)
- Mailing list: [Google Groups](http://groups.google.com/group/terraform-tool)## Requirements
- [Terraform](https://www.terraform.io/downloads.html) 0.12.x
- [Go](https://golang.org/doc/install) 1.14 (to build the provider plugin)## Building The Provider
1. Clone repository
2. Change directory to repository root folder
3. Build the project by running `make build`
```sh
$ make build
```## Using the provider
In order to use it in your computer, run install command inside the repository:
```sh
$ make install
```You can find examples how to use the provider in [_example directory](https://github.com/nirarg/terraform-provider-kubevirt/tree/master/_examples)
## Contributing to the Provider
### Code structure
* All code located under [kubevirt directory](https://github.com/nirarg/terraform-provider-kubevirt/tree/master/kubevirt)
* Backend kubevirt client wrapper located in [client](https://github.com/nirarg/terraform-provider-kubevirt/tree/master/kubevirt/client/client.go)
* All terraform schema definitions located under [schema directory](https://github.com/nirarg/terraform-provider-kubevirt/tree/master/kubevirt/schema)
* Terraform resource is defined (operations and schema) in `kubevirt/resource_*.go` for example: virtualmachine resource defined [here](https://github.com/nirarg/terraform-provider-kubevirt/tree/master/kubevirt/resource_virtualmachine.go)
* The main file, which define the provider's flags and structures is [provider](https://github.com/nirarg/terraform-provider-kubevirt/tree/master/kubevirt/provider.go)### Development Environment
If you wish to work on the provider, you'll first need [Go](http://www.golang.org) installed on your machine (version 1.14+ is *required*).
To compile the provider, run `make build`. This will build the provider and put the provider binary in the repository root directory.
```sh
$ make build
```In order to test the provider, you can simply run `make test`.
```sh
$ make test
```In order to run terraform on your computer with `terraform-provider-kubevirt`, run `make install`
```sh
$ make install
```
That would build the binary and copy it to `$(HOME)/.terraform.d/plugins/$(GOOS)_$(GOARCH)`