diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b467cb9c388..ca084fb22a88 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ FEATURES: * **Event Stream**: Subscribe to change events as they occur in real time. [[GH-9013](https://github.com/hashicorp/nomad/issues/9013)] +* **Namespaces OSS**: Namespaces are now available in open source Nomad. [[GH-9135](https://github.com/hashicorp/nomad/issues/9135)] * **Topology Visualization**: See all of the clients and allocations in a cluster at once. [[GH-9077](https://github.com/hashicorp/nomad/issues/9077)] IMPROVEMENTS: diff --git a/website/pages/api-docs/index.mdx b/website/pages/api-docs/index.mdx index 04ef968c98b7..f3b306205067 100644 --- a/website/pages/api-docs/index.mdx +++ b/website/pages/api-docs/index.mdx @@ -92,7 +92,10 @@ $ curl \ ## Namespaces -Nomad Enterprise has support for namespaces, which allow jobs and their associated objects to be segmented from each other and other users of the cluster. When using non-default namespace, the API request must pass the target namespace as an API query parameter. +Nomad has support for namespaces, which allow jobs and their associated objects +to be segmented from each other and other users of the cluster. When using +non-default namespace, the API request must pass the target namespace as an API +query parameter. Prior to Nomad 1.0 namespaces were Enterprise-only. Here is an example using curl: diff --git a/website/pages/api-docs/json-jobs.mdx b/website/pages/api-docs/json-jobs.mdx index 36d454696db6..0f639106b5c6 100644 --- a/website/pages/api-docs/json-jobs.mdx +++ b/website/pages/api-docs/json-jobs.mdx @@ -185,7 +185,7 @@ The `Job` object supports the following keys: - `Meta` - Annotates the job with opaque metadata. - `Namespace` - The namespace to execute the job in, defaults to "default". - Values other than default are not allowed in non-Enterprise versions of Nomad. + Prior to Nomad 1.0 namespaces were Enterprise-only. - `ParameterizedJob` - Specifies the job as a parameterized job such that it can be dispatched against. The `ParameterizedJob` object supports the following diff --git a/website/pages/api-docs/namespaces.mdx b/website/pages/api-docs/namespaces.mdx index 8173ddb14c03..91648f742b1c 100644 --- a/website/pages/api-docs/namespaces.mdx +++ b/website/pages/api-docs/namespaces.mdx @@ -9,8 +9,7 @@ description: The /namespace endpoints are used to query for and interact with na The `/namespace` endpoints are used to query for and interact with namespaces. -~> **Enterprise Only!** This API endpoint and functionality only exists in -Nomad Enterprise. This is not present in the open source version of Nomad. +~> Prior to Nomad 1.0 Namespaces were an Enterprise-only feature. ## List Namespaces diff --git a/website/pages/api-docs/search.mdx b/website/pages/api-docs/search.mdx index cac8ff382176..d739b400e94c 100644 --- a/website/pages/api-docs/search.mdx +++ b/website/pages/api-docs/search.mdx @@ -9,8 +9,9 @@ description: The /search endpoint is used to search for Nomad objects The `/search` endpoint returns matches for a given prefix and context, where a context can be jobs, allocations, evaluations, nodes, deployments, plugins, -or volumes. When using Nomad Enterprise, the allowed contexts include quotas -and namespaces. Additionally, a prefix can be searched for within every context. +namespaces, or volumes. When using Nomad Enterprise, the allowed contexts +include quotas. Additionally, a prefix can be searched for within every +context. | Method | Path | Produces | | ------ | ------------ | ------------------ | diff --git a/website/pages/docs/commands/namespace/apply.mdx b/website/pages/docs/commands/namespace/apply.mdx index e3417386b871..849c4572bbc5 100644 --- a/website/pages/docs/commands/namespace/apply.mdx +++ b/website/pages/docs/commands/namespace/apply.mdx @@ -10,8 +10,8 @@ description: | The `namespace apply` command is used create or update a namespace. -~> Namespace commands are new in Nomad 0.7 and are only available with Nomad -Enterprise. +~> Namespaces are open source in Nomad 1.0. Namespaces were Enterprise-only + when introduced in Nomad 0.7. ## Usage diff --git a/website/pages/docs/commands/namespace/delete.mdx b/website/pages/docs/commands/namespace/delete.mdx index d25485ecdf62..66ee82b3fd98 100644 --- a/website/pages/docs/commands/namespace/delete.mdx +++ b/website/pages/docs/commands/namespace/delete.mdx @@ -10,8 +10,8 @@ description: | The `namespace delete` command is used delete a namespace. -~> Namespace commands are new in Nomad 0.7 and are only available with Nomad -Enterprise. +~> Namespaces are open source in Nomad 1.0. Namespaces were Enterprise-only + when introduced in Nomad 0.7. ## Usage diff --git a/website/pages/docs/commands/namespace/index.mdx b/website/pages/docs/commands/namespace/index.mdx index 7a8b064ae677..1e0d5ebb19fd 100644 --- a/website/pages/docs/commands/namespace/index.mdx +++ b/website/pages/docs/commands/namespace/index.mdx @@ -10,8 +10,8 @@ description: | The `namespace` command is used to interact with namespaces. -~> Namespace commands are new in Nomad 0.7 and are only available with Nomad -Enterprise. +~> Namespaces are open source in Nomad 1.0. Namespaces were Enterprise-only + when introduced in Nomad 0.7. ## Usage diff --git a/website/pages/docs/commands/namespace/inspect.mdx b/website/pages/docs/commands/namespace/inspect.mdx index b85906184826..1b242816ad03 100644 --- a/website/pages/docs/commands/namespace/inspect.mdx +++ b/website/pages/docs/commands/namespace/inspect.mdx @@ -12,8 +12,8 @@ description: > The `namespace inspect` command is used to view raw information about a particular namespace. -~> Namespace commands are new in Nomad 0.7 and are only available with Nomad -Enterprise. +~> Namespaces are open source in Nomad 1.0. Namespaces were Enterprise-only + when introduced in Nomad 0.7. ## Usage diff --git a/website/pages/docs/commands/namespace/list.mdx b/website/pages/docs/commands/namespace/list.mdx index dc03ce9a0b64..8e3fbc2244c8 100644 --- a/website/pages/docs/commands/namespace/list.mdx +++ b/website/pages/docs/commands/namespace/list.mdx @@ -10,8 +10,8 @@ description: | The `namespace list` command is used list available namespaces. -~> Namespace commands are new in Nomad 0.7 and are only available with Nomad -Enterprise. +~> Namespaces are open source in Nomad 1.0. Namespaces were Enterprise-only + when introduced in Nomad 0.7. ## Usage diff --git a/website/pages/docs/commands/namespace/status.mdx b/website/pages/docs/commands/namespace/status.mdx index 3ee41fbefe04..ef3857719ea2 100644 --- a/website/pages/docs/commands/namespace/status.mdx +++ b/website/pages/docs/commands/namespace/status.mdx @@ -12,8 +12,8 @@ description: > The `namespace status` command is used to view the status of a particular namespace. -~> Namespace commands are new in Nomad 0.7 and are only available with Nomad -Enterprise. +~> Namespaces are open source in Nomad 1.0. Namespaces were Enterprise-only + when introduced in Nomad 0.7. ## Usage diff --git a/website/pages/docs/enterprise.mdx b/website/pages/docs/enterprise.mdx index 776d153f0445..3472fa5b9b0a 100644 --- a/website/pages/docs/enterprise.mdx +++ b/website/pages/docs/enterprise.mdx @@ -6,8 +6,7 @@ description: >- Nomad Enterprise adds operations, collaboration, and governance capabilities to Nomad. - Features include Namespaces, Resource Quotas, Sentinel Policies, and Advanced - Autopilot. + Features include Resource Quotas, Sentinel Policies, and Advanced Autopilot. --- # Nomad Enterprise @@ -62,7 +61,7 @@ See the [Vault Integration documentation](/docs/integrations/vault-integration#e ## Governance & Policy -Governance & Policy features are part of an add-on module that enables an organization to securely operate Nomad at scale across multiple teams through features such as Audit Logging, Namespaces, Resource Quotas, Sentinel Policies, and Cross-Namespace Queries. +Governance & Policy features are part of an add-on module that enables an organization to securely operate Nomad at scale across multiple teams through features such as Audit Logging, Resource Quotas, and Sentinel Policies. ### Audit Logging @@ -72,14 +71,6 @@ With Audit Logging, enterprises can now proactively identify access anomalies, e See the [Audit Logging Documentation](/docs/configuration/audit) for a thorough overview. -### Namespaces - -Namespaces enable multiple teams to safely use a shared multi-region Nomad environment and reduce cluster fleet size. In Nomad Enterprise, a shared cluster can be partitioned into multiple namespaces which allow jobs and their associated objects to be isolated from each other and other users of the cluster. - -Namespaces enhance the usability of a shared cluster by isolating teams from the jobs of others, by providing fine grain access control to jobs when coupled with ACLs, and by preventing bad actors from negatively impacting the whole cluster. - -See the [Namespaces Guide](https://learn.hashicorp.com/tutorials/nomad/namespaces) for a thorough overview. - ### Resource Quotas Resource Quotas enable an operator to limit resource consumption across teams or projects to reduce waste and align budgets. In Nomad Enterprise, operators can define quota specifications and apply them to namespaces. When a quota is attached to a namespace, the jobs within the namespace may not consume more resources than the quota specification allows. @@ -94,12 +85,6 @@ In Nomad Enterprise, operators can create Sentinel policies for fine-grained pol See the [Sentinel Policies Guide](https://learn.hashicorp.com/tutorials/nomad/sentinel) for a thorough overview. -### Cross-Namespace Queries - -Cross-Namespace Queries allows operators to query jobs and allocations across all namespaces for faster operator debugging and visibility in multi-tenant clusters. This enterprise feature accelerates and simplifies the debugging process by allowing operators to easily locate faulty jobs and allocations from developers. - -See the individual Nomad CLI command documentation (e.g., [alloc exec](/docs/commands/alloc/exec#namespace)) for more information. - ## Multi-Cluster & Efficiency Multi-Cluster & Efficiency features are part of an add-on module that enables diff --git a/website/pages/docs/job-specification/job.mdx b/website/pages/docs/job-specification/job.mdx index 2e2ebde2dc7a..c12b83320dbc 100644 --- a/website/pages/docs/job-specification/job.mdx +++ b/website/pages/docs/job-specification/job.mdx @@ -15,8 +15,7 @@ description: |- The `job` stanza is the top-most configuration option in the job specification. A job is a declarative specification of tasks that Nomad should run. Jobs have one or more task groups, which are themselves collections of one or more tasks. -Job names are unique per [region][region] or [namespace][namespace] (if Nomad -Enterprise is used). +Job names are unique per [region][region] or [namespace][namespace]. ```hcl job "docs" { @@ -96,7 +95,7 @@ job "docs" { applied. Only service jobs with a count greater than 1 support migrate stanzas. - `namespace` `(string: "default")` - The namespace in which to execute the job. - Values other than default are not allowed in non-Enterprise versions of Nomad. + Prior to Nomad 1.0 namespaces were Enterprise-only. - `parameterized` ([Parameterized][parameterized]: nil) - Specifies the job as a parameterized job such that it can be dispatched against.