mirror of
https://github.com/YuzuZensai/netbird-kubernetes-operator.git
synced 2026-09-13 18:59:09 +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>
66 lines
2.8 KiB
Go
66 lines
2.8 KiB
Go
// Code generated by controller-gen. DO NOT EDIT.
|
|
|
|
package v1alpha1
|
|
|
|
import (
|
|
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
)
|
|
|
|
// SetupKeySpecApplyConfiguration represents a declarative configuration of the SetupKeySpec type for use
|
|
// with apply.
|
|
//
|
|
// SetupKeySpec defines the desired state of SetupKey.
|
|
type SetupKeySpecApplyConfiguration struct {
|
|
// Name of the setup key.
|
|
Name *string `json:"name,omitempty"`
|
|
// Ephemeral decides if peers added with the key are ephemeral or not.
|
|
Ephemeral *bool `json:"ephemeral,omitempty"`
|
|
// Duration sets how long the setup key is valid for.
|
|
Duration *v1.Duration `json:"duration,omitempty"`
|
|
// AutoGroups are groups that will be automatically assigned to peers using setup key.
|
|
AutoGroups []ResourceReferenceApplyConfiguration `json:"autoGroups,omitempty"`
|
|
}
|
|
|
|
// SetupKeySpecApplyConfiguration constructs a declarative configuration of the SetupKeySpec type for use with
|
|
// apply.
|
|
func SetupKeySpec() *SetupKeySpecApplyConfiguration {
|
|
return &SetupKeySpecApplyConfiguration{}
|
|
}
|
|
|
|
// 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 *SetupKeySpecApplyConfiguration) WithName(value string) *SetupKeySpecApplyConfiguration {
|
|
b.Name = &value
|
|
return b
|
|
}
|
|
|
|
// WithEphemeral sets the Ephemeral 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 Ephemeral field is set to the value of the last call.
|
|
func (b *SetupKeySpecApplyConfiguration) WithEphemeral(value bool) *SetupKeySpecApplyConfiguration {
|
|
b.Ephemeral = &value
|
|
return b
|
|
}
|
|
|
|
// WithDuration sets the Duration 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 Duration field is set to the value of the last call.
|
|
func (b *SetupKeySpecApplyConfiguration) WithDuration(value v1.Duration) *SetupKeySpecApplyConfiguration {
|
|
b.Duration = &value
|
|
return b
|
|
}
|
|
|
|
// WithAutoGroups adds the given value to the AutoGroups 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 AutoGroups field.
|
|
func (b *SetupKeySpecApplyConfiguration) WithAutoGroups(values ...*ResourceReferenceApplyConfiguration) *SetupKeySpecApplyConfiguration {
|
|
for i := range values {
|
|
if values[i] == nil {
|
|
panic("nil value passed to WithAutoGroups")
|
|
}
|
|
b.AutoGroups = append(b.AutoGroups, *values[i])
|
|
}
|
|
return b
|
|
}
|