Implement group resource (#181)

This change implements a new group resource. 

It also sets the standard for a resource reference will be done through
out the controller. A resource reference can either be done by ID or as
a local named reference to the actual resource. This allows end users to
chose if they want to manage things completely in the cluster or not.

Part of #172

Signed-off-by: Philip Laine <philip.laine@gmail.com>
This commit is contained in:
Philip Laine
2026-04-15 10:16:10 +02:00
committed by GitHub
parent 26479a19c0
commit 9c4ca73712
19 changed files with 1026 additions and 11 deletions
@@ -0,0 +1,44 @@
// Code generated by controller-gen. DO NOT EDIT.
package v1alpha1
import (
v1 "k8s.io/client-go/applyconfigurations/meta/v1"
)
// GroupStatusApplyConfiguration represents a declarative configuration of the GroupStatus type for use
// with apply.
//
// GroupStatus defines the observed state of Group.
type GroupStatusApplyConfiguration struct {
GroupID *string `json:"groupID,omitempty"`
// The status of each condition is one of True, False, or Unknown.
Conditions []v1.ConditionApplyConfiguration `json:"conditions,omitempty"`
}
// GroupStatusApplyConfiguration constructs a declarative configuration of the GroupStatus type for use with
// apply.
func GroupStatus() *GroupStatusApplyConfiguration {
return &GroupStatusApplyConfiguration{}
}
// WithGroupID sets the GroupID 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 GroupID field is set to the value of the last call.
func (b *GroupStatusApplyConfiguration) WithGroupID(value string) *GroupStatusApplyConfiguration {
b.GroupID = &value
return b
}
// WithConditions adds the given value to the Conditions 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 Conditions field.
func (b *GroupStatusApplyConfiguration) WithConditions(values ...*v1.ConditionApplyConfiguration) *GroupStatusApplyConfiguration {
for i := range values {
if values[i] == nil {
panic("nil value passed to WithConditions")
}
b.Conditions = append(b.Conditions, *values[i])
}
return b
}