Skip to content

Releases: datum-cloud/compute

v0.8.0-dev.7

04 Jun 01:03
8a357fd

Choose a tag to compare

v0.8.0-dev.7 Pre-release
Pre-release

Changelog

  • 135681b feat(cli): add UP-TO-DATE column to compute workloads
  • d2ad7e5 fix(cli): human-friendly instance status labels for failure states
  • c3111a3 fix(cli): translate ProgrammingInProgress to human-readable network provisioning status
  • 4cc6f07 fix(cli): use canonical compute.datumapis.com/restartedAt for restart
  • 8a357fd refactor(api,cli)!: rename Instance "Running" condition to "Available"

v0.8.0-dev.6

02 Jun 10:52
8e94e20

Choose a tag to compare

Changelog

  • f5a25aa Merge branch 'feat/federated-deployment-scheduling' into feat/datumctl-compute-plugin
  • fa711b9 Merge pull request #125 from datum-cloud/feat/sandbox-container-command-args
  • 2a97077 feat(api): add Command and Args fields to SandboxContainer
  • 8e94e20 feat(cli): surface blocking reason+message from readiness conditions
  • dd3421a feat: stamp self-describing labels and location on instances
  • 4ed7bb7 fix(lint): replace "d1-standard-2" literals with testInstanceType constant
  • 8059396 fix: Carry workload linking labels through instance write-back
  • 3574861 fix: Resolve instance projection owner by workload deployment name
  • 94ad201 fix: backfill controller labels on existing instances
  • 82955e2 fix: remove Quota scheduling gate in the same reconcile pass as status update

v0.8.0-dev.5

01 Jun 20:44
69c7ff5

Choose a tag to compare

Changelog

  • 69c7ff5 fix: wait for instances to be ready before reporting rollout complete

v0.8.0-dev.4

29 May 14:35
291f5a4

Choose a tag to compare

v0.8.0-dev.4 Pre-release
Pre-release

Changelog

  • 291f5a4 feat: Read instance city and workload from labels in CLI

v0.8.0-dev.2

29 May 11:25
8c15212

Choose a tag to compare

v0.8.0-dev.2 Pre-release
Pre-release

Changelog

  • 9d96bd5 Merge branch 'main' into docs/issue-85-karmada-federation-design
  • 9734bf6 Merge branch 'main' into docs/issue-85-karmada-federation-design
  • 105c335 Merge branch 'main' into docs/issue-85-karmada-federation-design
  • 22db4bf Merge pull request #103 from datum-cloud/feat/webhook-ha
  • 1c24529 Merge pull request #104 from datum-cloud/feat/quota-integration
  • 087d69f Merge pull request #109 from datum-cloud/chore/update-service-catalog-schema-v2
  • c39d4b7 Merge pull request #110 from datum-cloud/chore/update-service-catalog-schema-v2
  • c1c6261 Merge pull request #118 from datum-cloud/fix/instance-namespace-informer-hang
  • 553af62 Merge pull request #120 from datum-cloud/fix/mgmt-controller-fail-loud
  • 70579e3 Merge pull request #121 from datum-cloud/feat/networking-feature-flag
  • cd052a6 Merge pull request #122 from datum-cloud/feat/feature-gates-env-var
  • 81e73c3 ci: bump Go version to 1.25 to match go.mod requirement
  • 0d26598 ci: bump golangci-lint to v2.12.2 (latest, built with Go 1.25)
  • bed3d12 ci: bump golangci-lint to v2.2.2 for Go 1.25 compatibility
  • 77610b8 feat(config): wire feature gates through FEATURE_GATES env var in base manifest
  • c27ad39 feat: Route ResourceClaims to Milo project control planes
  • f772863 feat: add -o table|wide|json|yaml to instances and quota commands
  • 5024b97 feat: add NetworkingIntegration feature gate to bypass VPC/NSO on edge cells
  • acf5a2f feat: add datumctl plugin SDK and upgrade controller-runtime to v0.23.3
  • d8486ec feat: add entitlement check and rewrite quota against AllowanceBucket API
  • 400144d feat: add kustomize overlays for federated deployment to staging and edge
  • ac044f7 feat: add network preflight check with interactive create prompt
  • 5c04e29 feat: add quota client support for single-tenant cell mode
  • 12a7598 feat: add service-catalog kustomize component
  • 3c274e6 feat: add shell autocompletion for workload-name arguments
  • bfe3f44 feat: add util.PrintJSON/PrintYAML helpers and completion functions
  • c5ff3aa feat: add workloads command group and remove status command
  • f76064c feat: consolidate quota config into service configuration
  • 71fc7f2 feat: declare datum-managed supported location class for compute
  • 9392a3c feat: implement datumctl compute CLI plugin
  • 492eb6c feat: implement federated deployment scheduling across POP cells
  • bb18483 feat: integrate compute service with Milo quota system
  • 721e5a9 feat: make CSI webhook cert component generic, patch issuer per overlay
  • 9c2e9df feat: make CSI webhook cert component generic, patch issuer per overlay
  • 42f2dd7 feat: register networking scheme in datumctl compute client
  • a11861e feat: remove webhook CA injection — Milo trusts the cert issuer directly
  • 0f69956 feat: replace cert-manager certificate resources with CSI volume mounts for webhook TLS
  • 4f0cd81 feat: rewrite entitlement check with typed client-go watch
  • 77bae17 feat: surface flags on plain Tab for deploy command
  • 586bc4f feat: switch to LocationBinding for location discovery and availability
  • 9cee4fa feat: wire cell-mode quota enforcement and remove vendored deps
  • 5486adf fix(lint): go fully green — migrate webhook to non-deprecated APIs and reduce gocyclo
  • 97f2165 fix(lint): nolint GetEventRecorderFor — new events API has incompatible signature
  • 426d547 fix(lint): resolve goconst/prealloc CI failures and add error-returning resolver funcs
  • aca19a6 fix(lint): resolve gofmt, lll, and reduce gocyclo introduced by quota fixes
  • e3e31d0 fix(quota): harden quota failure modes — fail-loud startup, fail-closed runtime, observability
  • cd007e4 fix: add RBAC for networking.datumapis.com and quota.miloapis.com resources
  • d184d1a fix: add missing quota metrics to ServiceConfiguration
  • ba48aa1 fix: address code review findings in workloads and instances commands
  • 3590106 fix: address remaining lint issues missed in previous pass
  • 7e90f65 fix: bump milo to feat/upgrade-controller-runtime-v0.23-clean for ProviderRunnable fix
  • ef86ae2 fix: collapse reconcileRequest helper to remove invariant params
  • 15fe991 fix: correctly remove clusterName validation from initializeClusterDiscovery
  • 33eeb95 fix: default controller flags to false, move clusterName validation to cell setup
  • 6ae41d4 fix: fail loud on missing federation kubeconfig; rename to FederationClient
  • 079a282 fix: forward Extra claims in network SubjectAccessReview
  • b025328 fix: gofmt instance_controller_test.go
  • ecc0f49 fix: grant compute-manager namespace read/write in Karmada downstream RBAC
  • db6a2c4 fix: inline reconcileRequest to satisfy unparam linter
  • 72a51ad fix: instance reconcile hangs on cluster-scoped Namespace informer when quota enabled in single mode
  • 9b36548 fix: mark compute-quota-credentials secret volume as optional
  • fba4f68 fix: move metricRules from billing to quota in ServiceConfiguration
  • dfb266a fix: only run WorkloadReconciler on management cluster
  • 4aa7d40 fix: pin network-services-operator and milo deps to match federated-scheduling base
  • b662eb9 fix: projectIDForInstance reads wrong label — use upstream-cluster-name not upstream-namespace
  • 85d5281 fix: reduce cyclomatic complexity of main by extracting loadServerConfig
  • a5916b9 fix: remove clusterName requirement in Milo mode for management plane
  • fd50779 fix: remove datumctl SDK dependency and fix CI Go version
  • 1d1760e fix: repair cell-controller instance reconciler wiring in main.go
  • cbd64ab fix: repair dev and single-cluster overlays after certmanager base removal
  • 886e8db fix: replace interface{} with any in printer helpers
  • fd44c7a fix: resolve golangci-lint failures
  • 3d28d08 fix: resolve golangci-lint issues surfaced by v2.12.2 upgrade
  • 8c15212 fix: restore ValidateCreate and truncated webhook body lost in rebase resolution
  • 1b42ba5 fix: simplify WD status aggregation to pass through single member status
  • 3ac5115 fix: skip upstream write-back when spec, labels, and status are unchanged
  • 65b8f86 fix: suppress errcheck for CLI output and resolve remaining lint issues
  • da63916 fix: treat missing quota kubeconfig file as quota-disabled rather than fatal
  • 0f4a88e fix: use default namespace and correct instance type in compute commands
  • 951d022 fix: write instance back to Karmada on every reconcile, not just on status change
  • 1a5b05d fix: wrong claim namespace and resourceRef cause quota POST 403 in single mode
  • e03d15f refactor: move webhook cert issuer patch to infra repo
  • 7116d78 refactor: move webhook cert issuer patch to infra repo
  • e604260 refactor: remove client-side revision history from compute CLI
  • 385b974 refactor: rename DownstreamClient -> UpstreamClient across all controllers
  • b896d12 refactor: rename downstream-kubeconfig flag to upstream-kubeconfig
  • c15161e refactor: rename writeBackToDownstream -> writeBackToUpstream

v0.8.0-dev.1 (datumctl-compute plugin preview)

26 May 20:40
1458883

Choose a tag to compare

Pre-release build of the datumctl-compute plugin from feat/datumctl-compute-plugin. Not for production use.

v0.7.0 — Webhook high availability and security hardening

04 May 22:54
dde13bf

Choose a tag to compare

This release adds high-availability support for the webhook server, hardens the manager's security context to the Kubernetes restricted pod security standard, and migrates resource metrics to the ResourceMetricsPolicy CRD.

What's new

  • Webhook high availability — a new config/components/high-availability Kustomize component runs two manager replicas with a PodDisruptionBudget (minAvailable: 1) and topology spread constraints to keep replicas on separate nodes, eliminating the availability gap during pod restarts or node maintenance. Consumers that want a single replica simply omit the component from their overlay. (#92)
  • Restricted pod security context — the manager now runs with seccompProfile: RuntimeDefault, runAsUser/runAsGroup: 65532 (matching the distroless nonroot user), and readOnlyRootFilesystem: true, satisfying the Kubernetes restricted pod security standard. (#92)
  • RBAC names prefixed with compute- — all ClusterRole and ClusterRoleBinding names now carry the compute- prefix to prevent collisions with other controllers in the same cluster. (#92)
  • Deployment renamed to compute-manager — the manager Deployment is renamed from compute to compute-manager to avoid ambiguity with the broader system name. (#92)
  • Resource metrics migrated to ResourceMetricsPolicy — replaces the ConfigMap-based CustomResourceStateMetrics configuration with a ResourceMetricsPolicy CRD. All condition types and all network interfaces on multi-homed instances are now tracked automatically without manual config changes. (#87)
  • Discovery context annotations — all three CRDs (Workload, WorkloadDeployment, Instance) now carry discovery.miloapis.com/parent-contexts: Project annotations so they appear in API discovery when clients query within a Project context. (#86)

Note

No CRD schema changes. Existing Workload, WorkloadDeployment, and Instance resources keep working without any conversion.

v0.6.0 — Renamed to compute

09 Apr 22:32
2c80fa9

Choose a tag to compare

This release renames the project from workload-operator to compute and tidies up the install bundle. Existing custom resources keep working with no migration.

Important

This is a breaking release. If you depend on this project, you'll need to update three things at the same time:

  • Go imports: go.datum.net/workload-operatorgo.datum.net/compute
  • Container image: ghcr.io/datum-cloud/workload-operatorghcr.io/datum-cloud/compute
  • Install bundle: ghcr.io/datum-cloud/workload-operator-kustomizeghcr.io/datum-cloud/compute-kustomize, and the canonical install path inside the bundle is now overlays/single-cluster/

What's new

  • Renamed to compute so the project name matches the API group it actually owns. The repo, Go module, container image, and install bundle all moved to compute. (#83)
  • Install bundle reorganized into clear base/, components/, and overlays/ directories so it's obvious at a glance what's a building block, what's a reusable add-on, and what's a top-level install. (#84)
  • Admission webhooks are now optional. If you don't need them, you can omit the webhook server from your config and the manager runs without one instead of crashing because a serving certificate is missing. (#83)
  • Multi-arch container images — now published for both linux/amd64 and linux/arm64. (#82)
  • Metrics endpoint permissions fixed — the metrics service now ships with the right RBAC out of the box. (#79)

Note

No CRD changes. The compute.datumapis.com API group is unchanged, so existing Workload, WorkloadDeployment, and Instance resources keep working without any conversion. Leader election state also carries over cleanly across the upgrade.

v0.5.0

09 Sep 14:13
004676e

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.4.0...v0.5.0

v0.4.0

01 Aug 19:30
be909d8

Choose a tag to compare

What's Changed

  • chore(deps): update datum-cloud/actions action to v1.4.0 by @renovate[bot] in #38
  • chore(deps): update golangci/golangci-lint-action action to v8 by @renovate[bot] in #41
  • feat: Direct lifecycle control of instances by @joshlreese in #51
  • Move to Milo multi-cluster provider by @scotwells in #54
  • Milo IAM resources by @scotwells in #56
  • chore: use tagged milo release by @scotwells in #61

Full Changelog: v0.3.2...v0.4.0