site sidebar: menu renaming & reorganization

This commit is contained in:
Benjamin A. Petersen 2023-08-02 11:19:47 -04:00
parent 14c353993b
commit fbb5296f68
No known key found for this signature in database
GPG Key ID: EF6EF83523A4BE46
21 changed files with 85 additions and 68 deletions

View File

@ -0,0 +1,14 @@
---
title: How-to Guides for Configuring Concierge
cascade:
layout: docs
menu:
docs:
name: Concierge Configuration
identifier: howto-configure-concierge
weight: 60
---
These how-to guides show you how to install and configure Pinniped Concierge:
{{< docsmenu "howto-configure-concierge" >}}

View File

@ -5,9 +5,9 @@ cascade:
layout: docs
menu:
docs:
name: Configure Concierge JWT Authentication
name: JWT Authentication
weight: 30
parent: howtos
parent: howto-configure-concierge
---
The Concierge can validate [JSON Web Tokens (JWTs)](https://tools.ietf.org/html/rfc7519), which are commonly issued by [OpenID Connect (OIDC)](https://openid.net/connect/) identity providers.

View File

@ -5,9 +5,9 @@ cascade:
layout: docs
menu:
docs:
name: Configure Concierge JWT Authentication with the Supervisor
weight: 50
parent: howtos
name: JWT Authentication with Supervisor
weight: 40
parent: howto-configure-concierge
---
The Concierge can validate [JSON Web Tokens (JWTs)](https://tools.ietf.org/html/rfc7519), which are commonly issued by [OpenID Connect (OIDC)](https://openid.net/connect/) identity providers.

View File

@ -5,9 +5,9 @@ cascade:
layout: docs
menu:
docs:
name: Configure Concierge Webhook Authentication
weight: 40
parent: howtos
name: Webhook Authentication
weight: 50
parent: howto-configure-concierge
---
The Concierge can validate arbitrary tokens via an external webhook endpoint using the [same validation process as Kubernetes itself](https://kubernetes.io/docs/reference/access-authn-authz/authentication/#webhook-token-authentication).

View File

@ -4,7 +4,7 @@ cascade:
layout: docs
menu:
docs:
name: How-to Configure IDPs
name: Supervisor Configuration
identifier: howto-configure-idps
weight: 60
---

View File

@ -5,7 +5,7 @@ cascade:
layout: docs
menu:
docs:
name: Configure Supervisor With Active Directory
name: With Active Directory
weight: 110
parent: howto-configure-idps
---

View File

@ -5,7 +5,7 @@ cascade:
layout: docs
menu:
docs:
name: Configure Supervisor With Auth0 OIDC
name: With Auth0 OIDC
weight: 80
parent: howto-configure-idps
---

View File

@ -5,7 +5,7 @@ cascade:
layout: docs
menu:
docs:
name: Configure Supervisor With Dex OIDC
name: With Dex OIDC
weight: 80
parent: howto-configure-idps
---

View File

@ -5,7 +5,7 @@ cascade:
layout: docs
menu:
docs:
name: Configure Supervisor With GitLab OIDC
name: With GitLab OIDC
weight: 90
parent: howto-configure-idps
---

View File

@ -5,7 +5,7 @@ cascade:
layout: docs
menu:
docs:
name: Configure Supervisor With JumpCloud LDAP
name: With JumpCloud LDAP
weight: 110
parent: howto-configure-idps
---

View File

@ -5,7 +5,7 @@ cascade:
layout: docs
menu:
docs:
name: Configure Supervisor With Okta OIDC
name: With Okta OIDC
weight: 80
parent: howto-configure-idps
---

View File

@ -5,7 +5,7 @@ cascade:
layout: docs
menu:
docs:
name: Configure Supervisor With OpenLDAP
name: With OpenLDAP
weight: 100
parent: howto-configure-idps
---

View File

@ -5,7 +5,7 @@ cascade:
layout: docs
menu:
docs:
name: Configure Supervisor With Workspace ONE Access
name: With Workspace ONE Access
weight: 80
parent: howto-configure-idps
---

View File

@ -5,9 +5,9 @@ cascade:
layout: docs
menu:
docs:
name: Configure Supervisor as an OIDC Issuer
weight: 70
parent: howtos
name: As an OIDC Issuer
weight: 10
parent: howto-configure-idps
---
The Supervisor is an [OpenID Connect (OIDC)](https://openid.net/connect/) issuer that supports connecting a single

View File

@ -101,7 +101,7 @@ had to make some choices. The choices made for this tutorial were:
- For web-based login flows as used by OIDC identity providers, the Pinniped Supervisor needs TLS certificates
that are trusted by the end users' web browsers. There are many ways to create TLS certificates.
There are also several ways to configure the TLS certificates on the Supervisor, as described in the
[docs for configuring the Supervisor]({{< ref "../howto/configure-supervisor" >}}).
[docs for configuring the Supervisor]({{< ref "../howto/idps/configure-supervisor" >}}).
For this tutorial we will use [Let's Encrypt](https://letsencrypt.org) with [cert-manager](https://cert-manager.io/docs/),
because any reader could use these services if they would like to try these steps themselves.
- The Pinniped Concierge can be installed in many types of Kubernetes clusters, as described in
@ -198,7 +198,7 @@ kubectl apply \
### Create a LoadBalancer Service for the Supervisor
There are several options for exposing the Supervisor's endpoints outside the cluster, which are described in the
[howto guide for configuring the Supervisor]({{< ref "../howto/configure-supervisor" >}}). For this tutorial,
[howto guide for configuring the Supervisor]({{< ref "../howto/idps/configure-supervisor" >}}). For this tutorial,
we will use a public LoadBalancer.
Create a LoadBalancer to expose the Supervisor's endpoints to the public, being careful to only

View File

@ -24,8 +24,8 @@ for a more specific example of installing onto a local kind cluster, including t
1. [Install the Concierge]({{< ref "../howto/install-concierge" >}}).
1. [Install the Pinniped command-line tool]({{< ref "../howto/install-cli" >}}).
1. Configure the Concierge with a
[JWT]({{< ref "../howto/configure-concierge-jwt" >}}) or
[webhook]({{< ref "../howto/configure-concierge-webhook" >}}) authenticator.
[JWT]({{< ref "../howto/concierge/configure-concierge-jwt" >}}) or
[webhook]({{< ref "../howto/concierge/configure-concierge-webhook" >}}) authenticator.
1. Generate a kubeconfig using the Pinniped command-line tool (run `pinniped get kubeconfig --help` for more information).
1. Run `kubectl` commands using the generated kubeconfig. The Pinniped Concierge will automatically be used for authentication during those commands.

View File

@ -111,7 +111,7 @@ And it is important that your users are using authentic kubeconfig files handed
### How to use LDAP with your Pinniped Supervisor
Once you have [installed]({{< ref "docs/howto/install-supervisor.md" >}})
and [configured]({{< ref "docs/howto/configure-supervisor.md" >}}) the Supervisor, adding an LDAP provider is as easy as creating
and [configured]({{< ref "docs/howto/idps/configure-supervisor.md" >}}) the Supervisor, adding an LDAP provider is as easy as creating
an [LDAPIdentityProvider](https://github.com/vmware-tanzu/pinniped/blob/main/generated/1.20/README.adoc#ldapidentityprovider) resource.
We've provided examples of using [OpenLDAP]({{< ref "docs/howto/install-supervisor.md" >}})

View File

@ -23,7 +23,7 @@ Our initial LDAP implementation released with v.10.0 can be used to work with an
Pinniped Supervisor authenticates your users with the AD provider via the LDAP protocol, and then issues unique, short-lived, per-cluster tokens. Our previous blog post on [LDAP configuration]({{< ref "2021-06-02-first-ldap-release.md">}}), elaborates on the security considerations to support integration at the Pinniped Supervisor level instead of at the Concierge.
To setup the AD configuration, once you have Supervisor configured with ingress [installed the Pinniped Supervisor]({{< ref "docs/howto/install-supervisor.md" >}}) and you have [configured a FederationDomain]({{< ref "docs/howto/configure-supervisor" >}}) to issue tokens for your downstream clusters, you can create an [ActiveDirectoryIdentityProvider](https://github.com/vmware-tanzu/pinniped/blob/main/generated/1.20/README.adoc#activedirectoryidentityprovider) in the same namespace as the Supervisor.
To setup the AD configuration, once you have Supervisor configured with ingress [installed the Pinniped Supervisor]({{< ref "docs/howto/install-supervisor.md" >}}) and you have [configured a FederationDomain]({{< ref "docs/howto/idps/configure-supervisor" >}}) to issue tokens for your downstream clusters, you can create an [ActiveDirectoryIdentityProvider](https://github.com/vmware-tanzu/pinniped/blob/main/generated/1.20/README.adoc#activedirectoryidentityprovider) in the same namespace as the Supervisor.
Heres what an example configuration looks like
```yaml

File diff suppressed because one or more lines are too long

View File

@ -291,10 +291,9 @@
}
}
code {
background-color: $white;
color: $darkgrey;
border: 2px solid #EFEFEF;
padding: 2px 8px;
background: #efefef;
padding: 2px 4px;
font-size: 85%;
.c1 {
color: $blue;
font-style: italic;
@ -310,10 +309,9 @@
white-space: -o-pre-wrap;
word-wrap: break-word;
code {
display: block;
border: 15px solid #EFEFEF;
padding: 15px;
margin-bottom: 30px;
background: #efefef;
padding: 2px 4px;
font-size: 85%;
}
}
img {
@ -458,24 +456,34 @@
width: 100%;
float: none;
}
position: relative;
// border-right: 1px solid $lightgrey;
a.active {
background: $lightgrey;
padding: 5px 7px;
margin-left: -7px;
}
h3 {
font-size: 18px;
font-family: $metropolis-medium;
margin-bottom: 10px;
a {
font-weight: 300;
line-height: 1.25;
color: #000;
}
}
ul {
padding-left: 0px;
margin-top: 0;
margin-bottom: 35px;
ul {
padding-left: 15px;
margin-top: 10px;
margin-bottom: 15px;
}
list-style-type: none;
li {
display: list-item;
margin-bottom: 15px;
padding-right: 0px;
a {
color: $grey;
display: block;
font-size: 14px;
&.active {
color: $blue;
}
font-weight: 300;
}
&.heading {
color: $black;
@ -523,10 +531,9 @@
}
}
code {
background-color: $white;
color: $darkgrey;
border: 2px solid #EFEFEF;
padding: 2px 8px;
background: #efefef;
padding: 2px 4px;
font-size: 85%;
.c1 {
color: $blue;
font-style: italic;
@ -542,11 +549,9 @@
white-space: -o-pre-wrap;
word-wrap: break-word;
code {
display: block;
border: 15px solid #EFEFEF;
padding: 15px;
margin-bottom: 30px;
font-size: 14px;
background: #efefef;
padding: 2px 4px;
font-size: 85%;
}
}
img {

View File

@ -7,21 +7,19 @@
dir="auto" style="position: relative; vertical-align: top;">
</span>
</form>
<ul>
<div class="navigation">
{{- $currentPage := . }}
{{- range .Site.Menus.docs }}
<h3>
<a href="{{ .URL }}" class="{{ cond ($currentPage.IsMenuCurrent "docs" .) "active" "" }}">{{ .Name }}</a>
</h3>
<ul>
{{- range .Children }}
<li>
<a href="{{ .URL }}" class="{{ cond ($currentPage.IsMenuCurrent "docs" .) "active" "" }}">{{ .Name }}</a>
{{- if .HasChildren }}
<ul class="sub-menu">
{{- range .Children }}
<li>
<a href="{{ .URL }}"{{ if $currentPage.IsMenuCurrent "docs" . }} class="active"{{ end }} >{{ .Name }}</a>
</li>
{{- end }}
</ul>
{{- end }}
<a href="{{ .URL }}"{{ if $currentPage.IsMenuCurrent "docs" . }} class="active"{{ end }} >{{ .Name }}</a>
</li>
{{- end }}
</ul>
{{- end }}
</ul>
</div>
</div>