# Namespaces in ECiDA
# Environments
Environments in ECiDA are implemented via namespaces in k8s. The following name convention is used to name them:
ecida-env-[env-name]
This namespace naming convention is not strict, and a specific installation can use different naming convention.
The following labels (strict) have to be attached to valid environments:
app.kubernetes.io/name: [user friendly short name, e.g., development]
app.kubernetes.io/part-of: ecida
app.kubernetes.io/component: environment
# What-If
What-If is a special kind of environment, usually exist for a limited time, and destroyed after it was used. It has the following naming convention:
ecida-whatif-[env-name]
with the following labels:
app.kubernetes.io/name: [a what-if scenario name, may also be auto-generated]
app.kubernetes.io/part-of: ecida
app.kubernetes.io/component: whatif
# Repository
Repository is a special kind of an environment, with the following name (convention):
ecida-repository
and labels (strict):
app.kubernetes.io/name: repository
app.kubernetes.io/part-of: ecida
app.kubernetes.io/component: repository
# Application
An application is run in a separate namespace
ecida-env-[env-name]-[app-name]
or (in case of running a what-if scenario):
ecida-whatif-[env-name]-[app-name]
with the following labels:
app.kubernetes.io/name: [app-name]
app.kubernetes.io/part-of: [full env-name, e.g., ecida-env-development]
app.kubernetes.io/component: application
# Namespace Labels Scheme
The namespace labels have the following structure:
app.kubernetes.io/name: [user friendly short name, e.g., development]
app.kubernetes.io/part-of: ecida | environment name (for applications)
app.kubernetes.io/component: repository | environment | whatif | application