Documentation
¶
Overview ¶
Package v1 is the v1 version of the Lockbox API
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type Condition
- type ConditionSeverity
- type ConditionType
- type Lockbox
- func (in *Lockbox) DeepCopy() *Lockbox
- func (in *Lockbox) DeepCopyInto(out *Lockbox)
- func (in *Lockbox) DeepCopyObject() runtime.Object
- func (in *Lockbox) GetConditions() []Condition
- func (in *Lockbox) SetConditions(conditions []Condition)
- func (in *Lockbox) UnlockInto(secret *corev1.Secret, pri nacl.Key) error
- type LockboxList
- type LockboxSecretTemplate
- type LockboxSpec
- type LockboxStatus
Constants ¶
const GroupName = "lockbox.k8s.cloudflare.com"
GroupName specifies the group name used to register the objects.
Variables ¶
var ( // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. SchemeBuilder runtime.SchemeBuilder // Depreciated: use Install instead AddToScheme = localSchemeBuilder.AddToScheme Install = localSchemeBuilder.AddToScheme )
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1"}
GroupVersion specifies the group and the version used to register the objects.
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"}
SchemeGroupVersion is group version used to register these objects Deprecated: use GroupVersion instead.
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type Condition ¶
type Condition struct {
// Type of condition in CamelCase.
// +required
Type ConditionType `json:"type"`
// Status of the condition, one of True, False, Unknown
// +required
Status corev1.ConditionStatus `json:"status"`
// Severity provides explicit classification of Reason code, so that users or machines
// can immediately understand the current situation and act accordingly.
// The Severity field MUST be set only when Status=False.
// +optional
Severity ConditionSeverity `json:"severity"`
// LastTransitionTime marks when the condition last transitioned from one status to another.
// This should be when the underlying condition changed. If that is not known, then using the time
// when the API field changed is acceptable.
// +required
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
// The reason for the condition's last transition in CamelCase.
// +optional
Reason string `json:"reason,omitempty"`
// A message is the human readable message indicating details about the transition.
// The field may be empty.
// +optional
Message string `json:"message,omitempty"`
}
Condition contains condition information for a Lockbox.
func (*Condition) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.
func (*Condition) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionSeverity ¶
type ConditionSeverity string
+kubebuilder:validation:Enum=Error;Warning;Info
const ( ConditionSeverityError ConditionSeverity = "Error" ConditionSeverityWarning ConditionSeverity = "Warning" ConditionSeverityInfo ConditionSeverity = "Info" ConditionSeverityNone ConditionSeverity = "" )
type ConditionType ¶
type ConditionType string
+kubebuilder:validation:Enum=Ready
const (
ReadyCondition ConditionType = "Ready"
)
type Lockbox ¶
type Lockbox struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Desired state of the Lockbox resource.
Spec LockboxSpec `json:"spec"`
// Status of the Lockbox. This is set and managed automatically.
// +optional
Status LockboxStatus `json:"status,omitempty"`
}
Lockbox is a struct wrapping the LockboxSpec in standard API server metadata fields.
func NewFromSecret ¶
NewFromSecret creates a Lockbox wrapping the provided Secret. The value of each secret are individually encrypted using the provided key pair.
func (*Lockbox) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Lockbox.
func (*Lockbox) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Lockbox) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Lockbox) GetConditions ¶
func (*Lockbox) SetConditions ¶
type LockboxList ¶
LockboxList is a Lockbox-specific version of metav1.List.
func (*LockboxList) DeepCopy ¶
func (in *LockboxList) DeepCopy() *LockboxList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LockboxList.
func (*LockboxList) DeepCopyInto ¶
func (in *LockboxList) DeepCopyInto(out *LockboxList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LockboxList) DeepCopyObject ¶
func (in *LockboxList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LockboxSecretTemplate ¶
type LockboxSecretTemplate struct {
metav1.ObjectMeta `json:"metadata,omitempty"`
// Type is used to facilitate programmatic handling of secret data.
Type corev1.SecretType `json:"type,omitempty"`
}
LockboxSecretTemplate defines structure of API metadata fields of Secrets controlled by a Lockbox.
func (*LockboxSecretTemplate) DeepCopy ¶
func (in *LockboxSecretTemplate) DeepCopy() *LockboxSecretTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LockboxSecretTemplate.
func (*LockboxSecretTemplate) DeepCopyInto ¶
func (in *LockboxSecretTemplate) DeepCopyInto(out *LockboxSecretTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LockboxSpec ¶
type LockboxSpec struct {
// Sender stores the public key used to lock this Lockbox.
Sender []byte `json:"sender"`
// Peer stores the public key that can unlock this Lockbox.
Peer []byte `json:"peer"`
// Namespace stores an encrypted copy of which namespace this Lockbox is locked
// for, ensuring it cannot be deployed to another namespace under an attacker's
// control.
Namespace []byte `json:"namespace"`
// Data contains the secret data, encrypted to the Peer's public key. Each key in the
// data map must consist of alphanumeric characters, '-', '_', or '.'.
Data map[string][]byte `json:"data"`
// Template defines the structure of the Secret that will be
// created from this Lockbox.
// +optional
Template LockboxSecretTemplate `json:"template,omitempty"`
}
LockboxSpec is a struct wrapping the encrypted secrets along with the public keys of the sender and server.
func (*LockboxSpec) DeepCopy ¶
func (in *LockboxSpec) DeepCopy() *LockboxSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LockboxSpec.
func (*LockboxSpec) DeepCopyInto ¶
func (in *LockboxSpec) DeepCopyInto(out *LockboxSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LockboxStatus ¶
type LockboxStatus struct {
// List of status conditions to indicate the status of a Lockbox.
// +optional
Conditions []Condition `json:"conditions,omitempty"`
}
LockboxStatus contains status information about a Lockbox.
func (*LockboxStatus) DeepCopy ¶
func (in *LockboxStatus) DeepCopy() *LockboxStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LockboxStatus.
func (*LockboxStatus) DeepCopyInto ¶
func (in *LockboxStatus) DeepCopyInto(out *LockboxStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.