# Namespaces

> Managing Kubernetes namespaces for Seldon Enterprise Platform

Namespaces are where your models are deployed. You can set up GitOps and access controls on a per-namespace basis.

For an introduction to namespaces in Kubernetes, please refer to the [official documentation](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/). The rest of this guide discusses namespaces in the context of Seldon Enterprise Platform.

## Namespace Detection

Seldon Enterprise Platform requires namespaces to be labelled for use with ML deployments. Otherwise, it will not detect them and so cannot manage resources within them.

You can create a new namespace and make it visible to Enterprise Platform using the following commands:

```bash
NAMESPACE=<name>
kubectl create namespace $NAMESPACE || echo "namespace $NAMESPACE already exists"
kubectl label namespace $NAMESPACE seldon.restricted=false --overwrite=true
```

This is the minimum needed to use a namespace.

## GitOps

Seldon Enterprise Platform supports GitOps with ArgoCD to manage deployments to a namespace through git.

A namespace can be set up for GitOps with Seldon Enterprise Platform by providing suitable metadata. See [the GitOps section](/seldon-enterprise-platform/production-environment/gitops.md) for a detailed guide on how to achieve this.

## Authorization Policies

Seldon Enterprise Platform supports both user-based and group-based authorization policies to control visibility and permissions for namespaces. See the [installation](/seldon-enterprise-platform/production-environment/authorization.md) and [operations](/seldon-enterprise-platform/operations/authorization.md#opa-policies) guides for more details.

Namespaces that the user has access to appear in a drop-down namespace selector in the top-right:

![namespaceselector](/files/ajx8hLl1aalk8LvGM3kC)

From there the user can search for or choose to drill into deployments:

![DeploymentsFilter](/files/uu7NyEVDLVG9Ej5dQIVd)

## Multi-Tenancy

In a multi-tenant setup, Enterprise Platform is not automatically provided with permissions to manage multiple namespaces. Instead, each namespace needs further permissions to be defined. Details on this can be found in the [multi-tenant section](/seldon-enterprise-platform/multi-tentant-environment.md).

## Special Namespaces

The `seldon-logs` namespace is used for infrastructure for inference request logging. It is a special namespace and its setup is covered in the [request logging section](/seldon-enterprise-platform/production-environment/request-logging.md). This namespace **should not** be used for ML deployments.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.seldon.ai/seldon-enterprise-platform/operations/namespace-setup.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
