BUG FIXES:
- Fixed
crusoe_instance_templatefailing when disksizeis in TiB; the configured unit is now preserved. - Fixed
crusoe_vpc_firewall_rulerejecting comma-separated CIDR lists insourceanddestination.
NEW FEATURES:
- Added
crusoe_kubeconfigdata source for reading a Kubernetes cluster's kubeconfig.
ENHANCEMENTS:
terraform importnow accepts an optional project ID as<resource_id>,<project_id>, so resources in a non-default project can be imported without changing your default project. The plain<resource_id>form still works and falls back to the default project.crusoe_compute_instanceinstancetypecan now be changed in place for resizes within the same product family (the VM is stopped, resized, and started again if it was running). Changes across product families still replace the instance.- Schema attribute descriptions are now derived from the Crusoe API spec and surfaced in the registry documentation.
- Upgraded the Terraform Plugin Framework/SDK.
BUG FIXES:
- Fixed list data sources re-ordering their results between reads, which produced spurious diffs; results are now sorted deterministically.
- Fixed data sources silently dropping API-returned values from state by marking API-populated fields
Computed:crusoe_instance_templates,crusoe_compute_instance(disks),crusoe_kubernetes_cluster, andcrusoe_kubernetes_node_pool(also corrects the node poolimage_idmapping). - Fixed drift and perpetual diffs by mapping CRUD state consistently from the API response across
crusoe_compute_instance,crusoe_kubernetes_cluster,crusoe_kubernetes_node_pool,crusoe_load_balancer,crusoe_project,crusoe_vpc_network,crusoe_vpc_subnet,crusoe_instance_template,crusoe_registry_repository,crusoe_storage_s3_key,crusoe_ib_partition,crusoe_storage_disk, andcrusoe_vpc_firewall_rule. - Fixed
crusoe_load_balancerhealth check handling that could panic or drop configured values. - Preserved the user-configured port/protocol list format on
crusoe_vpc_firewall_ruleacross create and update. - Replaced
panic()calls in thecrusoe_kubernetes_cluster, registry repository, and kubeconfig update paths with proper error diagnostics. - Fixed
crusoe_compute_custom_imagedata source to surface API errors clearly. - Added a nil-response check in HTTP status validation to prevent a potential panic on empty responses.
UPGRADE NOTES:
crusoe_instance_template: disktypeis now a required field. It was already required by the Crusoe API (a config omitting it previously failed at apply); addtype = "persistent-ssd"(or"shared-volume") to any disk block that omits it.crusoe_storage_disk: theblock_sizeattribute (resource and data source) is deprecated and will be removed in a future release.
ENHANCEMENTS:
- The Crusoe Watch Agent is now installed by default on new VMs (
install_crusoe_watch_agentdefaults totrue); set it tofalseto opt out. Existing VMs are unaffected.
ENHANCEMENTS:
- Updated provider to use Crusoe API v1 (
https://api.cloud.crusoe.ai/v1). Existing configurations with the legacy endpoint (api.crusoecloud.com) will be automatically migrated.
ENHANCEMENTS:
- Added
apiserver_extra_args,scheduler_extra_args, andcontroller_manager_extra_argsfields to thecrusoe_kubernetes_clusterresource, allowing custom flags to be passed to kube-apiserver, kube-scheduler, and kube-controller-manager. Changes take effect after a cluster rotation. - Added the same three fields as computed attributes on the
crusoe_kubernetes_clusterdata source.
FEATURES:
- Added
crusoe_storage_s3_bucketresource for managing S3-compatible storage buckets - Added
crusoe_storage_s3_bucketsdata source for listing S3 buckets - Added
crusoe_storage_s3_keyresource for managing S3 access keys - Added
crusoe_storage_s3_keysdata source for listing S3 keys
FEATURES:
- Added
profileandprojectattributes to the provider block for configuring Crusoe CLI profiles and default project
BUG FIXES:
- Made instance template disks optional and fixed empty set handling
Re-release of v0.5.45 to fix Terraform registry caching issues.
ENHANCEMENTS:
- Consolidated project ID fallback helpers across data sources for improved code consistency
BUG FIXES:
- Fixed disk resource to preserve user's size format (TiB vs GiB) instead of normalizing to GiB
- Fixed potential HTTP response body memory leaks with nil-safe close pattern across all resources
ENHANCEMENTS:
- Added support for public and private IP types in Kubernetes clusters and node pools
BUG FIXES:
- N/A
ENHANCEMENTS:
- N/A
BUG FIXES:
- Deprecated: The
reservation_idfield for VM and instance template resources is now deprecated
ENHANCEMENTS:
- Refactored
crusoe_compute_instance_groupresource with new API fields and state upgrade- Renamed
instance_templatetoinstance_template_id - Added
desired_count(required),state,created_at,updated_atfields - Split
instancesintoactive_instance_idsandinactive_instance_ids - Removed deprecated
instance_name_prefixfield - Added schema v0 → v1 state upgrade for existing users
- Renamed
- Support specifying project ID in config
- Improve handling of storage disk type
- Support NVlink domain for kubernetes nodepools
BUG FIXES:
- N/A
ENHANCEMENTS:
- Updated node pool rollout to initiate when batch params are updated
- Removed awaiting on rollout completion
- Copy changes
BUG FIXES:
- Fixed node pool state error when updating
ENHANCEMENTS:
- Add support for upgrading node pool version and rolling out changes to existing nodes
- Updated kubernetes example
BUG FIXES:
- N/A
ENHANCEMENTS:
- Add NVLink domain support with fix for previous breaking change that forced VM replacement
- Add support for
CRUSOE_PROFILEenvironment variable to select config file profiles, matching CLI behavior - Add semi-automated regression and unit tests for all examples
BUG FIXES:
- Fix config file parsing issue when decoding top-level
profile=separately from the rest of the config struct - Add
ImmutableStringModifierplan modifier for Kubernetes clusterversionattribute to block in-place version changes with a clear error message instead of silently destroying and recreating clusters - Make container registry
project_idattribute computed
- Release pipeline fix
- Documentation updates
ENHANCEMENTS:
- Add NVLink domain support for VMs, instance templates, and VMs created by template
BUG FIXES:
- N/A
ENHANCEMENTS:
- Add support for containerd ephemeral storage with configurable NVMe disk usage for Kubernetes node pools
BUG FIXES:
- N/A
ENHANCEMENTS:
- Add project ID fallback support for VPC subnet read/delete and VPC network delete operations
BUG FIXES:
- N/A
ENHANCEMENTS:
- N/A
BUG FIXES:
- Fixes an issue with setting the
custom_imagefield for VM resources
ENHANCEMENTS:
- N/A
BUG FIXES:
- N/A
ENHANCEMENTS:
- N/A
BUG FIXES:
- Fixes an issue with setting the
nat_gateway_enabledfield for VPC subnet resources
ENHANCEMENTS:
- Add support for best effort nodepool creation
- Add support for VPC Subnet NAT Gateways
BUG FIXES:
- Fix an issue where the
external_dns_namefield was read-write instead of read-only
ENHANCEMENTS:
- Adds new VM instance attribute:
external_dns_name - Deprecated: VM instance attribute
fqdnis now deprecated and will be removed in the next major version. Useinternal_dns_nameinstead
BUG FIXES:
- Fixes an issue where state data for disks was being lost during import
- Fixed an issue where the
ib_partition_idfield would be set to null when updating a nodepool
ENHANCEMENTS:
- Adds support for kubeconfig resources
- Adds ability to update kubernetes nodepool size in place
- Supports importing kubernetes cluster state
BUG FIXES:
- N/A
ENHANCEMENTS:
- Allow fallback project IDs to be used with the VPC network resource
ENHANCEMENTS:
- N/A
BUG FIXES:
- N/A
ENHANCEMENTS:
- Adds CMK node pool version specification.
BUG FIXES:
- Removes deprecated CMK cluster configuration parameter.
ENHANCEMENTS:
- Adds initial support for Crusoe Managed Kubernetes (CMK) clusters and node pools.
ENHANCEMENTS:
- Adds placement policy for instance templates.
- Adds maintenance policy for instances and instance templates.
BUG FIXES:
- Fixes an issue with creating a VM with disks set to an empty list.
BUG FIXES:
- Fixes representation of disks to be order-agnostic.
BUG FIXES:
- Fixes an issue with conversion of disk size from GiB to TiB.
ENHANCEMENTS:
- Upgraded GoReleaser to V2.
ENHANCEMENTS:
- Improved functionality when associating resources with a reservation ID.
- Adds block size specification for disks.
BUG FIXES:
- Implements retry on HTTP errors to fix intermittent failures that occurred when polling for an operation result, causing the local TF state to be out of sync with the created resources.
NEW FEATURES:
- Support associating VMs and instance templates with reservations.
BUG FIXES:
- Handle multiple network interfaces with equal or unspecified subnets.
BUG FIXES:
- Fixes an issue where network interfaces were not saved if they were not specified.
ENHANCEMENTS:
- Support multiple network interfaces when creating a VM.
ENHANCEMENTS:
- Upgraded go version to 1.21.
BUG FIXES:
- Fixes a separate issue with ordering of disks introduced in v0.5.14.
BUG FIXES:
- Fixes ordering of disks attached to VMs.
NEW FEATURES:
- Support for instance templates and creating VMs with an instance template. Please contact support to enable this feature for your organization.
ENHANCEMENTS:
- Support state upgrades for disks, VPC networks, VPC subnets, IB partitions and Firewall Rules.
- Update the warning message for setting a default project.
BUG FIXES:
- Fixes an issue with the version update warning.
ENHANCEMENTS:
- Add support for importing firewall rules and IB partitions.
- Provide notification when a new version of the Terraform provider is available.
ENHANCEMENTS:
- Add support for project deletion.
ENHANCEMENTS:
- Adds documentation on the resources and datasources supported by the Crusoe Cloud provider.
- Adds a Makefile rule (
make docs) to autogenerate documentation based on the provider schemas using thetfplugindocslibrary.
ENHANCEMENTS:
- Automate tagging and releasing a new version of the Terraform provider upon merging of new changes.
ENHANCEMENTS:
- Update Crusoe Cloud API version to ensure FQDN values are not populated from the API.
BUG FIXES:
- If a VM has no disks attached, explicitly set the list of attachments to nil.
ENHANCEMENTS:
- Add support for migrating startup and shutdown scripts from older versions to newer versions.
ENHANCEMENTS:
- Add support for migrating the
tfstatefrom older versions of the VM resource to newer versions of the schema with breaking changes.
ENHANCEMENTS:
- Add linting to the pipeline when merging new changes.
NEW FEATURES:
- Support for non-default VPC networks and subnets through new resources and datasources.
- VMs can now optionally be created in a non-default subnet.
- This is done by specifying a subnet as an object in the network_interfaces
network_interfaces = { subnet = <subnet_id> }
- Adds support for egress firewall rules.
BUG FIXES:
- Explicitly set the
host_channel_adaptersfield to be null for non-IB enabled VMs.
BUG FIXES:
- Fixes an issue with Terraform reporting unexpected host_channel_adapters.
NEW FEATURES:
- Adds support for projects through the projects resource and datasource.
- Changes the version of the Crusoe Cloud API used from
v1alpha4tov1alpha5. - Adds support for specifying a disk
attachment_typeandmodewhen attaching a disk to a VM.
UPGRADE NOTES:
- Infiniband partitions are no longer specified using the
ib_partition_idand instead as an object under thehost_channel_adaptersattribute.host_channel_adapters = { ib_partition_id = <ib_partition_id> }
- A project ID must be specified when creating resources. This can be specified in two ways:
- Using the
project_idtop-level attribute of the resource of the resource being created. The project_id can be stored as a local variable, as suggested in the newproject-variableexample. - Having a
default_projectspecified in the~/.crusoe/configfile (for example,default_project=my_cool_project_name)
- Using the
ENHANCEMENTS:
- Support updating firewall rules using the firewall rules resource.
ENHANCEMENTS:
- Errors from the Crusoe Cloud API are now unpacked to provide more informative error messages.
NEW FEATURES:
- Add support for static public IPs.
ENHANCEMENTS:
- Requires specifying
locationwhen creating a VM resource (previously optional).
UPGRADE NOTES:
- The location of the VM should be specified in the
.tffile.
BUG FIXES:
- Skip validation in the SSH key and Regex validators if the value is still unknown (which is the case for variables before evaluation).
ENHANCEMENTS:
- Adds support for hot-attaching a disk to a VM.
- Does not require VMs to be in the stopped state when attaching disks.
NEW FEATURES:
- Adds support for specifying an image when creating a VM.
- Allow specifying an
imageas a top-level attribute for the VM resource which creates the VM with the specified curated image.
NEW FEATURES:
- Add support for Infiniband (IB) enabled VMs.
- Adds the IB Networks and Partitions datasources which can be used fetch existing network and partitions a user's Crusoe Cloud account.
- Adds the IB Partition datasource which can be used to create new partitions in an existing IB network.
- Allow specifying an
ib_partition_idas a top-level attribute for the VM resource which creates the IB VM in that partition.
ENHANCEMENTS:
- Add support for
"*"as a shorthand for specifying all ports for firewall rule sources and destinations.
BUG FIXES:
- Ignore null and unknown values in the storage size validator.
NEW FEATURES:
- Initial release!