Tasks
Projects and Namespaces
Create the tenant structure an application needs before GitOps reconciles it.
Projects and namespaces are the first product objects most tenants touch.
- A project groups related work in gh0stportal.
- A namespace is the runtime target where Kubernetes resources reconcile.
- Project selection is not RBAC. Tenant membership and gh0stplane capability checks remain the authority.
Portal workflow
- Open Applications.
- Create or select the project for the app.
- Create a namespace for each serious app or bounded workload.
- Wait until the namespace shows reconciled/live state.
- Use the namespace values in your GitOps manifests.
Do not deploy into a namespace before gh0stportal reports that the namespace and its access scaffolding are ready.
What the platform creates
After namespace intent is accepted, gh0stcloud reconciles runtime scaffolding:
| Item | Why it matters |
|---|---|
| Kubernetes namespace | Runtime placement for the workload. |
| Flux service account | Used by Flux/HelmRelease to reconcile tenant manifests. |
| Workload service account | Used by application pods where required. |
| SecretStore references | Allows External Secrets to read tenant OpenBao paths. |
| Policy labels and annotations | Connects namespace to quota, network, exposure, billing, and observability. |
GitOps reference
Compare your app structure with:
- ghc-gitops-example README
kustomize/overlays/ghc-basickustomize/base/generic
Use the example names only as placeholders. Tenant namespaces and hostnames come from gh0stportal.
RPC/function map
| Portal action | gh0stplane surface |
|---|---|
| Load application workspace | GetTenantApplicationsWorkspace |
| Create project | CreateTenantProject |
| Update project | UpdateTenantProject |
| Delete project | DeleteTenantProject |
| Create namespace | CreateTenantNamespace |
| Update namespace | UpdateTenantNamespace |
| Delete namespace | DeleteTenantNamespace |
| Read GitOps and secret workflow context | GetTenantSecretWorkflow |
Common mistakes
| Symptom | Likely cause | Fix |
|---|---|---|
| Flux cannot apply resources | Namespace is not ready or service account is missing. | Wait for Applications to show namespace readiness. |
| App manifests use the wrong namespace | Copied example placeholder was not replaced. | Use the namespace shown in Applications. |
| Access expectations are confusing | Project was treated as RBAC. | Use projects for grouping only; tenant/org roles enforce access. |
Questions or ready to get started?
Talk to us