Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
135 commits
Select commit Hold shift + click to select a range
fe245dc
updated go mod + dependencies
henderiw Feb 17, 2026
b129b8b
updated apiserver/builder
henderiw Feb 18, 2026
c686bc6
remove clear deviations
henderiw Feb 18, 2026
5e81364
updated api depreciation/changes of k8s
henderiw Feb 18, 2026
121cd7f
updated api-builder
henderiw Feb 18, 2026
61c7e62
rework ssa
henderiw Feb 18, 2026
40b758d
rework ssa
henderiw Feb 18, 2026
4aa4b35
update go version in docker files
henderiw Feb 18, 2026
b681f76
added apibuilder with typeconvertor ssa
henderiw Feb 18, 2026
c378869
added apibuilder with typeconvertor ssa
henderiw Feb 18, 2026
54ed239
debug openapi
henderiw Feb 18, 2026
785d51d
debug openapi
henderiw Feb 18, 2026
5906be9
updated debug
henderiw Feb 18, 2026
408a466
updated debug
henderiw Feb 18, 2026
7ef99ec
updated debug
henderiw Feb 18, 2026
452e8ac
added test
henderiw Feb 18, 2026
c95ae69
update the prio version
henderiw Feb 18, 2026
aea8bd4
updated openapi-gen
henderiw Feb 18, 2026
a4b06d4
updated openapigen
henderiw Feb 18, 2026
45e18e5
updated api tags/generation
henderiw Feb 18, 2026
7131c67
updated builder
henderiw Feb 18, 2026
d6c8d46
added new builder
henderiw Feb 18, 2026
48491ca
added new builder
henderiw Feb 18, 2026
180083d
added new builder
henderiw Feb 18, 2026
d6bf135
updated openapigen
henderiw Feb 18, 2026
22cf424
updated builder
henderiw Feb 18, 2026
9906c7a
updated builder
henderiw Feb 18, 2026
a1cad50
updated builder
henderiw Feb 18, 2026
6438ac4
updated builder
henderiw Feb 18, 2026
a8d177e
updated builder
henderiw Feb 18, 2026
a5d7735
updated builder
henderiw Feb 18, 2026
e338ec7
updated builder
henderiw Feb 18, 2026
97fb11e
updated builder
henderiw Feb 18, 2026
fa6f6ba
updated debug
henderiw Feb 19, 2026
d7bbe0e
updated debug
henderiw Feb 19, 2026
03a2eb7
updated debug
henderiw Feb 19, 2026
ad19750
updated debug
henderiw Feb 19, 2026
9b01afe
updated debug
henderiw Feb 19, 2026
df95647
updated debug
henderiw Feb 19, 2026
59b6d35
updated debug
henderiw Feb 19, 2026
5b6bf67
updated debug
henderiw Feb 19, 2026
8a8ec0d
updated debug
henderiw Feb 19, 2026
dd65a40
updated debug
henderiw Feb 19, 2026
fb6129a
updated debug
henderiw Feb 19, 2026
9a29958
updated debug
henderiw Feb 19, 2026
c520001
updated debug
henderiw Feb 19, 2026
6c65488
updated debug
henderiw Feb 19, 2026
5e72099
updated debug
henderiw Feb 19, 2026
4164f2f
updated debug
henderiw Feb 19, 2026
cdfc6ee
updated debug
henderiw Feb 19, 2026
cd0afcf
updated apibuilder for SSA
henderiw Feb 19, 2026
19cc872
go fmt
henderiw Feb 19, 2026
75fdb55
split field manager
henderiw Feb 19, 2026
9d90406
fix conversion
henderiw Feb 19, 2026
b5cb7fa
updated ssa handling on config
henderiw Feb 19, 2026
2600923
updated ready message
henderiw Feb 19, 2026
f73294f
fix lint issue
henderiw Feb 19, 2026
22bc82a
updated lint issue
henderiw Feb 28, 2026
d71a493
fix makefile comment
henderiw Feb 28, 2026
9611f0e
update namespace list handling
henderiw Feb 28, 2026
0d2a3c4
update k get sdc failure
henderiw Feb 28, 2026
260a8a7
renamed condition -> clearer naming
henderiw Mar 1, 2026
f560699
move target to config domain for subresources
henderiw Mar 1, 2026
16981b4
added target storage
henderiw Mar 1, 2026
50ad628
removed inventory from apiserver
henderiw Mar 1, 2026
d720a07
add bookmark to watch event
henderiw Mar 1, 2026
5ca3013
add bookmark to watch event
henderiw Mar 1, 2026
5085389
add bookmark to watch event
henderiw Mar 1, 2026
a3dcdd1
add bookmark to watch event
henderiw Mar 1, 2026
d1a6ebc
updated ssa for target
henderiw Mar 1, 2026
74b513f
update openapi spec
henderiw Mar 1, 2026
0388f52
update message truncation
henderiw Mar 1, 2026
c12cb5a
update target discovery with force true
henderiw Mar 1, 2026
4632ab4
updated target discovery ssa and finalizer updates
henderiw Mar 1, 2026
6890860
updated target discovery ssa and finalizer updates
henderiw Mar 1, 2026
2cb7329
updated target discovery ssa and finalizer updates
henderiw Mar 1, 2026
0175004
ssa for target finalizer
henderiw Mar 1, 2026
f9bdb85
ssa for target finalizer
henderiw Mar 1, 2026
fcfe99a
ssa for target finalizer
henderiw Mar 1, 2026
7a72e6b
debug ssa
henderiw Mar 1, 2026
28ae402
update ssa for target
henderiw Mar 1, 2026
6fddf38
added robustness for discovery
henderiw Mar 1, 2026
9cef2fa
update target connection condition robustiness
henderiw Mar 1, 2026
0f84ebf
update target discovery robustness
henderiw Mar 1, 2026
d74e013
update dr ctx
henderiw Mar 1, 2026
70383c5
fix go lint - unused
henderiw Mar 1, 2026
1799b63
update change handling of a DR CR
henderiw Mar 2, 2026
bfc3ccf
update discovery debug
henderiw Mar 2, 2026
5d842f5
update discovery debug
henderiw Mar 2, 2026
d83808f
update discovery debug
henderiw Mar 2, 2026
5615e2e
update discovery debug
henderiw Mar 2, 2026
e0c5ccc
update discovery debug
henderiw Mar 2, 2026
7a071fc
update logging
henderiw Mar 2, 2026
99a4b6f
serialize storage updates
henderiw Mar 2, 2026
ddc6163
serialize storage updates
henderiw Mar 2, 2026
5150a06
serialize storage updates
henderiw Mar 2, 2026
c4040c2
update subresources
henderiw Mar 2, 2026
bdd5569
update g fmt
henderiw Mar 2, 2026
d08d753
update g fmt
henderiw Mar 2, 2026
4db798f
update rsp log
henderiw Mar 2, 2026
9fb8557
update rsp log
henderiw Mar 2, 2026
e64d706
update genclient/deepcopy
henderiw Mar 2, 2026
0bbaee2
update genclient/deepcopy
henderiw Mar 2, 2026
2e83166
update makefile robustness
henderiw Mar 2, 2026
e4f94d1
added blame, running, cleardeviation
henderiw Mar 2, 2026
fcc62fd
added blame, running, cleardeviation
henderiw Mar 2, 2026
3672c4f
added blame, running, cleardeviation
henderiw Mar 2, 2026
eee902e
added blame, running, cleardeviation
henderiw Mar 2, 2026
23a538d
update target registration for v1alpha1
henderiw Mar 2, 2026
d4d2be9
update names to runningconfig anad configblame
henderiw Mar 2, 2026
c0bda3a
fix lint issue
henderiw Mar 2, 2026
7e965c3
add custom query params
henderiw Mar 3, 2026
c99875d
updated query paramaters with registry
henderiw Mar 3, 2026
59c31cb
updated options for registry
henderiw Mar 3, 2026
bdada2e
updated options for registry
henderiw Mar 3, 2026
fc58c82
updated options conversion
henderiw Mar 3, 2026
85ac4f2
updated options conversion
henderiw Mar 3, 2026
9c896e4
updated options conversion
henderiw Mar 3, 2026
eb233a0
update logic for running config and clear deviations
henderiw Mar 3, 2026
2171ca9
update enum to simple string
henderiw Mar 3, 2026
4e3d6bf
update namespace handling
henderiw Mar 4, 2026
bb4a2fb
fix lin issue
henderiw Mar 5, 2026
2a49fa6
updated sdc proto
henderiw Mar 5, 2026
4f6af3c
update dataserver address
henderiw Mar 6, 2026
74b62e0
update deviaton type
henderiw Mar 6, 2026
036f632
add targetClearDeviationKind
henderiw Mar 6, 2026
e2e0b3d
fix local address
henderiw Mar 6, 2026
8579bb8
update force deviation updata
henderiw Mar 6, 2026
db4da69
fix revertive flag in config set
henderiw Mar 6, 2026
14eb585
combined cleardeviation and deviation content in 1 transaction
henderiw Mar 6, 2026
594c967
fix typ for deviation reporting
henderiw Mar 11, 2026
adb809a
Update apis/config/v1alpha1/condition.go
henderiw Mar 13, 2026
0607599
Update apis/config/v1alpha1/condition.go
henderiw Mar 13, 2026
6c08a31
Update apis/config/v1alpha1/target_resource.go
henderiw Mar 13, 2026
8ce22fc
review comments alex
henderiw Mar 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion DockerfileAPIServer
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Licensed under the Apache License 2.0
# SPDX-License-Identifier: Apache-2.0
#
FROM golang:1.24 AS builder
FROM golang:1.25 AS builder
ARG TARGETOS
ARG TARGETARCH

Expand Down
2 changes: 1 addition & 1 deletion DockerfileController
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# SPDX-License-Identifier: Apache-2.0

# Build the manager binary
FROM golang:1.24 AS builder
FROM golang:1.25 AS builder
ARG TARGETOS
ARG TARGETARCH

Expand Down
16 changes: 13 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -63,17 +63,27 @@ genclients:
-g openapi-gen \
-g defaulter-gen \
-g conversion-gen \
--module $(REPO) \
-g applyconfiguration-gen \
--module $(REPO)
$(MAKE) fix-openapi-gvk

.PHONY: genproto
genproto:
go run ./tools/apiserver-runtime-gen \
-g go-to-protobuf \
--module $(REPO) \

.PHONY: fix-openapi-gvk
fix-openapi-gvk:
go run ./tools/fix-openapi-gvk/main.go \
--file pkg/generated/openapi/zz_generated.openapi.go \
--group config.sdcio.dev \
--prefix config_server_apis_config_v1alpha1

.PHONY: generate
generate: controller-gen
$(CONTROLLER_GEN) object:headerFile="hack/boilerplate.go.txt" paths="./apis/inv/..."
$(MAKE) genclients

.PHONY: manifests
manifests: controller-gen crds artifacts ## Generate WebhookConfiguration, ClusterRole and CustomResourceDefinition objects.
Expand Down Expand Up @@ -102,7 +112,7 @@ tidy:
go mod tidy

.PHONY: lint
lint:
lint: golangci-lint
$(GOLANGCILINT) run ./...

.PHONY: test
Expand Down Expand Up @@ -133,7 +143,7 @@ $(KFORM): $(LOCALBIN)
test -s $(LOCALBIN)/kform || GOBIN=$(LOCALBIN) go install github.com/kform-dev/kform/cmd/kform@$(KFORM_VERSION)

.PHONY: golangci-lint
golangci-lint: $(GOLANGCILINT) ## Download kform locally if necessary.
golangci-lint: $(GOLANGCILINT) ## Download golangci locally if necessary.
$(GOLANGCILINT): $(LOCALBIN)
test -s $(LOCALBIN)/golangci-lint || GOBIN=$(LOCALBIN) go install github.com/golangci/golangci-lint/cmd/golangci-lint@$(GOLANGCILINT_VERSION)

Expand Down
7 changes: 6 additions & 1 deletion PROTO.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
protoc -I . -I ./vendor --gogo_opt=paths=source_relative --gogo_out=. apis/condition/v1alpha1/generated.proto

protoc -I . -I ./vendor -I ./apis/condition/v1alpha1 --gogo_opt=paths=source_relative --gogo_out=. apis/config/v1alpha1/generated.proto
protoc -I . -I ./vendor -I ./apis/condition/v1alpha1 --gogo_opt=paths=source_relative --gogo_out=. apis/config/v1alpha1/generated.proto


go run ./tools/apiserver-runtime-gen \
-g applyconfiguration-gen \
--module github.com/sdcio/config-server
5 changes: 5 additions & 0 deletions apis/condition/condition.go
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,11 @@ func NewConditionedStatus(c ...Condition) *ConditionedStatus {
return r
}

// HasCondition returns if the condition is set
func (r *ConditionedStatus) GetConditions() []Condition {
return r.Conditions
}

// HasCondition returns if the condition is set
func (r *ConditionedStatus) HasCondition(t ConditionType) bool {
for _, c := range r.Conditions {
Expand Down
2 changes: 1 addition & 1 deletion apis/condition/doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@ limitations under the License.
// +k8s:deepcopy-gen=package,register

// condition defines the condition api
package condition
package condition
136 changes: 3 additions & 133 deletions apis/condition/v1alpha1/generated.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

28 changes: 28 additions & 0 deletions apis/condition/v1alpha1/generated.protomessage.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 4 additions & 9 deletions apis/config/condition.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,20 +27,15 @@ const (
)

const (
// Target relation conditions
// ConditionTypeDiscoveryReady represents the resource discovery ready condition
ConditionTypeDiscoveryReady cond.ConditionType = "DiscoveryReady"
ConditionTypeTargetDiscoveryReady cond.ConditionType = "TargetDiscoveryReady"
// ConditionTypeDatastoreReady represents the resource datastore ready condition
ConditionTypeDatastoreReady cond.ConditionType = "DatastoreReady"
ConditionTypeTargetDatastoreReady cond.ConditionType = "TargetDatastoreReady"
// ConditionTypeConfigRecoveryReady represents the resource config recovery ready condition
ConditionTypeConfigRecoveryReady cond.ConditionType = "ConfigRecoveryReady"
ConditionTypeTargetConfigRecoveryReady cond.ConditionType = "TargetConfigRecoveryReady"
// ConditionTypeTargetConnectionReady represents the resource target ready condition
ConditionTypeTargetConnectionReady cond.ConditionType = "TargetConnectionReady"

ConditionTypeConfigApply cond.ConditionType = "ConfigApply"
ConditionTypeConfigConfirm cond.ConditionType = "ConfigConfirm"
ConditionTypeConfigCancel cond.ConditionType = "ConfigCancel"

ConditionTypeSchemaServerReady cond.ConditionType = "SchemaServerReady"
)

// A ConditionReason represents the reason a resource is in a condition.
Expand Down
21 changes: 6 additions & 15 deletions apis/config/config_resource.go
Original file line number Diff line number Diff line change
Expand Up @@ -262,26 +262,17 @@ type ConfigFilter struct {
}

func (r *ConfigFilter) Filter(ctx context.Context, obj runtime.Object) bool {
f := false // result of the previous filter
o, ok := obj.(*Config)
if !ok {
return f
return true
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doesn't this mean that if the object is not of Type Config, we keep it in the filter? Is this desired behaviour - it is the reverse of the previous file content

}
if r.Name != "" {
if o.GetName() == r.Name {
f = false
} else {
f = true
}
if r.Name != "" && o.GetName() != r.Name {
return true
}
if r.Namespace != "" {
if o.GetNamespace() == r.Namespace {
f = false
} else {
f = true
}
if r.Namespace != "" && o.GetNamespace() != r.Namespace {
return true
}
return f
return false
}

func (r *Config) PrepareForCreate(ctx context.Context, obj runtime.Object) {
Expand Down
5 changes: 2 additions & 3 deletions apis/config/config_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ package config
import (
"reflect"

"github.com/sdcio/config-server/apis/condition"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"github.com/sdcio/config-server/apis/condition"
)

// ConfigSpec defines the desired state of Config
Expand Down Expand Up @@ -67,14 +67,13 @@ type ConfigStatusLastKnownGoodSchema struct {
Version string `json:"version,omitempty" protobuf:"bytes,3,opt,name=version"`
}

// +genclient
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +kubebuilder:object:root=true
// +kubebuilder:storageversion
// +kubebuilder:subresource:status
// +kubebuilder:resource:categories={sdc}

// Config defines the Schema for the Config API
// Config defines the Schema for the Config API
type Config struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
Expand Down
4 changes: 2 additions & 2 deletions apis/config/configblame_helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ func BuildConfigBlame(meta metav1.ObjectMeta, spec ConfigBlameSpec, status Confi
return &ConfigBlame{
TypeMeta: metav1.TypeMeta{
APIVersion: SchemeGroupVersion.Identifier(),
Kind: ConfigBlameKind,
Kind: ConfigBlameKind,
},
ObjectMeta: meta,
Spec: spec,
Expand All @@ -38,4 +38,4 @@ func BuildEmptyConfigBlame() *ConfigBlame {
Kind: ConfigBlameKind,
},
}
}
}
Loading
Loading