Skip to content

Commit 9868b99

Browse files
authored
Merge pull request #83 from datum-cloud/refactor/rename-to-compute
Rename to compute and tidy up the install bundle
2 parents 46c1a78 + 60826a7 commit 9868b99

61 files changed

Lines changed: 318 additions & 400 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.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

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ help: ## Display this help.
4545

4646
.PHONY: manifests
4747
manifests: controller-gen ## Generate WebhookConfiguration, ClusterRole and CustomResourceDefinition objects.
48-
$(CONTROLLER_GEN) rbac:roleName=manager-role crd:generateEmbeddedObjectMeta=true webhook paths="./..." output:crd:artifacts:config=config/crd/bases
48+
$(CONTROLLER_GEN) rbac:roleName=compute crd:generateEmbeddedObjectMeta=true webhook paths="./..." output:crd:artifacts:config=config/crd/bases output:rbac:artifacts:config=config/controller_rbac
4949

5050
.PHONY: generate
5151
generate: controller-gen defaulter-gen

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

config/certmanager/certificate.yaml

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ apiVersion: cert-manager.io/v1
55
kind: Issuer
66
metadata:
77
labels:
8-
app.kubernetes.io/name: workload-operator
8+
app.kubernetes.io/name: compute
99
app.kubernetes.io/managed-by: kustomize
1010
name: selfsigned-issuer
1111
namespace: system
@@ -19,17 +19,16 @@ metadata:
1919
app.kubernetes.io/name: certificate
2020
app.kubernetes.io/instance: serving-cert
2121
app.kubernetes.io/component: certificate
22-
app.kubernetes.io/created-by: workload-operator
23-
app.kubernetes.io/part-of: workload-operator
22+
app.kubernetes.io/created-by: compute
23+
app.kubernetes.io/part-of: compute
2424
app.kubernetes.io/managed-by: kustomize
25-
name: serving-cert # this name should match the one appeared in kustomizeconfig.yaml
25+
name: compute-serving-cert
2626
namespace: system
2727
spec:
28-
# SERVICE_NAME and SERVICE_NAMESPACE will be substituted by kustomize
2928
dnsNames:
30-
- SERVICE_NAME.SERVICE_NAMESPACE.svc
31-
- SERVICE_NAME.SERVICE_NAMESPACE.svc.cluster.local
29+
- compute-webhook.system.svc
30+
- compute-webhook.system.svc.cluster.local
3231
issuerRef:
3332
kind: Issuer
3433
name: selfsigned-issuer
35-
secretName: webhook-server-cert # this secret will not be prefixed, since it's not managed by kustomize
34+
secretName: compute-webhook-cert
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
apiVersion: kustomize.config.k8s.io/v1alpha1
2+
kind: Component
3+
resources:
4+
- role.yaml
5+
- role_binding.yaml
6+
# Metrics endpoint authn/authz protection.
7+
# More info: https://book.kubebuilder.io/reference/metrics.html
8+
- metrics_auth_role.yaml
9+
- metrics_auth_role_binding.yaml
10+
- metrics_reader_role.yaml
11+
# Editor/Viewer aggregation roles for cluster admins.
12+
- workloaddeployment_editor_role.yaml
13+
- workloaddeployment_viewer_role.yaml
14+
- workload_editor_role.yaml
15+
- workload_viewer_role.yaml
File renamed without changes.

config/rbac/metrics_auth_role_binding.yaml renamed to config/controller_rbac/metrics_auth_role_binding.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ roleRef:
88
name: metrics-auth-role
99
subjects:
1010
- kind: ServiceAccount
11-
name: controller-manager
11+
name: compute
1212
namespace: system
File renamed without changes.

0 commit comments

Comments
 (0)