IMPROVEMENTS:
digitalocean_kubernetes_cluster
: Add option to gracefully shutdown droplet
BUG FIXES:
- docs: Add code fence to docs for MongoDB.
IMPROVEMENTS:
digitalocean_kubernetes_cluster
: Add support for Kubernetes maintenance policy (#631). Thanks to @atombrella!digitalocean_kubernetes_cluster
,digitalocean_database_cluster
: Make create timeouts configurable for DBaaS and K8s clusters (#650).- docs: Fix Firewall Resource exported attributes documentation (#648). Thanks to @jubairsaidi!
- docs: Add MongoDB to database cluster docs (#651).
BUG FIXES:
digitalocean_database_cluster
: Protect against setting empty tags (#652).
IMPROVEMENTS:
- provider: Upgrade Terraform SDK to v2.6.1 (#642).
digitalocean_kubernetes_cluster
: Expose URNs for Kubernetes clusters (#626).- docs: Cover
required_providers
in the index page (#643). - docs: Update nginx example to work (#625). Thanks to @atombrella!
- Update issue templates (#633).
BUG FIXES:
digitalocean_loadbalancer
: Addcertificate_name
to load balancer data source (#641).digitalocean_droplet
: Changing SSH key for a Droplet should beForceNew
(#640).digitalocean_spaces_bucket
: Provide better error on malformated import (#629).
FEATURES:
- New Data Source:
digitalocean_database_replica
(#489)
IMPROVEMENTS:
digitalocean_spaces_bucket
,digitalocean_spaces_bucket_object
: Validate input for region (#618).digitalocean_custom_image
: Support distributing custom images to multiple regions (#616).digitalocean_custom_image
: Surface a better error to users if image import fails (#613).digitalocean_database_cluster
: Support MongoDB beta by handling password differences (#614).
IMPROVEMENTS:
digitalocean_kubernetes_cluster
,digitalocean_kubernetes_node_pool
: Support for Kubernetes node pool taints (#374).digitalocean_loadbalancer
: Support resizing load balancers (#606).
BUG FIXES:
- docs: Fix Kubernetes autoscaling docs for
min_nodes
(#602). Thanks to @3dinfluence!
NOTES:
- With the update to go 1.16 (#597),
the provider now supports
darwin_arm64
.
FEATURES:
datasource_digitalocean_firewall
: Adds Firewall datasource (#594)
IMPROVEMENTS:
- Run tests on pull_request not pull_request_target. (#589)
- kubernetes - enable surge upgrades by default during cluster creation (#584)
- Assign and remove project resources without unnecessary churn (Fixes: #585). (#586)
- dbaas replica: Add missing attrbutes to docs. (#588)
- Bump Kubernetes version used in documentation (#583)
BUG FIXES:
- Fix broken documentation links (#592)
- Fix docs and validation for expiry_seconds on registry docker credentials resource. (#582)
BUG FIXES:
digitalocean_database_cluster
: Protect against panic if connection details not available. (#577).digitalocean_cdn
: Handle certificate name updates. (#579).
NOTES:
digitalocean_app
: In order to support additional features, thedomains
attribute has been deprecated and will be removed in a future release. It has been replaced by a repeatabledomain
block which supports wildcard domains and specifying DigitalOcean managed zones.
IMPROVEMENTS:
digitalocean_app
: Deprecate domains list in favor of domain block. (#572).digitalocean_app
: Add support for images as a component source (#565). Thanks to @rienafairefr and @acraven!digitalocean_app
: Add support for job components (#566). Thanks to @rienafairefr and @acraven!digitalocean_app
: Add support forinternal_ports
(#570). Thanks to @rienafairefr!
BUG FIXES:
digitalocean_app
: Allow multiple routes for services and static sites (#571).
IMPROVEMENTS:
digitalocean_app
: Add support for global env vars (#549).digitalocean_app
: Add GitLab support (#556).digitalocean_app
: Supportcatchall_document
for static sites (#539).digitalocean_custom_image
: Support updatingdescription
anddistribution
(#538). Thanks to @frezbo!
BUG FIXES:
digitalocean_vpc
: Protect against race conditions in IP range assignment (#552).digitalocean_app
: Mark env var values as sensitive (#554).
IMPROVEMENTS:
- provider: Build and release OpenBSD binaries (#533).
digitalocean_loadbalancer
: Add support for newsize
attribute (#532). Thanks to @anitgandhi!
BUG FIXES:
digitalocean_database_cluster
: Handle Redis version change with DiffSuppressFunc (#534).
FEATURES:
- New Data Source:
digitalocean_ssh_keys
(#519) Thanks to @stack72! - New Resource:
digitalocean_custom_image
(#517) Thanks to @frezbo!
BUG FIXES:
digitalocean_kubernetes_node_pool
: Validate min_nodes is at least 1 and fix example (#525).digitalocean_app
: Document the database spec (#524).digitalocean_container_registry
: Update docs w/subscription_tier_slug
(#523).
NOTES:
- DigitalOcean Container Registry is now in general availablity and requires a subscription plan. As a result, the
digitalocean_container_registry
resource now requires setting asubscription_tier_slug
.
IMPROVEMENTS:
digitalocean_container_registry
: Supports setting and updating asubscription_tier_slug
(#516).
BUG FIXES:
digitalocean_app
: Suppress diff when env type isGENERAL
(#515).
BUG FIXES:
digitalocean_spaces_bucket
: Add retry logic to ensure bucket is available before proceeding (#510).- Docs: Fix broken link to DigitalOcean app spec (#509). Thanks to @edbedbe!
BUG FIXES:
digitalocean_cdn
,digitalocean_app
: Fix panics introduced in move from ReadFunc to ReadContextFunc (#505).
NOTES:
- This release uses v2.0.3 of the Terraform Plugin SDK and now only supports Terraform v0.12 and higher.
- The
certificate_id
attribute of thedigitalocean_cdn
anddigitalocean_loadbalancer
resources has been deprecated in favor ofcertificate_name
. It will become a read-only computed attrbute in a future release.
FEATURES:
- New Data Source:
digitalocean_records
(#502) Thanks to @tdyas!
IMPROVEMENTS:
- provider: Upgrade to v2.0.3 of the Terraform Plugin SDK (#492, #503). Thanks to @tdyas!
- docs: Migrate documentation to new registry format (#501).
BUG FIXES:
digitalocean_certificate
,digitalocean_cdn
,digitalocean_loadbalancer
: Use certificate name as primary identifier instead of ID as a Let's Encrypt certificate's ID will change when it's auto-renewed (#500).
FEATURES:
- New Resource:
digitalocean_app
(#497) - New Data Source:
digitalocean_app
(#497) - New Data Source:
digitalocean_domains
(#484) Thanks to @tdyas!
IMPROVEMENTS:
- All list-style data sources now support
all
andmatch_by
attributes for filter blocks (#491) and other improvements (#481). Thanks to @tdyas! - Additional acceptance test sweepers (#458).
- Upgrade to v1.15.0 of the terraform-plugin-sdk (#483). Thanks to @tdyas!
BUG FIXES:
- resource/digitalocean_record: Allow for SRV records with port 0 (#475).
IMPROVEMENTS:
- resource/digitalocean_kubernetes_cluster: Enable auto_upgrade on Kubernetes clusters (#237). Thanks to @lfarnell!
- resource/digitalocean_kubernetes_cluster: Add support for surge upgrades (#465). Thanks to @varshavaradarajan!
BUG FIXES:
- resource/digitalocean_container_registry_docker_credentials: Update default expiry and don't ignore error (#467).
IMPROVEMENTS:
- resource/digitalocean_loadbalancer: Adds 'https' to list of acceptable healthcheck protocols (#460). Thanks to @gcox!
- provider: Update module and import paths for repository transfer (#463).
BUG FIXES:
- resource/digitalocean_vpc: Increase timeout on VPC deletion retry (#455).
FEATURES:
- New Data Source:
digitalocean_tags
(#451).
IMPROVEMENTS:
- resource/digitalocean_tag, datasource/digitalocean_tag: Export the counts of tagged resources as a computed attribute (#451).
BUG FIXES:
- datasource/digitalocean_droplets: Set ID in
flattenDigitalOceanDroplet
to ensure the individual Droplets have their ID exported in the list data source. #450).
FEATURES:
- New Resources:
digitalocean_container_registry
,digitalocean_container_registry_docker_credentials
(#335). Thanks to Zelgius! - New Data Source:
digitalocean_container_registry
(#335). Thanks to Zelgius!
IMPROVEMENTS:
- resource/digitalocean_database_replica: Add support for specifying a VPC for read-only replicas (#440).
BUG FIXES:
- resource/digitalocean_kubernetes_cluster: Add forcenew to vpc_uuid field (#443). Thanks to KadenLNelson!
- resource/digitalocean_kubernetes_cluster: Fail faster on cluster create error #435).
FEATURES:
- resource/digitalocean_loadbalancer, datasource/digitalocean_loadbalancer: Add support for the backend keepalive option (#427).
BUG FIXES:
- provider: Spaces API Endpoint setting is optional (#431).
FEATURES:
- New Data Sources:
digitalocean_spaces_bucket
anddigitalocean_spaces_buckets
(#416) Thanks to @tdyas! - New Data Sources:
digitalocean_spaces_bucket_object
anddigitalocean_spaces_bucket_objects
(#423) Thanks to @tdyas! - New Data Sources:
digitalocean_droplets
(#418) Thanks to @tdyas!
BUG FIXES:
- resource/digitalocean_record: Fix handling of CAA records with iodef tag (#421).
- resource/digitalocean_loadbalancer: Fix support for multiple forwarding rules (#414).
FEATURES:
- New Resource: digitalocean_vpc (#410)
- New Data Source: digitalocean_vpc (#410)
- New Resource: digitalocean_spaces_bucket_object (#408) Thanks to @tdyas!
- resource/digitalocean_spaces_bucket: Support for bucket versioning (#409). Thanks to @tdyas!
- resource/digitalocean_spaces_bucket: Support for lifecycle rules (#411). Thanks to @tdyas!
IMPROVEMENTS:
- provider: Support overriding the Spaces API endpoint using the
spaces_endpoint
attribute orSPACES_ENDPOINT_URL
environment variable. (#384). Thanks to @tdyas!
BUG FIXES:
- resource/digitalocean_volume: Revert local name validation to support volumes created before DigitalOcean API change (#406). Thanks to @Amygos & @BrianHicks!
- resource/digitalocean_spaces_bucket: Region attribute should be ForceNew (#413).
BUG FIXES:
- resource/digitalocean_volume: Fix validation on volume names (#400). Thanks to @Nevon!
- datasource/digitalocean_kubernetes_cluster: Don't error when
terraform:default-node-pool
tag is not found (#399). - resource/digitalocean_kubernetes_cluster: Fix local failure for Kubernetes interoperablity acceptance test when local kubeconfig file is present (#402).
FEATURES:
- New Data Sources: digitalocean_regions and digitalocean_region (#380) Thanks to @tdyas!
- New Data Sources: digitalocean_projects and digitalocean_project (#391) Thanks to @tdyas!
- New Data Source: digitalocean_images (#394) Thanks to @tdyas!
- New Resource: digitalocean_project_resources (#396)
- resource/digitalocean_kubernetes_cluster, resource/digitalocean_kubernetes_node_pool: Add support for importing existing resources (#365). Thanks to @tdyas!
IMPROVEMENTS:
- datasource/digitalocean_droplet_snapshot, datasource/digitalocean_volume_snapshot resource/digitalocean_floating_ip, resource/digitalocean_floating_ip_assignment: Update for deprecated terraform-plugin-sdk helper/validation methods (#376).
- resource/digitalocean_kubernetes_cluster, resource/digitalocean_kubernetes_node_pool: Add support for Kubernetes node pool labels (#379). Thanks to @tdyas!
- internal/datalist: Add a generic filter/sort framework for datasources (#385). Thanks to @tdyas!
- resource/digitalocean_database_user: Add support for MySQL user authentication management (#393).
BUG FIXES:
- datasource/digitalocean_droplet: Validate only one of "id", "tag", or "name" are provided as an argument (#375). Thanks to @tdyas!
- resource/digitalocean_volume: Validate that volume names are lowercase and alphanumeric (#386). Thanks to @danrabinowitz!
- resource/digitalocean_database_cluster: "version" is now a required argument (#382).
IMPROVEMENTS:
- resource/digitalocean_kubernetes_cluster, resource/digitalocean_kubernetes_node_pool: Expose the Droplet IDs for individual nodes (#366). Thanks to @tdyas!
- datasource/digitalocean_droplet: Allow lookup by ID (#366). Thanks to @tdyas!
BUG FIXES:
- resource/digitalocean_project: Handle pagination for project resources (#368).
IMPROVEMENTS:
- resource/digitalocean_database_cluster: Add support for tags (#353). Thanks to @aqche!
BUG FIXES:
- provider: Mark API token as optional to support Spaces only usage and running
validate
without a token specified (#356).
FEATURES:
- New Data Source:
digitalocean_kubernetes_versions
(#341) - New Resource: :
digitalocean_database_firewall
(#340)
IMPROVEMENTS:
- resource/digitalocean_volume, datasource/digitalocean_volume: Add support for tags (#336). Thanks to @aqche!
- resource/digitalocean_volume_snapshot, datasource/digitalocean_volume_snapshot: Add support for tags (#339). Thanks to @aqche!
- resource/digitalocean_database_cluster: Add support for Redis eviction policies (#342).
- resource/digitalocean_database_cluster: Add support for configuring SQL mode (#347).
- resource/digitalocean_certificate: Don't store full certificate data in state file (#156).
FEATURES:
- New Resource:
digitalocean_database_connection_pool
(#225) Thanks to @Photonios!
IMPROVEMENTS:
- resource/digitalocean_kubernetes_cluster: Add support for upgrading cluster versions (#333). Thanks to @aqche!
FEATURES:
- New Resource:
digitalocean_database_user
(#328) Thanks to @Permagate! - New Resource:
digitalocean_database_db
(#327) Thanks to @Permagate! - New Data Source:
digitalocean_sizes
(#325) hanks to @Permagate! - New Data Source:
digitalocean_account
(#324) Thanks to @Permagate!
IMPROVEMENTS:
- resource/digitalocean_kubernetes_node_pool: Add support for node pool auto-scaling (#307). Thanks to @snormore!
- resource/digitalocean_space_bucket: Add support for configuring CORS rules (#254). Thanks to @pohzipohzi!
- Migrate to using the Terraform Plugin SDK (#316). Thanks to @stack72!
- website: Update all documentation to use v0.12 syntax (#314).
BUG FIXES:
- resource/digitalocean_kubernetes_cluster: Ensure
raw_config
is a valid kubeconfig file (#315).
IMPROVEMENTS:
- resource/digitalocean_database_cluster: Expose private connection details (#299). Thanks to @clickyotomy!
- resource/digitalocean_database_cluster: Mark
uri
,private_uri
,password
as sensitive (#298). Thanks to @clickyotomy! - resource/digitalocean_database_replica: Expose private connection details (#302).
- resource/digitalocean_kubernetes_cluster: Expose new
token
attribute for use in Kubernetes authentication (#309). Thanks to @snormore! - resource/digitalocean_kubernetes_cluster: Only fetch new Kubernetes credentials when expired (#311). Thanks to @snormore!
IMPROVEMENTS:
- New Data Source:
digitalocean_database_replica
(#224) Thanks to @Zyqsempai! - resource/digitalocean_database_cluster: Add support for tags (#253). Thanks to @Zyqsempai!
- resource/digitalocean_kubernetes_cluster: Mark the kube_config field as sensitive (#289). Thanks to @RoboticCheese!
- provider: Remove usage of
github.com/hashicorp/terraform/config
package (#291). Thanks to @appilon! - datasource/digitalocean_droplet: Allow lookup by tag (#290). Thanks to @danramteke!
- provider: Remove usage of deprecated
terraform.VersionString()
(#295).
IMPROVEMENTS:
- resource/digitalocean_droplet: Expose created_at attribute (#277). Thanks to @petems!
- datasource/digitalocean_droplet: Expose created_at attribute (#277). Thanks to @petems!
BUG FIXES:
- resource/digitalocean_database_cluster:
version
should not be required (#288). - resource/digitalocean_droplet: Verify Droplet is destroyed before removing from state (#283).
IMPROVEMENTS:
- provider: Add the ability to set
DIGITALOCEAN_ACCESS_TOKEN
(#260). Thanks to @stack72! - resource/digitalocean_droplet: Support enabling and disabling backups on Droplets (#266).
- resource/digitalocean_database_cluster: Allow Databases to have URNs for use with Projects (#270). Thanks to @stack72!
BUG FIXES:
- Consistently protect against nil response in error handling (#272).
FEATURES:
- New Data Source:
digitalocean_database_cluster
(#251). Thanks to @stack72!
BUG FIXES:
- resource/digitalocean_droplet: DigitalOcean doesn't support IPv6 private networking. Mark the
ipv6_address_private
attribute in the schema as removed (#181). Thanks to @stack72! - resource/digitalocean_kubernetes_cluster: Do not filter out node pool tags also applied to the cluster (#184).
IMPROVEMENTS:
- resource/digitalocean_droplet: Make importing more robust and test error case when importing non-existent resource (#231).
- resource/digitalocean_spaces_bucket: Simplify importing and test error case when importing non-existent resource (#231).
- resource/digitalocean_volume: Remove need for custom import function (#231).
BUG FIXES:
- resource/digitalocean_record: Simplify importing and provide better error messaging when attempting to import non-existent resource (#232).
- resource/digitalocean_kubernetes_cluster: Fix access to kube_config attributes under Terraform 0.12 by using TypeList rather than TypeSet in the schema (#239).
IMPROVEMENTS:
- Terraform SDK upgrade with compatibility for Terraform v0.12.
FEATURES:
- New Resource:
digitalocean_spaces_bucket
(#42). Thanks to @slapula! - New Resource:
digitalocean_database_cluster
(#198) Thanks to @slapula! - New Resource:
digitalocean_cdn
(#204) - New Resource:
digitalocean_project
(#207)
IMPROVEMENTS:
- provider: The DigitalOcean API URL can now be overridden using
api_endpoint
attribute (#84). Thanks to @protochron! - provider: Refactor logic for logging API requests/responses (#190). Thanks to @radeksimko!
- resource/digitalocean_loadbalancer: Add support for enabling PROXY Protocol (#199).
- docs/digitalocean_firewall: Update syntax to be compatible with Terraform 0.12-beta (#201).
- resource/digitalocean_droplet: Expose uniform resource name (URN) attribute for use with Projects resource (#215).
- resource/digitalocean_loadbalancer: Expose uniform resource name (URN) attribute for use with Projects resource (#214).
- resource/digitalocean_domain: Expose uniform resource name (URN) attribute for use with Projects resource (#213).
- resource/digitalocean_volume: Expose uniform resource name (URN) attribute for use with Projects resource (#212).
- resource/digitalocean_floating_ip: Expose uniform resource name (URN) attribute for use with Projects resource (#211).
- resource/digitalocean_spaces_bucket: Expose uniform resource name (URN) attribute for use with Projects resource (#210).
BUG FIXES:
- resource/digitalocean_certificate: Fix issue when using computed values for custom certificates (#163).
- resource/digitalocean_droplet: Prevent unexpected rebuilds for Droplets created using image slugs when the backing image is updated (#152).
NOTES:
- This provider is now built and tested using Go 1.11.x (#178).
- Dependencies for this provider are now managed using Go Modules (#187).
FEATURES:
- New Data Source:
digitalocean_droplet_snapshot
(#161). Thanks to @thefossedog! - New Data Source:
digitalocean_kubernetes_cluster
(#169) Thanks to @nicholasjackson! - New Resource
digitalocean_droplet_snapshot
(#161). Thanks to @thefossedog! - New Resource:
digitalocean_kubernetes_cluster
(#169) Thanks to @nicholasjackson! - New Resource:
digitalocean_kubernetes_node_pool
(#169) Thanks to @nicholasjackson!
BUG FIXES:
- resource/digitalocean_certificate: Suppress diff for DNS names on custom certificate resources (#146).
- resource/digitalocean_floating_ip_assignment: Ensure resource works with the
create_before_destroy
lifecycle rule (#147).
BUG FIXES:
- resource/digitalocean_droplet: Ensure the image ID is set to state when importing a Droplet (#144)
FEATURES:
-
New Resource
digitalocean_floating_ip_assignment
(#115) Thanks to @justinbarrick! -
New Resource
digitalocean_volume_attachment
(#130) -
New Datasource:
digitalocean_domain
(#63) Thanks to @slapula! -
New Datasource:
digitalocean_record
(#64) Thanks to @slapula! -
New Datasource:
digitalocean_certificate
(#137) -
New Datasource:
digitalocean_droplet
(#137) -
New Datasource:
digitalocean_floating_ip
(#137) -
New Datasource:
digitalocean_loadbalancer
(#137) -
New Datasource:
digitalocean_ssh_key
(#137) -
New Datasource:
digitalocean_tag
(#137) -
New Datasource:
digitalocean_volume
(#137) -
New Datasource:
digitalocean_volume_snapshot
(#139)
IMPROVEMENTS:
- resource/digitalocean_record: Manage CAA domain records (#48). Thanks to @jaymecd!
- resource/digitalocean_certificate: Existing resources are now importable (#37). Thanks to @jonnydford!
- resource/digitalocean_loadbalancer: Existing resources are now importable (#37). Thanks to @jonnydford!
- resource/digitalocean_record: Existing resources are now importable (#71). Thanks to @slapula!
- resource/digitalocean_tag: Validate tag name when creating (#80). Thanks to @inkel!
- resource/digitalocean_volume: Add support for filesystem type for volume resources (#111). Thanks to @pgrzesik!
- resource/digitalocean_certificate: Added support for LetsEncrypt issued certificates. (#129)
- resource/digitalocean_volume: Added support for volume resizing. (#125)
- resource/digitalocean_volume: Added support for creating a volume from a volume snapshot. (#139)
- resource/digitalocean_droplet: Updated the state representation of the
user_data
property to a hashed one. (#128)
BUG FIXES:
- resource/digitalocean_floating_ip: Gracefully handle missing Floating IPs. (#55). Thanks to @aknuds1!
- resource/digitalocean_floating_ip: Gracefully handle unassigning Floating IPs when the Droplet has already been destroyed. (#57). Thanks to @aknuds1!
- resource/digitalocean_droplet: When IPv6 and/or private networking are not enabled, default their addresses to "". (#97)
- resource/digitalocean_droplet: Don't panic when enabling private_networking or ipv6 on an existing Droplet. (#94)
- resource/digitalocean_droplet: Set resize_disk to the default value on import. (#95)
- resource/digitalocean_record: Fixed the function for generating a records FQDN to match DO API behaviour. (#51)
- resource/digitalocean_firewall: Refactored the firewall resource for better stability of diffs and updates. (#133)
- resource/digitalocean_record_test: Enable setting a DNS' record weight to 0 (via updated godo SDK). (#132)
IMPROVEMENTS:
- provider: Report Terraform version via User-Agent (#43)
- resource/digitalocean_droplet: Add
monitoring
field (#38)
BUG FIXES:
- resource/digitalocean_droplet: Avoid crash on conditional volumes (#40)
- resource/digitalocean_droplet: Make sure we've got a proper IP address from DO (#29)
- resource/digitalocean_firewall: Correctly handle
destination_tags
(#36) - resource/digitalocean_firewall: Suppress diff for 'all' port range (#41)
BUG FIXES:
- resource/digitalocean_droplet: Detaching the disks before deleting a droplet (#22)
NOTES:
Bumping the provider version to get around provider caching issues - still same functionality
FEATURES:
- New Resource:
digitalocean_firewall
(#1)