mirror of
https://github.com/rancher/cli.git
synced 2026-02-05 09:48:36 +01:00
kubeconfig token will now be stored with the rest of the rancher config rather than in the .cache directory. The location of the config directory can now be configured.
66 lines
2.8 KiB
Go
66 lines
2.8 KiB
Go
package config
|
|
|
|
import "time"
|
|
|
|
// ExecCredential is used by exec-based plugins to communicate credentials to
|
|
// HTTP transports. //v1beta1/types.go
|
|
type ExecCredential struct {
|
|
TypeMeta `json:",inline"`
|
|
|
|
// Spec holds information passed to the plugin by the transport. This contains
|
|
// request and runtime specific information, such as if the session is interactive.
|
|
Spec ExecCredentialSpec `json:"spec,omitempty"`
|
|
|
|
// Status is filled in by the plugin and holds the credentials that the transport
|
|
// should use to contact the API.
|
|
// +optional
|
|
Status *ExecCredentialStatus `json:"status,omitempty"`
|
|
}
|
|
|
|
// ExecCredentialSpec holds request and runtime specific information provided by
|
|
// the transport.
|
|
type ExecCredentialSpec struct{}
|
|
|
|
// ExecCredentialStatus holds credentials for the transport to use.
|
|
// Token and ClientKeyData are sensitive fields. This data should only be
|
|
// transmitted in-memory between client and exec plugin process. Exec plugin
|
|
// itself should at least be protected via file permissions.
|
|
type ExecCredentialStatus struct {
|
|
// ExpirationTimestamp indicates a time when the provided credentials expire.
|
|
// +optional
|
|
ExpirationTimestamp *Time `json:"expirationTimestamp,omitempty"`
|
|
// Token is a bearer token used by the client for request authentication.
|
|
Token string `json:"token,omitempty"`
|
|
// PEM-encoded client TLS certificates (including intermediates, if any).
|
|
ClientCertificateData string `json:"clientCertificateData,omitempty"`
|
|
// PEM-encoded private key for the above certificate.
|
|
ClientKeyData string `json:"clientKeyData,omitempty"`
|
|
}
|
|
|
|
// TypeMeta describes an individual object in an API response or request
|
|
// with strings representing the type of the object and its API schema version.
|
|
// Structures that are versioned or persisted should inline TypeMeta.
|
|
type TypeMeta struct {
|
|
// Kind is a string value representing the REST resource this object represents.
|
|
// Servers may infer this from the endpoint the client submits requests to.
|
|
// Cannot be updated.
|
|
// In CamelCase.
|
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
// +optional
|
|
Kind string `json:"kind,omitempty" protobuf:"bytes,1,opt,name=kind"`
|
|
|
|
// APIVersion defines the versioned schema of this representation of an object.
|
|
// Servers should convert recognized schemas to the latest internal value, and
|
|
// may reject unrecognized values.
|
|
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
// +optional
|
|
APIVersion string `json:"apiVersion,omitempty" protobuf:"bytes,2,opt,name=apiVersion"`
|
|
}
|
|
|
|
// Time is a wrapper around time.Time which supports correct
|
|
// marshaling to YAML and JSON. Wrappers are provided for many
|
|
// of the factory methods that the time package offers.
|
|
type Time struct {
|
|
time.Time `protobuf:"-"`
|
|
}
|