mirror of
https://github.com/YuzuZensai/netbird-kubernetes-operator.git
synced 2026-09-13 10:49:15 +00:00
This change adds two new resources, NetworkRouter and NetworkResource, which enable clusters to expose Kubernetes services to Netbird. The NetworkRouter is responsible for creating the network, group, setup key and routing peer all of which are unique to the isntance. Along with the deployment of the client in the cluster. The NetworkResource exposes a service by linking to the specific router it wants to expose to. This makes coupling between the resource and network easy to understand. Routers also set a DNS zone which is used to give names to resources based on the name and namespace of the service being exposed. Part of #172 Signed-off-by: Philip Laine <philip.laine@gmail.com>
230 lines
11 KiB
Go
230 lines
11 KiB
Go
// Code generated by controller-gen. DO NOT EDIT.
|
|
|
|
package v1alpha1
|
|
|
|
import (
|
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
types "k8s.io/apimachinery/pkg/types"
|
|
v1 "k8s.io/client-go/applyconfigurations/meta/v1"
|
|
)
|
|
|
|
// NetworkRouterApplyConfiguration represents a declarative configuration of the NetworkRouter type for use
|
|
// with apply.
|
|
//
|
|
// NetworkRouter is the Schema for the networkrouters API.
|
|
type NetworkRouterApplyConfiguration struct {
|
|
v1.TypeMetaApplyConfiguration `json:",inline"`
|
|
*v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"`
|
|
Spec *NetworkRouterSpecApplyConfiguration `json:"spec,omitempty"`
|
|
Status *NetworkRouterStatusApplyConfiguration `json:"status,omitempty"`
|
|
}
|
|
|
|
// NetworkRouter constructs a declarative configuration of the NetworkRouter type for use with
|
|
// apply.
|
|
func NetworkRouter(name, namespace string) *NetworkRouterApplyConfiguration {
|
|
b := &NetworkRouterApplyConfiguration{}
|
|
b.WithName(name)
|
|
b.WithNamespace(namespace)
|
|
b.WithKind("NetworkRouter")
|
|
b.WithAPIVersion("netbird.io/v1alpha1")
|
|
return b
|
|
}
|
|
|
|
func (b NetworkRouterApplyConfiguration) IsApplyConfiguration() {}
|
|
|
|
// WithKind sets the Kind field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the Kind field is set to the value of the last call.
|
|
func (b *NetworkRouterApplyConfiguration) WithKind(value string) *NetworkRouterApplyConfiguration {
|
|
b.TypeMetaApplyConfiguration.Kind = &value
|
|
return b
|
|
}
|
|
|
|
// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the APIVersion field is set to the value of the last call.
|
|
func (b *NetworkRouterApplyConfiguration) WithAPIVersion(value string) *NetworkRouterApplyConfiguration {
|
|
b.TypeMetaApplyConfiguration.APIVersion = &value
|
|
return b
|
|
}
|
|
|
|
// WithName sets the Name field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the Name field is set to the value of the last call.
|
|
func (b *NetworkRouterApplyConfiguration) WithName(value string) *NetworkRouterApplyConfiguration {
|
|
b.ensureObjectMetaApplyConfigurationExists()
|
|
b.ObjectMetaApplyConfiguration.Name = &value
|
|
return b
|
|
}
|
|
|
|
// WithGenerateName sets the GenerateName field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the GenerateName field is set to the value of the last call.
|
|
func (b *NetworkRouterApplyConfiguration) WithGenerateName(value string) *NetworkRouterApplyConfiguration {
|
|
b.ensureObjectMetaApplyConfigurationExists()
|
|
b.ObjectMetaApplyConfiguration.GenerateName = &value
|
|
return b
|
|
}
|
|
|
|
// WithNamespace sets the Namespace field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the Namespace field is set to the value of the last call.
|
|
func (b *NetworkRouterApplyConfiguration) WithNamespace(value string) *NetworkRouterApplyConfiguration {
|
|
b.ensureObjectMetaApplyConfigurationExists()
|
|
b.ObjectMetaApplyConfiguration.Namespace = &value
|
|
return b
|
|
}
|
|
|
|
// WithUID sets the UID field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the UID field is set to the value of the last call.
|
|
func (b *NetworkRouterApplyConfiguration) WithUID(value types.UID) *NetworkRouterApplyConfiguration {
|
|
b.ensureObjectMetaApplyConfigurationExists()
|
|
b.ObjectMetaApplyConfiguration.UID = &value
|
|
return b
|
|
}
|
|
|
|
// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the ResourceVersion field is set to the value of the last call.
|
|
func (b *NetworkRouterApplyConfiguration) WithResourceVersion(value string) *NetworkRouterApplyConfiguration {
|
|
b.ensureObjectMetaApplyConfigurationExists()
|
|
b.ObjectMetaApplyConfiguration.ResourceVersion = &value
|
|
return b
|
|
}
|
|
|
|
// WithGeneration sets the Generation field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the Generation field is set to the value of the last call.
|
|
func (b *NetworkRouterApplyConfiguration) WithGeneration(value int64) *NetworkRouterApplyConfiguration {
|
|
b.ensureObjectMetaApplyConfigurationExists()
|
|
b.ObjectMetaApplyConfiguration.Generation = &value
|
|
return b
|
|
}
|
|
|
|
// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the CreationTimestamp field is set to the value of the last call.
|
|
func (b *NetworkRouterApplyConfiguration) WithCreationTimestamp(value metav1.Time) *NetworkRouterApplyConfiguration {
|
|
b.ensureObjectMetaApplyConfigurationExists()
|
|
b.ObjectMetaApplyConfiguration.CreationTimestamp = &value
|
|
return b
|
|
}
|
|
|
|
// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the DeletionTimestamp field is set to the value of the last call.
|
|
func (b *NetworkRouterApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *NetworkRouterApplyConfiguration {
|
|
b.ensureObjectMetaApplyConfigurationExists()
|
|
b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value
|
|
return b
|
|
}
|
|
|
|
// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call.
|
|
func (b *NetworkRouterApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *NetworkRouterApplyConfiguration {
|
|
b.ensureObjectMetaApplyConfigurationExists()
|
|
b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value
|
|
return b
|
|
}
|
|
|
|
// WithLabels puts the entries into the Labels field in the declarative configuration
|
|
// and returns the receiver, so that objects can be build by chaining "With" function invocations.
|
|
// If called multiple times, the entries provided by each call will be put on the Labels field,
|
|
// overwriting an existing map entries in Labels field with the same key.
|
|
func (b *NetworkRouterApplyConfiguration) WithLabels(entries map[string]string) *NetworkRouterApplyConfiguration {
|
|
b.ensureObjectMetaApplyConfigurationExists()
|
|
if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 {
|
|
b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries))
|
|
}
|
|
for k, v := range entries {
|
|
b.ObjectMetaApplyConfiguration.Labels[k] = v
|
|
}
|
|
return b
|
|
}
|
|
|
|
// WithAnnotations puts the entries into the Annotations field in the declarative configuration
|
|
// and returns the receiver, so that objects can be build by chaining "With" function invocations.
|
|
// If called multiple times, the entries provided by each call will be put on the Annotations field,
|
|
// overwriting an existing map entries in Annotations field with the same key.
|
|
func (b *NetworkRouterApplyConfiguration) WithAnnotations(entries map[string]string) *NetworkRouterApplyConfiguration {
|
|
b.ensureObjectMetaApplyConfigurationExists()
|
|
if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 {
|
|
b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries))
|
|
}
|
|
for k, v := range entries {
|
|
b.ObjectMetaApplyConfiguration.Annotations[k] = v
|
|
}
|
|
return b
|
|
}
|
|
|
|
// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration
|
|
// and returns the receiver, so that objects can be build by chaining "With" function invocations.
|
|
// If called multiple times, values provided by each call will be appended to the OwnerReferences field.
|
|
func (b *NetworkRouterApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *NetworkRouterApplyConfiguration {
|
|
b.ensureObjectMetaApplyConfigurationExists()
|
|
for i := range values {
|
|
if values[i] == nil {
|
|
panic("nil value passed to WithOwnerReferences")
|
|
}
|
|
b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i])
|
|
}
|
|
return b
|
|
}
|
|
|
|
// WithFinalizers adds the given value to the Finalizers field in the declarative configuration
|
|
// and returns the receiver, so that objects can be build by chaining "With" function invocations.
|
|
// If called multiple times, values provided by each call will be appended to the Finalizers field.
|
|
func (b *NetworkRouterApplyConfiguration) WithFinalizers(values ...string) *NetworkRouterApplyConfiguration {
|
|
b.ensureObjectMetaApplyConfigurationExists()
|
|
for i := range values {
|
|
b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i])
|
|
}
|
|
return b
|
|
}
|
|
|
|
func (b *NetworkRouterApplyConfiguration) ensureObjectMetaApplyConfigurationExists() {
|
|
if b.ObjectMetaApplyConfiguration == nil {
|
|
b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{}
|
|
}
|
|
}
|
|
|
|
// WithSpec sets the Spec field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the Spec field is set to the value of the last call.
|
|
func (b *NetworkRouterApplyConfiguration) WithSpec(value *NetworkRouterSpecApplyConfiguration) *NetworkRouterApplyConfiguration {
|
|
b.Spec = value
|
|
return b
|
|
}
|
|
|
|
// WithStatus sets the Status field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the Status field is set to the value of the last call.
|
|
func (b *NetworkRouterApplyConfiguration) WithStatus(value *NetworkRouterStatusApplyConfiguration) *NetworkRouterApplyConfiguration {
|
|
b.Status = value
|
|
return b
|
|
}
|
|
|
|
// GetKind retrieves the value of the Kind field in the declarative configuration.
|
|
func (b *NetworkRouterApplyConfiguration) GetKind() *string {
|
|
return b.TypeMetaApplyConfiguration.Kind
|
|
}
|
|
|
|
// GetAPIVersion retrieves the value of the APIVersion field in the declarative configuration.
|
|
func (b *NetworkRouterApplyConfiguration) GetAPIVersion() *string {
|
|
return b.TypeMetaApplyConfiguration.APIVersion
|
|
}
|
|
|
|
// GetName retrieves the value of the Name field in the declarative configuration.
|
|
func (b *NetworkRouterApplyConfiguration) GetName() *string {
|
|
b.ensureObjectMetaApplyConfigurationExists()
|
|
return b.ObjectMetaApplyConfiguration.Name
|
|
}
|
|
|
|
// GetNamespace retrieves the value of the Namespace field in the declarative configuration.
|
|
func (b *NetworkRouterApplyConfiguration) GetNamespace() *string {
|
|
b.ensureObjectMetaApplyConfigurationExists()
|
|
return b.ObjectMetaApplyConfiguration.Namespace
|
|
}
|