mirror of
https://github.com/YuzuZensai/netbird-kubernetes-operator.git
synced 2026-09-13 10:49:15 +00:00
Add groups option to cluster proxy (#297)
This change adds an option to specify groups a cluster proxy peer is a member of. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added optional `spec.groups` to the ClusterProxy custom resource to associate group references by `id`, `name`, or `localRef`. * CRD schema includes OpenAPI validation to enforce that each group reference specifies exactly one selector. * **Bug Fixes** * Improved deep-copy behavior for ClusterProxy spec so group references are copied safely and don’t share underlying slices. * **Documentation** * Updated API reference docs and README API table to include the new `groups` field. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
@@ -15,6 +15,8 @@ type ClusterProxySpecApplyConfiguration struct {
|
||||
APIServer *string `json:"apiServer,omitempty"`
|
||||
// ServiceAccountName is a reference to the service account used for impersonation.
|
||||
ServiceAccountName *string `json:"serviceAccountName,omitempty"`
|
||||
// Groups are references to groups that the peer will be a part of.
|
||||
Groups []GroupReferenceApplyConfiguration `json:"groups,omitempty"`
|
||||
}
|
||||
|
||||
// ClusterProxySpecApplyConfiguration constructs a declarative configuration of the ClusterProxySpec type for use with
|
||||
@@ -46,3 +48,16 @@ func (b *ClusterProxySpecApplyConfiguration) WithServiceAccountName(value string
|
||||
b.ServiceAccountName = &value
|
||||
return b
|
||||
}
|
||||
|
||||
// WithGroups adds the given value to the Groups 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 Groups field.
|
||||
func (b *ClusterProxySpecApplyConfiguration) WithGroups(values ...*GroupReferenceApplyConfiguration) *ClusterProxySpecApplyConfiguration {
|
||||
for i := range values {
|
||||
if values[i] == nil {
|
||||
panic("nil value passed to WithGroups")
|
||||
}
|
||||
b.Groups = append(b.Groups, *values[i])
|
||||
}
|
||||
return b
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user