Documentation
¶
Overview ¶
+k8s:deepcopy-gen=package
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Convert ¶
func Convert(claims *UserClaims) (*jwt.UserClaims, error)
Types ¶
type Limits ¶
type Limits struct { UserLimits `json:",inline"` common.NatsLimits `json:",inline"` }
Limits Specifies the limits for this user
func (*Limits) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Limits.
func (*Limits) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TimeRange ¶
type TimeRange struct { // The start time in the format HH:MM:SS // +kubebuilder:validation:Pattern="^(((([0-1][0-9])|(2[0-3])):?[0-5][0-9]:?[0-5][0-9]+$))" // +kubebuilder:validation:Optional Start string `json:"start,omitempty"` // The end time in the format HH:MM:SS // +kubebuilder:validation:Pattern="^(((([0-1][0-9])|(2[0-3])):?[0-5][0-9]:?[0-5][0-9]+$))" // +kubebuilder:validation:Optional End string `json:"end,omitempty"` }
func (*TimeRange) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeRange.
func (*TimeRange) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type User ¶
type User struct { // The account that issued this user JWT // +kubebuilder:validation:Optional IssuerAccount string `json:"issuerAccount,omitempty"` UserPermissionLimits `json:",inline"` common.GenericFields `json:",inline"` }
User holds user specific claims data
func (*User) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new User.
func (*User) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UserClaims ¶
type UserClaims struct { // Common data for all JWTs common.ClaimsData `json:",inline"` // Specifies the user specific part of the JWT // +kubebuilder:validation:Optional User `json:"user,omitempty"` }
Specifies claims of the JWT +kubebuilder:object:generate=true
func (*UserClaims) DeepCopy ¶
func (in *UserClaims) DeepCopy() *UserClaims
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserClaims.
func (*UserClaims) DeepCopyInto ¶
func (in *UserClaims) DeepCopyInto(out *UserClaims)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UserLimits ¶
type UserLimits struct { // A list of CIDR specifications the user is allowed to connect from // Example: 192.168.1.0/24, 192.168.1.1/1 or 2001:db8:a0b:12f0::1/32 // +kubebuilder:validation:Optional Src []string `json:"src,omitempty"` // Represents allowed time ranges the user is allowed to interact with the system Times []TimeRange `json:"times,omitempty"` // The locale for the times in the format "Europe/Berlin" // +kubebuilder:validation:Optional Locale string `json:"timesLocation,omitempty"` }
UserLimits Specifies the limits for this user
func (*UserLimits) DeepCopy ¶
func (in *UserLimits) DeepCopy() *UserLimits
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserLimits.
func (*UserLimits) DeepCopyInto ¶
func (in *UserLimits) DeepCopyInto(out *UserLimits)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UserPermissionLimits ¶
type UserPermissionLimits struct { common.Permissions `json:",inline"` Limits `json:",inline"` // Specifies if this user is allowed to use a bearer token to connect // +kubebuilder:validation:Optional BearerToken bool `json:"bearerToken,omitempty"` // Specifies the allowed connection types for this user // Allowed values are STANDARD, WEBSOCKET, LEAFNODE, LEAFNODE_WS, MQTT, MQTT_WS // +kubebuilder:validation:Enum=STANDARD;WEBSOCKET;LEAFNODE;LEAFNODE_WS;MQTT;MQTT_WS // +kubebuilder:validation:Optional AllowedConnectionTypes []string `json:"allowedConnectionTypes,omitempty"` }
UserPermissionLimits Specifies the permissions and limits for this user
func (*UserPermissionLimits) DeepCopy ¶
func (in *UserPermissionLimits) DeepCopy() *UserPermissionLimits
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserPermissionLimits.
func (*UserPermissionLimits) DeepCopyInto ¶
func (in *UserPermissionLimits) DeepCopyInto(out *UserPermissionLimits)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.