Skip to content

feat: Run workloads with long names in every location - #370

Draft
scotwells wants to merge 1 commit into
mainfrom
feat/367-bounded-deployment-names
Draft

scotwells wants to merge 1 commit into
mainfrom
feat/367-bounded-deployment-names

Conversation

@scotwells

@scotwells scotwells commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Workloads with long names never start, because compute builds internal names from the workload, placement and location names and passes the 63-character limit with workload names as short as 40 characters.

Internal deployment names now use a readable piece of the workload name plus a short hash, so they never exceed 41 characters and two workloads can never share one. Deployments under any other name, including ones created before this change, are replaced, and a deployment belonging to another workload is never overwritten.

New workloads must have a valid DNS label name of up to 63 characters, so a bad name is refused at create time instead of failing silently.

Test plan

  • A workload with a 63-character name and a long placement name runs in every location
  • Creating a workload with a name over 63 characters, a dot, or uppercase letters is refused with a clear message
  • Updating an existing workload whose name breaks the new rule still succeeds
  • Unit tests, vet and lint pass

Related to #367

Workload deployment names joined the workload, placement and location names,
so a long enough combination passed 63 characters and the objects that run
the workload were rejected. Two workloads could also produce the same name.

Key changes:
- Name deployments with the first 30 characters of the workload name and a
  10-character hash of the workload UID, placement and location, so length
  never depends on placement or location and names never collide
- Orphan every deployment of the workload that does not carry a desired
  name, which replaces deployments created under the old naming
- Refuse to update a deployment that belongs to another workload
- Require a DNS-1123 label workload name on create; updates are unaffected
@scotwells
scotwells force-pushed the feat/367-bounded-deployment-names branch from 2225332 to 18b34c1 Compare September 25, 2026 20:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant