107 Commits

Author SHA1 Message Date
Piotr Kazmierczak
c7233854b9 build: upgrade to Go 1.25.1 (#26823) 2025-10-03 08:59:12 +02:00
Aimee Ukasick
377674f93e Contributing README: Add section for creating an issue (#26805)
* Add section for creating an issue

* incorporate feedback

Co-authored-by: Tim Gross <tgross@hashicorp.com>

* Update contributing/README.md

---------

Co-authored-by: Tim Gross <tgross@hashicorp.com>
2025-09-19 10:49:54 -05:00
Deniz Onur Duzgun
8a96929870 bump: go and go-getter versions (#26713)
* bump: go and go-getter versions

* add changelog
2025-09-08 11:10:25 -04:00
Deniz Onur Duzgun
79bf619833 build: update toolchain to go 1.24.6 (#26451)
* build: update toolchain to go 1.24.6

* add changelog
2025-08-07 08:44:41 -04:00
Aimee Ukasick
a30cb2f137 Update UI, code comment, and README links to docs, tutorials (#26429)
* Update UI, code comment, and README links to docs, tutorials

* fix typo in ephemeral disks learn more link url

* feedback on typo

Co-authored-by: Tim Gross <tgross@hashicorp.com>

---------

Co-authored-by: Tim Gross <tgross@hashicorp.com>
2025-08-06 09:40:23 -05:00
Deniz Onur Duzgun
f23ca749e7 build: update toolchain to go 1.24.5 (#26297) 2025-07-18 13:38:11 -04:00
Tim Gross
94c3d23271 build: update toolchain to go 1.24.4 (#25999) 2025-06-05 16:26:20 -04:00
Tim Gross
3690a0118e build: update go toolchain to 1.24.3 (#25818) 2025-05-07 09:57:31 -04:00
Michael Schurter
95c914624e build: Update Go to v1.24.0 (#25623)
* build: Update Go to v1.24.0

Fixes Go CVE https://pkg.go.dev/vuln/GO-2025-3563
2025-04-08 16:07:47 -07:00
Tim Gross
4a1b050eb8 docs: extend code layout in contributing guides (#25330)
Expand this document with some rough signposts to the major packages that developers will need to know about when getting started.
2025-03-10 11:55:38 -04:00
James Rasell
2eb35a4678 build: Update Go to v1.24.1 (#25249) 2025-03-06 10:33:14 +00:00
James Rasell
aef33e264a build: update to go 1.23.6 (#25041) 2025-02-07 08:09:31 +00:00
James Rasell
7a450f5499 build: update to go 1.23.5 (#24963) 2025-01-28 15:47:00 +00:00
Seth Hoenig
b36c77781f build: update to go1.23.3 (#24419)
https://github.com/golang/go/issues?q=milestone%3AGo1.23.3+label%3ACherryPickApproved
2024-11-12 10:59:02 -06:00
Tim Gross
7dc57efe1b build: update go toolchain to 1.23.2 (#24108)
Picks up some small bug fixes but one especially relevant to Nomad is the
`os/exec` file descriptor, which could impact script check / change mode for
task drivers without isolated exec (ex. `raw_exec`).

Ref: https://github.com/golang/go/issues?q=milestone%3AGo1.23.2+label%3ACherryPickApproved
Ref: https://github.com/golang/go/issues/69402
2024-10-02 10:29:10 -04:00
James Rasell
370c1c06ac contributing: add note about first issue label. (#24002) 2024-09-19 15:28:29 +01:00
Seth Hoenig
212a72b203 deps update go1.23.1 (#23972)
* deps: update to go1.23.1

* deps: update to golangci-lint 1.61.0
2024-09-16 11:03:23 -05:00
Seth Hoenig
f89335e01b build: update to go1.22.6 (#23805) 2024-08-14 09:20:14 -05:00
Deniz Onur Duzgun
441f8f21ff build: update to go1.22.5 (#23498) 2024-07-03 15:33:40 -04:00
Tim Gross
c99428d553 build: update to go1.22.4 (#23172)
Update Go toolchain to 1.22.4, which addresses two vulnerabilities in the Go
stdlib.

* CVE-2024-24789: impacts handling of certain types of invalid zip files, which
  could be exploited to create a zip file with unexpected contents. This could
  potentially impact Nomad users of `artifact` blocks who download untrusted
  artifacts.
* CVE-2024-24790: impacts parsing of IPv4-mapped IPv6 addresses.
2024-06-05 09:03:15 -04:00
Seth Hoenig
422d62df89 checklist: remove steps for openapi for rpc (#20515) 2024-05-02 08:53:45 -05:00
Juana De La Cuesta
56bf253474 Add docs for disconnected block (#20147)
Expand the job settings to include the disconnect block and set as deprecated the fields that will be replaced by it.
2024-03-20 10:08:16 +01:00
Seth Hoenig
55b0795866 build: upgrade to go1.22 (#20066)
* build: upgrade to go1.22

* add cl

* build: use codecgen from go-msgpack v1.1.5+base32 and stringer 0.18.0

for compatability with go1.22

* ci: update golangci-lint to 1.56.2

* build: update hclogvet for go1.22

* build: bump to go1.22.1
2024-03-06 09:54:04 -06:00
Seth Hoenig
aad932eeee build: update to go1.21.6 (#19709) 2024-01-11 09:48:56 -06:00
Michael Schurter
7ef5c9e906 Update to Go 1.21.5 2023-12-05 11:23:31 -08:00
Seth Hoenig
cf2f48efd4 build: update to Go 1.21.4 (#19013) 2023-11-07 13:18:07 -06:00
Dave May
1f4965e877 docs: Add code fence to Improvements example (#18902) 2023-10-30 14:13:19 +00:00
Kerim Satirli
5e1bbf90fc docs: update all URLs to developer.hashicorp.com (#16247) 2023-10-24 11:00:11 -04:00
Tim Gross
cbd7248248 auth: use ACLsDisabledACL when ACLs are disabled (#18754)
The RPC handlers expect to see `nil` ACL objects whenever ACLs are disabled. By
using `nil` as a sentinel value, we have the risk of nil pointer exceptions and
improper handling of `nil` when returned from our various auth methods that can
lead to privilege escalation bugs. This is the final patch in a series to
eliminate the use of `nil` ACLs as a sentinel value for when ACLs are disabled.

This patch adds a new virtual ACL policy field for when ACLs are disabled and
updates our authentication logic to use it. Included:

* Extends auth package tests to demonstrate that nil ACLs are treated as failed
  auth and disabled ACLs succeed auth.
* Adds a new `AllowDebug` ACL check for the weird special casing we have for
  pprof debugging when ACLs are disabled.
* Removes the remaining unexported methods (and repeated tests) from the
  `nomad/acl.go` file.
* Update the semgrep rules to detect improper nil ACL checking and remove the
  old invalid ACL checks.
* Update the contributing guide for RPC authentication.

Ref: https://github.com/hashicorp/nomad-enterprise/pull/1218
Ref: https://github.com/hashicorp/nomad/pull/18703
Ref: https://github.com/hashicorp/nomad/pull/18715
Ref: https://github.com/hashicorp/nomad/pull/16799
Ref: https://github.com/hashicorp/nomad/pull/18730
Ref: https://github.com/hashicorp/nomad/pull/18744
2023-10-16 09:30:24 -04:00
Tim Gross
635afee376 build: bump to go 1.21.3 (#18717)
Go 1.21.3 fixes an important HTTP2 CVE (see CVE-2023-39325 and
CVE-2023-44487). Nomad does not use HTTP2 and is not vulnerable. However we
should pick up the toolchain bump if for no other reason than we don't have to
answer questions about that.
2023-10-10 16:37:24 -04:00
Seth Hoenig
d9341f0664 update go1.21 (#18184)
* build: update to go1.21

* go: eliminate helpers in favor of min/max

* build: run go mod tidy

* build: swap depguard for semgrep

* command: fixup broken tls error check on go1.21
2023-08-14 08:43:27 -05:00
James Rasell
738bdb213d build: update to go1.20.6 (#18044) 2023-07-24 16:13:22 +01:00
Juana De La Cuesta
20280d2445 Update checklist-rpc-endpoint.md (#17698)
* Update checklist-rpc-endpoint.md

* Update checklist-rpc-endpoint.md

* Update contributing/checklist-rpc-endpoint.md

Co-authored-by: Tim Gross <tgross@hashicorp.com>

---------

Co-authored-by: Tim Gross <tgross@hashicorp.com>
2023-06-27 10:52:38 +02:00
Tim Gross
ceb3b4c0f1 build: update to go1.20.5 (#17451)
Go released a security update to fix build-time code injection and execution via
CGO. This doesn't impact already-released versions of Nomad, just the build
toolchain, so we won't be releasing a Nomad security update to go with it.
2023-06-07 11:44:59 -04:00
Michael Schurter
4d9b969d81 build: upgrade from go 1.20.3 to 1.20.4 (#17056)
Includes CVE fixes that do *not* impact Nomad:

https://groups.google.com/g/golang-announce/c/MEb0UyuSMsU
2023-05-02 13:09:11 -07:00
Tim Gross
bb0466b23a upgrade go to 1.20.3 2023-04-05 12:18:19 -04:00
Tim Gross
a90df9dcad contrib: architecture guide to the drainer (#16569)
The drainer component is fairly complex. As part of upcoming work to fix some of
the drainer's rough edges, document the drainer's architecture from a Nomad
developer perspective.
2023-03-21 09:17:24 -04:00
Michael Schurter
fb085186b7 client/metadata: fix crasher caused by AllowStale = false (#16549)
Fixes #16517

Given a 3 Server cluster with at least 1 Client connected to Follower 1:

If a NodeMeta.{Apply,Read} for the Client request is received by
Follower 1 with `AllowStale = false` the Follower will forward the
request to the Leader.

The Leader, not being connected to the target Client, will forward the
RPC to Follower 1.

Follower 1, seeing AllowStale=false, will forward the request to the
Leader.

The Leader, not being connected to... well hoppefully you get the
picture: an infinite loop occurs.
2023-03-20 16:32:32 -07:00
Tim Gross
695df42d33 contrib: mock driver (#16573) 2023-03-20 16:35:32 -04:00
Seth Hoenig
1a01e87192 scheduler: annotate tasksUpdated with reason and purge DeepEquals (#16421)
* scheduler: annotate tasksUpdated with reason and purge DeepEquals

* cr: move opaque into helper

* cr: swap affinity/spread hashing for slice equal

* contributing: update checklist-jobspec with notes about struct methods

* cr: add more cases to wait config equal method

* cr: use reflect when comparing envoy config blocks

* cl: add cl
2023-03-14 09:46:00 -05:00
Michael Schurter
5f37b2fba0 build: update from go1.20.1 to go1.20.2 (#16427)
* build: update from go1.20.1 to go1.20.2

Note that the CVE fixed in go1.20.2 does *not* impact Nomad.

https://github.com/golang/go/issues/58647
2023-03-13 09:47:07 -07:00
Farbod Ahmadian
6226e568f0 build: correct Makefile to run smoke tests locally (#16137) 2023-02-16 10:58:39 -05:00
Tim Gross
1a96f9e752 build: update to go1.20.1 (#16182) 2023-02-14 15:03:26 -05:00
Luiz Aoqui
b667c58c35 docs: update CLI contrib checklist (#16073) 2023-02-07 09:46:27 -05:00
Seth Hoenig
535795abc8 build: update to go1.20 (#16029)
* build: update to go1.20

* build: use stringy go1.20 in circle yaml

* tests: handle new x509 certificate error structure in go1.20

* cl: add cl entry
2023-02-03 08:14:53 -06:00
Seth Hoenig
fd3f0d86c2 build: update to go 1.19.5 (#15769) 2023-01-13 09:57:32 -06:00
Seth Hoenig
dab4d7ed7a ci: swap freeport for portal in packages (#15661) 2023-01-03 11:25:20 -06:00
Seth Hoenig
72d58fcf72 make: add target cl for create changelog entry (#15186)
* make: add target cl for create changelog entry

This PR adds `tools/cl-entry` and the `make cl` Makefile target for
conveniently creating correctly formatted Changelog entries.

* Update tools/cl-entry/main.go

Co-authored-by: Luiz Aoqui <luiz@hashicorp.com>

* Update tools/cl-entry/main.go

Co-authored-by: Luiz Aoqui <luiz@hashicorp.com>

Co-authored-by: Luiz Aoqui <luiz@hashicorp.com>
2022-11-08 09:43:32 -06:00
Seth Hoenig
152f8af960 build: update to go1.19.3 (#15099) 2022-11-01 15:54:49 -05:00
Charlie Voiselle
eb1083b8b8 Update architecture-state-store.md (#15049) 2022-10-27 14:03:43 -04:00