docs: Self review of doc pages
This commit is contained in:
+65
-91
@@ -4,31 +4,14 @@ title: Settings
|
||||
sidebar_label: Settings
|
||||
---
|
||||
|
||||
One page, three groups: **Access**, **Monitoring** and **Integrations**. Plus
|
||||
the licence, which has its own page.
|
||||
One page, three groups: **Access**, **Monitoring** and **Integrations**. Your
|
||||
licence has its own page.
|
||||
|
||||
Settings require the `owner` or `admin` role.
|
||||
|
||||
:::info Where instance settings went
|
||||
Members and single sign-on used to live at `/settings/instance`. They are now
|
||||
the Access group at the top of this page splitting "who can sign in" from "how
|
||||
this instance behaves" produced two half-pages and a nav entry nobody could
|
||||
distinguish from Settings. The old path still redirects.
|
||||
:::
|
||||
|
||||
:::danger Upgrading breaks existing single sign-on until you re-register the callback URL
|
||||
Callback URLs are now per provider instead of one shared URL for the whole
|
||||
instance. If you already had single sign-on configured, it was carried
|
||||
forward automatically, but its callback URL changed and **sign-in through it
|
||||
will fail until you copy the new callback URL from its settings card and
|
||||
register it with your identity provider**. The migrated provider's card shows
|
||||
a dismissable warning as a reminder. Password sign-in is not affected by this
|
||||
change, so an administrator can always sign in locally to make the update.
|
||||
:::
|
||||
Settings need the `owner` or `admin` role.
|
||||
|
||||
## Access
|
||||
|
||||
### Members
|
||||
### People
|
||||
|
||||
Add, remove and re-role the people who can sign in.
|
||||
|
||||
@@ -38,112 +21,103 @@ Add, remove and re-role the people who can sign in.
|
||||
| `admin` | Everything except owner-only settings |
|
||||
| `member` | Servers, keys, workflows, monitors, secrets, console |
|
||||
|
||||
Local members authenticate with email and a bcrypt-hashed password.
|
||||
Local members sign in with an email address and a password.
|
||||
|
||||
#### Members managed by Vantage HQ
|
||||
#### People managed by Vantage HQ
|
||||
|
||||
On a cloud instance, people granted access from the HQ portal appear here as
|
||||
read-only rows with a link to the portal.
|
||||
On a cloud instance, anyone granted access from the Vantage HQ portal appears
|
||||
here as a read-only row with a link back to the portal.
|
||||
|
||||
:::warning HQ-managed users cannot be edited locally
|
||||
Changing the role of, or deleting, an `hq`-sourced user is refused with `409`.
|
||||
HQ owns their role, their password and whether they exist at all a local
|
||||
change would be overwritten by the next sync and would leave two writers for one
|
||||
password hash. Manage them from [People and roles](../hq/people-and-roles.md).
|
||||
:::warning You cannot edit those people here
|
||||
Their role, password and access are owned by Vantage HQ, so changing or removing
|
||||
them has to be done there. See
|
||||
[People and roles](../hq/people-and-roles.md).
|
||||
:::
|
||||
|
||||
### Single sign-on
|
||||
|
||||
Add as many identity providers as you need: one instance can have several at
|
||||
once, each with its own name, its own button on the login page and its own
|
||||
callback URL.
|
||||
:::info Requires the single sign-on feature on your licence
|
||||
It is a per-instance feature you enable on a paid plan.
|
||||
:::
|
||||
|
||||
Pick a provider from the list of presets:
|
||||
Add as many identity providers as you need. Each has its own name, its own
|
||||
button on the login page and its own callback URL.
|
||||
|
||||
| Preset | You provide |
|
||||
| ---------------------- | ------------------------------------------- |
|
||||
| Microsoft Entra ID | Directory (tenant) ID |
|
||||
| Google Workspace | nothing further, the issuer is fixed |
|
||||
| Okta | Your Okta org domain |
|
||||
| GitHub | Client ID and client secret only |
|
||||
| Other (OpenID Connect) | The issuer URL of your identity provider |
|
||||
If you configured single sign-on on an older version, see
|
||||
[Upgrading](../operations/upgrading.md#single-sign-on-after-an-upgrade).
|
||||
|
||||
Every provider also needs a **Client ID** and **Client secret**; the secret is
|
||||
stored AES-256-GCM encrypted and never shown again after you save it.
|
||||
Start from a preset:
|
||||
|
||||
:::info GitHub requires a verified primary email
|
||||
Vantage signs a person in by their email address. GitHub is asked for the
|
||||
account's addresses and only accepts one that is **both** the account's
|
||||
primary address **and** marked verified: an address GitHub has not confirmed
|
||||
is not proof anyone controls it.
|
||||
| Preset | You provide |
|
||||
| ---------------------- | ---------------------------------------- |
|
||||
| Microsoft Entra ID | Directory (tenant) ID |
|
||||
| Google Workspace | Nothing further |
|
||||
| Okta | Your Okta org domain |
|
||||
| GitHub | Client ID and client secret only |
|
||||
| Other (OpenID Connect) | The issuer URL of your provider |
|
||||
|
||||
Every provider also needs a **Client ID** and **Client secret**. The secret is
|
||||
stored encrypted and is never shown again after you save it.
|
||||
|
||||
:::info GitHub needs a verified primary email
|
||||
Vantage identifies people by email address, and it only accepts a GitHub address
|
||||
that is both the account's primary address and confirmed by GitHub.
|
||||
:::
|
||||
|
||||
#### Callback URL
|
||||
|
||||
Each provider gets its own callback URL, shown on its settings card with a
|
||||
copy button. This is the address you register with the identity provider when
|
||||
you set up the application on their side: each provider is registered
|
||||
separately, even if you have several with the same identity provider.
|
||||
Each provider's card shows its callback URL with a copy button. That is the
|
||||
address you register with the identity provider when you set up the application
|
||||
on their side. Register each provider separately, even where several use the
|
||||
same identity provider.
|
||||
|
||||
#### Turning off password sign-in
|
||||
|
||||
You can disable local (email and password) sign-in once at least one provider
|
||||
is enabled. Vantage refuses to save a change that would leave nobody able to
|
||||
sign in, whether that change comes from the local login toggle or from
|
||||
disabling the last enabled provider. Keep at least one option open until every
|
||||
person who needs access can reach the new one.
|
||||
Once at least one provider is enabled you can turn off email and password
|
||||
sign-in. Vantage refuses any change that would leave nobody able to sign in,
|
||||
whether that is switching off passwords or disabling your last provider. Keep
|
||||
one route open until everyone who needs access can use the new one.
|
||||
|
||||
## Monitoring
|
||||
|
||||
- **Alert defaults** for monitors.
|
||||
- **Notification channels** their own page. See
|
||||
[Notification channels](./notification-channels.md).
|
||||
|
||||
## Integrations
|
||||
|
||||
### Workflow log retention
|
||||
|
||||
How long run logs are kept.
|
||||
- **Offline threshold**, how long a server may go unheard from before it is
|
||||
marked offline. The default is 5 minutes.
|
||||
- **Offline alerts**, the [notification channels](./notification-channels.md) to
|
||||
tell when that happens.
|
||||
- **Notification channels** have [their own page](./notification-channels.md).
|
||||
- **Workflow log retention**, how long run logs are kept.
|
||||
|
||||
| Value | Meaning |
|
||||
| -------- | -------------- |
|
||||
| unset | 30 days |
|
||||
| a number | that many days |
|
||||
| `0` | forever |
|
||||
| `0` | keep forever |
|
||||
|
||||
### ESO read token
|
||||
## Integrations
|
||||
|
||||
The bearer token External Secrets Operator uses to read secret groups. Shown
|
||||
once, stored as a SHA-256 hash, rotatable. See
|
||||
### External Secrets Operator token
|
||||
|
||||
The token Kubernetes uses to read your secret groups. It is shown once, stored
|
||||
only as a fingerprint, and can be replaced at any time. See
|
||||
[Secrets](./secrets.md#kubernetes-external-secrets-operator).
|
||||
|
||||
## Licence
|
||||
|
||||
`/settings/license` shows the deployment, tier, server allowance, enabled
|
||||
features and expiry.
|
||||
The **Licence** page, in the sidebar, shows your instance ID, whether you are
|
||||
cloud or self-hosted, your tier, server allowance, enabled features and expiry
|
||||
date.
|
||||
|
||||
On **self-hosted**, paste a licence here. This works even while the current
|
||||
licence is expired that is the way out of degraded mode.
|
||||
On a **self-hosted** install you paste your licence here. This works even while
|
||||
your current licence has expired, which is how you get an instance out of
|
||||
read-only mode.
|
||||
|
||||
On **cloud**, there is no paste form. The endpoint answers `409 cloud_managed`,
|
||||
because a cloud licence is written by HQ directly. The page links to the portal
|
||||
instead.
|
||||
On a **cloud** instance there is nothing to paste. Licences are installed for
|
||||
you, and the page links to the portal instead.
|
||||
|
||||
See [Licensing and entitlements](../hq/licensing-and-entitlements.md).
|
||||
|
||||
## Sessions
|
||||
|
||||
Sessions are an opaque token in the `km_session` cookie, held in Redis with a
|
||||
24-hour TTL. There is no per-session management UI; restarting Redis signs
|
||||
everyone out and affects nothing else.
|
||||
|
||||
## Host and organisation guard
|
||||
|
||||
On a multi-tenant deployment, a request to `<slug>.vantage.<tld>` resolves the
|
||||
organisation from the slug and rejects a session belonging to a different one.
|
||||
The label it looks for comes from `APP_ROOT_LABEL`.
|
||||
|
||||
:::warning A wrong `APP_ROOT_LABEL` disables the guard
|
||||
It does not fail loudly it simply stops matching, and the host check stops
|
||||
protecting anything. If you serve the UI on a custom domain, set it to match.
|
||||
:::
|
||||
Signing in gives you a session that lasts 24 hours. There is no session list to
|
||||
manage. On a self-hosted install, restarting Redis signs everyone out and affects
|
||||
nothing else.
|
||||
|
||||
Reference in New Issue
Block a user