5124 Commits

Author SHA1 Message Date
Aimee Ukasick
30e63fe6f3 Docs: Add "/v1" where missing so endpoint docs are consistent (#25798)
* add /v1 where missing

* finish adding /v1 where missing

* remove v1 from ui.mdx
2025-05-22 08:11:46 -05:00
Aimee Ukasick
c12ad24de0 Docs: SEO updates to operations, other specs sections (#25518)
* seo operation section

* other specifications section

* Update website/content/docs/other-specifications/variables.mdx

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

---------

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
2025-05-22 07:47:05 -05:00
Chris Roberts
1aa416e2f2 Support applying policy to all jobs within namespace (#25871)
Workflow identities currently support ACL policies being applied
to a job ID within a namespace. With this update an ACL policy
can be applied to a namespace. This results in the ACL policy
being applied to all jobs within the namespace.
2025-05-21 07:44:14 -07:00
Tim Gross
41cf1b03b4 host volumes: -force flag for delete (#25902)
When a node is garbage collected, we leave behind the dynamic host volume in the
state store. We don't want to automatically garbage collect the volumes and risk
data loss, but we should allow these to be removed via the API.

Fixes: https://github.com/hashicorp/nomad/issues/25762
Fixes: https://hashicorp.atlassian.net/browse/NMD-705
2025-05-21 08:55:52 -04:00
Aimee Ukasick
13a59a57e6 Docs: Community plugins section refactor (#25891)
* Docs: Point community plugins links to their docs/repos

* fix typo in redirect.js
2025-05-20 08:35:06 -05:00
Piotr Kazmierczak
cdc308a0eb wi: new endpoint for listing workload attached ACL policies (#25588)
This introduces a new HTTP endpoint (and an associated CLI command) for querying
ACL policies associated with a workload identity. It allows users that want
to learn about the ACL capabilities from within WI-tasks to know what sort of
policies are enabled.

---------

Co-authored-by: Tim Gross <tgross@hashicorp.com>
Co-authored-by: Aimee Ukasick <aimee.ukasick@hashicorp.com>
2025-05-19 19:54:12 +02:00
Piotr Kazmierczak
953910dc5d docs: emphasize HOME and USER env vars for tasks that use custom user setting (#25879)
In #25859 we fixed the task environment variables to account for user field
setting. This PR follows up with documentation adjustments.
2025-05-19 19:00:54 +02:00
Aimee Ukasick
986f3c727a Docs: SEO job spec section (#25612)
* action page

* change all page_title fields

* update title

* constraint through migrate pages

* update page title and heading to use sentence case

* fix front matter description

* Apply suggestions from code review

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

---------

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
2025-05-19 09:02:07 -05:00
Martina Santangelo
18eddf53a4 commands: adds job start command to start stopped jobs (#24150)
---------

Co-authored-by: Michael Smithhisler <michael.smithhisler@hashicorp.com>
Co-authored-by: Tim Gross <tgross@hashicorp.com>
2025-05-14 15:17:44 -04:00
Tim Gross
8a5a057d88 offline license utilization reporting (#25844)
Nomad Enterprise users operating in air-gapped or otherwise secured environments
don't want to send license reporting metrics directly from their
servers. Implement manual/offline reporting by periodically recording usage
metrics snapshots in the state store, and providing an API and CLI by which
cluster administrators can download the snapshot for review and out-of-band
transmission to HashiCorp.

This is the CE portion of the work required for implemention in the Enterprise
product. Nomad CE does not perform utilization reporting.

Ref: https://github.com/hashicorp/nomad-enterprise/pull/2673
Ref: https://hashicorp.atlassian.net/browse/NMD-68
Ref: https://go.hashi.co/rfc/nmd-210
2025-05-14 09:51:13 -04:00
Aimee Ukasick
79d35f072a Move environment section; CE-712 (#25845) 2025-05-13 12:31:08 -05:00
James Rasell
0b265d2417 encrypter: Track initial tasks for is ready calculation. (#25803)
The server startup could "hang" to the view of an operator if it
had a key that could not be decrypted or replicated loaded from
the FSM at startup.

In order to prevent this happening, the server startup function
will now use a timeout to wait for the encrypter to be ready. If
the timeout is reached, the error is sent back to the caller which
fails the CLI command. This bubbling of error message will also
flush to logs which will provide addition operator feedback.

The server only cares about keys loaded from the FSM snapshot and
trailing logs before the encrypter should be classed as ready. So
that the encrypter ready function does not get blocked by keys
added outside of the initial Raft load, we take a snapshot of the
decryption tasks as we enter the blocking call, and class these as
our barrier.
2025-05-07 15:38:16 +01:00
Juana De La Cuesta
dfc1412e22 Merge pull request #25721 from hashicorp/NMD-321-reload
Force an agent return if there is an error on reload
2025-05-01 14:43:08 +02:00
Juana De La Cuesta
dcaa96f0e5 Update website/content/docs/upgrade/upgrade-specific.mdx
Co-authored-by: Aimee Ukasick <aimee.ukasick@hashicorp.com>
2025-04-30 15:03:49 +02:00
zouyu1026
18e508ff05 Update index.mdx (#25755)
the old link https://caravanproject.io/ point to Gambling website.
update the github wiki
2025-04-30 06:22:29 -05:00
Juana De La Cuesta
e8fb36f4d3 Style: typo 2025-04-30 13:01:57 +02:00
Juanadelacuesta
9288a3141a func and docs: Use the config from the client and not from the agent that is already parsed. Add the breaking change to the release notes 2025-04-30 10:53:02 +02:00
Tu Nguyen
bee2400958 update iframe to videoembed (#25783) 2025-04-29 10:58:04 -05:00
Aimee Ukasick
4075b0b8ba Docs: Add garbage collection page (#25715)
* add garbage collection page

* finish client; add resources section

* finish server section; task driver section

* add front matter description

* fix typos

* Address Tim's feedback
2025-04-28 08:37:23 -05:00
Adrian Todorov
a4dd1c962e docs: Update Nvidia device driver docs to link to list of supported cards and newer versions (#25531)
Co-authored-by: Aimee Ukasick <aimee.ukasick@hashicorp.com>
2025-04-28 08:32:58 +01:00
scoss
01dad73a4e tls_verify fix (#25725) 2025-04-23 13:50:36 -05:00
Daniel Bennett
06d4898005 Merge remote-tracking branch 'origin/dependabot/npm_and_yarn/website/hashicorp/platform-cli-2.8.0' into combined-pr-branch 2025-04-22 15:13:02 -04:00
Daniel Bennett
2040bac97c Merge remote-tracking branch 'origin/dependabot/npm_and_yarn/website/babel/traverse-7.24.7' into combined-pr-branch 2025-04-22 15:13:02 -04:00
Daniel Bennett
4985884f54 Merge remote-tracking branch 'origin/dependabot/npm_and_yarn/website/prettier-3.5.3' into combined-pr-branch 2025-04-22 15:13:00 -04:00
tehut
b11619010e Add priority flag to Dispatch CLI and API (#25622)
* Add priority flag to Dispatch CLI and DispatchOpts() helper to HTTP API
2025-04-18 13:24:52 -07:00
Aimee Ukasick
d293684d3d Update rel notes, upgrade links to point to correct previous ver (#25652) 2025-04-11 10:22:23 -05:00
Ranjandas
8b33584fbf Add note to root keyring remove command (#25637)
* Add note to root keyring remove command

This PR updates the documentation for the root keyring remove command to note that the full key ID must be provided for the command to function correctly.

* Move keyID explanation to usage section

---------

Co-authored-by: Aimee Ukasick <aimee.ukasick@hashicorp.com>
2025-04-10 08:58:48 -05:00
Tim Gross
27caae2b2a api: make attempting to remove peer by address a no-op (#25599)
In Nomad 1.4.0 we removed support for Raft Protocol v2 entirely. But the
`Operator.RemoveRaftPeerByAddress` RPC handler was left in place, along with its
supporting HTTP API and command line flags. Using this API will always result in
the Raft library error "operation not supported with current protocol version".

Unfortunately it's still possible in unit tests to exercise this code path, and
these tests are quite flaky. This changeset turns the RPC handler and HTTP API
into a no-op, removes the associated command line flags, and removes the flaky
tests. I've also cleaned up the test for `RemoveRaftPeerByID` to consolidate
test servers and use `shoenig/test`.

Fixes: https://hashicorp.atlassian.net/browse/NET-12413
Ref: https://github.com/hashicorp/nomad/pull/13467
Ref: https://developer.hashicorp.com/nomad/docs/upgrade/upgrade-specific#raft-protocol-version-2-unsupported
Ref: https://github.com/hashicorp/nomad-enterprise/actions/runs/13201513025/job/36855234398?pr=2302
2025-04-10 09:19:25 -04:00
Aimee Ukasick
87aabc9af2 Docs: 1.10 release notes, some factoring, sentinel apply update (#25433)
* Docs: 1.10 release notes and upgrade factoring

* Update based on code review suggestions

* add CLI for disabling UI URL hints

* fix indentation

* nav: list release notes in reverse order

fix broken link to v1.6.x docs

* Update PKCE section from Daniel's latest PR

* update pkce per daniel's suggestion

* Add dynamic host volumes governance section from blog
2025-04-09 15:43:58 -07:00
Daniel Bennett
5c8e436de9 auth: oidc: disable pkce by default (#25600)
our goal of "enable by default, only for new auth methods"
proved to be unwieldy, so instead make it a simple bool,
disabled by default.
2025-04-07 12:36:09 -05:00
Daniel Bennett
6a0c4f5a3d auth: oidc: enable pkce only on new auth methods (#25593)
trying not to violate the principle of least astonishment.

we want to only auto-enable PKCE on *new* auth methods,
rather than *new or updated* auth methods, to avoid a
scenario where a Nomad admin updates an auth method
sometime in the future -- something innocent like a new
client secret -- and their OIDC provider doesn't like PKCE.

the main concern is that the provider won't like PKCE
in a totally confusing way. error messages rarely
say PKCE directly, so why the user's auth method
suddenly broke would be a big mystery.

this means that to enable it on existing auth methods,
you would set `OIDCDisablePKCE = false`, and the double-
negative doesn't feel right, so instead, swap the language,
so enabling it on *existing* methods reads sensibly, and to
disable it on *new* methods reads ok-enough:
`OIDCEnablePKCE = false`
2025-04-03 10:56:17 -05:00
Denis Rodin
aca0ff438a raw_exec windows: add support for setting the task user (#25496) 2025-04-03 11:21:13 -04:00
tehut
27b1d470a8 modify rawexec TaskConfig and Config to accept envvar denylist (#25511)
* modify rawexec TaskConfig and Config to accept envvar denylist
* update rawexec driver docs to include deniedEnvars options
Co-authored-by: Daniel Bennett <dbennett@hashicorp.com>

---------

Co-authored-by: Daniel Bennett <dbennett@hashicorp.com>
2025-04-02 12:25:28 -07:00
Nikita Eliseev
76fb3eb9a1 rpc: added configuration for yamux session (#25466)
Fixes: https://github.com/hashicorp/nomad/issues/25380
2025-04-02 10:58:23 -04:00
Aimee Ukasick
9778fa4912 Docs: Fix broken links in main for 1.10 release (#25540)
* Docs: Fix broken links in main for 1.10 release

* Implement Tim's suggestions

* Remove link to Portworx from ecosystem page

* remove "Portworx" since Portworx 3.2 no longer supports Nomad
2025-04-01 09:09:44 -05:00
Tim Gross
cdd40cf81b docs: document requirements for Consul tokens in admin partitions (#25529)
When using Nomad with Consul, each Nomad agent is expected to have a Consul
agent running alongside. When using Nomad Enterprise and Consul Enterprise
together, the Consul agent may be in a Consul admin partition. In order for
Nomad's "anti-entropy" sync to work with Consul, the Consul ACL token and ACL
policy for the Nomad client must be in the same admin partition as the Consul
agent. Otherwise, we can register services (via WI) but then won't be able to
deregister them unless they're the default namespace.

Ref: https://hashicorp.atlassian.net/browse/NET-12361
2025-04-01 08:45:05 -04:00
Michael Smithhisler
7176cf443a docs: add missing podman task config options (#25465)
---------

Co-authored-by: Aimee Ukasick <aimee.ukasick@hashicorp.com>
2025-04-01 08:31:58 -04:00
Allison Larson
17d191ae24 Add -group flag to alloc exec, alloc logs command (#25568)
* Add -group flag to `alloc exec`, `alloc logs` command

* fixup! Add -group flag to `alloc exec`, `alloc logs` command

* Add -group option to alloc fs

* Add changelog
2025-03-31 14:17:45 -07:00
Sooter Saalu
e93bda31ea Update placement.mdx (#25538)
* Update placement.mdx

Added explanations on initial and blocked evaluation for placement failures.

fixes #24824

* Update website/content/docs/concepts/scheduling/placement.mdx

Co-authored-by: Aimee Ukasick <aimee.ukasick@hashicorp.com>

* Update website/content/docs/concepts/scheduling/placement.mdx

Co-authored-by: Aimee Ukasick <aimee.ukasick@hashicorp.com>

---------

Co-authored-by: Aimee Ukasick <aimee.ukasick@hashicorp.com>
2025-03-31 09:08:06 -05:00
Daniel Bennett
99c25fc635 dhv: mkdir plugin parameters: uid,guid,mode (#25533)
also remove Error logs from client rpc and promote plugin Debug logs to Error (since they have more info in them)
2025-03-28 10:13:13 -05:00
Tim Gross
fb93c41ba7 docs: expand info on built-in mkdir dynamic host volume plugin (#25524)
Describe the built-in `mkdir` plugin in the plugin concepts docs in a little
more detail. Crosslink to there from the `plugin_id` field docs, and clarify
that the `mkdir` plugin doesn't support the capacity request fields.

Update the example plugins to avoid using volume author controlled variables in
favor of Nomad-controlled ones, to reduce the risk of path traversal, and
explain to plugin authors they'll likely want to avoid this in their own
plugins.
2025-03-26 11:21:43 -04:00
Aimee Ukasick
b8ad371cfb Docs: SEO updates to front matter description intro, install, integrations (#25416)
* install section

* nomad/intro section

* integrations section

* Feedback from review

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

---------

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
2025-03-26 09:40:37 -05:00
Allison Larson
d1d8945d2e Add docker plugin config option image_pull_timeout value for default timeout (#25489)
* Add docker plugin config image_pull_timeout value for default timeout

* Add image_pull_timeout docker plugin config to docs

* Add changelog
2025-03-24 13:03:14 -07:00
Aimee Ukasick
34ae5d5ae6 Fix link rendering in server.default_scheduler_config (#25482)
CE-821
2025-03-21 12:50:57 -05:00
Aimee Ukasick
95ee9261a5 Docs: fix broken links in 1.10 beta docs (#25469)
* Docs: fix 1.10 broken link in operations/stateful-workloads

* updated the link in other pages
2025-03-20 13:17:09 -05:00
Aimee Ukasick
107289620c Docs: Add JSON format note to docker driver sysctl parameter (#25454)
* Docs: Add JSON format note to docker driver sysctl parameter

CE-837

* Apply suggestions from code review

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

---------

Co-authored-by: Tim Gross <tgross@hashicorp.com>
2025-03-20 09:22:26 -05:00
Daniel Bennett
8c609ad762 docs: oidc client assertions and pkce (#25375) 2025-03-20 09:14:17 -05:00
Aimee Ukasick
dae496e427 Docs: SEO front matter description for search: commands section (#25175)
* Enhance front matter description for search

* acl section

* alloc section

* config section

* deployment section

* eval section

* job section

* license section

* namespace section

* node section

* node pool section

* operator section

* plugin section

* quota section

* recommendation section

* scaling section

* sentinel section

* server section

* service section

* setup section

* system section

* tls section

* var section

* volume section

* change reference to command reference

* Apply suggestions from code review

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>

---------

Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
2025-03-19 12:02:02 -05:00
Shantanu Gadgil
b641d25730 website: fix URL for periodic jobs (#25436) 2025-03-19 07:32:51 +00:00
Tim Gross
bf67f53ba2 docs: add note about Consul Enterprise role bindings and namespaces (#25426)
When configuring Consul to use Nomad workload identities, you create the Consul
auth method in the default namespace. If you're using Consul Enterprise
namespaces, there are two available approaches: one is to create the tokens in
the default namespace and give them policies that define cross-namespace access,
and the other is to use binding rules that map the login to a particular
namespace. The latter is what we show in our docs, but this was missing a note
that any roles (and their associated policies) targetted by `-bind-type role`
need to exist in the Consul namespace we're logging into.

Also, in Nomad CE, the `consul.namespace` flag is always treated as having been set to
`"default"`. That is, we ignore it and don't return an error even though it's a
Nomad ENT-only feature. Clarify this in the documentation for the field the same
way we've done for the `cluster` field.

Co-authored-by: Aimee Ukasick <aimee.ukasick@hashicorp.com>
2025-03-18 15:35:00 -04:00