Documentation ¶
Overview ¶
+k8s:deepcopy-gen=package,register +groupName=identity.unikorn-cloud.org
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type Group
- type GroupList
- type GroupSpec
- type GroupStatus
- type IdentityProviderType
- type OAuth2Client
- type OAuth2ClientList
- type OAuth2ClientSpec
- type OAuth2ClientStatus
- type OAuth2Provider
- type OAuth2ProviderList
- type OAuth2ProviderSpec
- type OAuth2ProviderStatus
- type Operation
- type Organization
- func (in *Organization) DeepCopy() *Organization
- func (in *Organization) DeepCopyInto(out *Organization)
- func (in *Organization) DeepCopyObject() runtime.Object
- func (c *Organization) Paused() bool
- func (c *Organization) ResourceLabels() (labels.Set, error)
- func (c *Organization) StatusConditionRead(t unikornv1core.ConditionType) (*unikornv1core.Condition, error)
- func (c *Organization) StatusConditionWrite(t unikornv1core.ConditionType, status corev1.ConditionStatus, ...)
- type OrganizationList
- type OrganizationProviderGoogleSpec
- type OrganizationProviderOptions
- type OrganizationSpec
- type OrganizationStatus
- type PrivateKey
- type Project
- func (in *Project) DeepCopy() *Project
- func (in *Project) DeepCopyInto(out *Project)
- func (in *Project) DeepCopyObject() runtime.Object
- func (c *Project) Paused() bool
- func (c *Project) ResourceLabels() (labels.Set, error)
- func (c *Project) StatusConditionRead(t unikornv1core.ConditionType) (*unikornv1core.Condition, error)
- func (c *Project) StatusConditionWrite(t unikornv1core.ConditionType, status corev1.ConditionStatus, ...)
- type ProjectList
- type ProjectSpec
- type ProjectStatus
- type ProviderScope
- type Role
- type RoleList
- type RoleScope
- type RoleScopes
- type RoleSpec
- type RoleStatus
- type SigningKey
- type SigningKeyList
- type SigningKeySpec
- type SigningKeyStatus
Constants ¶
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 ¶
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 )
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Group.
func (*Group) DeepCopyInto ¶ added in v0.2.6
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
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupList.
func (*GroupList) DeepCopyInto ¶ added in v0.2.6
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
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupSpec.
func (*GroupSpec) DeepCopyInto ¶ added in v0.2.6
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 ¶
func (in *OAuth2ProviderStatus) DeepCopy() *OAuth2ProviderStatus
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
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
func (in *OrganizationProviderGoogleSpec) DeepCopy() *OrganizationProviderGoogleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationProviderGoogleSpec.
func (*OrganizationProviderGoogleSpec) DeepCopyInto ¶ added in v0.1.3
func (in *OrganizationProviderGoogleSpec) DeepCopyInto(out *OrganizationProviderGoogleSpec)
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
func (in *OrganizationProviderOptions) DeepCopy() *OrganizationProviderOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationProviderOptions.
func (*OrganizationProviderOptions) DeepCopyInto ¶ added in v0.1.3
func (in *OrganizationProviderOptions) DeepCopyInto(out *OrganizationProviderOptions)
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Project.
func (*Project) DeepCopyInto ¶ added in v0.2.0
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
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Project) ResourceLabels ¶ added in v0.2.0
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Role.
func (*Role) DeepCopyInto ¶ added in v0.1.23
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
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleList.
func (*RoleList) DeepCopyInto ¶ added in v0.1.23
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
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleScope.
func (*RoleScope) DeepCopyInto ¶ added in v0.1.23
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleSpec.
func (*RoleSpec) DeepCopyInto ¶ added in v0.1.23
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.