Skip to content

Commit b414dd6

Browse files
committed
Fix API reference links to resolve on the rendered site
The rendered pages are served at directory-style URLs (no .md), so the .md-suffixed cross-links 404ed on the live site. Switch them to trailing-slash directory form (the same form the repo's existing anchor links use), which resolves correctly and still passes the link checker. Signed-off-by: Tamal Saha <tamal@appscode.com>
1 parent 8c85b16 commit b414dd6

1 file changed

Lines changed: 15 additions & 15 deletions

File tree

docs/platform/guides/integrations/external-console-integration.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@ hosted on a subdomain — with no second login prompt.
2020
All endpoints referenced here are documented in the
2121
[KubeDB Platform API Reference](../../../api/). The most relevant pages are:
2222

23-
- [Administrative-Org Admin](../../../api/administration/admin-org.md) — the admin user
23+
- [Administrative-Org Admin](../../../api/administration/admin-org/) — the admin user
2424
APIs used to provision and maintain the mirrored user.
25-
- [Public & Basic-auth User APIs](../../../api/users-settings/public-user-apis.md) — the
25+
- [Public & Basic-auth User APIs](../../../api/users-settings/public-user-apis/) — the
2626
public `POST /user/signin` endpoint that establishes the browser session.
27-
- [Authenticated User APIs](../../../api/users-settings/authenticated-user.md) — `GET
27+
- [Authenticated User APIs](../../../api/users-settings/authenticated-user/) — `GET
2828
/user/signout` and other session-scoped calls.
29-
- [Client Organizations](../../../api/client-organizations/overview.md) — the
29+
- [Client Organizations](../../../api/client-organizations/overview/) — the
3030
managed-service-provider model for granting each user scoped access to clusters.
3131

3232
## 1. Goal
@@ -67,7 +67,7 @@ Because both consoles share the registrable domain `acme.com`, the browser treat
6767
backend — never shipped to a browser. It is sent as an `Authorization: token <TOKEN>`
6868
header and authorizes the `/api/v1/admin/*` calls (which require the
6969
`admin_of_administrative_org` relation). See
70-
[Administrative-Org Admin](../../../api/administration/admin-org.md).
70+
[Administrative-Org Admin](../../../api/administration/admin-org/).
7171
- The administrative organization slug (e.g. `appscode`) to pass as the `?org=` context on
7272
admin calls.
7373
- TLS on both hosts. All calls below assume `https://`.
@@ -96,7 +96,7 @@ used only for the server-side handoff in Phase 2; the end user never learns it.
9696
### 3.1 Create the user
9797

9898
`POST /api/v1/admin/users?org=<slug>` — body is a `CreateUserOption`
99-
([reference](../../../api/administration/admin-org.md)):
99+
([reference](../../../api/administration/admin-org/)):
100100

101101
```bash
102102
curl -X POST 'https://db.acme.com/api/v1/admin/users?org=appscode' \
@@ -128,7 +128,7 @@ curl -X POST 'https://db.acme.com/api/v1/admin/users?org=appscode' \
128128

129129
When the user edits their name/email in the CSP console, mirror it with `POST
130130
/api/v1/admin/users/{username}/update?org=<slug>` — body is a `Profile`
131-
([reference](../../../api/administration/admin-org.md)):
131+
([reference](../../../api/administration/admin-org/)):
132132

133133
```bash
134134
curl -X POST 'https://db.acme.com/api/v1/admin/users/acme-user-42/update?org=appscode' \
@@ -149,7 +149,7 @@ curl -X POST 'https://db.acme.com/api/v1/admin/users/acme-user-42/update?org=app
149149
If the CSP rotates the stored KubeDB credential, push the new value with `POST
150150
/api/v1/admin/users/{username}/change-password?org=<slug>` — body is an
151151
`UpdatePasswordParams`
152-
([reference](../../../api/administration/admin-org.md)):
152+
([reference](../../../api/administration/admin-org/)):
153153

154154
```bash
155155
curl -X POST 'https://db.acme.com/api/v1/admin/users/acme-user-42/change-password?org=appscode' \
@@ -163,7 +163,7 @@ curl -X POST 'https://db.acme.com/api/v1/admin/users/acme-user-42/change-passwor
163163
When a CSP user is disabled or deleted, revoke KubeDB access with `DELETE
164164
/api/v1/admin/users/{username}?org=<slug>` (or `PATCH` the user with `active:false` /
165165
`prohibit_login:true` to keep the record). See
166-
[Edit / Delete user](../../../api/administration/admin-org.md).
166+
[Edit / Delete user](../../../api/administration/admin-org/).
167167

168168
![Provisioning the mirrored user](../images/csp-provisioning.svg)
169169

@@ -174,7 +174,7 @@ When a CSP user is disabled or deleted, revoke KubeDB access with `DELETE
174174
The public sign-in endpoint **`POST /api/v1/user/signin`** authenticates a username +
175175
password and, on success, **sets the session, CSRF (`_csrf`), and NATS cookies** — the same
176176
cookies the web console relies on
177-
([reference](../../../api/users-settings/public-user-apis.md)). The trick is
177+
([reference](../../../api/users-settings/public-user-apis/)). The trick is
178178
that these cookies are obtained by the CSP backend server-to-server, then delivered to the
179179
user's browser so it holds a valid `db.acme.com` session.
180180

@@ -264,26 +264,26 @@ Organizations** — is designed exactly for CSPs. As a site admin, the CSP:
264264
1. Creates a client organization and imports spoke clusters into it —
265265
`POST /api/v1/user/client/create` and
266266
`POST /api/v1/user/client/{orgname}/add-cluster`
267-
([Client Org Management](../../../api/client-organizations/management.md)).
267+
([Client Org Management](../../../api/client-organizations/management/)).
268268
2. Creates a per-cluster user with scoped permissions and (optionally) fetches a kubeconfig
269269
for them —
270270
`POST /api/v1/clusters/{owner}/{cluster}/permission/user/create` and
271271
`GET /api/v1/clusters/{owner}/{cluster}/permission/user/{id}/kubeconfig`
272-
([Cluster User Permissions](../../../api/client-organizations/cluster-user-permissions.md)).
272+
([Cluster User Permissions](../../../api/client-organizations/cluster-user-permissions/)).
273273
274274
Map each CSP customer to a client organization and each mirrored user to that org's
275275
per-cluster permission set, so that when the user lands on the KubeDB console (via the
276276
handoff above) they see exactly the clusters and databases they are entitled to. The
277277
equivalent UI walkthrough is in the
278-
[Client Organization guide](../../client-organization/create-client-organization.md).
278+
[Client Organization guide](../../client-organization/create-client-organization/).
279279
280280
---
281281
282282
## 6. Logout
283283
284284
When the user logs out of the CSP console, also terminate the KubeDB session so a shared
285285
browser can't keep the console open. Call `GET /api/v1/user/signout` with the user's cookies
286-
and CSRF token ([reference](../../../api/users-settings/authenticated-user.md)):
286+
and CSRF token ([reference](../../../api/users-settings/authenticated-user/)):
287287
288288
```bash
289289
curl -X GET 'https://db.acme.com/api/v1/user/signout' \
@@ -317,7 +317,7 @@ Explore any of these interactively in the
317317
318318
- **Site-admin token** stays server-side, in a secret manager. Rotate it periodically. Its
319319
compromise means full control of every mirrored user. Generate/manage tokens via the
320-
[access-token APIs](../../../api/users-settings/public-user-apis.md).
320+
[access-token APIs](../../../api/users-settings/public-user-apis/).
321321
- **Stored KubeDB passwords** are internal credentials: generate them randomly (high
322322
entropy), encrypt at rest, and never expose them to the browser or the end user.
323323
- **Handoff ticket** must be short-lived (seconds), single-use, signed/encrypted, and bound

0 commit comments

Comments
 (0)