796758b8a5
The existing version constraint uses logic optimized for package managers, not schedulers, when checking prereleases: - 1.3.0-beta1 will *not* satisfy ">= 0.6.1" - 1.7.0-rc1 will *not* satisfy ">= 1.6.0-beta1" This is due to package managers wishing to favor final releases over prereleases. In a scheduler versions more often represent the earliest release all required features/APIs are available in a system. Whether the constraint or the version being evaluated are prereleases has no impact on ordering. This commit adds a new constraint - `semver` - which will use Semver v2.0 ordering when evaluating constraints. Given the above examples: - 1.3.0-beta1 satisfies ">= 0.6.1" using `semver` - 1.7.0-rc1 satisfies ">= 1.6.0-beta1" using `semver` Since existing jobspecs may rely on the old behavior, a new constraint was added and the implicit Consul Connect and Vault constraints were updated to use it. |
||
---|---|---|
.. | ||
artifacts.hcl | ||
bad-artifact.hcl | ||
bad-ports.hcl | ||
basic.hcl | ||
basic_wrong_key.hcl | ||
default-job.hcl | ||
distinctHosts-constraint.hcl | ||
distinctProperty-constraint.hcl | ||
incorrect-service-def.hcl | ||
job-with-kill-signal.hcl | ||
migrate-job.hcl | ||
multi-network.hcl | ||
multi-resource.hcl | ||
multi-vault.hcl | ||
overlapping-ports.hcl | ||
parameterized_job.hcl | ||
periodic-cron.hcl | ||
regexp-constraint.hcl | ||
reschedule-job-unlimited.hcl | ||
reschedule-job.hcl | ||
service-check-bad-header-2.hcl | ||
service-check-bad-header.hcl | ||
service-check-driver-address.hcl | ||
service-check-initial-status.hcl | ||
service-check-restart.hcl | ||
service-meta.hcl | ||
set-contains-constraint.hcl | ||
specify-job.hcl | ||
task-nested-config.hcl | ||
tg-network.hcl | ||
tg-service-check.hcl | ||
vault_inheritance.hcl | ||
version-constraint.hcl |