auth

package
v1.12.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 14, 2025 License: Apache-2.0 Imports: 36 Imported by: 0

Documentation

Index

Constants

View Source
const ClientCredentialsCmdName = api.ClientCredentialsCmdName
View Source
const CmdName = "auth"
View Source
const ErrNonInteractiveEnvironmentEmptyToken = "a static API token is required in non-interactive environments"
View Source
const OIDCCmdName = api.OIDCCmdName

Variables

This section is empty.

Functions

func LoginKongVars added in v1.12.0

func LoginKongVars() kong.Vars

LoginKongVars returns all variables which are used in the login command

Types

type API added in v1.12.0

type API struct {
	URL          string `help:"URL of the Nine API." default:"https://nineapis.ch" env:"NCTL_API_URL" hidden:""`
	Token        string `` /* 136-byte string literal not displayed */
	ClientID     string `help:"Use an API client ID to login. Requires the --organization to also be set." env:"NCTL_API_CLIENT_ID"`
	ClientSecret string `help:"Use an API client secret to login. Requires the --organization to also be set." env:"NCTL_API_CLIENT_SECRET"`
	TokenURL     string `help:"Override the default client token URL." hidden:"" default:"${token_url}" env:"NCTL_API_TOKEN_URL"`
}

func (*API) Oauth2Token added in v1.12.0

func (a *API) Oauth2Token(ctx context.Context) (*oauth2.Token, error)

func (*API) UserInfo added in v1.12.0

func (a *API) UserInfo(ctx context.Context) (*api.UserInfo, error)

type ClientCredentialsCmd added in v1.12.0

type ClientCredentialsCmd struct {
	API `embed:""`
}

func (*ClientCredentialsCmd) Run added in v1.12.0

type ClusterCmd

type ClusterCmd struct {
	Name       string `arg:"" help:"Name of the cluster to authenticate with. Also accepts 'name/project' format."`
	ExecPlugin bool   `help:"Automatically run exec plugin after writing the kubeconfig."`
}

func (*ClusterCmd) Run

func (a *ClusterCmd) Run(ctx context.Context, client *api.Client) error

type Cmd

type Cmd struct {
	Login             LoginCmd             `cmd:"" help:"Login to nineapis.ch."`
	Logout            LogoutCmd            `cmd:"" help:"Logout from nineapis.ch."`
	Cluster           ClusterCmd           `cmd:"" help:"Authenticate with Kubernetes Cluster."`
	OIDC              OIDCCmd              `cmd:"" help:"Perform interactive OIDC login." hidden:""`
	ClientCredentials ClientCredentialsCmd `cmd:"" help:"Perform APIServiceAccount client-credentials login." hidden:""`
	SetProject        SetProjectCmd        `cmd:"" help:"Set the default project to be used."`
	SetOrg            SetOrgCmd            `cmd:"" help:"Set the organization to be used."`
	Whoami            WhoAmICmd            `cmd:"" help:"Show who you are logged in as, your active organization and all your available organizations."`
	PrintAccessToken  PrintAccessTokenCmd  `cmd:"" help:"Print short-lived access token to authenticate against the API to stdout and exit."`
}

type LoginCmd

type LoginCmd struct {
	API                         API    `embed:"" prefix:"api-"`
	Organization                string `help:"Name of your organization to use when providing an API client ID/secret." env:"NCTL_ORGANIZATION"`
	IssuerURL                   string `help:"OIDC issuer URL of the API." default:"${issuer_url}" hidden:""`
	ClientID                    string `help:"OIDC client ID of the API." default:"${client_id}" hidden:""`
	ForceInteractiveEnvOverride bool   `` /* 193-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*LoginCmd) Run

func (l *LoginCmd) Run(ctx context.Context) error

type LogoutCmd added in v1.2.2

type LogoutCmd struct {
	APIURL    string `help:"URL of the Nine API." default:"https://nineapis.ch" env:"NCTL_API_URL" name:"api-url"`
	IssuerURL string `help:"OIDC issuer URL of the API." default:"https://auth.nine.ch/auth/realms/pub"`
	ClientID  string `help:"OIDC client ID of the API." default:"nineapis.ch-f178254"`
	// contains filtered or unexported fields
}

func (*LogoutCmd) Run added in v1.2.2

func (l *LogoutCmd) Run(ctx context.Context) error

type OIDCCmd

type OIDCCmd struct {
	IssuerURL string
	ClientID  string
	UsePKCE   bool
}

func (*OIDCCmd) Run

func (o *OIDCCmd) Run(ctx context.Context) error

type PrintAccessTokenCmd added in v1.5.0

type PrintAccessTokenCmd struct{}

func (*PrintAccessTokenCmd) Run added in v1.5.0

func (o *PrintAccessTokenCmd) Run(ctx context.Context, client *api.Client) error

type SetOrgCmd added in v1.2.0

type SetOrgCmd struct {
	Organization string `arg:"" help:"Name of the organization to login to." default:""`
	APIURL       string `help:"URL of the Nine API." default:"https://nineapis.ch" env:"NCTL_API_URL" name:"api-url"`
	IssuerURL    string `help:"OIDC issuer URL of the API." default:"https://auth.nine.ch/auth/realms/pub"`
	ClientID     string `help:"OIDC client ID of the API." default:"nineapis.ch-f178254"`
}

func (*SetOrgCmd) Run added in v1.2.0

func (s *SetOrgCmd) Run(ctx context.Context, client *api.Client) error

type SetProjectCmd added in v1.1.0

type SetProjectCmd struct {
	Name string `arg:"" help:"Name of the default project to be used." predictor:"project_name"`
}

func (*SetProjectCmd) Run added in v1.1.0

func (s *SetProjectCmd) Run(ctx context.Context, client *api.Client) error

type WhoAmICmd added in v1.2.0

type WhoAmICmd struct {
	APIURL    string `help:"URL of the Nine API." default:"https://nineapis.ch" env:"NCTL_API_URL" name:"api-url"`
	IssuerURL string `help:"OIDC issuer URL of the API." default:"https://auth.nine.ch/auth/realms/pub"`
	ClientID  string `help:"OIDC client ID of the API." default:"nineapis.ch-f178254"`
}

func (*WhoAmICmd) Run added in v1.2.0

func (s *WhoAmICmd) Run(ctx context.Context, client *api.Client) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL