v1beta1

package
v0.2023.21 Latest Latest
Warning

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

Go to latest
Published: May 22, 2023 License: Apache-2.0 Imports: 8 Imported by: 9

Documentation

Overview

Package v1beta1 contains API Schema definitions for the appstudio v1beta1 API group +kubebuilder:object:generate=true +groupName=appstudio.redhat.com

Index

Constants

View Source
const (
	RemoteSecretConditionTypeDeployed     RemoteSecretConditionType = "Deployed"
	RemoteSecretConditionTypeDataObtained RemoteSecretConditionType = "DataObtained"
	RemoteSecretConditionTypeSpecValid    RemoteSecretConditionType = "SpecValid"

	RemoteSecretReasonAwaitingTokenData RemoteSecretReason = "AwaitingData"
	RemoteSecretReasonDataFound         RemoteSecretReason = "DataFound"
	RemoteSecretReasonInjected          RemoteSecretReason = "Injected"
	RemoteSecretReasonPartiallyInjected RemoteSecretReason = "PartiallyInjected"
	RemoteSecretReasonError             RemoteSecretReason = "Error"
	RemoteSecretReasonValid             RemoteSecretReason = "Valid"
)
View Source
const (
	ServiceProviderTypeLabel = "spi.appstudio.redhat.com/service-provider-type"
	ServiceProviderHostLabel = "spi.appstudio.redhat.com/service-provider-host"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "appstudio.redhat.com", Version: "v1beta1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type LinkableSecretSpec added in v0.2023.21

type LinkableSecretSpec struct {
	// Name is the name of the secret to be created. If it is not defined a random name based on the name of the binding
	// is used.
	// +optional
	Name         string `json:"name,omitempty"`
	GenerateName string `json:"generateName,omitempty"`
	// Labels contains the labels that the created secret should be labeled with.
	Labels map[string]string `json:"labels,omitempty"`
	// Annotations is the keys and values that the create secret should be annotated with.
	Annotations map[string]string `json:"annotations,omitempty"`
	// Type is the type of the secret to be created. If left empty, the default type used in the cluster is assumed (typically Opaque).
	// The type of the secret defines the automatic mapping of the token record fields to keys in the secret data
	// according to the documentation https://kubernetes.io/docs/concepts/configuration/secret/#secret-types.
	// Only kubernetes.io/service-account-token, kubernetes.io/dockercfg, kubernetes.io/dockerconfigjson and kubernetes.io/basic-auth
	// are supported. All other secret types need to have their mapping specified manually using the Fields.
	Type corev1.SecretType `json:"type,omitempty"`

	// LinkedTo specifies the objects that the secret is linked to. Currently, only service accounts are supported.
	LinkedTo []SecretLink `json:"linkedTo,omitempty"`
}

func (*LinkableSecretSpec) DeepCopy added in v0.2023.21

func (in *LinkableSecretSpec) DeepCopy() *LinkableSecretSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinkableSecretSpec.

func (*LinkableSecretSpec) DeepCopyInto added in v0.2023.21

func (in *LinkableSecretSpec) DeepCopyInto(out *LinkableSecretSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ManagedServiceAccountSpec added in v0.2023.21

type ManagedServiceAccountSpec struct {
	// Name is the name of the service account to create/link. Either this or GenerateName
	// must be specified.
	// +optional
	Name string `json:"name"`
	// GenerateName is the generate name to be used when creating the service account. It only
	// really makes sense for the Managed service accounts that are cleaned up with the binding.
	// +optional
	GenerateName string `json:"generateName"`
	// Labels contains the labels that the created service account should be labeled with.
	Labels map[string]string `json:"labels,omitempty"`
	// Annotations is the keys and values that the created service account should be annotated with.
	Annotations map[string]string `json:"annotations,omitempty"`
}

func (*ManagedServiceAccountSpec) DeepCopy added in v0.2023.21

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedServiceAccountSpec.

func (*ManagedServiceAccountSpec) DeepCopyInto added in v0.2023.21

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NamespaceTargetStatus added in v0.2023.21

type NamespaceTargetStatus struct {
	Namespace  string `json:"namespace"`
	SecretName string `json:"secretName"`
	// +optional
	ServiceAccountNames []string `json:"serviceAccountNames,omitempty"`
	// +optional
	Error string `json:"error,omitempty"`
}

func (*NamespaceTargetStatus) DeepCopy added in v0.2023.21

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespaceTargetStatus.

func (*NamespaceTargetStatus) DeepCopyInto added in v0.2023.21

func (in *NamespaceTargetStatus) DeepCopyInto(out *NamespaceTargetStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Permission

type Permission struct {
	// Type is the type of the permission required
	Type PermissionType `json:"type"`

	// Area express the "area" in the service provider scopes to which the permission is required.
	Area PermissionArea `json:"area"`
}

Permission is an element of Permissions and express a requirement on the service provider scopes in an agnostic manner.

func (*Permission) DeepCopy

func (in *Permission) DeepCopy() *Permission

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Permission.

func (*Permission) DeepCopyInto

func (in *Permission) DeepCopyInto(out *Permission)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PermissionArea

type PermissionArea string

PermissionArea defines a set of the supported permission areas. A service provider implementation might not support all of them depending on the capabilities of the service provider (e.g. if a service provider doesn't support webhooks, it doesn't make sense to specify permissions in the webhook area).

const (
	PermissionAreaRepository         PermissionArea = "repository"
	PermissionAreaRepositoryMetadata PermissionArea = "repositoryMetadata"
	PermissionAreaWebhooks           PermissionArea = "webhooks"
	PermissionAreaUser               PermissionArea = "user"
	PermissionAreaRegistry           PermissionArea = "registry"
	PermissionAreaRegistryMetadata   PermissionArea = "registryMetadata"
)

type PermissionType

type PermissionType string

PermissionType expresses whether we need a permission to read or write data in a specific PermissionArea of the service provider

const (
	PermissionTypeRead      PermissionType = "r"
	PermissionTypeWrite     PermissionType = "w"
	PermissionTypeReadWrite PermissionType = "rw"
)

func (PermissionType) IsRead

func (pt PermissionType) IsRead() bool

IsRead returns true if the permission type requires read access to the service provider.

func (PermissionType) IsWrite

func (pt PermissionType) IsWrite() bool

IsWrite returns true if the permission type requires write access to the service provider.

type Permissions

type Permissions struct {
	Required         []Permission `json:"required,omitempty"`
	AdditionalScopes []string     `json:"additionalScopes,omitempty"`
}

Permissions is a collection of operator-defined permissions (which are translated to service-provider-specific scopes) and potentially additional service-provider-specific scopes that are not covered by the operator defined abstraction. The permissions are used in SPIAccessTokenBinding objects to express the requirements on the tokens as well as in the SPIAccessToken objects to express the "capabilities" of the token.

func (*Permissions) DeepCopy

func (in *Permissions) DeepCopy() *Permissions

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Permissions.

func (*Permissions) DeepCopyInto

func (in *Permissions) DeepCopyInto(out *Permissions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RemoteSecret added in v0.2023.21

type RemoteSecret struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   RemoteSecretSpec   `json:"spec,omitempty"`
	Status RemoteSecretStatus `json:"status,omitempty"`
}

RemoteSecret is the Schema for the RemoteSecret API

func (*RemoteSecret) DeepCopy added in v0.2023.21

func (in *RemoteSecret) DeepCopy() *RemoteSecret

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteSecret.

func (*RemoteSecret) DeepCopyInto added in v0.2023.21

func (in *RemoteSecret) DeepCopyInto(out *RemoteSecret)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RemoteSecret) DeepCopyObject added in v0.2023.21

func (in *RemoteSecret) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RemoteSecret) Validate added in v0.2023.21

func (rs *RemoteSecret) Validate() error

Validate makes sure that no two targets specify the same namespace. This is because the namespace is the only simple thing that can distinguish between two secrets in an order independent way. Also, having two secrets with the identical contents in the same namespace is considered a little bit of a corner case. If we were to support it we would have to come up with some more fine-grained rules, possibly by just disallowing two secrets with the same namespace and name or with the same namespace and generate name. But for now, let's keep the things simple and merely disallow them.

type RemoteSecretConditionType added in v0.2023.21

type RemoteSecretConditionType string

RemoteSecretConditionType lists the types of conditions we track in the remote secret status

type RemoteSecretList added in v0.2023.21

type RemoteSecretList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RemoteSecret `json:"items"`
}

RemoteSecretList contains a list of RemoteSecret

func (*RemoteSecretList) DeepCopy added in v0.2023.21

func (in *RemoteSecretList) DeepCopy() *RemoteSecretList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteSecretList.

func (*RemoteSecretList) DeepCopyInto added in v0.2023.21

func (in *RemoteSecretList) DeepCopyInto(out *RemoteSecretList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RemoteSecretList) DeepCopyObject added in v0.2023.21

func (in *RemoteSecretList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RemoteSecretReason added in v0.2023.21

type RemoteSecretReason string

RemoteSecretReason is the reconciliation status of the RemoteSecret object

type RemoteSecretSpec added in v0.2023.21

type RemoteSecretSpec struct {
	// Secret defines the properties of the secret and the linked service accounts that should be
	// created in the target namespaces.
	Secret LinkableSecretSpec `json:"secret"`
	// Targets is the list of the target namespaces that the secret and service accounts should be deployed to.
	// +optional
	Targets []RemoteSecretTarget `json:"targets,omitempty"`
}

RemoteSecretSpec defines the desired state of RemoteSecret

func (*RemoteSecretSpec) DeepCopy added in v0.2023.21

func (in *RemoteSecretSpec) DeepCopy() *RemoteSecretSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteSecretSpec.

func (*RemoteSecretSpec) DeepCopyInto added in v0.2023.21

func (in *RemoteSecretSpec) DeepCopyInto(out *RemoteSecretSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RemoteSecretStatus added in v0.2023.21

type RemoteSecretStatus struct {
	// Conditions is the list of conditions describing the state of the deployment
	// to the targets.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// Targets is the list of the deployment statuses for individual targets in the spec.
	// +optional
	Targets []TargetStatus `json:"targets,omitempty"`
}

RemoteSecretStatus defines the observed state of RemoteSecret

func (*RemoteSecretStatus) DeepCopy added in v0.2023.21

func (in *RemoteSecretStatus) DeepCopy() *RemoteSecretStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteSecretStatus.

func (*RemoteSecretStatus) DeepCopyInto added in v0.2023.21

func (in *RemoteSecretStatus) DeepCopyInto(out *RemoteSecretStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RemoteSecretTarget added in v0.2023.21

type RemoteSecretTarget struct {
	// Namespace is the name of the target namespace to which to deploy.
	Namespace string `json:"namespace,omitempty"`
}

func (*RemoteSecretTarget) DeepCopy added in v0.2023.21

func (in *RemoteSecretTarget) DeepCopy() *RemoteSecretTarget

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteSecretTarget.

func (*RemoteSecretTarget) DeepCopyInto added in v0.2023.21

func (in *RemoteSecretTarget) DeepCopyInto(out *RemoteSecretTarget)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SPIAccessCheck added in v0.5.1

type SPIAccessCheck struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   SPIAccessCheckSpec   `json:"spec,omitempty"`
	Status SPIAccessCheckStatus `json:"status,omitempty"`
}

SPIAccessCheck is the Schema for the spiaccesschecks API

func (*SPIAccessCheck) DeepCopy added in v0.5.1

func (in *SPIAccessCheck) DeepCopy() *SPIAccessCheck

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SPIAccessCheck.

func (*SPIAccessCheck) DeepCopyInto added in v0.5.1

func (in *SPIAccessCheck) DeepCopyInto(out *SPIAccessCheck)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SPIAccessCheck) DeepCopyObject added in v0.5.1

func (in *SPIAccessCheck) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SPIAccessCheck) ObjNamespace added in v0.5.1

func (c *SPIAccessCheck) ObjNamespace() string

func (*SPIAccessCheck) Permissions added in v0.5.1

func (c *SPIAccessCheck) Permissions() *Permissions

func (*SPIAccessCheck) RepoUrl added in v0.5.1

func (c *SPIAccessCheck) RepoUrl() string

type SPIAccessCheckAccessibility added in v0.5.1

type SPIAccessCheckAccessibility string
const (
	SPIAccessCheckAccessibilityPublic  SPIAccessCheckAccessibility = "public"
	SPIAccessCheckAccessibilityPrivate SPIAccessCheckAccessibility = "private"
	SPIAccessCheckAccessibilityUnknown SPIAccessCheckAccessibility = "unknown"
)

type SPIAccessCheckErrorReason added in v0.5.1

type SPIAccessCheckErrorReason string
const (
	SPIAccessCheckErrorUnknownError                            SPIAccessCheckErrorReason = "UnknownError"
	SPIAccessCheckErrorUnknownServiceProvider                  SPIAccessCheckErrorReason = "UnknownServiceProviderType"
	SPIAccessCheckErrorUnsupportedServiceProviderConfiguration SPIAccessCheckErrorReason = "UnsupportedServiceProviderConfiguration"
	SPIAccessCheckErrorRepoNotFound                            SPIAccessCheckErrorReason = "RepositoryNotFound"
	SPIAccessCheckErrorBadURL                                  SPIAccessCheckErrorReason = "BadURL"
	SPIAccessCheckErrorNotImplemented                          SPIAccessCheckErrorReason = "NotImplemented"
	SPIAccessCheckErrorTokenLookupFailed                       SPIAccessCheckErrorReason = "TokenLookupFailure"
)

type SPIAccessCheckList added in v0.5.1

type SPIAccessCheckList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SPIAccessCheck `json:"items"`
}

SPIAccessCheckList contains a list of SPIAccessCheck

func (*SPIAccessCheckList) DeepCopy added in v0.5.1

func (in *SPIAccessCheckList) DeepCopy() *SPIAccessCheckList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SPIAccessCheckList.

func (*SPIAccessCheckList) DeepCopyInto added in v0.5.1

func (in *SPIAccessCheckList) DeepCopyInto(out *SPIAccessCheckList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SPIAccessCheckList) DeepCopyObject added in v0.5.1

func (in *SPIAccessCheckList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SPIAccessCheckSpec added in v0.5.1

type SPIAccessCheckSpec struct {
	RepoUrl     string      `json:"repoUrl"`
	Permissions Permissions `json:"permissions,omitempty"`
}

SPIAccessCheckSpec defines the desired state of SPIAccessCheck

func (*SPIAccessCheckSpec) DeepCopy added in v0.5.1

func (in *SPIAccessCheckSpec) DeepCopy() *SPIAccessCheckSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SPIAccessCheckSpec.

func (*SPIAccessCheckSpec) DeepCopyInto added in v0.5.1

func (in *SPIAccessCheckSpec) DeepCopyInto(out *SPIAccessCheckSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SPIAccessCheckStatus added in v0.5.1

type SPIAccessCheckStatus struct {
	Accessible      bool                        `json:"accessible"`
	Accessibility   SPIAccessCheckAccessibility `json:"accessibility"`
	Type            SPIRepoType                 `json:"repoType"`
	ServiceProvider ServiceProviderType         `json:"serviceProvider"`
	ErrorReason     SPIAccessCheckErrorReason   `json:"errorReason,omitempty"`
	ErrorMessage    string                      `json:"errorMessage,omitempty"`
}

SPIAccessCheckStatus defines the observed state of SPIAccessCheck

func (*SPIAccessCheckStatus) DeepCopy added in v0.5.1

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SPIAccessCheckStatus.

func (*SPIAccessCheckStatus) DeepCopyInto added in v0.5.1

func (in *SPIAccessCheckStatus) DeepCopyInto(out *SPIAccessCheckStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SPIAccessToken

type SPIAccessToken struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   SPIAccessTokenSpec   `json:"spec,omitempty"`
	Status SPIAccessTokenStatus `json:"status,omitempty"`
}

SPIAccessToken is the Schema for the spiaccesstokens API

func (*SPIAccessToken) DeepCopy

func (in *SPIAccessToken) DeepCopy() *SPIAccessToken

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SPIAccessToken.

func (*SPIAccessToken) DeepCopyInto

func (in *SPIAccessToken) DeepCopyInto(out *SPIAccessToken)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SPIAccessToken) DeepCopyObject

func (in *SPIAccessToken) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SPIAccessToken) Permissions added in v0.5.5

func (in *SPIAccessToken) Permissions() *Permissions

type SPIAccessTokenBinding

type SPIAccessTokenBinding struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   SPIAccessTokenBindingSpec   `json:"spec,omitempty"`
	Status SPIAccessTokenBindingStatus `json:"status,omitempty"`
}

SPIAccessTokenBinding is the Schema for the spiaccesstokenbindings API

func (*SPIAccessTokenBinding) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SPIAccessTokenBinding.

func (*SPIAccessTokenBinding) DeepCopyInto

func (in *SPIAccessTokenBinding) DeepCopyInto(out *SPIAccessTokenBinding)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SPIAccessTokenBinding) DeepCopyObject

func (in *SPIAccessTokenBinding) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SPIAccessTokenBinding) ObjNamespace added in v0.5.1

func (in *SPIAccessTokenBinding) ObjNamespace() string

func (*SPIAccessTokenBinding) Permissions added in v0.5.1

func (in *SPIAccessTokenBinding) Permissions() *Permissions

func (*SPIAccessTokenBinding) RepoUrl added in v0.5.1

func (in *SPIAccessTokenBinding) RepoUrl() string

func (*SPIAccessTokenBinding) Validate added in v0.2023.21

type SPIAccessTokenBindingErrorReason

type SPIAccessTokenBindingErrorReason string
const (
	SPIAccessTokenBindingErrorReasonUnknownServiceProviderType        SPIAccessTokenBindingErrorReason = "UnknownServiceProviderType"
	SPIAccessTokenBindingErrorUnsupportedServiceProviderConfiguration SPIAccessTokenBindingErrorReason = "UnsupportedServiceProviderConfiguration"
	SPIAccessTokenBindingErrorReasonInvalidLifetime                   SPIAccessTokenBindingErrorReason = "InvalidLifetime"
	SPIAccessTokenBindingErrorReasonTokenLookup                       SPIAccessTokenBindingErrorReason = "TokenLookup"
	SPIAccessTokenBindingErrorReasonLinkedToken                       SPIAccessTokenBindingErrorReason = "LinkedToken"
	SPIAccessTokenBindingErrorReasonTokenRetrieval                    SPIAccessTokenBindingErrorReason = "TokenRetrieval"
	SPIAccessTokenBindingErrorReasonTokenSync                         SPIAccessTokenBindingErrorReason = "TokenSync"
	SPIAccessTokenBindingErrorReasonTokenAnalysis                     SPIAccessTokenBindingErrorReason = "TokenAnalysis"
	SPIAccessTokenBindingErrorReasonUnsupportedPermissions            SPIAccessTokenBindingErrorReason = "UnsupportedPermissions"
	SPIAccessTokenBindingErrorReasonInconsistentSpec                  SPIAccessTokenBindingErrorReason = "InconsistentSpec"
	SPIAccessTokenBindingErrorReasonServiceAccountUnavailable         SPIAccessTokenBindingErrorReason = "ServiceAccountUnavailable"
	SPIAccessTokenBindingErrorReasonServiceAccountUpdate              SPIAccessTokenBindingErrorReason = "ServiceAccountUpdate"
	SPIAccessTokenBindingErrorReasonNoError                           SPIAccessTokenBindingErrorReason = ""
)

type SPIAccessTokenBindingList

type SPIAccessTokenBindingList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SPIAccessTokenBinding `json:"items"`
}

SPIAccessTokenBindingList contains a list of SPIAccessTokenBinding

func (*SPIAccessTokenBindingList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SPIAccessTokenBindingList.

func (*SPIAccessTokenBindingList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SPIAccessTokenBindingList) DeepCopyObject

func (in *SPIAccessTokenBindingList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SPIAccessTokenBindingPhase

type SPIAccessTokenBindingPhase string
const (
	SPIAccessTokenBindingPhaseAwaitingTokenData SPIAccessTokenBindingPhase = "AwaitingTokenData"
	SPIAccessTokenBindingPhaseInjected          SPIAccessTokenBindingPhase = "Injected"
	SPIAccessTokenBindingPhaseError             SPIAccessTokenBindingPhase = "Error"
)

type SPIAccessTokenBindingSpec

type SPIAccessTokenBindingSpec struct {
	// RepoUrl is just the URL of the repository for which the access token is requested.
	RepoUrl string `json:"repoUrl"`
	// Permissions is the set of permissions that the creator of the binding requires
	// the access token to allow in the target repository.
	Permissions Permissions `json:"permissions,omitempty"`
	// Secret is the specification of the secret that should contain the access token.
	// The secret will be created in the same namespace as this binding object.
	Secret SecretSpec `json:"secret"`
	// Lifetime specifies how long the binding and its associated data should live.
	// This is specified as time with a unit (30m, 2h). A special value of "-1" means
	// infinite lifetime.
	Lifetime string `json:"lifetime,omitempty"`
}

SPIAccessTokenBindingSpec defines the desired state of SPIAccessTokenBinding

func (*SPIAccessTokenBindingSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SPIAccessTokenBindingSpec.

func (*SPIAccessTokenBindingSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SPIAccessTokenBindingStatus

type SPIAccessTokenBindingStatus struct {
	Phase                 SPIAccessTokenBindingPhase       `json:"phase"`
	ErrorReason           SPIAccessTokenBindingErrorReason `json:"errorReason,omitempty"`
	ErrorMessage          string                           `json:"errorMessage,omitempty"`
	LinkedAccessTokenName string                           `json:"linkedAccessTokenName"`
	OAuthUrl              string                           `json:"oAuthUrl,omitempty"`
	UploadUrl             string                           `json:"uploadUrl,omitempty"`
	SyncedObjectRef       TargetObjectRef                  `json:"syncedObjectRef"`
	ServiceAccountNames   []string                         `json:"serviceAccountNames,omitempty"`
}

SPIAccessTokenBindingStatus defines the observed state of SPIAccessTokenBinding

func (*SPIAccessTokenBindingStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SPIAccessTokenBindingStatus.

func (*SPIAccessTokenBindingStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SPIAccessTokenBindingValidation added in v0.2023.21

type SPIAccessTokenBindingValidation struct {
	// Consistency is the list of consistency validation errors
	Consistency []string
}

func (*SPIAccessTokenBindingValidation) DeepCopy added in v0.2023.21

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SPIAccessTokenBindingValidation.

func (*SPIAccessTokenBindingValidation) DeepCopyInto added in v0.2023.21

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SPIAccessTokenDataUpdate added in v0.3.0

type SPIAccessTokenDataUpdate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              SPIAccessTokenDataUpdateSpec `json:"spec"`
}

SPIAccessTokenDataUpdate is a special CRD that advertises to the controller in the Kubernetes cluster that there has been an update of the data in the secret storage. Because secret storage is out-of-cluster, updates to it are not registered by the controllers. This CRD serves as a "trigger" for reconciliation of the SPIAccessToken or RemoteSecret after the data has been updated in the secret storage. The caller that updates the data in the secret storage is responsible for creating an object pointing to the SPIAccessToken or RemoteSecret that should have been affected.

func (*SPIAccessTokenDataUpdate) DeepCopy added in v0.3.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SPIAccessTokenDataUpdate.

func (*SPIAccessTokenDataUpdate) DeepCopyInto added in v0.3.0

func (in *SPIAccessTokenDataUpdate) DeepCopyInto(out *SPIAccessTokenDataUpdate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SPIAccessTokenDataUpdate) DeepCopyObject added in v0.3.0

func (in *SPIAccessTokenDataUpdate) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SPIAccessTokenDataUpdateList added in v0.3.0

type SPIAccessTokenDataUpdateList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SPIAccessTokenDataUpdate `json:"items"`
}

SPIAccessTokenDataUpdateList contains a list of SPIAccessTokenDataUpdate

func (*SPIAccessTokenDataUpdateList) DeepCopy added in v0.3.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SPIAccessTokenDataUpdateList.

func (*SPIAccessTokenDataUpdateList) DeepCopyInto added in v0.3.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SPIAccessTokenDataUpdateList) DeepCopyObject added in v0.3.0

func (in *SPIAccessTokenDataUpdateList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SPIAccessTokenDataUpdateSpec added in v0.3.0

type SPIAccessTokenDataUpdateSpec struct {
	// TokenName is the name of the SPIAccessToken object in the same namespace as the update object.
	// This field is deprecated!
	//+optional
	TokenName string `json:"tokenName"`

	// The owner of the data that has been put to the secret storage.
	//+kubebuilder:validation:Required
	DataOwner corev1.TypedLocalObjectReference `json:"dataOwner"`
}

SPIAccessTokenDataUpdateSpec defines the desired state of SPIAccessTokenDataUpdate

func (*SPIAccessTokenDataUpdateSpec) DeepCopy added in v0.3.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SPIAccessTokenDataUpdateSpec.

func (*SPIAccessTokenDataUpdateSpec) DeepCopyInto added in v0.3.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SPIAccessTokenErrorReason added in v0.4.1

type SPIAccessTokenErrorReason string

SPIAccessTokenErrorReason is the enumeration of reasons for the token being invalid

const (
	SPIAccessTokenErrorReasonUnknownServiceProvider            SPIAccessTokenErrorReason = "UnknownServiceProvider"
	SPIAccessTokenErrorUnsupportedServiceProviderConfiguration SPIAccessTokenErrorReason = "UnsupportedServiceProviderConfiguration"
	SPIAccessTokenErrorReasonMetadataFailure                   SPIAccessTokenErrorReason = "MetadataFailure"
	SPIAccessTokenErrorReasonUnsupportedPermissions            SPIAccessTokenErrorReason = "UnsupportedPermissions"
)

type SPIAccessTokenList

type SPIAccessTokenList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SPIAccessToken `json:"items"`
}

SPIAccessTokenList contains a list of SPIAccessToken

func (*SPIAccessTokenList) DeepCopy

func (in *SPIAccessTokenList) DeepCopy() *SPIAccessTokenList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SPIAccessTokenList.

func (*SPIAccessTokenList) DeepCopyInto

func (in *SPIAccessTokenList) DeepCopyInto(out *SPIAccessTokenList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SPIAccessTokenList) DeepCopyObject

func (in *SPIAccessTokenList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SPIAccessTokenPhase

type SPIAccessTokenPhase string

SPIAccessTokenPhase is the reconciliation phase of the SPIAccessToken object

const (
	SPIAccessTokenPhaseAwaitingTokenData SPIAccessTokenPhase = "AwaitingTokenData"
	SPIAccessTokenPhaseReady             SPIAccessTokenPhase = "Ready"
	SPIAccessTokenPhaseInvalid           SPIAccessTokenPhase = "Invalid"
	SPIAccessTokenPhaseError             SPIAccessTokenPhase = "Error"
)

type SPIAccessTokenSpec

type SPIAccessTokenSpec struct {
	Permissions Permissions `json:"permissions,omitempty"`
	//+kubebuilder:validation:Required
	ServiceProviderUrl string `json:"serviceProviderUrl"`
}

SPIAccessTokenSpec defines the desired state of SPIAccessToken

func (*SPIAccessTokenSpec) DeepCopy

func (in *SPIAccessTokenSpec) DeepCopy() *SPIAccessTokenSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SPIAccessTokenSpec.

func (*SPIAccessTokenSpec) DeepCopyInto

func (in *SPIAccessTokenSpec) DeepCopyInto(out *SPIAccessTokenSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SPIAccessTokenStatus

type SPIAccessTokenStatus struct {
	Phase         SPIAccessTokenPhase       `json:"phase"`
	ErrorReason   SPIAccessTokenErrorReason `json:"errorReason"`
	ErrorMessage  string                    `json:"errorMessage"`
	OAuthUrl      string                    `json:"oAuthUrl"`
	UploadUrl     string                    `json:"uploadUrl,omitempty"`
	TokenMetadata *TokenMetadata            `json:"tokenMetadata,omitempty"`
}

SPIAccessTokenStatus defines the observed state of SPIAccessToken

func (*SPIAccessTokenStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SPIAccessTokenStatus.

func (*SPIAccessTokenStatus) DeepCopyInto

func (in *SPIAccessTokenStatus) DeepCopyInto(out *SPIAccessTokenStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SPIFileContentRequest added in v0.8.3

type SPIFileContentRequest struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   SPIFileContentRequestSpec   `json:"spec,omitempty"`
	Status SPIFileContentRequestStatus `json:"status,omitempty"`
}

func (*SPIFileContentRequest) DeepCopy added in v0.8.3

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SPIFileContentRequest.

func (*SPIFileContentRequest) DeepCopyInto added in v0.8.3

func (in *SPIFileContentRequest) DeepCopyInto(out *SPIFileContentRequest)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SPIFileContentRequest) DeepCopyObject added in v0.8.3

func (in *SPIFileContentRequest) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SPIFileContentRequest) RepoUrl added in v0.8.3

func (in *SPIFileContentRequest) RepoUrl() string

type SPIFileContentRequestList added in v0.8.3

type SPIFileContentRequestList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SPIFileContentRequest `json:"items"`
}

SPIFileContentRequestList contains a list of SPIAccessTokenBinding

func (*SPIFileContentRequestList) DeepCopy added in v0.8.3

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SPIFileContentRequestList.

func (*SPIFileContentRequestList) DeepCopyInto added in v0.8.3

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SPIFileContentRequestList) DeepCopyObject added in v0.8.3

func (in *SPIFileContentRequestList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SPIFileContentRequestPhase added in v0.8.3

type SPIFileContentRequestPhase string
const (
	SPIFileContentRequestPhaseAwaitingBinding   SPIFileContentRequestPhase = "AwaitingBinding"
	SPIFileContentRequestPhaseAwaitingTokenData SPIFileContentRequestPhase = "AwaitingTokenData"
	SPIFileContentRequestPhaseDelivered         SPIFileContentRequestPhase = "Delivered"
	SPIFileContentRequestPhaseError             SPIFileContentRequestPhase = "Error"
)

type SPIFileContentRequestSpec added in v0.8.3

type SPIFileContentRequestSpec struct {
	// FilePath defines target file path inside repository
	FilePath string `json:"filePath"`
	// RepoUrl defines target file repository
	RepoUrl string `json:"repoUrl"`
	// Ref defines target git reference (tag/branch/commit)
	// +optional
	Ref string `json:"ref,omitempty"`
}

func (*SPIFileContentRequestSpec) DeepCopy added in v0.8.3

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SPIFileContentRequestSpec.

func (*SPIFileContentRequestSpec) DeepCopyInto added in v0.8.3

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SPIFileContentRequestStatus added in v0.8.3

type SPIFileContentRequestStatus struct {
	// Phase of the current file request
	Phase SPIFileContentRequestPhase `json:"phase"`
	// LinkedBindingName name of the binding used for repository authentication
	// +optional
	LinkedBindingName string `json:"linkedBindingName"`
	// ErrorMessage defines error message if file request failed
	// + optional
	ErrorMessage string `json:"errorMessage,omitempty"`
	// OAuthUrl URL to authenticate into target repository using OAuth
	// +optional
	OAuthUrl string `json:"oAuthUrl,omitempty"`
	// TokenUploadUrl URL to perform manual upload of the token to access target repository
	// +optional
	TokenUploadUrl string `json:"tokenUploadUrl,omitempty"`
	// Content encoded target file content
	// +optional
	Content string `json:"content,omitempty"`
	// ContentEncoding encoding used for file content
	// +optional
	ContentEncoding string `json:"contentEncoding,omitempty"`
}

func (*SPIFileContentRequestStatus) DeepCopy added in v0.8.3

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SPIFileContentRequestStatus.

func (*SPIFileContentRequestStatus) DeepCopyInto added in v0.8.3

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SPIRepoType added in v0.5.1

type SPIRepoType string
const (
	SPIRepoTypeGit               SPIRepoType = "git"
	SPIRepoTypeContainerRegistry SPIRepoType = "containerRegistry"
)
type SecretLink struct {
	// ServiceAccounts lists the service accounts that the secret is linked to.
	ServiceAccount ServiceAccountLink `json:"serviceAccount,omitempty"`
}

func (*SecretLink) DeepCopy added in v0.2023.21

func (in *SecretLink) DeepCopy() *SecretLink

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretLink.

func (*SecretLink) DeepCopyInto added in v0.2023.21

func (in *SecretLink) DeepCopyInto(out *SecretLink)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecretSpec

type SecretSpec struct {
	LinkableSecretSpec `json:",inline"`

	// Fields specifies the mapping from the token record fields to the keys in the secret data.
	Fields TokenFieldMapping `json:"fields,omitempty"`
}

func (*SecretSpec) DeepCopy

func (in *SecretSpec) DeepCopy() *SecretSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretSpec.

func (*SecretSpec) DeepCopyInto

func (in *SecretSpec) DeepCopyInto(out *SecretSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceAccountLink struct {
	// As specifies how the secret generated by the binding is linked to the service account.
	// This can be either `secret` meaning that the secret is listed as one of the mountable secrets
	// in the `secrets` of the service account, `imagePullSecret` which makes the secret listed as
	// one of the image pull secrets associated with the service account. If not specified, it defaults
	// to `secret`.
	// +optional
	// +kubebuilder:default:=secret
	As ServiceAccountLinkType `json:"as,omitempty"`
	// Reference specifies a pre-existing service account that the secret should be linked to. It is an error
	// if the service account doesn't exist when the operator tries to add a link to a secret with the injected
	// token.
	Reference corev1.LocalObjectReference `json:"reference,omitempty"`
	// Managed specifies the service account that is bound to the lifetime of the binding. This service account
	// must not exist and is created and deleted along with the injected secret.
	Managed ManagedServiceAccountSpec `json:"managed,omitempty"`
}

func (*ServiceAccountLink) DeepCopy added in v0.2023.21

func (in *ServiceAccountLink) DeepCopy() *ServiceAccountLink

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountLink.

func (*ServiceAccountLink) DeepCopyInto added in v0.2023.21

func (in *ServiceAccountLink) DeepCopyInto(out *ServiceAccountLink)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ServiceAccountLink) EffectiveSecretLinkType added in v0.2023.21

func (s *ServiceAccountLink) EffectiveSecretLinkType() ServiceAccountLinkType

EffectiveSecretLinkType returns the secret link type applying the default value if LinkedSecretAs is unspecified by the user.

type ServiceAccountLinkType added in v0.2023.21

type ServiceAccountLinkType string
const (
	ServiceAccountLinkTypeSecret          ServiceAccountLinkType = "secret"
	ServiceAccountLinkTypeImagePullSecret ServiceAccountLinkType = "imagePullSecret"
)

type ServiceProviderType

type ServiceProviderType string

ServiceProviderType defines the set of supported service providers

const (
	ServiceProviderTypeGitHub          ServiceProviderType = "GitHub"
	ServiceProviderTypeQuay            ServiceProviderType = "Quay"
	ServiceProviderTypeGitLab          ServiceProviderType = "GitLab"
	ServiceProviderTypeHostCredentials ServiceProviderType = "HostCredentials"
)

type TargetObjectRef

type TargetObjectRef struct {
	// Name is the name of the object with the injected data. This always lives in the same namespace as the AccessTokenSecret object.
	Name string `json:"name"`
	// Kind is the kind of the object with the injected data.
	Kind string `json:"kind"`
	// ApiVersion is the api version of the object with the injected data.
	ApiVersion string `json:"apiVersion"`
}

func (*TargetObjectRef) DeepCopy

func (in *TargetObjectRef) DeepCopy() *TargetObjectRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetObjectRef.

func (*TargetObjectRef) DeepCopyInto

func (in *TargetObjectRef) DeepCopyInto(out *TargetObjectRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TargetStatus added in v0.2023.21

type TargetStatus struct {
	Namespace NamespaceTargetStatus `json:"namespace,omitempty"`
}

func (*TargetStatus) DeepCopy added in v0.2023.21

func (in *TargetStatus) DeepCopy() *TargetStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetStatus.

func (*TargetStatus) DeepCopyInto added in v0.2023.21

func (in *TargetStatus) DeepCopyInto(out *TargetStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Token

type Token struct {
	Username     string `json:"username,omitempty"`
	AccessToken  string `json:"access_token"`
	TokenType    string `json:"token_type,omitempty"`
	RefreshToken string `json:"refresh_token,omitempty"`
	Expiry       uint64 `json:"expiry,omitempty"`
}

Token is copied from golang.org/x/oauth2 and made easily json-serializable. It represents the data obtained from the OAuth flow. TODO move this out of this package. The token is no longer part of the CRD in any shape or form.

func (*Token) DeepCopy

func (in *Token) DeepCopy() *Token

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Token.

func (*Token) DeepCopyInto

func (in *Token) DeepCopyInto(out *Token)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TokenFieldMapping

type TokenFieldMapping struct {
	// Token specifies the data key in which the token should be stored.
	Token string `json:"token,omitempty"`
	// Name specifies the data key in which the name of the token record should be stored.
	Name string `json:"name,omitempty"`
	// ServiceProviderUrl specifies the data key in which the url of the service provider should be stored.
	ServiceProviderUrl string `json:"serviceProviderUrl,omitempty"`
	// ServiceProviderUserName specifies the data key in which the url of the user name used in the service provider should be stored.
	ServiceProviderUserName string `json:"serviceProviderUserName,omitempty"`
	// ServiceProviderUserId specifies the data key in which the url of the user id used in the service provider should be stored.
	ServiceProviderUserId string `json:"serviceProviderUserId,omitempty"`
	// UserId specifies the data key in which the user id as known to the SPI should be stored (note that this is usually different from
	// ServiceProviderUserId, because the former is usually a kubernetes user, while the latter is some arbitrary ID used by the service provider
	// which might or might not correspond to the Kubernetes user id).
	UserId string `json:"userId,omitempty"`
	// ExpiredAfter specifies the data key in which the expiry date of the token should be stored.
	ExpiredAfter string `json:"expiredAfter,omitempty"`
	// Scopes specifies the data key in which the comma-separated list of token scopes should be stored.
	Scopes string `json:"scopes,omitempty"`
}

func (*TokenFieldMapping) DeepCopy

func (in *TokenFieldMapping) DeepCopy() *TokenFieldMapping

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenFieldMapping.

func (*TokenFieldMapping) DeepCopyInto

func (in *TokenFieldMapping) DeepCopyInto(out *TokenFieldMapping)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TokenFieldMapping) Empty added in v0.2023.21

func (mapping *TokenFieldMapping) Empty() bool

type TokenMetadata

type TokenMetadata struct {
	// Username is the username in the service provider that this token impersonates as
	// +optional
	Username string `json:"username"`
	// UserId is the user id in the service provider that this token impersonates as
	// +optional
	UserId string `json:"userId"`
	// Scopes is the list of OAuth scopes that this token possesses
	// +optional
	Scopes []string `json:"scopes"`
	// ServiceProviderState is an opaque state specific to the service provider. This includes data that the operator
	// uses during token matching, etc.
	// +optional
	ServiceProviderState []byte `json:"serviceProviderState"`
	// LastRefreshTime is the Unix-epoch timestamp of the last time the metadata has been refreshed from the service
	// provider. The operator is configured with a TTL for this information and automatically refreshes the metadata
	// when it is needed but is found stale.
	LastRefreshTime int64 `json:"lastRefreshTime"`
}

TokenMetadata is data about the token retrieved from the service provider. This data can be used for matching the tokens with the token bindings.

func (*TokenMetadata) DeepCopy

func (in *TokenMetadata) DeepCopy() *TokenMetadata

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenMetadata.

func (*TokenMetadata) DeepCopyInto

func (in *TokenMetadata) DeepCopyInto(out *TokenMetadata)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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