How to use the command 'dexter' (with examples)
Dexter is a tool that allows authentication of kubectl users with OpenId Connect. It provides an easy way to authenticate users using OIDC providers like Google, GitHub, or Okta. This article will explore two use cases of the ‘dexter’ command and provide code snippets, motivations, explanations, and example outputs for each use case.
Use case 1: Create and authenticate a user with Google OIDC
Code:
dexter auth -i client_id -s client_secret
Motivation: In this use case, we want to create and authenticate a user with Google OIDC. By using the ‘dexter auth’ command with the appropriate client ID and client secret, we can generate an access token for the user.
Explanation:
- ‘auth’: Specifies that we want to create and authenticate a user.
- ‘-i client_id’: Sets the client ID provided by Google for authentication.
- ‘-s client_secret’: Sets the client secret provided by Google for authentication.
Example output:
Successfully authenticated user with Google OIDC.
Access token: {generated access token}
Use case 2: Override the default kube config location
Code:
dexter auth -i client_id -s client_secret --kube-config sample/config
Motivation: In this use case, we want to override the default kube config location. By specifying a custom kube config location, we can use ‘dexter’ with a non-default kube config file.
Explanation:
- ‘auth’: Specifies that we want to create and authenticate a user.
- ‘-i client_id’: Sets the client ID provided by Google for authentication.
- ‘-s client_secret’: Sets the client secret provided by Google for authentication.
- ‘–kube-config sample/config’: Specifies the path to the custom kube config file.
Example output:
Successfully authenticated user with Google OIDC.
Access token: {generated access token}
Using kube config at: sample/config
Conclusion:
The ‘dexter’ command is a useful tool for authenticating kubectl users with OpenId Connect. It provides a simple way to authenticate users using OIDC providers like Google. The two use cases discussed in this article showcase how to create and authenticate a user with Google OIDC, as well as how to override the default kube config location. By understanding these use cases, users can leverage ‘dexter’ effectively for OIDC authentication.