Documentation
¶
Overview ¶
Package v1 contains API Schema definitions for the policy v1 API group +kubebuilder:object:generate=true +groupName=policy.icefed.io
Index ¶
- Variables
- type DomainEgressPolicy
- func (in *DomainEgressPolicy) DeepCopy() *DomainEgressPolicy
- func (in *DomainEgressPolicy) DeepCopyInto(out *DomainEgressPolicy)
- func (in *DomainEgressPolicy) DeepCopyObject() runtime.Object
- func (r *DomainEgressPolicy) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *DomainEgressPolicy) ValidateCreate() (admission.Warnings, error)
- func (r *DomainEgressPolicy) ValidateDelete() (admission.Warnings, error)
- func (r *DomainEgressPolicy) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
- type DomainEgressPolicyList
- type DomainEgressPolicySpec
- type DomainEgressPolicyStatus
- type DomainEgressRule
- type ResolvedDomain
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "policy.icefed.io", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type DomainEgressPolicy ¶
type DomainEgressPolicy struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DomainEgressPolicySpec `json:"spec,omitempty"`
Status DomainEgressPolicyStatus `json:"status,omitempty"`
}
DomainEgressPolicy is the Schema for the domainegresspolicies API
func (*DomainEgressPolicy) DeepCopy ¶
func (in *DomainEgressPolicy) DeepCopy() *DomainEgressPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainEgressPolicy.
func (*DomainEgressPolicy) DeepCopyInto ¶
func (in *DomainEgressPolicy) DeepCopyInto(out *DomainEgressPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DomainEgressPolicy) DeepCopyObject ¶
func (in *DomainEgressPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DomainEgressPolicy) SetupWebhookWithManager ¶
func (r *DomainEgressPolicy) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager will setup the manager to manage the webhooks
func (*DomainEgressPolicy) ValidateCreate ¶
func (r *DomainEgressPolicy) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*DomainEgressPolicy) ValidateDelete ¶
func (r *DomainEgressPolicy) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*DomainEgressPolicy) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type DomainEgressPolicyList ¶
type DomainEgressPolicyList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DomainEgressPolicy `json:"items"`
}
DomainEgressPolicyList contains a list of DomainEgressPolicy
func (*DomainEgressPolicyList) DeepCopy ¶
func (in *DomainEgressPolicyList) DeepCopy() *DomainEgressPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainEgressPolicyList.
func (*DomainEgressPolicyList) DeepCopyInto ¶
func (in *DomainEgressPolicyList) DeepCopyInto(out *DomainEgressPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DomainEgressPolicyList) DeepCopyObject ¶
func (in *DomainEgressPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DomainEgressPolicySpec ¶
type DomainEgressPolicySpec struct {
// podSelector selects the pods to which this DomainEgressPolicy object applies.
// The array of ingress rules is applied to any pods selected by this field.
// Multiple network policies can select the same set of pods. In this case,
// the ingress rules for each are combined additively.
// This field is NOT optional and follows standard label selector semantics.
// An empty podSelector matches all pods in this namespace.
PodSelector metav1.LabelSelector `json:"podSelector" protobuf:"bytes,1,opt,name=podSelector"`
// domainEgress is a list of egress rules to be applied to the selected pods. Outgoing traffic
// is allowed if there are no DomainEgressPolicies selecting the pod (and cluster policy
// otherwise allows the traffic), OR if the traffic matches at least one egress rule
// across all of the DomainEgressPolicy objects whose podSelector matches the pod. If
// this field is empty then this DomainEgressPolicy limits all outgoing traffic (and serves
// solely to ensure that the pods it selects are isolated by default).
DomainEgress []DomainEgressRule `json:"domainEgress,omitempty" protobuf:"bytes,3,rep,name=domainEgress"`
}
DomainEgressPolicySpec defines the desired state of DomainEgressPolicy
func (*DomainEgressPolicySpec) DeepCopy ¶
func (in *DomainEgressPolicySpec) DeepCopy() *DomainEgressPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainEgressPolicySpec.
func (*DomainEgressPolicySpec) DeepCopyInto ¶
func (in *DomainEgressPolicySpec) DeepCopyInto(out *DomainEgressPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DomainEgressPolicyStatus ¶
type DomainEgressPolicyStatus struct {
// ResolvedDomains is a list of resolved domains
ResolvedDomains []ResolvedDomain `json:"resolvedDomains,omitempty" protobuf:"bytes,1,rep,name=resolvedDomains"`
}
DomainEgressPolicyStatus defines the observed state of DomainEgressPolicy
func (*DomainEgressPolicyStatus) DeepCopy ¶
func (in *DomainEgressPolicyStatus) DeepCopy() *DomainEgressPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainEgressPolicyStatus.
func (*DomainEgressPolicyStatus) DeepCopyInto ¶
func (in *DomainEgressPolicyStatus) DeepCopyInto(out *DomainEgressPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DomainEgressRule ¶
type DomainEgressRule struct {
// ports is a list of destination ports for outgoing traffic.
// Each item in this list is combined using a logical OR. If this field is
// empty or missing, this rule matches all ports (traffic not restricted by port).
// If this field is present and contains at least one item, then this rule allows
// traffic only if the traffic matches at least one port in the list.
// +optional
Ports []networkingv1.NetworkPolicyPort `json:"ports,omitempty" protobuf:"bytes,1,rep,name=ports"`
// domains is a list of destinations for outgoing traffic of pods selected for this rule.
// Items in this list are combined using a logical OR operation. If this field is
// empty or missing, this rule matches all destinations (traffic not restricted by
// destination). If this field is present and contains at least one item, this rule
// allows traffic only if the traffic matches at least one item in the to list.
// domain names may be fully qualified or match wildcards.
Domains []string `json:"domains,omitempty" protobuf:"bytes,2,rep,name=domains"`
}
DomainEgressRule describes a particular set of traffic that is allowed out of pods matched by a DomainEgressPolicySpec's podSelector. The traffic must match both ports and domains.
func (*DomainEgressRule) DeepCopy ¶
func (in *DomainEgressRule) DeepCopy() *DomainEgressRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainEgressRule.
func (*DomainEgressRule) DeepCopyInto ¶
func (in *DomainEgressRule) DeepCopyInto(out *DomainEgressRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResolvedDomain ¶
type ResolvedDomain struct {
Domain string `json:"domain" protobuf:"bytes,1,opt,name=domain"`
IPs []string `json:"ips" protobuf:"bytes,2,rep,name=ips"`
// UpdateTimestamp is a timestamp of when the domain was resolved
UpdateTimestamp metav1.Time `json:"updateTimestamp,omitempty" protobuf:"bytes,8,opt,name=updateTimestamp"`
}
ResolvedDomain defines the domain and resolved IP addresses
func (*ResolvedDomain) DeepCopy ¶
func (in *ResolvedDomain) DeepCopy() *ResolvedDomain
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResolvedDomain.
func (*ResolvedDomain) DeepCopyInto ¶
func (in *ResolvedDomain) DeepCopyInto(out *ResolvedDomain)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.