:_mod-docs-content-type: ASSEMBLY
[id="working-with-projects"]
= Working with projects
include::_attributes/common-attributes.adoc[]
:context: projects

toc::[]

A _project_ allows a community of users to organize and manage their content in
isolation from other communities.

[NOTE]
====
Projects starting with `openshift-` and `kube-` are 
ifndef::openshift-dedicated,openshift-rosa[]
xref:../../authentication/using-rbac.adoc#rbac-default-projects_using-rbac[default projects]. 
endif::openshift-dedicated,openshift-rosa[]
ifdef::openshift-dedicated,openshift-rosa[]
default projects. 
endif::openshift-dedicated,openshift-rosa[]
These projects host cluster components that run as pods and other infrastructure components. As such, {product-title} does not allow you to create projects starting with `openshift-` or `kube-` using the `oc new-project` command.
ifndef::openshift-dedicated[]
Cluster administrators can create these projects using the `oc adm new-project` command.
endif::openshift-dedicated[]
ifdef::openshift-dedicated[]
For {product-title} clusters that use the Customer Cloud Subscription (CCS) model, users with `cluster-admin` privileges can create these projects using the `oc adm new-project` command.
endif::openshift-dedicated[]
====

ifndef::openshift-dedicated[]
include::snippets/default-projects.adoc[]
endif::openshift-dedicated[]
ifdef::openshift-dedicated[]
[NOTE]
====
In {product-title} clusters that use the Customer Cloud Subscription (CCS) model, you cannot assign an SCC to pods created in one of the default namespaces: `default`, `kube-system`, `kube-public`, `openshift-node`, `openshift-infra`, and `openshift`. You cannot use these namespaces for running pods or services. You cannot create any SCCs for {product-title} clusters that use a Red Hat cloud account, because SCC resource creation requires `cluster-admin` privileges.
====
endif::openshift-dedicated[]

[id="working-with-projects-create-project"]
== Creating a project

You can use the {product-title} web console or the {oc-first} to create a project in your cluster.

include::modules/creating-a-project-using-the-web-console.adoc[leveloffset=+2]

// include modules/odc-creating-projects-using-developer-perspective.adoc[leveloffset=+2]

.Additional resources

* xref:../../applications/projects/working-with-projects.adoc#odc-customizing-available-cluster-roles-using-the-web-console_projects[Customizing the available cluster roles using the web console]

include::modules/creating-a-project-using-the-CLI.adoc[leveloffset=+2]

[id="working-with-projects-viewing-project"]
== Viewing a project

You can use the {product-title} web console or the {oc-first} to view a project in your cluster.

include::modules/viewing-a-project-using-the-web-console.adoc[leveloffset=+2]

include::modules/viewing-a-project-using-the-CLI.adoc[leveloffset=+2]

include::modules/odc-providing-project-permissions-using-developer-perspective.adoc[leveloffset=+1]

include::modules/odc-customizing-available-cluster-roles-using-the-web-console.adoc[leveloffset=+1]

include::modules/adding-to-a-project.adoc[leveloffset=+1]

[id="working-with-projects-viewing-project-status"]
== Checking the project status

You can use the {product-title} web console or the {oc-first} to view the status of your project.

include::modules/checking-project-status-using-the-web-console.adoc[leveloffset=+2]

include::modules/checking-project-status-using-the-CLI.adoc[leveloffset=+2]

// The following text comes from deleting-a-project-using-the-CLI.adoc
[id="working-with-projects-deleting-project"]
== Deleting a project

You can use the {product-title} web console or the {oc-first} to delete a project.

When you delete a project, the server updates the project status to *Terminating* from *Active*. Then, the server clears all content from a project that is in the *Terminating* state before finally removing the project. While a project is in *Terminating* status, you cannot add new content to the project. Projects can be deleted from the CLI or the web console.

include::modules/deleting-a-project-using-the-web-console.adoc[leveloffset=+2]

include::modules/deleting-a-project-using-the-CLI.adoc[leveloffset=+2]
