The Oxide Terraform provider declaratively manages
Oxide resources with Terraform or OpenTofu.
The provider uses the Oxide Go SDK
to create, read, update, and delete Oxide resources.
Build Status
| Branch |
Status |
main |
 |
rel/v0.22 |
 |
Version Policy
This project adheres to Semantic Versioning. It is
currently at major version zero (e.g., v0.Y.Z). Please note the following
semantics:
- The minimum supported Oxide version may change across minor version releases.
- Configuration changes may be required across minor version releases.
Read the upgrade guide before upgrading.
Because this provider uses write-only attributes, it requires the following
minimum versions:
- Terraform 1.11
- OpenTofu 1.11
Usage
Create a main.tf with the following configuration.
terraform {
required_version = ">= 1.11"
required_providers {
oxide = {
source = "oxidecomputer/oxide"
}
}
}
# The provider defaults to using environment variables for authentication.
#
# - OXIDE_HOST: Oxide API host (e.g., https://oxide.sys.example.com)
# - OXIDE_TOKEN: Oxide API token (e.g., oxide-token-abc123)
provider "oxide" {}
resource "oxide_project" "example" {
name = "my-project"
description = "A project managed by the Oxide provider."
}
For other authentication methods, see the
provider documentation.
OpenTofu users can run the equivalent commands below by replacing terraform
with tofu.
Initialize the configuration and install the provider:
terraform init
Create the Oxide project:
terraform apply
Delete the Oxide project:
terraform destroy
Documentation
Refer to the Oxide Terraform Provider
documentation to learn which resources, data sources, and functions are
supported by this provider.
The registry documentation is rendered from docs, which is generated
from templates, examples, and the provider source
code.
Contributing
Read CONTRIBUTING.md before contributing to this project.