BREAKING CHANGES:
- resource/nomad_job: HCL1 parsing has been removed and is no longer available (#483)
- resource/nomad_job: The previously deprecated
hcl2.enabled
parameter has been removed (#483)
IMPROVEMENTS:
IMPROVEMENTS:
IMPROVEMENTS:
- New Data Source:
nomad_jwks
to retrieve the public keys used for signing workload identity JWTs (#447) - provider: update Nomad to 1.8.0 (#462)
- provider: update Go to 1.22.3 (#461)
- resource/acl_auth_method: add support for configuring a JWT auth-method (#448)
NOTES:
- This release includes the license file along with the provider binary in the released archive files (#455)
IMPROVEMENTS:
- data source/allocations: add support for
namespace
(#434) - provider: update Go to 1.22.1 (#439)
- resource/acl_auth_method: add support for
oidc_disable_userinfo
(#429)
BUG FIXES:
- resource/nomad_acl_auth_method: fixed a bug that caused an unexpected plan difference when the
token_name_format
argument was not defined (#442)
NOTES:
- deps: update Nomad dependency to ensure all code used is licensed under MPL-2.0
IMPROVEMENTS:
- Target Nomad 1.7.2: updated the nomad client to support Nomad API and jobspec version 1.7.2 (#404)
- provider: update Go to 1.21.5 (#399)
- resource/nomad_acl_auth_method: add support for
token_name_format
(#403) - resource/nomad_csi_volume: changes to
capacity_min
orcapacity_max
may now expand the volume instead of forcing replacement, on Nomad version 1.6.3 or later, if the CSI plugin supports it (#382) - resource/nomad_csi_volume: update import key to be
<volume id>@<namespace>
to allow importing volumes from namespaces other thandefault
(#408) - resource/nomad_csi_volume_registration: update import key to be
<volume id>@<namespace>
to allow importing volume registrations from namespaces other thandefault
(#408) - resource/nomad_job: read and submit original jobspec on state refresh and job register (#405)
- resource/nomad_job: Add
rerun_if_dead
attribute to allow forcing a job to run again if it's marked asdead
. (#407) - resource/nomad_job: update import key to be
<job id>@<namespace>
to allow importing jobs from namespaces other thandefault
(#408)
BUG FIXES:
- resource/nomad_acl_policy: fixed a bug where the namespace would be incorrectly calculated from a job identity (#396)
- resource/nomad_csi_volume_registration: fixed a bug that cause an import operation to not load all of the volume attributes (#402)
- resource/nomad_job: fixed a bug that could cause jobs to be registered in the incorrect namespace if the
NOMAD_NAMESPACE
environment variable is set (#386) - resource/nomad_job: fixed a bug that caused state changes even in case of errors during apply (#412)
- resource/nomad_volume: fixed a bug that cause an import operation to not load all of the volume attributes (#402)
- New Resource:
nomad_node_pool
manages node pools (#340) - New Resource:
nomad_variable
manages Nomad variables (#325) - New Data Source:
nomad_allocations
to retrieve a list of allocations (#358) - New Data Source:
nomad_node_pool
andnomad_node_pools
to retrieves one or mode node pools (#340) - New Data Source:
nomad_variable
retrieves a Nomad variable (#325)
BACKWARDS INCOMPATIBILITIES:
- provider: Terraform Plugin SDK upgraded to v2.10.1. Terraform versions prior to 0.12 are no longer supported. (#339)
- resource/nomad_job: Switch to HCL2 parsing by default. Jobs that require HCL1 parsing must set
hcl1 = true
. (#343) - resource/nomad_job: Deprecate field
allocation_ids
and do not retrieve the job's allocations by default. Setread_allocation_ids
totrue
if you must retain existing behavior, but consider using thenomad_allocations
data source instead. (#357)
DEPRECATIONS:
- resource/nomad_volume: The
nomad_volume
resource has been deprecated. Use the newnomad_csi_volume_registration
resource instead. (#344) - resource/nomad_external_volume: The
nomad_external_volume
resource has been deprecated. Use the newnomad_csi_volume
resource instead. (#344)
IMPROVEMENTS:
- Target Nomad 1.6.0: updated the nomad client to support Nomad API and jobspec version 1.6.0 (#345)
- provider: add
skip_verify
configuration to skip TLS verification (#319) - provider: update Go to 1.21.0 (#369)
- data source/nomad_namespace: add
node_pool_config
attribute (#355) - resource/nomad_acl_policy: add support for
job_acl
(#314) - resource/nomad_csi_volume: add support to import existing volumes. (#359)
- resource/nomad_csi_volume_registration: add support to import existing volumes. (#359)
- resource/nomad_job: add support to import existing jobs. (#359)
- resource/nomad_namespace: add
node_pool_config
attribute (#355)
BUG FIXES:
- data source/acl_auth_method: fix a bug where the values of
max_token_ttl
anddiscovery_ca_pem
were not persisted to state. (#339) - data source/acl_token: fix a bug where the value of
expiration_ttl
was not persisted to state. (#339) - data source/namespace: use type list to represent capabilities so its values can be indexed with Terraform SDKv2 (#339)
- data source/nomad_volume: fix panic when reading volume (#323)
- resources/nomad_acl_binding_rule: fix a bug where
bind_name
was required even whenbind_type
wasmanagement
. (#330) - resources/nomad_job: fix a bug that prevented deployments for jobs in namespaces other than
default
from being monitored. (#347) - resource/nomad_job: fix a bug that could result in unnecessary plan diffs from irrelevant changes. (#356)
- resource/nomad_volume: fix a bug that caused
capacity_min
andcapacity_max
to be mandatory. (#363) - resource/nomad_volume: fix a bug where
topology_request
was not persisted to state. (#342) - resource/nomad_external_volume: fix a bug where
topology_request
was not persisted to state. (#342)
IMPROVEMENTS:
- Target Nomad 1.5.2: updated the nomad client to support Nomad API, jobspec, and features of version 1.5.2 (#305)
- New Resource:
nomad_acl_auth_method
manages ACL auth methods in Nomad (#305) - New Resource:
nomad_acl_binding_rule
manages ACL binding rules in Nomad (#305)
IMPROVEMENTS:
- Target Nomad 1.4.1: updated the nomad client to support Nomad API, jobspec, and fetures of version 1.4.1 (#291)
- New Resource:
nomad_acl_role
manages ACL roles in Nomad (#284) - New Data Source:
nomad_acl_role
andnomad_acl_roles
retrieves and lists ACL roles (#284)
IMPROVEMENTS:
- resources/nomad_acl_token: add support for
role
andexpiration_ttl
(#286) - resources/nomad_namespace: add support for
meta
andcapabilities
(#287) - data source/nomad_namespace: add support for
meta
andcapabilities
(#287)
- Target Nomad 1.3.4: updated the nomad client to support Nomad API and jobspec version 1.3.4 (#282)
IMPROVEMENTS:
- provider: add
ignore_env_vars
configuration to allow specifying environment variables that should not be loaded by the provider. (#281) - provider: ignore
NOMAD_NAMESPACE
andNOMAD_REGION
when running in Terraform Cloud by default. (#281)
- Target Nomad 1.3.0: updated the Nomad client to support Nomad API and jobspec version 1.3.0 (#270)
BACKWARDS INCOMPATIBILITIES:
- provider: Don't read the
NOMAD_NAMESPACE
environment variable. This is a potentially breaking change, as it modifies the previous behaviour, but this was never intended to be supported. If you relied on this environment variable make sure you set the namespace in each resource before upgrading. (#271)
IMPROVEMENTS:
- provider: update Go to 1.17 (#270)
- resource/nomad_external_volume: add support for topologies (#270)
- resource/nomad_job: allow passing Consul and Vault token through the job resource (#261)
- resource/nomad_volume: add support for topologies (#270)
BUG FIXES:
- resource/external_volume: fixed a bug where volume mount flags were not set (#266)
- resource/scheduler_config: fixed an issue that caused the value of
memory_oversubscription_enabled
to never be set (#259) - resource/volume: fixed a bug where volume mount flags were not set (#269)
- Target Nomad 1.2.0: updated the Nomad client to support Nomad API and jobspec version 1.2.0 (#256)
BUG FIXES:
- data source/nomad_plugin: wait for the correct amount of expected controllers (#234)
- data source/nomad_plugin: wait for the correct amount of healthy nodes (#235)
This is the last release to support Terraform v0.11
- Target Nomad 1.1.0: updated the Nomad client to support Nomad API and jobspec version 1.1.0 (#229)
- New Resource:
nomad_external_volume
creates and registers an external volume with Nomad (#228)
IMPROVEMENTS:
- provider: update Go to 1.16 to add support for
darwin/arm64
(#218) - resource/nomad_job: allow custom timeout values on create and update (#227
BUG FIXES:
- provider: update Nomad API to prevent header access panic (#226)
- Target Nomad 1.0.4: updated the nomad client to support Nomad API and jobspec version 1.0.4 (#202)(#206)
IMPROVEMENTS:
- provider: add support for custom HTTP headers (#203)
- resource/nomad_job: allow passing HCL2 variables to job (#211)
- resource/nomad_job: support injecting consul token into job (#213)
BUG FIXES:
- provider: Revert Terraform Plugin SDK to v1.16.0 to support Terraform 0.11.x (#196)
This release will not work with Terraform v0.11.x. Please use v1.14.13
- Target Nomad 1.0.2: updated the nomad client to support Nomad API version 1.0.2 (#161)
BACKWARDS INCOMPATIBILITIES:
- resource/nomad_volume:
mount_options
is now a list, so configuration files need to be updated to remove the=
character (frommount_options = {...}
tomount_options {...}
) (#188)
FEATURES:
- provider: add support for HTTP basic auth (#189)
- resource/nomad_job: add initial support for jobspec parsing with HCL2 (#185)
IMPROVEMENTS:
- provider: Terraform Plugin SDK bumped to v2.4.0 (#161)
- provider: support TLS certs configured by strings (#184)
- resource/nomad_job: Nomad job parsing is pulled directly from nomad instead of being copied over (#161)
BUG FIXES:
- numerous (invalid but unused) fields from the task group and job schema have been removed (#161)
- resource/nomad_volume: fixed an issue where
mount_options
would always cause a change (#188)
- Target Nomad 1.0.0-rc1: updated the nomad client to support Nomad API version 1.0.0-rc1 (#175)
- New Data Source:
nomad_scheduler_config
retrieves the scheduler configuration in Nomad (#168)
BUG FIXES:
- resource/nomad_volume: register volume in the namespace specified in the configuration (#169)
- Target Nomad 1.0.0-beta2: updated the nomad client to support Nomad API version 1.0.0-beta2 (#158)
FEATURES:
- New Resource:
nomad_scheduler_config
allows management of cluster scheduler configuration (#157) - New Data Source:
nomad_scaling_policies
andnomad_scaling_policies
retrieves and lists scaling policies (#162) - New Data Source:
nomad_datacenters
lists the datacenters in a Nomad cluster (#165)
IMPROVEMENTS:
- resource/nomad_volume: added
mount_options
argument (#147)
- Target Nomad 0.12.2: updated the nomad client to support Nomad API version 0.12.2 (#140)
IMPROVEMENTS:
- resource/nomad_job: added
purge_on_destroy
option (#127 #130) - data source/nomad_namespace: added new data source to fetch info a Nomad namespace (#126)
- data source/nomad_acl_tokens: added new data source to fetch Nomad ACL tokens (#128)
- data source/nomad_job_parser: added new data source
nomad_job_parser
parses a jobspec from HCL to JSON (#136)
- Target Nomad 0.12.0: updated the nomad client to support Nomad API version 0.12.0 (#121)
IMPROVEMENTS:
- data source/nomad_plugin: for fetching information on a single CSI plugin (#123)
- data source/nomad_plugins: for fetching the list of available CSI plugins (#123)
- data source/nomad_volumes: for fetching the list of available CSI volumes (#123)
- resource/nomad_volume: for registering a CSI volume (#213)
- Target Nomad 0.11.3: updated the nomad client to support Nomad API version 0.11.3 (#113)
IMPROVEMENTS:
- resource/nomad_job: allow JSON input to have the same format as produced by the
nomad
CLI (#111)
BUG FIXES:
- resource/nomad_job: don't panic when JSON input is invalid (#111)
- resource/nomad_job: modified job monitoring to account for scenarios where no deployment is created (#116)
- Target Nomad 0.11.2: updated the nomad client to support Nomad API version 0.11.2 (#103)
BUG FIXES:
- resource/nomad_job: deployment info was not being set/unset according to
detach
(#104) - resource/nomad_job: customize diff cannot be run when new jobspec isn't available at time of diff (#92)
IMPROVEMENTS:
- Target Nomad 0.11.0: updated the nomad client to support Nomad API version 0.11.0 (#99)
IMPROVEMENTS:
- Target Nomad 0.10.3: updated the nomad client to support Nomad API version 0.10.3 (#96)
IMPROVEMENTS:
BUG FIXES:
- resource/nomad_job: Sort TaskGroup volumes to avoid
inconsistent final plan
errors (#93)
IMPROVEMENTS:
- Target Nomad 0.10.0: updated the nomad client to support Nomad API version 0.10.0 (#77)
BUG FIXES:
- resource/nomad_namespace: Prevent Terraform from trying to delete the
default
namespace since this operation is not allowed (#72) - resource/nomad_job: Don't fail planning if the Nomad server is not available (#66)
NOTES:
- The provider has switched to the standalone TF SDK, there should be no noticeable impact on compatibility. (#78)
IMPROVEMENTS:
- Better support for Nomad namespaces (#70)
IMPROVEMENTS:
- Target Nomad 0.9.1: updated the nomad client to support Nomad API verison 0.9.1 (#61)
- Option to monitor Job resources until deployment is complete (#64)
- Richer diffs for Nomad jobs (#63)
- Added
allocation_ids
as an attribute to Nomad Job resources. (#63)
INTERNAL:
- Acceptance tests are gated based on capability (skipped if Nomad endpoint doesn't have certain capability being tested) (#53)
- Terraform SDK bumped to v0.12.0-rc1, Nomad SDK to 0.9.x (#61)
- Provider is switched to go modules (#55)
IMPROVEMENTS:
- Target Nomad 0.8.6: updated the nomad client to support Nomad API version 0.8.6 (#46)
- New Data Source:
nomad_namespaces
lists the available namespaces (Nomad Enterprise only) (thanks, @jorgemarey!) (#41) - New Data Source:
nomad_deployments
lists all deployments (thanks, @slapula!) (#34) - New Data Source:
nomad_job
lists the jobs (thanks, @slapula!) (#32) - JSON Job Spec: Job specification can be provided as JSON (thanks, @smintz!) (#42)
FEATURES:
- New Resource:
nomad_acl_token
allows management of ACL tokens (#20) - New Resource:
nomad_acl_policy
allows management of ACL policies (#22) - New Data Source:
nomad_regions
lists the regions in a Nomad cluster (#24) - New Resource:
nomad_quota_specification
allows management of quotas (Nomad Enterprise only) (#25) - New Resource:
nomad_namespace
allows management of namespaces (Nomad Enterprise only) (#26) - New Resource:
nomad_sentinel_policy
manages Sentinel policies (Nomad Enterprise only) (#27)
IMPROVEMENTS:
- Add support for Sentinel policy overrides to Nomad jobs (#28)
- Add support for specifying Vault tokens at the provider level (#30)
IMPROVEMENTS:
- Add support for ACL tokens (#17)
IMPROVEMENTS:
- provider: Update Nomad to v0.6.0 (#7)
NOTES:
- Same functionality as that of Terraform 0.9.8. Repacked as part of Provider Splitout