v1alpha1

package
v0.2.47 Latest Latest
Warning

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

Go to latest
Published: Dec 4, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

+k8s:deepcopy-gen=package,register +groupName=identity.unikorn-cloud.org

Index

Constants

View Source
const (
	// APIGroupName is the Kubernetes API group our resources belong to.
	APIGroupName = "identity.unikorn-cloud.org"
	// APIGroupVersion is the version of our custom resources.
	APIGroupVersion = "v1alpha1"
	// Group is group/version of our resources.
	APIGroup = APIGroupName + "/" + APIGroupVersion
)

Variables

View Source
var (
	// SchemeGroupVersion defines the GV of our resources.
	//nolint:gochecknoglobals
	SchemeGroupVersion = schema.GroupVersion{Group: APIGroupName, Version: APIGroupVersion}

	// SchemeBuilder creates a mapping between GVK and type.
	//nolint:gochecknoglobals
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}

	// AddToScheme adds our GVK to resource mappings to an existing scheme.
	//nolint:gochecknoglobals
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	// ErrMissingLabel is raised when an expected label is not present on
	// a resource.
	ErrMissingLabel = errors.New("expected label is missing")
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource maps a resource type to a group resource.

Types

type Group

type Group struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              GroupSpec   `json:"spec"`
	Status            GroupStatus `json:"status,omitempty"`
}

Group describes a binding between users and roles. +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:scope=Namespaced,categories=unikorn +kubebuilder:subresource:status +kubebuilder:printcolumn:name="display name",type="string",JSONPath=".metadata.labels['unikorn-cloud\\.org/name']" +kubebuilder:printcolumn:name="age",type="date",JSONPath=".metadata.creationTimestamp"

func (*Group) DeepCopy added in v0.2.6

func (in *Group) DeepCopy() *Group

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

func (*Group) DeepCopyInto added in v0.2.6

func (in *Group) DeepCopyInto(out *Group)

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

func (*Group) DeepCopyObject added in v0.2.6

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

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

type GroupList added in v0.2.6

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

GroupList is a typed list of user/role bindings. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*GroupList) DeepCopy added in v0.2.6

func (in *GroupList) DeepCopy() *GroupList

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

func (*GroupList) DeepCopyInto added in v0.2.6

func (in *GroupList) DeepCopyInto(out *GroupList)

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

func (*GroupList) DeepCopyObject added in v0.2.6

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

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

type GroupSpec added in v0.2.6

type GroupSpec struct {
	// Tags are aribrary user data.
	Tags unikornv1core.TagList `json:"tags,omitempty"`
	// ProviderID is the name of the group as returned by the provider.
	// For example a query of https://cloudidentity.googleapis.com/v1/groups/
	// will return something like groups/01664s551ax43ok.
	ProviderGroupNames []string `json:"providerGroupNames,omitempty"`
	// Users are a list of user names that are members of the group.
	Users []string `json:"users,omitempty"`
	// RoleIDs are a list of roles users of the group inherit.
	RoleIDs []string `json:"roleIDs,omitempty"`
}

func (*GroupSpec) DeepCopy added in v0.2.6

func (in *GroupSpec) DeepCopy() *GroupSpec

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

func (*GroupSpec) DeepCopyInto added in v0.2.6

func (in *GroupSpec) DeepCopyInto(out *GroupSpec)

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

type GroupStatus added in v0.2.6

type GroupStatus struct{}

GroupStatus defines the status of the group.

func (*GroupStatus) DeepCopy added in v0.2.6

func (in *GroupStatus) DeepCopy() *GroupStatus

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

func (*GroupStatus) DeepCopyInto added in v0.2.6

func (in *GroupStatus) DeepCopyInto(out *GroupStatus)

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

type IdentityProviderType added in v0.1.3

type IdentityProviderType string

IdentityProviderType defines the type of identity provider, and in turn that defines the required configuration and API interfaces. +kubebuilder:validation:Enum=custom;google;microsoft

const (
	GoogleIdentity IdentityProviderType = "google"
	MicrosoftEntra IdentityProviderType = "microsoft"
)

type OAuth2Client

type OAuth2Client struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              OAuth2ClientSpec   `json:"spec"`
	Status            OAuth2ClientStatus `json:"status,omitempty"`
}

OAuth2Client describes an oauth2 client. +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:scope=Namespaced,categories=unikorn +kubebuilder:printcolumn:name="display name",type="string",JSONPath=".metadata.labels['unikorn-cloud\\.org/name']" +kubebuilder:printcolumn:name="redirect uri",type="string",JSONPath=".spec.redirectUri" +kubebuilder:printcolumn:name="age",type="date",JSONPath=".metadata.creationTimestamp"

func (*OAuth2Client) DeepCopy

func (in *OAuth2Client) DeepCopy() *OAuth2Client

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

func (*OAuth2Client) DeepCopyInto

func (in *OAuth2Client) DeepCopyInto(out *OAuth2Client)

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

func (*OAuth2Client) DeepCopyObject

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

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

type OAuth2ClientList

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

OAuth2ClientList is a typed list of frontend clients. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*OAuth2ClientList) DeepCopy

func (in *OAuth2ClientList) DeepCopy() *OAuth2ClientList

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

func (*OAuth2ClientList) DeepCopyInto

func (in *OAuth2ClientList) DeepCopyInto(out *OAuth2ClientList)

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

func (*OAuth2ClientList) DeepCopyObject

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

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

type OAuth2ClientSpec

type OAuth2ClientSpec struct {
	// Tags are aribrary user data.
	Tags unikornv1core.TagList `json:"tags,omitempty"`
	// RedirectURI is the URI to pass control back to the client.
	RedirectURI string `json:"redirectUri"`
	// LoginURI is a URI to pass control to for login dialogs.
	LoginURI *string `json:"loginUri,omitempty"`
}

OAuth2ClientSpec defines the required configuration for the client.

func (*OAuth2ClientSpec) DeepCopy

func (in *OAuth2ClientSpec) DeepCopy() *OAuth2ClientSpec

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

func (*OAuth2ClientSpec) DeepCopyInto

func (in *OAuth2ClientSpec) DeepCopyInto(out *OAuth2ClientSpec)

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

type OAuth2ClientStatus

type OAuth2ClientStatus struct {
}

OAuth2ClientStatus defines the status of the client.

func (*OAuth2ClientStatus) DeepCopy

func (in *OAuth2ClientStatus) DeepCopy() *OAuth2ClientStatus

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

func (*OAuth2ClientStatus) DeepCopyInto

func (in *OAuth2ClientStatus) DeepCopyInto(out *OAuth2ClientStatus)

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

type OAuth2Provider

type OAuth2Provider struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              OAuth2ProviderSpec   `json:"spec"`
	Status            OAuth2ProviderStatus `json:"status,omitempty"`
}

OAuth2Provider describes an oauth2 provider. +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:scope=Namespaced,categories=unikorn +kubebuilder:printcolumn:name="display name",type="string",JSONPath=".metadata.labels['unikorn-cloud\\.org/name']" +kubebuilder:printcolumn:name="issuer",type="string",JSONPath=".spec.issuer" +kubebuilder:printcolumn:name="client ID",type="string",JSONPath=".spec.clientID" +kubebuilder:printcolumn:name="age",type="date",JSONPath=".metadata.creationTimestamp"

func (*OAuth2Provider) DeepCopy

func (in *OAuth2Provider) DeepCopy() *OAuth2Provider

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

func (*OAuth2Provider) DeepCopyInto

func (in *OAuth2Provider) DeepCopyInto(out *OAuth2Provider)

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

func (*OAuth2Provider) DeepCopyObject

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

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

type OAuth2ProviderList

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

OAuth2ProviderList is a typed list of backend servers. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*OAuth2ProviderList) DeepCopy

func (in *OAuth2ProviderList) DeepCopy() *OAuth2ProviderList

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

func (*OAuth2ProviderList) DeepCopyInto

func (in *OAuth2ProviderList) DeepCopyInto(out *OAuth2ProviderList)

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

func (*OAuth2ProviderList) DeepCopyObject

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

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

type OAuth2ProviderSpec

type OAuth2ProviderSpec struct {
	// Tags are aribrary user data.
	Tags unikornv1core.TagList `json:"tags,omitempty"`
	// Type defines the interface to use with the provider, specifically
	// how to retrieve group information for fine-grained RBAC.  For certain
	// global provider types e.g. Google or Microsoft, only a single instance
	// of that type should be specified, doing otherwise will result in
	// undefined behaviour.
	Type *IdentityProviderType `json:"type,omitempty"`
	// The issuer is typically provided by the identity provider as an
	// OIDC discovery endpoint e.g. https://accounts.google.com.
	// This will be used to verify issued JWTs have the same "iss" claim.
	Issuer string `json:"issuer"`
	// ClientID is the assigned client identifier.
	ClientID string `json:"clientID"`
	// ClientSecret is created by the IdP for token exchange.
	ClientSecret *string `json:"clientSecret,omitempty"`
}

OAuth2ProviderSpec defines the required configuration for an oauth2 provider.

func (*OAuth2ProviderSpec) DeepCopy

func (in *OAuth2ProviderSpec) DeepCopy() *OAuth2ProviderSpec

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

func (*OAuth2ProviderSpec) DeepCopyInto

func (in *OAuth2ProviderSpec) DeepCopyInto(out *OAuth2ProviderSpec)

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

type OAuth2ProviderStatus

type OAuth2ProviderStatus struct {
}

OAuth2ProviderStatus defines the status of the server.

func (*OAuth2ProviderStatus) DeepCopy

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

func (*OAuth2ProviderStatus) DeepCopyInto

func (in *OAuth2ProviderStatus) DeepCopyInto(out *OAuth2ProviderStatus)

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

type Operation added in v0.2.20

type Operation string

+kubebuilder:validation:Enum=create;read;update;delete

const (
	Create Operation = "create"
	Read   Operation = "read"
	Update Operation = "update"
	Delete Operation = "delete"
)

type Organization added in v0.1.3

type Organization struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              OrganizationSpec   `json:"spec"`
	Status            OrganizationStatus `json:"status,omitempty"`
}

Organization describes an identity mapping. The main job of this type is to take an email address identity, extract the domain and use it to resolve an identity provider. It also is the place where users within that domain can be allowed based on groups/claims offered by that identity provider to limit access. +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:scope=Namespaced,categories=unikorn +kubebuilder:subresource:status +kubebuilder:printcolumn:name="display name",type="string",JSONPath=".metadata.labels['unikorn-cloud\\.org/name']" +kubebuilder:printcolumn:name="namespace",type="string",JSONPath=".status.namespace" +kubebuilder:printcolumn:name="status",type="string",JSONPath=".status.conditions[?(@.type=='Available')].reason" +kubebuilder:printcolumn:name="age",type="date",JSONPath=".metadata.creationTimestamp"

func (*Organization) DeepCopy added in v0.1.3

func (in *Organization) DeepCopy() *Organization

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

func (*Organization) DeepCopyInto added in v0.1.3

func (in *Organization) DeepCopyInto(out *Organization)

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

func (*Organization) DeepCopyObject added in v0.1.3

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

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

func (*Organization) Paused added in v0.2.0

func (c *Organization) Paused() bool

Paused implements the ReconcilePauser interface.

func (*Organization) ResourceLabels added in v0.2.0

func (c *Organization) ResourceLabels() (labels.Set, error)

ResourceLabels generates a set of labels to uniquely identify the resource if it were to be placed in a single global namespace.

func (*Organization) StatusConditionRead added in v0.2.0

func (c *Organization) StatusConditionRead(t unikornv1core.ConditionType) (*unikornv1core.Condition, error)

StatusConditionRead scans the status conditions for an existing condition whose type matches.

func (*Organization) StatusConditionWrite added in v0.2.0

func (c *Organization) StatusConditionWrite(t unikornv1core.ConditionType, status corev1.ConditionStatus, reason unikornv1core.ConditionReason, message string)

StatusConditionWrite either adds or updates a condition in the cluster manager status. If the condition, status and message match an existing condition the update is ignored.

type OrganizationList added in v0.1.3

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

OrganizationList is a typed list of identity mappings. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*OrganizationList) DeepCopy added in v0.1.3

func (in *OrganizationList) DeepCopy() *OrganizationList

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

func (*OrganizationList) DeepCopyInto added in v0.1.3

func (in *OrganizationList) DeepCopyInto(out *OrganizationList)

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

func (*OrganizationList) DeepCopyObject added in v0.1.3

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

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

type OrganizationProviderGoogleSpec added in v0.1.3

type OrganizationProviderGoogleSpec struct {
	// CustomerID is retrieved from the "Account Settings > Profile" page on
	// https://admin.google.com for your organisation and is required to
	// lookup user groups for fine-grained RBAC.
	CustomerID *string `json:"customerId,omitempty"`
}

func (*OrganizationProviderGoogleSpec) DeepCopy added in v0.1.3

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

func (*OrganizationProviderGoogleSpec) DeepCopyInto added in v0.1.3

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

type OrganizationProviderOptions added in v0.1.3

type OrganizationProviderOptions struct {
	// If the referenced provider is set to "google" then the following
	// parameters should be specified.
	Google *OrganizationProviderGoogleSpec `json:"google,omitempty"`
}

func (*OrganizationProviderOptions) DeepCopy added in v0.1.3

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

func (*OrganizationProviderOptions) DeepCopyInto added in v0.1.3

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

type OrganizationSpec added in v0.1.3

type OrganizationSpec struct {
	// Tags are aribrary user data.
	Tags unikornv1core.TagList `json:"tags,omitempty"`
	// Pause, if true, will inhibit reconciliation.
	Pause bool `json:"pause,omitempty"`
	// Domain is used by unikorn-identity to map an end-user provided
	// email address to an identity provider.  When this is set, then
	// the providerScope and providerName must be set.
	Domain *string `json:"domain,omitempty"`
	// ProviderScope tells the controller when to find the provider
	// details.
	ProviderScope *ProviderScope `json:"providerScope,omitempty"`
	// ProviderID is the ID of an oauth2/oidc provider when using a domain mapping.
	ProviderID *string `json:"providerId,omitempty"`
	// ProviderOptions is the configuration for a specific provider type.
	ProviderOptions *OrganizationProviderOptions `json:"providerOptions,omitempty"`
}

OrganizationSpec defines the required configuration for the server.

func (*OrganizationSpec) DeepCopy added in v0.1.3

func (in *OrganizationSpec) DeepCopy() *OrganizationSpec

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

func (*OrganizationSpec) DeepCopyInto added in v0.1.3

func (in *OrganizationSpec) DeepCopyInto(out *OrganizationSpec)

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

type OrganizationStatus added in v0.1.3

type OrganizationStatus struct {
	// Namespace defines the namespace an organization's child resources reside in.
	Namespace string `json:"namespace,omitempty"`

	// Current service state of the resource.
	Conditions []unikornv1core.Condition `json:"conditions,omitempty"`
}

OrganizationStatus defines the status of the server.

func (*OrganizationStatus) DeepCopy added in v0.1.3

func (in *OrganizationStatus) DeepCopy() *OrganizationStatus

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

func (*OrganizationStatus) DeepCopyInto added in v0.1.3

func (in *OrganizationStatus) DeepCopyInto(out *OrganizationStatus)

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

type PrivateKey added in v0.2.39

type PrivateKey struct {
	// PEM is the PEM encded private key.
	PEM []byte `json:"pem,omitempty"`
}

func (*PrivateKey) DeepCopy added in v0.2.39

func (in *PrivateKey) DeepCopy() *PrivateKey

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

func (*PrivateKey) DeepCopyInto added in v0.2.39

func (in *PrivateKey) DeepCopyInto(out *PrivateKey)

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

type Project added in v0.2.0

type Project struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ProjectSpec   `json:"spec"`
	Status            ProjectStatus `json:"status,omitempty"`
}

Project is an abstraction around projects and their security requirements. +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:scope=Namespaced,categories=unikorn +kubebuilder:subresource:status +kubebuilder:printcolumn:name="display name",type="string",JSONPath=".metadata.labels['unikorn-cloud\\.org/name']" +kubebuilder:printcolumn:name="namespace",type="string",JSONPath=".status.namespace" +kubebuilder:printcolumn:name="status",type="string",JSONPath=".status.conditions[?(@.type==\"Available\")].reason" +kubebuilder:printcolumn:name="age",type="date",JSONPath=".metadata.creationTimestamp"

func (*Project) DeepCopy added in v0.2.0

func (in *Project) DeepCopy() *Project

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

func (*Project) DeepCopyInto added in v0.2.0

func (in *Project) DeepCopyInto(out *Project)

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

func (*Project) DeepCopyObject added in v0.2.0

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

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

func (*Project) Paused added in v0.2.0

func (c *Project) Paused() bool

Paused implements the ReconcilePauser interface.

func (*Project) ResourceLabels added in v0.2.0

func (c *Project) ResourceLabels() (labels.Set, error)

ResourceLabels generates a set of labels to uniquely identify the resource if it were to be placed in a single global namespace.

func (*Project) StatusConditionRead added in v0.2.0

func (c *Project) StatusConditionRead(t unikornv1core.ConditionType) (*unikornv1core.Condition, error)

StatusConditionRead scans the status conditions for an existing condition whose type matches.

func (*Project) StatusConditionWrite added in v0.2.0

func (c *Project) StatusConditionWrite(t unikornv1core.ConditionType, status corev1.ConditionStatus, reason unikornv1core.ConditionReason, message string)

StatusConditionWrite either adds or updates a condition in the cluster manager status. If the condition, status and message match an existing condition the update is ignored.

type ProjectList added in v0.2.0

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

ProjectList is a typed list of projects. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*ProjectList) DeepCopy added in v0.2.0

func (in *ProjectList) DeepCopy() *ProjectList

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

func (*ProjectList) DeepCopyInto added in v0.2.0

func (in *ProjectList) DeepCopyInto(out *ProjectList)

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

func (*ProjectList) DeepCopyObject added in v0.2.0

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

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

type ProjectSpec added in v0.2.0

type ProjectSpec struct {
	// Tags are aribrary user data.
	Tags unikornv1core.TagList `json:"tags,omitempty"`
	// Pause, if true, will inhibit reconciliation.
	Pause bool `json:"pause,omitempty"`
	// GroupIDs is a list of groups that are allowed access to the project.
	GroupIDs []string `json:"groupIDs,omitempty"`
}

ProjectSpec defines project specific metadata.

func (*ProjectSpec) DeepCopy added in v0.2.0

func (in *ProjectSpec) DeepCopy() *ProjectSpec

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

func (*ProjectSpec) DeepCopyInto added in v0.2.0

func (in *ProjectSpec) DeepCopyInto(out *ProjectSpec)

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

type ProjectStatus added in v0.2.0

type ProjectStatus struct {
	// Namespace defines the namespace a project resides in.
	Namespace string `json:"namespace,omitempty"`

	// Current service state of a project.
	Conditions []unikornv1core.Condition `json:"conditions,omitempty"`
}

ProjectStatus defines the status of the project.

func (*ProjectStatus) DeepCopy added in v0.2.0

func (in *ProjectStatus) DeepCopy() *ProjectStatus

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

func (*ProjectStatus) DeepCopyInto added in v0.2.0

func (in *ProjectStatus) DeepCopyInto(out *ProjectStatus)

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

type ProviderScope added in v0.2.5

type ProviderScope string

ProviderScope defines how to lookup the provider details.

const (
	// ProviderScopeGlobal looks up the provider in the identity nanespace.
	ProviderScopeGlobal ProviderScope = "global"
	// ProviderScopeOrganization looks up the provider in the organization namespace.
	ProviderScopeOrganization ProviderScope = "organization"
)

type Role added in v0.1.23

type Role struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              RoleSpec   `json:"spec"`
	Status            RoleStatus `json:"status,omitempty"`
}

Role defines a role type that forms the basis of RBAC. Permissions are applied to arbitrary scopes that are used by individual components to allow or prevent API access. Roles are additive, so effective RBAC permssions should be create from the boolean union for any roles that apply to a user. Roles can optionally be scoped to an organization to allow deep customization of roles and permissions within that organization, for example the system management organization may have an onboarding role that allows basic account creation before handing off to the user. +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:scope=Namespaced,categories=unikorn +kubebuilder:printcolumn:name="display name",type="string",JSONPath=".metadata.labels['unikorn-cloud\\.org/name']" +kubebuilder:printcolumn:name="age",type="date",JSONPath=".metadata.creationTimestamp"

func (*Role) DeepCopy added in v0.1.23

func (in *Role) DeepCopy() *Role

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

func (*Role) DeepCopyInto added in v0.1.23

func (in *Role) DeepCopyInto(out *Role)

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

func (*Role) DeepCopyObject added in v0.1.23

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

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

type RoleList added in v0.1.23

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

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*RoleList) DeepCopy added in v0.1.23

func (in *RoleList) DeepCopy() *RoleList

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

func (*RoleList) DeepCopyInto added in v0.1.23

func (in *RoleList) DeepCopyInto(out *RoleList)

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

func (*RoleList) DeepCopyObject added in v0.1.23

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

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

type RoleScope added in v0.1.23

type RoleScope struct {
	// Name is a unique name that applies to the scope.  Individual APIs should
	// coordinate with one another to avoid clashes and privilege escallation.
	Name string `json:"name"`
	// Operations defines a set of CRUD permissions for the scope.
	// +listType=set
	Operations []Operation `json:"operations,omitempty"`
}

func (*RoleScope) DeepCopy added in v0.1.23

func (in *RoleScope) DeepCopy() *RoleScope

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

func (*RoleScope) DeepCopyInto added in v0.1.23

func (in *RoleScope) DeepCopyInto(out *RoleScope)

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

type RoleScopes added in v0.2.20

type RoleScopes struct {
	// Global grants access to any resource anywhere.
	// +listType=map
	// +listMapKey=name
	Global []RoleScope `json:"global,omitempty"`
	// Organization grants access to the user across the organization and
	// implicitly any project in the organization.
	// +listType=map
	// +listMapKey=name
	Organization []RoleScope `json:"organization,omitempty"`
	// Project grants access to the user for projects linked to groups
	// that contain them.
	// +listType=map
	// +listMapKey=name
	Project []RoleScope `json:"project,omitempty"`
}

func (*RoleScopes) DeepCopy added in v0.2.20

func (in *RoleScopes) DeepCopy() *RoleScopes

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

func (*RoleScopes) DeepCopyInto added in v0.2.20

func (in *RoleScopes) DeepCopyInto(out *RoleScopes)

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

type RoleSpec added in v0.1.23

type RoleSpec struct {
	// Tags are aribrary user data.
	Tags unikornv1core.TagList `json:"tags,omitempty"`
	// Scopes are a list of uniquely named scopes for the role.
	Scopes RoleScopes `json:"scopes,omitempty"`
}

RoleSpec defines the role's requested state.

func (*RoleSpec) DeepCopy added in v0.1.23

func (in *RoleSpec) DeepCopy() *RoleSpec

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

func (*RoleSpec) DeepCopyInto added in v0.1.23

func (in *RoleSpec) DeepCopyInto(out *RoleSpec)

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

type RoleStatus added in v0.1.23

type RoleStatus struct {
}

RoleStatus defines any role status information.

func (*RoleStatus) DeepCopy added in v0.1.23

func (in *RoleStatus) DeepCopy() *RoleStatus

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

func (*RoleStatus) DeepCopyInto added in v0.1.23

func (in *RoleStatus) DeepCopyInto(out *RoleStatus)

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

type SigningKey added in v0.2.39

type SigningKey struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              SigningKeySpec   `json:"spec"`
	Status            SigningKeyStatus `json:"status,omitempty"`
}

SigningKey is a circular buffer of signing keys used to atomically process key rotations, and ensure issued tokens can be verified even after a key rotation. +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:scope=Namespaced,categories=unikorn

func (*SigningKey) DeepCopy added in v0.2.39

func (in *SigningKey) DeepCopy() *SigningKey

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

func (*SigningKey) DeepCopyInto added in v0.2.39

func (in *SigningKey) DeepCopyInto(out *SigningKey)

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

func (*SigningKey) DeepCopyObject added in v0.2.39

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

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

type SigningKeyList added in v0.2.39

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

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*SigningKeyList) DeepCopy added in v0.2.39

func (in *SigningKeyList) DeepCopy() *SigningKeyList

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

func (*SigningKeyList) DeepCopyInto added in v0.2.39

func (in *SigningKeyList) DeepCopyInto(out *SigningKeyList)

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

func (*SigningKeyList) DeepCopyObject added in v0.2.39

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

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

type SigningKeySpec added in v0.2.39

type SigningKeySpec struct {
	// PrivateKeys is an ordered list of private keys, the first is
	// the most recent, so essentially a FIFO queue.
	PrivateKeys []PrivateKey `json:"privateKeys,omitempty"`
}

func (*SigningKeySpec) DeepCopy added in v0.2.39

func (in *SigningKeySpec) DeepCopy() *SigningKeySpec

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

func (*SigningKeySpec) DeepCopyInto added in v0.2.39

func (in *SigningKeySpec) DeepCopyInto(out *SigningKeySpec)

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

type SigningKeyStatus added in v0.2.39

type SigningKeyStatus struct {
}

func (*SigningKeyStatus) DeepCopy added in v0.2.39

func (in *SigningKeyStatus) DeepCopy() *SigningKeyStatus

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

func (*SigningKeyStatus) DeepCopyInto added in v0.2.39

func (in *SigningKeyStatus) DeepCopyInto(out *SigningKeyStatus)

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