Skip to content

Latest commit

 

History

History
558 lines (308 loc) · 15.1 KB

File metadata and controls

558 lines (308 loc) · 15.1 KB

1.1.1

BUG FIXES:

  • Fixed crusoe_instance_template failing when disk size is in TiB; the configured unit is now preserved.
  • Fixed crusoe_vpc_firewall_rule rejecting comma-separated CIDR lists in source and destination.

1.1.0

NEW FEATURES:

  • Added crusoe_kubeconfig data source for reading a Kubernetes cluster's kubeconfig.

ENHANCEMENTS:

  • terraform import now 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_instance instance type can 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, and crusoe_kubernetes_node_pool (also corrects the node pool image_id mapping).
  • 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, and crusoe_vpc_firewall_rule.
  • Fixed crusoe_load_balancer health check handling that could panic or drop configured values.
  • Preserved the user-configured port/protocol list format on crusoe_vpc_firewall_rule across create and update.
  • Replaced panic() calls in the crusoe_kubernetes_cluster, registry repository, and kubeconfig update paths with proper error diagnostics.
  • Fixed crusoe_compute_custom_image data 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: disk type is now a required field. It was already required by the Crusoe API (a config omitting it previously failed at apply); add type = "persistent-ssd" (or "shared-volume") to any disk block that omits it.
  • crusoe_storage_disk: the block_size attribute (resource and data source) is deprecated and will be removed in a future release.

1.0.1

ENHANCEMENTS:

  • The Crusoe Watch Agent is now installed by default on new VMs (install_crusoe_watch_agent defaults to true); set it to false to opt out. Existing VMs are unaffected.

1.0.0

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.

0.8.0

ENHANCEMENTS:

  • Added apiserver_extra_args, scheduler_extra_args, and controller_manager_extra_args fields to the crusoe_kubernetes_cluster resource, 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_cluster data source.

0.7.0

FEATURES:

  • Added crusoe_storage_s3_bucket resource for managing S3-compatible storage buckets
  • Added crusoe_storage_s3_buckets data source for listing S3 buckets
  • Added crusoe_storage_s3_key resource for managing S3 access keys
  • Added crusoe_storage_s3_keys data source for listing S3 keys

0.6.0

FEATURES:

  • Added profile and project attributes to the provider block for configuring Crusoe CLI profiles and default project

BUG FIXES:

  • Made instance template disks optional and fixed empty set handling

0.5.46

Re-release of v0.5.45 to fix Terraform registry caching issues.

0.5.45

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

0.5.44

ENHANCEMENTS:

  • Added support for public and private IP types in Kubernetes clusters and node pools

BUG FIXES:

  • N/A

0.5.43

ENHANCEMENTS:

  • N/A

BUG FIXES:

  • Deprecated: The reservation_id field for VM and instance template resources is now deprecated

0.5.42

ENHANCEMENTS:

  • Refactored crusoe_compute_instance_group resource with new API fields and state upgrade
    • Renamed instance_template to instance_template_id
    • Added desired_count (required), state, created_at, updated_at fields
    • Split instances into active_instance_ids and inactive_instance_ids
    • Removed deprecated instance_name_prefix field
    • Added schema v0 → v1 state upgrade for existing users
  • Support specifying project ID in config
  • Improve handling of storage disk type
  • Support NVlink domain for kubernetes nodepools

BUG FIXES:

  • N/A

0.5.41

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

0.5.40

ENHANCEMENTS:

  • Add support for upgrading node pool version and rolling out changes to existing nodes
  • Updated kubernetes example

BUG FIXES:

  • N/A

0.5.39

ENHANCEMENTS:

  • Add NVLink domain support with fix for previous breaking change that forced VM replacement
  • Add support for CRUSOE_PROFILE environment 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 ImmutableStringModifier plan modifier for Kubernetes cluster version attribute to block in-place version changes with a clear error message instead of silently destroying and recreating clusters
  • Make container registry project_id attribute computed

0.5.38

  • Release pipeline fix

0.5.37

  • Documentation updates

0.5.36

ENHANCEMENTS:

  • Add NVLink domain support for VMs, instance templates, and VMs created by template

BUG FIXES:

  • N/A

0.5.35

ENHANCEMENTS:

  • Add support for containerd ephemeral storage with configurable NVMe disk usage for Kubernetes node pools

BUG FIXES:

  • N/A

0.5.34

ENHANCEMENTS:

  • Add project ID fallback support for VPC subnet read/delete and VPC network delete operations

BUG FIXES:

  • N/A

0.5.33

ENHANCEMENTS:

  • N/A

BUG FIXES:

  • Fixes an issue with setting the custom_image field for VM resources

0.5.32

ENHANCEMENTS:

  • N/A

BUG FIXES:

  • N/A

0.5.31

ENHANCEMENTS:

  • N/A

BUG FIXES:

  • Fixes an issue with setting the nat_gateway_enabled field for VPC subnet resources

0.5.30

ENHANCEMENTS:

  • Add support for best effort nodepool creation
  • Add support for VPC Subnet NAT Gateways

BUG FIXES:

  • Fix an issue where the external_dns_name field was read-write instead of read-only

0.5.29 (May 19, 2025)

ENHANCEMENTS:

  • Adds new VM instance attribute: external_dns_name
  • Deprecated: VM instance attribute fqdn is now deprecated and will be removed in the next major version. Use internal_dns_name instead

BUG FIXES:

  • Fixes an issue where state data for disks was being lost during import
  • Fixed an issue where the ib_partition_id field would be set to null when updating a nodepool

0.5.28 (April 18, 2025)

ENHANCEMENTS:

  • Adds support for kubeconfig resources
  • Adds ability to update kubernetes nodepool size in place
  • Supports importing kubernetes cluster state

BUG FIXES:

  • N/A

0.5.27 (February 7, 2025)

ENHANCEMENTS:

  • Allow fallback project IDs to be used with the VPC network resource

0.5.26 (January 30, 2025)

ENHANCEMENTS:

  • N/A

BUG FIXES:

  • N/A

0.5.25 (January 9, 2025)

ENHANCEMENTS:

  • Adds CMK node pool version specification.

BUG FIXES:

  • Removes deprecated CMK cluster configuration parameter.

0.5.24 (December 19, 2025)

ENHANCEMENTS:

  • Adds initial support for Crusoe Managed Kubernetes (CMK) clusters and node pools.

0.5.23 (December 13, 2024)

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.

0.5.22 (October 24, 2024)

BUG FIXES:

  • Fixes representation of disks to be order-agnostic.

0.5.21 (August 16, 2024)

BUG FIXES:

  • Fixes an issue with conversion of disk size from GiB to TiB.

0.5.20 (August 13, 2024)

ENHANCEMENTS:

  • Upgraded GoReleaser to V2.

0.5.19 (July 19, 2024)

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.

0.5.18 (May 28, 2024)

NEW FEATURES:

  • Support associating VMs and instance templates with reservations.

BUG FIXES:

  • Handle multiple network interfaces with equal or unspecified subnets.

0.5.17 (May 14, 2024)

BUG FIXES:

  • Fixes an issue where network interfaces were not saved if they were not specified.

0.5.16 (May 13, 2024)

ENHANCEMENTS:

  • Support multiple network interfaces when creating a VM.

0.5.15 (April 18, 2024)

ENHANCEMENTS:

  • Upgraded go version to 1.21.

BUG FIXES:

  • Fixes a separate issue with ordering of disks introduced in v0.5.14.

0.5.14 (April 15, 2024)

BUG FIXES:

  • Fixes ordering of disks attached to VMs.

0.5.13 (April 9, 2024)

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.

0.5.12 (March 15, 2024)

BUG FIXES:

  • Fixes an issue with the version update warning.

0.5.11 (March 8, 2024)

ENHANCEMENTS:

  • Add support for importing firewall rules and IB partitions.
  • Provide notification when a new version of the Terraform provider is available.

0.5.10 (February 14, 2024)

ENHANCEMENTS:

  • Add support for project deletion.

0.5.9 (February 7, 2024)

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 the tfplugindocs library.

0.5.8 (February 6, 2024)

ENHANCEMENTS:

  • Automate tagging and releasing a new version of the Terraform provider upon merging of new changes.

0.5.7 (February 5, 2024)

ENHANCEMENTS:

  • Update Crusoe Cloud API version to ensure FQDN values are not populated from the API.

0.5.6 (February 5, 2024)

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.

0.5.5 (February 2, 2024)

ENHANCEMENTS:

  • Add support for migrating the tfstate from older versions of the VM resource to newer versions of the schema with breaking changes.

0.5.4 (January 19, 2024)

ENHANCEMENTS:

  • Add linting to the pipeline when merging new changes.

0.5.3 (January 8, 2024)

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.

0.5.2 (December 7, 2023)

BUG FIXES:

  • Explicitly set the host_channel_adapters field to be null for non-IB enabled VMs.

0.5.1 (December 6, 2023)

BUG FIXES:

  • Fixes an issue with Terraform reporting unexpected host_channel_adapters.

0.5.0 (December 5, 2023)

NEW FEATURES:

  • Adds support for projects through the projects resource and datasource.
  • Changes the version of the Crusoe Cloud API used from v1alpha4 to v1alpha5.
  • Adds support for specifying a disk attachment_type and mode when attaching a disk to a VM.

UPGRADE NOTES:

  • Infiniband partitions are no longer specified using the ib_partition_id and instead as an object under the host_channel_adapters attribute.
    • 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_id top-level attribute of the resource of the resource being created. The project_id can be stored as a local variable, as suggested in the new project-variable example.
    • Having a default_project specified in the ~/.crusoe/config file (for example, default_project=my_cool_project_name)

0.4.2 (October 24, 2023)

ENHANCEMENTS:

  • Support updating firewall rules using the firewall rules resource.

0.4.1 (October 10, 2023)

ENHANCEMENTS:

  • Errors from the Crusoe Cloud API are now unpacked to provide more informative error messages.

0.4.0 (September 20, 2023)

NEW FEATURES:

  • Add support for static public IPs.

ENHANCEMENTS:

  • Requires specifying location when creating a VM resource (previously optional).

UPGRADE NOTES:

  • The location of the VM should be specified in the .tf file.

0.3.3 (August 24, 2023)

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).

0.3.2 (August 22, 2023)

ENHANCEMENTS:

  • Adds support for hot-attaching a disk to a VM.
  • Does not require VMs to be in the stopped state when attaching disks.

0.3.1 (August 18, 2023)

NEW FEATURES:

  • Adds support for specifying an image when creating a VM.
  • Allow specifying an image as a top-level attribute for the VM resource which creates the VM with the specified curated image.

0.3.0 (August 7, 2023)

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_id as a top-level attribute for the VM resource which creates the IB VM in that partition.

0.2.2 (June 15, 2023)

ENHANCEMENTS:

  • Add support for "*" as a shorthand for specifying all ports for firewall rule sources and destinations.

0.2.1 (May 27, 2023)

BUG FIXES:

  • Ignore null and unknown values in the storage size validator.

0.2.0 (May 27, 2023)

NEW FEATURES:

  • Initial release!