Skip to content

Commit 60826a7

Browse files
scotwellsclaude
andcommitted
Rename project from workload-operator to compute
This repo owns the entire compute.datumapis.com API group, but its name, import paths, and image names still said "workload-operator" from when it only managed the Workload resource. Renaming to "compute" lines the project up with what it actually owns. What this changes: - Go import path: go.datum.net/workload-operator -> go.datum.net/compute - Container image: ghcr.io/datum-cloud/workload-operator -> ghcr.io/datum-cloud/compute - Install bundle: ghcr.io/datum-cloud/workload-operator-kustomize -> ghcr.io/datum-cloud/compute-kustomize What does NOT change: - The compute.datumapis.com API group (Workload, WorkloadDeployment, Instance) - existing resources keep working with no migration. - Leader election lease key, so there are no orphaned leases on cutover. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent b03d481 commit 60826a7

21 files changed

+58
-50
lines changed

.github/workflows/publish.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
packages: write
1414
uses: datum-cloud/actions/.github/workflows/publish-docker.yaml@v1.13.1
1515
with:
16-
image-name: workload-operator
16+
image-name: compute
1717
platforms: linux/amd64,linux/arm64
1818
secrets: inherit
1919

@@ -24,6 +24,6 @@ jobs:
2424
packages: write
2525
uses: datum-cloud/actions/.github/workflows/publish-kustomize-bundle.yaml@v1.5.1
2626
with:
27-
bundle-name: ghcr.io/datum-cloud/workload-operator-kustomize
27+
bundle-name: ghcr.io/datum-cloud/compute-kustomize
2828
bundle-path: config
2929
secrets: inherit

PROJECT

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
domain: datumapis.com
66
layout:
77
- go.kubebuilder.io/v4
8-
projectName: workload-operator
9-
repo: go.datum.net/workload-operator
8+
projectName: compute
9+
repo: go.datum.net/compute
1010
resources:
1111
- api:
1212
crdVersion: v1
@@ -15,7 +15,7 @@ resources:
1515
domain: datumapis.com
1616
group: compute
1717
kind: Workload
18-
path: go.datum.net/workload-operator/api/v1alpha
18+
path: go.datum.net/compute/api/v1alpha
1919
version: v1alpha
2020
webhooks:
2121
defaulting: true
@@ -28,7 +28,7 @@ resources:
2828
domain: datumapis.com
2929
group: compute
3030
kind: WorkloadDeployment
31-
path: go.datum.net/workload-operator/api/v1alpha
31+
path: go.datum.net/compute/api/v1alpha
3232
version: v1alpha
3333
- api:
3434
crdVersion: v1
@@ -37,7 +37,7 @@ resources:
3737
domain: datumapis.com
3838
group: compute
3939
kind: Instance
40-
path: go.datum.net/workload-operator/api/v1alpha
40+
path: go.datum.net/compute/api/v1alpha
4141
version: v1alpha
4242
# webhooks:
4343
# defaulting: true

README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
1-
# Datum Workload Operator
1+
# Datum Compute
22

3-
The workload operator defines APIs and core controllers for interacting
4-
with compute infrastructure related entities such as Workloads and Instances.
3+
Compute defines the APIs and core controllers for the
4+
`compute.datumapis.com` API group, including Workloads, WorkloadDeployments,
5+
and Instances.
56

67
Workload and Instance API types include references to types defined in the
78
[network-services-operator][network-services-operator] project, such as Networks
89
and Network Policies, in order to attach to networks or influence instance
910
network connectivity.
1011

11-
The operator itself is not responsible for provisioning of resources, but
12+
Compute itself is not responsible for provisioning of resources, but
1213
instead relies on infrastructure providers such as the
1314
[GCP Infrastructure Provider][infra-provider-gcp] to interact with vendor or
1415
platform specific APIs in order to satisfy the intents defined in custom resources

cmd/main.go

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ import (
2929
"sigs.k8s.io/multicluster-runtime/pkg/multicluster"
3030
mcsingle "sigs.k8s.io/multicluster-runtime/providers/single"
3131

32+
computev1alpha "go.datum.net/compute/api/v1alpha"
33+
"go.datum.net/compute/internal/config"
34+
"go.datum.net/compute/internal/controller"
35+
computewebhook "go.datum.net/compute/internal/webhook"
36+
computev1alphawebhooks "go.datum.net/compute/internal/webhook/v1alpha"
3237
networkingv1alpha "go.datum.net/network-services-operator/api/v1alpha"
33-
computev1alpha "go.datum.net/workload-operator/api/v1alpha"
34-
"go.datum.net/workload-operator/internal/config"
35-
"go.datum.net/workload-operator/internal/controller"
36-
computewebhook "go.datum.net/workload-operator/internal/webhook"
37-
computev1alphawebhooks "go.datum.net/workload-operator/internal/webhook/v1alpha"
3838
multiclusterproviders "go.miloapis.com/milo/pkg/multicluster-runtime"
3939
milomulticluster "go.miloapis.com/milo/pkg/multicluster-runtime/milo"
4040
// +kubebuilder:scaffold:imports
@@ -87,7 +87,7 @@ func main() {
8787

8888
ctrl.SetLogger(zap.New(zap.UseFlagOptions(&opts)))
8989

90-
setupLog.Info("starting workload-operator",
90+
setupLog.Info("starting compute",
9191
"version", version,
9292
"gitCommit", gitCommit,
9393
"gitTreeState", gitTreeState,
@@ -136,12 +136,17 @@ func main() {
136136

137137
metricsServerOptions := serverConfig.MetricsServer.Options(ctx, deploymentClusterClient)
138138

139-
webhookServer := webhook.NewServer(
140-
serverConfig.WebhookServer.Options(ctx, deploymentClusterClient),
141-
)
139+
var webhookServer webhook.Server
140+
if serverConfig.WebhookServer != nil {
141+
webhookServer = webhook.NewServer(
142+
serverConfig.WebhookServer.Options(ctx, deploymentClusterClient),
143+
)
142144

143-
if serverConfig.Discovery.Mode != multiclusterproviders.ProviderSingle {
144-
webhookServer = computewebhook.NewClusterAwareWebhookServer(webhookServer)
145+
if serverConfig.Discovery.Mode != multiclusterproviders.ProviderSingle {
146+
webhookServer = computewebhook.NewClusterAwareWebhookServer(webhookServer)
147+
}
148+
} else {
149+
setupLog.Info("webhookServer not configured; admission webhook server disabled")
145150
}
146151

147152
mgr, err := mcmanager.New(cfg, provider, ctrl.Options{
@@ -186,9 +191,11 @@ func main() {
186191
os.Exit(1)
187192
}
188193

189-
if err = computev1alphawebhooks.SetupWorkloadWebhookWithManager(mgr); err != nil {
190-
setupLog.Error(err, "unable to create webhook", "webhook", "Workload")
191-
os.Exit(1)
194+
if serverConfig.WebhookServer != nil {
195+
if err = computev1alphawebhooks.SetupWorkloadWebhookWithManager(mgr); err != nil {
196+
setupLog.Error(err, "unable to create webhook", "webhook", "Workload")
197+
os.Exit(1)
198+
}
192199
}
193200

194201
// +kubebuilder:scaffold:builder

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
module go.datum.net/workload-operator
1+
module go.datum.net/compute
22

33
go 1.24.0
44

internal/controller/indexers.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
"sigs.k8s.io/controller-runtime/pkg/client"
1010
mcmanager "sigs.k8s.io/multicluster-runtime/pkg/manager"
1111

12-
computev1alpha "go.datum.net/workload-operator/api/v1alpha"
12+
computev1alpha "go.datum.net/compute/api/v1alpha"
1313
)
1414

1515
const (

internal/controller/instance_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ import (
1818
mcmanager "sigs.k8s.io/multicluster-runtime/pkg/manager"
1919
mcreconcile "sigs.k8s.io/multicluster-runtime/pkg/reconcile"
2020

21+
computev1alpha "go.datum.net/compute/api/v1alpha"
2122
networkingv1alpha "go.datum.net/network-services-operator/api/v1alpha"
22-
computev1alpha "go.datum.net/workload-operator/api/v1alpha"
2323
)
2424

2525
// InstanceReconciler reconciles an Instance object

internal/controller/instance_controller_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import (
1010
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1111
"sigs.k8s.io/controller-runtime/pkg/client"
1212

13-
computev1alpha "go.datum.net/workload-operator/api/v1alpha"
13+
computev1alpha "go.datum.net/compute/api/v1alpha"
1414
)
1515

1616
func TestReconcileInstanceReadyCondition(t *testing.T) {

internal/controller/instancecontrol/instancecontrol.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
"k8s.io/apimachinery/pkg/runtime"
88
"sigs.k8s.io/controller-runtime/pkg/client"
99

10-
"go.datum.net/workload-operator/api/v1alpha"
10+
"go.datum.net/compute/api/v1alpha"
1111
)
1212

1313
type Strategy interface {

internal/controller/instancecontrol/stateful/stateful_control.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ import (
1111
"k8s.io/apimachinery/pkg/runtime"
1212
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
1313

14-
"go.datum.net/workload-operator/api/v1alpha"
15-
"go.datum.net/workload-operator/internal/controller/instancecontrol"
14+
"go.datum.net/compute/api/v1alpha"
15+
"go.datum.net/compute/internal/controller/instancecontrol"
1616
)
1717

1818
// Behavior inspired by https://github.com/kubernetes/kubernetes/tree/master/pkg/controller/statefulset

0 commit comments

Comments
 (0)