Service Settings
Service settings open in a modal from a service (the ⋮ menu on a service card → Settings, or the service editor with ?settings=true). The modal has a left sidebar with four sections, and a Save Changes / Cancel footer that appears only when there are unsaved edits to the service name, description, or tags.
| Section | What it manages |
|---|---|
| Service Settings | Name, identifier, subdomain, description, tags, and deletion |
| Members | Per-service role assignments |
| Plan & Add-ons | Service tier (compute) and per-service add-ons |
| GitHub | Connecting/disconnecting a repository |
Service Settings
Service Information
- Name — editable free text.
- Identifier — the service slug (or id), with a copy button.
- Subdomain — shown as
https://{subdomain}.apso.cloud, with a copy button. - Description — editable free text.
Tags — add a tag by name (colors are assigned automatically) and remove tags inline. Name, description, and tag edits are staged and applied with Save Changes.
Delete Service — a delete action with an explicit confirmation step. Deletion is destructive; the confirm gate must be completed before it runs.
The Service Settings section does not include an owner transfer control — that item from the docs checklist is not implemented in this UI.
Members
Manages per-service access. Roles are:
| Role | Notes |
|---|---|
| Owner | Full control of the service |
| Admin | Manage the service |
| User | Standard access |
| ReadOnly | Read-only, e.g. for stakeholders |
- Add Member assigns an existing workspace user to the service with a role. It is a picker over the workspace’s users, not an email invitation.
- Change role updates a member’s role via a dialog.
- Remove revokes a member’s access to the service.
Granular per-service role assignment is a Business-plan capability; the section prompts to upgrade when the workspace isn’t on that plan.
This section adds existing workspace users to a service — it is not the email-invitation flow. Inviting new people to the workspace (the email/accept flow) happens in workspace Team management, not here. There is also no bulk member management in this component.
Plan & Add-ons
Service tier sets the service’s compute. Tiers bundle CPU, memory, and connection limits (you pick a tier, not individual CPU/memory values):
| Tier | CPU | Memory | Connections | Pooler |
|---|---|---|---|---|
| Small | 2-core ARM | 2 GB | 90 | 400 |
| Medium | 2-core ARM | 4 GB | 120 | 600 |
| Large | 2-core ARM | 8 GB | 160 | 800 |
| XL | 4-core ARM | 16 GB | 240 | 1000 |
| 2XL | 8-core ARM | 32 GB | 380 | 1500 |
| Custom | — | — | — | — |
Selecting a higher tier routes to the billing/upgrade flow. Add-ons can be enabled or disabled per service; toggling an add-on adds/removes a subscription item for that service.
The tier prices shown in this selector come from a hardcoded client table and may not match live billing or the pricing model (Stripe catalog reconciliation is tracked in mavric/apso-platform-server#134). Treat the specs here as the resource reference and the billing page as the authority on price.
GitHub
Connect or disconnect a GitHub repository for the service. When connected, the account, repository, and branch are shown; disconnecting removes the link. (Repository connection is what enables code-scaffolded deploys.)
Related
- Service List
- Service Management — creation and deletion flows
- API Keys