Package v1alpha1 is the v1alpha1 version of the Pinniped concierge authentication API.
CertificateAuthorityDataSourceKind enumerates the sources for CA Bundles.
CertificateAuthorityDataSourceSpec provides a source for CA bundle used for client-side TLS verification.
Field | Description |
---|---|
Kind configures whether the CA bundle is being sourced from a Kubernetes secret or a configmap. |
|
|
Name is the resource name of the secret or configmap from which to read the CA bundle. |
|
Key is the key name within the secret or configmap from which to read the CA bundle. |
JWTAuthenticator describes the configuration of a JWT authenticator.
Upon receiving a signed JWT, a JWTAuthenticator will performs some validation on it (e.g., valid signature, existence of claims, etc.) and extract the username and groups from the token.
Field | Description |
---|---|
|
Refer to Kubernetes API documentation for fields of |
|
Spec for configuring the authenticator. |
|
Status of the authenticator. |
Spec for configuring a JWT authenticator.
Field | Description |
---|---|
|
Issuer is the OIDC issuer URL that will be used to discover public signing keys. Issuer is |
|
Audience is the required value of the "aud" JWT claim. |
|
Claims allows customization of the claims that will be mapped to user identity |
|
TLS configuration for communicating with the OIDC provider. |
Status of a JWT authenticator.
Field | Description |
---|---|
|
Represents the observations of the authenticator’s current state. |
|
Phase summarizes the overall status of the JWTAuthenticator. |
JWTTokenClaims allows customization of the claims that will be mapped to user identity for Kubernetes access.
Field | Description |
---|---|
|
Groups is the name of the claim which should be read to extract the user’s |
|
Username is the name of the claim which should be read to extract the |
TLSSpec provides TLS configuration on various authenticators.
Field | Description |
---|---|
|
X.509 Certificate Authority (base64-encoded PEM bundle). If omitted, a default set of system roots will be trusted. |
|
Reference to a CA bundle in a secret or a configmap. |
WebhookAuthenticator describes the configuration of a webhook authenticator.
Field | Description |
---|---|
|
Refer to Kubernetes API documentation for fields of |
Spec for configuring the authenticator. |
|
|
Status of the authenticator. |
Spec for configuring a webhook authenticator.
Field | Description |
---|---|
|
Webhook server endpoint URL. |
|
TLS configuration. |
Status of a webhook authenticator.
Field | Description |
---|---|
|
Represents the observations of the authenticator’s current state. |
Phase summarizes the overall status of the WebhookAuthenticator. |
Package clientsecret is the internal version of the Pinniped client secret API.
OIDCClientSecretRequest can be used to update the client secrets associated with an OIDCClient.
Field | Description |
---|---|
|
|
Spec of the OIDCClientSecretRequest.
Field | Description |
---|---|
|
Request a new client secret to for the OIDCClient referenced by the metadata.name field. |
|
Revoke the old client secrets associated with the OIDCClient referenced by the metadata.name field. |
Status of the OIDCClientSecretRequest.
Field | Description |
---|---|
|
The unencrypted OIDC Client Secret. This will only be shared upon creation and cannot be recovered if lost. |
|
The total number of client secrets associated with the OIDCClient referenced by the metadata.name field. |
Package v1alpha1 is the v1alpha1 version of the Pinniped client secret API.
OIDCClientSecretRequest can be used to update the client secrets associated with an OIDCClient.
Field | Description |
---|---|
|
Refer to Kubernetes API documentation for fields of |
Spec of the OIDCClientSecretRequest.
Field | Description |
---|---|
|
Request a new client secret to for the OIDCClient referenced by the metadata.name field. |
|
Revoke the old client secrets associated with the OIDCClient referenced by the metadata.name field. |
Status of the OIDCClientSecretRequest.
Field | Description |
---|---|
|
The unencrypted OIDC Client Secret. This will only be shared upon creation and cannot be recovered if lost. |
|
The total number of client secrets associated with the OIDCClient referenced by the metadata.name field. |
Package v1alpha1 is the v1alpha1 version of the Pinniped concierge configuration API.
CredentialIssuer describes the configuration and status of the Pinniped Concierge credential issuer.
Field | Description |
---|---|
|
Refer to Kubernetes API documentation for fields of |
|
Spec describes the intended configuration of the Concierge. |
|
CredentialIssuerStatus describes the status of the Concierge. |
CredentialIssuerFrontend describes how to connect using a particular integration strategy.
Field | Description |
---|---|
|
Type describes which frontend mechanism clients can use with a strategy. |
|
TokenCredentialRequestAPIInfo describes the parameters for the TokenCredentialRequest API on this Concierge. |
|
ImpersonationProxyInfo describes the parameters for the impersonation proxy on this Concierge. |
CredentialIssuerKubeConfigInfo provides the information needed to form a valid Pinniped-based kubeconfig using this credential issuer. This type is deprecated and will be removed in a future version.
Field | Description |
---|---|
|
The K8s API server URL. |
|
The K8s API server CA bundle. |
CredentialIssuerSpec describes the intended configuration of the Concierge.
Field | Description |
---|---|
|
ImpersonationProxy describes the intended configuration of the Concierge impersonation proxy. |
CredentialIssuerStatus describes the status of the Concierge.
Field | Description |
---|---|
|
List of integration strategies that were attempted by Pinniped. |
|
Information needed to form a valid Pinniped-based kubeconfig using this credential issuer. |
CredentialIssuerStrategy describes the status of an integration strategy that was attempted by Pinniped.
Field | Description |
---|---|
|
Type of integration attempted. |
|
Status of the attempted integration strategy. |
|
Reason for the current status. |
|
Human-readable description of the current status. |
|
When the status was last checked. |
|
Frontend describes how clients can connect using this strategy. |
FrontendType enumerates a type of "frontend" used to provide access to users of a cluster.
ImpersonationProxyInfo describes the parameters for the impersonation proxy on this Concierge.
Field | Description |
---|---|
|
Endpoint is the HTTPS endpoint of the impersonation proxy. |
|
CertificateAuthorityData is the base64-encoded PEM CA bundle of the impersonation proxy. |
ImpersonationProxyMode enumerates the configuration modes for the impersonation proxy. Allowed values are "auto", "enabled", or "disabled".
ImpersonationProxyServiceSpec describes how the Concierge should provision a Service to expose the impersonation proxy.
Field | Description |
---|---|
Type specifies the type of Service to provision for the impersonation proxy. If the type is "None", then the "spec.impersonationProxy.externalEndpoint" field must be set to a non-empty |
|
|
LoadBalancerIP specifies the IP address to set in the spec.loadBalancerIP field of the provisioned Service. |
|
Annotations specifies zero or more key/value pairs to set as annotations on the provisioned Service. |
ImpersonationProxyServiceType enumerates the types of service that can be provisioned for the impersonation proxy. Allowed values are "LoadBalancer", "ClusterIP", or "None".
ImpersonationProxySpec describes the intended configuration of the Concierge impersonation proxy.
Field | Description |
---|---|
Mode configures whether the impersonation proxy should be started: |
|
|
Service describes the configuration of the Service provisioned to expose the impersonation proxy to clients. |
|
ExternalEndpoint describes the HTTPS endpoint where the proxy will be exposed. If not set, the proxy will This field must be non-empty when spec.impersonationProxy.service.type is "None". |
TLS contains information about how the Concierge impersonation proxy should serve TLS. If this field is empty, the impersonation proxy will generate its own TLS certificate. |
ImpersonationProxyTLSSpec contains information about how the Concierge impersonation proxy should serve TLS.
If CertificateAuthorityData is not provided, the Concierge impersonation proxy will check the secret for a field called "ca.crt", which will be used as the CertificateAuthorityData.
If neither CertificateAuthorityData nor ca.crt is provided, no CA bundle will be advertised for the impersonation proxy endpoint.
Field | Description |
---|---|
|
X.509 Certificate Authority (base64-encoded PEM bundle). |
|
SecretName is the name of a Secret in the same namespace, of type |
StrategyReason enumerates the detailed reason why a strategy is in a particular status.
StrategyStatus enumerates whether a strategy is working on a cluster.
StrategyType enumerates a type of "strategy" used to implement credential access on a cluster.
TokenCredentialRequestAPIInfo describes the parameters for the TokenCredentialRequest API on this Concierge.
Field | Description |
---|---|
|
Server is the Kubernetes API server URL. |
|
CertificateAuthorityData is the base64-encoded Kubernetes API server CA bundle. |
Package v1alpha1 is the v1alpha1 version of the Pinniped supervisor configuration API.
FederationDomain describes the configuration of an OIDC provider.
Field | Description |
---|---|
|
Refer to Kubernetes API documentation for fields of |
|
Spec of the OIDC provider. |
|
Status of the OIDC provider. |
FederationDomainIdentityProvider describes how an identity provider is made available in this FederationDomain.
Field | Description |
---|---|
|
DisplayName is the name of this identity provider as it will appear to clients. This name ends up in the |
|
ObjectRef is a reference to a Pinniped identity provider resource. A valid reference is required. |
|
Transforms is an optional way to specify transformations to be applied during user authentication and |
FederationDomainSecrets holds information about this OIDC Provider’s secrets.
Field | Description |
---|---|
|
JWKS holds the name of the corev1.Secret in which this OIDC Provider’s signing/verification keys are |
|
TokenSigningKey holds the name of the corev1.Secret in which this OIDC Provider’s key for |
|
StateSigningKey holds the name of the corev1.Secret in which this OIDC Provider’s key for |
|
StateSigningKey holds the name of the corev1.Secret in which this OIDC Provider’s key for |
FederationDomainSpec is a struct that describes an OIDC Provider.
Field | Description |
---|---|
|
Issuer is the OIDC Provider’s issuer, per the OIDC Discovery Metadata document, as well as the See |
TLS specifies a secret which will contain Transport Layer Security (TLS) configuration for the FederationDomain. |
|
|
IdentityProviders is the list of identity providers available for use by this FederationDomain. An identity provider CR (e.g. OIDCIdentityProvider or LDAPIdentityProvider) describes how to connect to a server, For backwards compatibility with versions of Pinniped which predate support for multiple identity providers, |
FederationDomainStatus is a struct that describes the actual state of an OIDC Provider.
Field | Description |
---|---|
|
Phase summarizes the overall status of the FederationDomain. |
|
Conditions represent the observations of an FederationDomain’s current state. |
|
Secrets contains information about this OIDC Provider’s secrets. |
FederationDomainTLSSpec is a struct that describes the TLS configuration for an OIDC Provider.
Field | Description |
---|---|
|
SecretName is an optional name of a Secret in the same namespace, of type Server Name Indication (SNI) is an extension to the Transport Layer Security (TLS) supported by all major browsers. SecretName is required if you would like to use different TLS certificates for issuers of different hostnames. SecretName is not required when you would like to use only the HTTP endpoints (e.g. when the HTTP listener is When your Issuer URL’s host is an IP address, then this field is ignored. SNI does not work for IP addresses. |
FederationDomainTransforms defines identity transformations for an identity provider’s usage on a FederationDomain.
Field | Description |
---|---|
|
Constants defines constant variables and their values which will be made available to the transform expressions. |
|
Expressions are an optional list of transforms and policies to be executed in the order given during every The username and groups extracted from the identity provider, and the constants defined in this CR, are The only allowed types for expressions are currently policy/v1, username/v1, and groups/v1. Any compilation or static type-checking failure of any expression will cause an error status on the FederationDomain. |
|
Examples can optionally be used to ensure that the sequence of transformation expressions are working as |
FederationDomainTransformsConstant defines a constant variable and its value which will be made available to the transform expressions. This is a union type, and Type is the discriminator field.
Field | Description |
---|---|
|
Name determines the name of the constant. It must be a valid identifier name. |
|
Type determines the type of the constant, and indicates which other field should be non-empty. |
|
StringValue should hold the value when Type is "string", and is otherwise ignored. |
|
StringListValue should hold the value when Type is "stringList", and is otherwise ignored. |
FederationDomainTransformsExample defines a transform example.
Field | Description |
---|---|
|
Username is the input username. |
|
Groups is the input list of group names. |
Expects is the expected output of the entire sequence of transforms when they are run against the |
FederationDomainTransformsExampleExpects defines the expected result for a transforms example.
Field | Description |
---|---|
|
Username is the expected username after the transformations have been applied. |
|
Groups is the expected list of group names after the transformations have been applied. |
|
Rejected is a boolean that indicates whether authentication is expected to be rejected by a policy expression |
|
Message is the expected error message of the transforms. When Rejected is true, then Message is the expected |
FederationDomainTransformsExpression defines a transform expression.
Field | Description |
---|---|
|
Type determines the type of the expression. It must be one of the supported types. |
|
Expression is a CEL expression that will be evaluated based on the Type during an authentication. |
|
Message is only used when Type is policy/v1. It defines an error message to be used when the policy rejects |
OIDCClient describes the configuration of an OIDC client.
Field | Description |
---|---|
|
Refer to Kubernetes API documentation for fields of |
|
Spec of the OIDC client. |
|
Status of the OIDC client. |
OIDCClientSpec is a struct that describes an OIDCClient.
Field | Description |
---|---|
|
allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this |
|
allowedGrantTypes is a list of the allowed grant_type param values that should be accepted during OIDC flows with this Must only contain the following values: |
|
allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client. Must only contain the following values: |
|
tokenLifetimes are the optional overrides of token lifetimes for an OIDCClient. |
OIDCClientStatus is a struct that describes the actual state of an OIDCClient.
Field | Description |
---|---|
|
phase summarizes the overall status of the OIDCClient. |
|
conditions represent the observations of an OIDCClient’s current state. |
|
totalClientSecrets is the current number of client secrets that are detected for this OIDCClient. |
OIDCClientTokenLifetimes describes the optional overrides of token lifetimes for an OIDCClient.
Field | Description |
---|---|
|
idTokenSeconds is the lifetime of ID tokens issued to this client, in seconds. This will choose the lifetime of |
Package identity is the internal version of the Pinniped identity API.
KubernetesUserInfo represents the current authenticated user, exactly as Kubernetes understands it. Copied from the Kubernetes token review API.
Field | Description |
---|---|
|
User is the UserInfo associated with the current user. |
|
Audiences are audience identifiers chosen by the authenticator. |
UserInfo holds the information about the user needed to implement the user.Info interface.
Field | Description |
---|---|
|
The name that uniquely identifies this user among all active users. |
|
A unique value that identifies this user across time. If this user is |
|
The names of groups this user is a part of. |
|
Any additional information provided by the authenticator. |
WhoAmIRequest submits a request to echo back the current authenticated user.
Field | Description |
---|---|
|
|
|
|
|
Status is set by the server in the response to a WhoAmIRequest.
Field | Description |
---|---|
|
The current authenticated user, exactly as Kubernetes understands it. |
Package v1alpha1 is the v1alpha1 version of the Pinniped identity API.
KubernetesUserInfo represents the current authenticated user, exactly as Kubernetes understands it. Copied from the Kubernetes token review API.
Field | Description |
---|---|
|
User is the UserInfo associated with the current user. |
|
Audiences are audience identifiers chosen by the authenticator. |
UserInfo holds the information about the user needed to implement the user.Info interface.
Field | Description |
---|---|
|
The name that uniquely identifies this user among all active users. |
|
A unique value that identifies this user across time. If this user is |
|
The names of groups this user is a part of. |
|
Any additional information provided by the authenticator. |
WhoAmIRequest submits a request to echo back the current authenticated user.
Field | Description |
---|---|
|
Refer to Kubernetes API documentation for fields of |
|
|
|
Status is set by the server in the response to a WhoAmIRequest.
Field | Description |
---|---|
|
The current authenticated user, exactly as Kubernetes understands it. |
Package v1alpha1 is the v1alpha1 version of the Pinniped supervisor identity provider (IDP) API.
ActiveDirectoryIdentityProvider describes the configuration of an upstream Microsoft Active Directory identity provider.
Field | Description |
---|---|
|
Refer to Kubernetes API documentation for fields of |
Spec for configuring the identity provider. |
|
Status of the identity provider. |
Field | Description |
---|---|
|
SecretName contains the name of a namespace-local Secret object that provides the username and |
Field | Description |
---|---|
|
Base is the dn (distinguished name) that should be used as the search base when searching for groups. E.g. |
|
Filter is the ActiveDirectory search filter which should be applied when searching for groups for a user. |
|
UserAttributeForFilter specifies which attribute’s value from the user entry found as a result of |
Attributes specifies how the group’s information should be read from each ActiveDirectory entry which was found as |
|
|
The user’s group membership is refreshed as they interact with the supervisor In some environments, frequent group membership queries may result in a If the group search query cannot be made performant and you are willing to This is an experimental feature that may be removed or significantly altered |
Field | Description |
---|---|
|
GroupName specifies the name of the attribute in the Active Directory entries whose value shall become a group name |
Spec for configuring an ActiveDirectory identity provider.
Field | Description |
---|---|
|
Host is the hostname of this Active Directory identity provider, i.e., where to connect. For example: ldap.example.com:636. |
|
TLS contains the connection settings for how to establish the connection to the Host. |
Bind contains the configuration for how to provide access credentials during an initial bind to the ActiveDirectory server |
|
|
UserSearch contains the configuration for searching for a user by name in Active Directory. |
|
GroupSearch contains the configuration for searching for a user’s group membership in ActiveDirectory. |
Status of an Active Directory identity provider.
Field | Description |
---|---|
Phase summarizes the overall status of the ActiveDirectoryIdentityProvider. |
|
|
Represents the observations of an identity provider’s current state. |
Field | Description |
---|---|
|
Base is the dn (distinguished name) that should be used as the search base when searching for users. |
|
Filter is the search filter which should be applied when searching for users. The pattern "{}" must occur |
Attributes specifies how the user’s information should be read from the ActiveDirectory entry which was found as |
Field | Description |
---|---|
|
Username specifies the name of the attribute in Active Directory entry whose value shall become the username |
|
UID specifies the name of the attribute in the ActiveDirectory entry which whose value shall be used to uniquely |
CertificateAuthorityDataSourceKind enumerates the sources for CA Bundles.
CertificateAuthorityDataSourceSpec provides a source for CA bundle used for client-side TLS verification.
Field | Description |
---|---|
Kind configures whether the CA bundle is being sourced from a Kubernetes secret or a configmap. |
|
|
Name is the resource name of the secret or configmap from which to read the CA bundle. |
|
Key is the key name within the secret or configmap from which to read the CA bundle. |
GitHubAPIConfig allows configuration for GitHub Enterprise Server
Field | Description |
---|---|
|
Host is required only for GitHub Enterprise Server. |
|
TLS configuration for GitHub Enterprise Server. |
GitHubAllowAuthenticationSpec allows customization of who can authenticate using this IDP and how.
Field | Description |
---|---|
|
Organizations allows customization of which organizations can authenticate using this IDP. |
GitHubClaims allows customization of the username and groups claims.
Field | Description |
---|---|
|
Username configures which property of the GitHub user record shall determine the username in Kubernetes. Can be either "id", "login", or "login:id". Defaults to "login:id". GitHub’s user login attributes can only contain alphanumeric characters and non-repeating hyphens, If desired, an admin could configure identity transformation expressions on the Pinniped Supervisor’s Defaults to "login:id", which is the user login attribute, followed by a colon, followed by the unique and See the response schema for |
|
Groups configures which property of the GitHub team record shall determine the group names in Kubernetes. Can be either "name" or "slug". Defaults to "slug". GitHub team names can contain upper and lower case characters, whitespace, and punctuation (e.g. "Kube admins!"). GitHub team slugs are lower case alphanumeric characters and may contain dashes and underscores (e.g. "kube-admins"). Group names as presented to Kubernetes will always be prefixed by the GitHub organization name followed by a If desired, an admin could configure identity transformation expressions on the Pinniped Supervisor’s See the response schema for |
GitHubClientSpec contains information about the GitHub client that this identity provider will use for web-based login flows.
Field | Description |
---|---|
|
SecretName contains the name of a namespace-local Secret object that provides the clientID and This secret must be of type "secrets.pinniped.dev/github-client" with keys "clientID" and "clientSecret". |
GitHubGroupNameAttribute allows the user to specify which attribute from GitHub to use for the group names to present to Kubernetes. See the response schema for [List teams for the authenticated user](https://docs.github.com/en/rest/teams/teams?apiVersion=2022-11-28#list-teams-for-the-authenticated-user).
GitHubIdentityProvider describes the configuration of an upstream GitHub identity provider. This upstream provider can be configured with either a GitHub App or a GitHub OAuth2 App.
Right now, only web-based logins are supported, for both the pinniped-cli client and clients configured as OIDCClients.
Field | Description |
---|---|
|
Refer to Kubernetes API documentation for fields of |
Spec for configuring the identity provider. |
|
|
Status of the identity provider. |
GitHubIdentityProviderSpec is the spec for configuring an GitHub identity provider.
Field | Description |
---|---|
|
GitHubAPI allows configuration for GitHub Enterprise Server |
|
Claims allows customization of the username and groups claims. |
|
AllowAuthentication allows customization of who can authenticate using this IDP and how. |
|
Client identifies the secret with credentials for a GitHub App or GitHub OAuth2 App (a GitHub client). |
GitHubIdentityProviderStatus is the status of an GitHub identity provider.
Field | Description |
---|---|
Phase summarizes the overall status of the GitHubIdentityProvider. |
|
|
Conditions represents the observations of an identity provider’s current state. |
Field | Description |
---|---|
Allowed values are "OnlyUsersFromAllowedOrganizations" or "AllGitHubUsers". Must be set to "AllGitHubUsers" if the allowed field is empty. This field only exists to ensure that Pinniped administrators are aware that an empty list of |
|
|
Allowed, when specified, indicates that only users with membership in at least one of the listed The configured GitHub App or GitHub OAuth App must be allowed to see membership in the listed organizations, If no organizations are listed, you must set organizations: AllGitHubUsers. |
GitHubUsernameAttribute allows the user to specify which attribute(s) from GitHub to use for the username to present to Kubernetes. See the response schema for [Get the authenticated user](https://docs.github.com/en/rest/users/users?apiVersion=2022-11-28#get-the-authenticated-user).
LDAPIdentityProvider describes the configuration of an upstream Lightweight Directory Access Protocol (LDAP) identity provider.
Field | Description |
---|---|
|
Refer to Kubernetes API documentation for fields of |
Spec for configuring the identity provider. |
|
|
Status of the identity provider. |
Field | Description |
---|---|
|
SecretName contains the name of a namespace-local Secret object that provides the username and |
Field | Description |
---|---|
|
Base is the dn (distinguished name) that should be used as the search base when searching for groups. E.g. |
|
Filter is the LDAP search filter which should be applied when searching for groups for a user. |
|
UserAttributeForFilter specifies which attribute’s value from the user entry found as a result of |
|
Attributes specifies how the group’s information should be read from each LDAP entry which was found as |
|
The user’s group membership is refreshed as they interact with the supervisor In some environments, frequent group membership queries may result in a If the group search query cannot be made performant and you are willing to This is an experimental feature that may be removed or significantly altered |
Field | Description |
---|---|
|
GroupName specifies the name of the attribute in the LDAP entries whose value shall become a group name |
Spec for configuring an LDAP identity provider.
Field | Description |
---|---|
|
Host is the hostname of this LDAP identity provider, i.e., where to connect. For example: ldap.example.com:636. |
|
TLS contains the connection settings for how to establish the connection to the Host. |
Bind contains the configuration for how to provide access credentials during an initial bind to the LDAP server |
|
|
UserSearch contains the configuration for searching for a user by name in the LDAP provider. |
|
GroupSearch contains the configuration for searching for a user’s group membership in the LDAP provider. |
Status of an LDAP identity provider.
Field | Description |
---|---|
Phase summarizes the overall status of the LDAPIdentityProvider. |
|
|
Represents the observations of an identity provider’s current state. |
Field | Description |
---|---|
|
Base is the dn (distinguished name) that should be used as the search base when searching for users. |
|
Filter is the LDAP search filter which should be applied when searching for users. The pattern "{}" must occur |
|
Attributes specifies how the user’s information should be read from the LDAP entry which was found as |
Field | Description |
---|---|
|
Username specifies the name of the attribute in the LDAP entry whose value shall become the username |
|
UID specifies the name of the attribute in the LDAP entry which whose value shall be used to uniquely |
OIDCAuthorizationConfig provides information about how to form the OAuth2 authorization request parameters.
Field | Description |
---|---|
|
additionalScopes are the additional scopes that will be requested from your OIDC provider in the authorization |
|
additionalAuthorizeParameters are extra query parameters that should be included in the authorize request to your |
|
allowPasswordGrant, when true, will allow the use of OAuth 2.0’s Resource Owner Password Credentials Grant |
OIDCClaims provides a mapping from upstream claims into identities.
Field | Description |
---|---|
|
Groups provides the name of the ID token claim or userinfo endpoint response claim that will be used to ascertain |
|
Username provides the name of the ID token claim or userinfo endpoint response claim that will be used to |
|
AdditionalClaimMappings allows for additional arbitrary upstream claim values to be mapped into the |
OIDCClient contains information about an OIDC client (e.g., client ID and client secret).
Field | Description |
---|---|
|
SecretName contains the name of a namespace-local Secret object that provides the clientID and |
OIDCIdentityProvider describes the configuration of an upstream OpenID Connect identity provider.
Field | Description |
---|---|
|
Refer to Kubernetes API documentation for fields of |
Spec for configuring the identity provider. |
|
|
Status of the identity provider. |
OIDCIdentityProviderSpec is the spec for configuring an OIDC identity provider.
Field | Description |
---|---|
|
Issuer is the issuer URL of this OIDC identity provider, i.e., where to fetch |
|
TLS configuration for discovery/JWKS requests to the issuer. |
|
AuthorizationConfig holds information about how to form the OAuth2 authorization request |
|
Claims provides the names of token claims that will be used when inspecting an identity from |
|
OIDCClient contains OIDC client information to be used used with this OIDC identity |
OIDCIdentityProviderStatus is the status of an OIDC identity provider.
Field | Description |
---|---|
Phase summarizes the overall status of the OIDCIdentityProvider. |
|
|
Represents the observations of an identity provider’s current state. |
Parameter is a key/value pair which represents a parameter in an HTTP request.
Field | Description |
---|---|
|
The name of the parameter. Required. |
|
The value of the parameter. |
TLSSpec provides TLS configuration for identity provider integration.
Field | Description |
---|---|
|
X.509 Certificate Authority (base64-encoded PEM bundle). If omitted, a default set of system roots will be trusted. |
|
Reference to a CA bundle in a secret or a configmap. |
Package v1alpha1 is the v1alpha1 version of the Pinniped login API.
ClusterCredential is the cluster-specific credential returned on a successful credential request. It contains either a valid bearer token or a valid TLS certificate and corresponding private key for the cluster.
Field | Description |
---|---|
|
ExpirationTimestamp indicates a time when the provided credentials expire. |
|
Token is a bearer token used by the client for request authentication. |
|
PEM-encoded client TLS certificates (including intermediates, if any). |
|
PEM-encoded private key for the above certificate. |
TokenCredentialRequest submits an IDP-specific credential to Pinniped in exchange for a cluster-specific credential.
Field | Description |
---|---|
|
Refer to Kubernetes API documentation for fields of |
|
Specification of a TokenCredentialRequest, expected on requests to the Pinniped API.
Field | Description |
---|---|
|
Bearer token supplied with the credential request. |
|
Reference to an authenticator which can validate this credential request. |
Status of a TokenCredentialRequest, returned on responses to the Pinniped API.
Field | Description |
---|---|
|
A Credential will be returned for a successful credential request. |
|
An error message will be returned for an unsuccessful credential request. |