Skip to main content

Terms we use

Xooshe is still an infrastructure platform. We do not hide that you run real clusters, apps, and databases. We do hide needless Kubernetes jargon when a clearer everyday word works.

This page is the source of truth for UI and docs wording. If a screen and this page disagree, follow this page.

How we choose words

  1. Prefer the job, not the mechanism. Say what the user is doing (“scale copies”, “open a public URL”), not the Kubernetes object name.
  2. Keep real infra words when they already mean the right thing. Cluster, app, database, backup, node, and domain stay.
  3. One preferred term per idea. Do not mix “namespace”, “environment”, and “workspace” for the same thing.
  4. Technical names live in the glossary footnote, not in every label. Operators who know Kubernetes can map them here.
  5. Never invent cute metaphors that sound like a consumer app. No “homes”, “gardens”, or “magic boxes”.

Glossary

We sayMeaningAvoid in UIKubernetes name (reference)
ClusterYour group of servers that runs apps and databases“Kubernetes cluster” on every screenCluster
NodeOne server in the cluster“Worker machine” unless explainingNode
EnvironmentAn isolated place for apps (dev, staging, prod, team)Namespace (except advanced/import flows)Namespace
AppA running service you deploy and manageWorkload, Deployment, StatefulSetDeployment / managed app
Ready-made appA packaged app from the catalog (PostgreSQL, Redis, Nginx, …)Managed app, Helm chart, template stackManaged / Helm release
DatabaseA managed data store (often PostgreSQL)Postgres cluster (except when naming the engine)Postgres cluster / CNPG
InstanceOne running copy of an app or workerPodPod
CopiesHow many instances should stay runningReplicasReplicas
Public URL / DomainHow users reach the app from the internetIngress, Ingress hostIngress
Disk / StoragePersistent disk space attached to an app or databasePVC, PersistentVolumeClaimPVC
Shared variablesEnv values reusable across apps in a clusterShared envs, ConfigMap soupShared env / ConfigMap
Background taskExtra process that runs with the app (worker, job)Process, sidecar deploymentProcess / Job
Scheduled taskWork that runs on a timetableCronJobCronJob
Connection fileFile used to connect an existing clusterkubeconfig (except file-picker helper text)kubeconfig
LogsLive text output from instancesContainer stdoutPod logs
TerminalInteractive shell into a running instanceExec into podkubectl exec
PauseTemporarily stop an app without deleting itScale to zero (as the primary label)Scale / pause
RestartRecreate running instances safelyRollout restartRollout

Words we keep on purpose

  • Cluster — everyone in ops already uses it; “cloud project” would be wrong.
  • Node — short and accurate for servers in a cluster.
  • Organization / Wallet / Ticket — product features, not K8s concepts.
  • Argus — product name for uptime monitoring; do not rename to “uptime tool” in nav.

UI still says X

Some screens lag the glossary. Docs use the preferred term and footnote the control once:

PreferredYou may still see in the UI
Connection fileAdd an Existing Kube Config
Manage environmentsManage Namespaces
Shared variablesShared Environments
CopiesReplica count / replicas
Ready-made appManaged app

Docs voice

Outcome first, then clicks. Bold text is an exact UI label. One glossary tip per page maximum.

Do not put Prerequisites / Steps / Verify success / Troubleshooting on every page. That skeleton is for one page type only. Matching structure across hubs, concepts, and catalogs makes the docs feel copy-pasted.

Page typeJobShape (use these section names)
HubOrient and routePitch → journey → path cards → “Not this section”
ConceptTeach one ideaDefinition → why (≤3 bullets) → short do-this → naming / mistakes
RecipeFinish one concrete taskOutcome → Before you start only if blockers → action-named H2s (e.g. “Open a ticket”) → You’re done when (short) → If it fails only if useful
TourExplain a multi-area screenOutcome → sections named after UI areas (Wallet, Domains, …)
CatalogPick a ready-made appChoose this when → What you get → Options table → After deploy
ChooserPick a pathDecision table → default recommendation → links
DebugFix something brokenCheck first → signals (logs, terminal) → actions → deeper links
Operator referenceDeep / K8s-named detailMarked advanced; day-1 readers stay on Quickstart

Recipe rules

  • Prefer H2s that name the job (“Create the environment”, “Deploy the image”) over the word Steps.
  • Skip Before you start when the only requirement is “be signed in”.
  • Fold success into You’re done when (3 bullets max), not a ceremony section.
  • Support tickets is the density target: status tables and verbs beat template headings.

House rules

  • No “depending on your deployment / when the UI offers / as shown in the form” unless you name the real fork.
  • End with at most three role-labeled links: Next / Background / If stuck.
  • Sentence-case titles.

Short examples

Before: “Select a namespace, then check pod replicas and ingress hosts.”
After: “Select an environment, then check running copies and public URLs.”

Before: “Upload a kubeconfig to add an existing Kubernetes cluster.”
After: “Upload a connection file to add an existing cluster.”

Before: “Only managed apps.”
After: “Only ready-made apps.”

For writers and implementers

  • Dashboard copy lives mainly in locales/en.json and locales/fa.json. Change values, not code keys, unless a key is unused.
  • Prefer updating labels, empty states, helpers, and toasts first. Leave API error payloads alone.
  • When a K8s term must appear (import, advanced config), pair it once: Environment (Kubernetes namespace).
  • FA translations should follow the same meanings, not literal English calques of Kubernetes jargon.