api

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Nov 10, 2020 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

+groupName=krsdev.app +versionName=v1

Index

Constants

This section is empty.

Variables

View Source
var (
	GroupVersion = schema.GroupVersion{Group: "krsdev.app", Version: "v1"}

	AddToScheme = schemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type AccessPolicy

type AccessPolicy struct {
	meta.TypeMeta   `json:",inline"`
	meta.ObjectMeta `json:"metadata"`

	Spec AccessPolicySpec `json:"spec"`
	// +kubebuilder:validation:Optional
	Status AccessPolicyStatus `json:"status,omitempty"`
}

+kubebuilder:resource:path=accesspolicies,shortName=ap +kubebuilder:printcolumn:name=Gateway,type=string,JSONPath=.spec.gateway +kubebuilder:printcolumn:name=OpenID Provider,type=string,JSONPath=.spec.oidc.provider +kubebuilder:object:root=true +kubebuilder:subresource:status

func (*AccessPolicy) Normalize

func (in *AccessPolicy) Normalize()

func (*AccessPolicy) Validate

func (in *AccessPolicy) Validate() []error

type AccessPolicyList

type AccessPolicyList struct {
	meta.TypeMeta `json:",inline"`
	meta.ListMeta `json:"metadata"`

	Items []AccessPolicy `json:"items"`
}

+kubebuilder:object:root=true

type AccessPolicyOIDC

type AccessPolicyOIDC struct {
	// +kubebuilder:validation:Pattern=`^([a-z-]+/)?[a-z-.]+$`
	Provider          string                            `json:"provider"`
	CredentialsSecret AccessPolicyOIDCCredentialsSecret `json:"credentialsSecretRef"`
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern=`^\/[A-Za-z0-9\-._~!$&'()*+,;=:@\/%]*$|^$`
	CallbackPath string `json:"callbackPath"`
}

func (*AccessPolicyOIDC) Normalize

func (in *AccessPolicyOIDC) Normalize()

func (*AccessPolicyOIDC) Validate

func (in *AccessPolicyOIDC) Validate(errs []error) []error

type AccessPolicyOIDCCredentialsSecret

type AccessPolicyOIDCCredentialsSecret struct {
	Name string `json:"name"`
	// +kubebuilder:validation:Optional
	ClientIDKey string `json:"clientIDKey"`
	// +kubebuilder:validation:Optional
	ClientSecretKey string `json:"clientSecretKey"`
	// +kubebuilder:validation:Optional
	TokenSecretKey string `json:"tokenSecretKey"`
}

func (*AccessPolicyOIDCCredentialsSecret) Normalize

func (in *AccessPolicyOIDCCredentialsSecret) Normalize()

type AccessPolicyRoute

type AccessPolicyRoute struct {
	// +kubebuilder:validation:Optional
	Name string `json:"name,omitempty"`
	// +kubebuilder:validation:Optional
	Roles []string `json:"roles,omitempty"`
	// +kubebuilder:validation:Optional
	Headers []AccessPolicyRouteHeader `json:"headers,omitempty"`
	// +kubebuilder:validation:Optional
	DisableEnforcement bool `json:"disableEnforcement,omitempty"`
}

+kubebuilder:object:generate=true

type AccessPolicyRouteHeader

type AccessPolicyRouteHeader struct {
	Name  string   `json:"name"`
	Roles []string `json:"roles"`
	// +kubebuilder:validation:Optional
	Value string `json:"value,omitempty"`
}

+kubebuilder:object:generate=true

type AccessPolicySpec

type AccessPolicySpec struct {
	Gateway string           `json:"gateway"`
	OIDC    AccessPolicyOIDC `json:"oidc"`

	// +kubebuilder:validation:Optional
	Routes []AccessPolicyRoute `json:"routes,omitempty"`
}

+kubebuilder:object:generate=true

func (*AccessPolicySpec) Normalize

func (in *AccessPolicySpec) Normalize()

func (*AccessPolicySpec) Validate

func (in *AccessPolicySpec) Validate(errs []error) []error

type AccessPolicyStatus

type AccessPolicyStatus struct {
	// +kubebuilder:validation:Optional
	Ingress AccessPolicyStatusIngress `json:"ingress,omitempty"`
	// +kubebuilder:validation:Optional
	VirtualHosts []string `json:"virtualHosts,omitempty"`
}

+kubebuilder:object:generate=true

func (*AccessPolicyStatus) GetIngress

type AccessPolicyStatusIngress

type AccessPolicyStatusIngress struct {
	Selector map[string]string `json:"selector"`
}

+kubebuilder:object:generate=true

func (*AccessPolicyStatusIngress) GetSelector

func (in *AccessPolicyStatusIngress) GetSelector() map[string]string

type OpenIDProvider

type OpenIDProvider struct {
	meta.TypeMeta   `json:",inline"`
	meta.ObjectMeta `json:"metadata"`

	Spec OpenIDProviderSpec `json:"spec"`
}

+kubebuilder:resource:path=openidproviders +kubebuilder:printcolumn:name=Issuer,type=string,JSONPath=.spec.issuer +kubebuilder:object:root=true

type OpenIDProviderList

type OpenIDProviderList struct {
	meta.TypeMeta `json:",inline"`
	meta.ListMeta `json:"metadata"`

	Items []OpenIDProvider `json:"items"`
}

+kubebuilder:object:root=true

type OpenIDProviderRoleMapping

type OpenIDProviderRoleMapping struct {
	// +kubebuilder:validation:Optional
	From string `json:"from"`
	// +kubebuilder:validation:Optional
	Prefix string `json:"prefix"`
	Path   string `json:"path"`
}

type OpenIDProviderSpec

type OpenIDProviderSpec struct {
	Issuer string `json:"issuer"`
	// +kubebuilder:validation:Optional
	RoleMappings []OpenIDProviderRoleMapping `json:"roleMappings"`
}

+kubebuilder:object:generate=true

Jump to

Keyboard shortcuts

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