Skip to main content
Version: 2.14

Namespaces

A central concept of Ververica Platform is a Namespace. Namespaces are the primary means to isolate resources between different groups of users and grant access to resources, allowing for multi-tenancy.

Specification

{
"namespace": {
"name": "namespaces/default",
"roleBindings": [{
"role": "owner",
"members": ["system:authenticated"]
}],
"createTime": "2019-09-27T17:01:55.452Z",
"lifecyclePhase": "LIFECYCLE_PHASE_ACTIVE"
}
}

A Namespace is specified by its user-provided name. Ververica Platform will create a default Namespace with the name default.

Upon deleting the Namespace, the lifecyclePhase attribute will transition from LIFECYCLE_PHASE_ACTIVE to LIFECYCLE_PHASE_TERMINATING. All resources within the Namespace will then be deleted. No new resources can be created within a Namespace marked as terminating.

Namespaces are the primary means for access control. The roleBindings attribute assigns roles to users and groups. Please refer to the Access Control documentation for more information.

Creating a Namespace

POST /namespaces/v1/namespaces/
{
"name": "namespaces/my-namespace",
"roleBindings": [{
"role": "owner",
"members": ["system:authenticated"]
}]
}

This will create a new Namespace with the name my-namespace; note the fully qualified object name. Namespaces need to exist before creating any subresources.

Deleting a Namespace

DELETE /namespaces/v1/namespaces/my-namespace
{
"namespace": {
"name": "namespaces/my-namespace",
"roleBindings": [{
"role": "owner",
"members": ["system:authenticated"]
}],
"createTime": "2019-10-04T15:02:17.895Z",
"lifecyclePhase": "LIFECYCLE_PHASE_TERMINATING"
}
}

This will eventually delete the Namespace with name my-namespace. Deleting a Namespaces marks it for termination, preventing resources from being created within the Namespace.

caution

Deleting a Namespace deletes all resources within the Namespace.