Skip to content

docs: Propose datumctl alb plugin - #436

Open
mattdjenkinson wants to merge 5 commits into
mainfrom
docs/datumctl-alb-plugin
Open

docs: Propose datumctl alb plugin#436
mattdjenkinson wants to merge 5 commits into
mainfrom
docs/datumctl-alb-plugin

Conversation

@mattdjenkinson

@mattdjenkinson mattdjenkinson commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Summary

Operators currently manage Application Load Balancers through the cloud portal or by applying raw YAML that exposes internal resource shapes. This proposes a first-party command-line plugin that presents load balancers the way the product does, with the same create defaults and hostname workflow as the portal. The document explores command shape, wait behaviour, protection and access-control verbs, mutation safety, and what stays out of the first release. After it merges we will reshape the plugin implementation against this contract.

Give operators a product-level design for a first-party CLI before we
reshape the plugin build. The document explores command shape, defaults,
and what stays out of v1, matching the depth of the dns plugin design.

Key changes:
- add an enhancement that treats ALBs as the product, not HTTPProxies
- record proposed verbs, wait policy, and payload contract
- list open questions for hostname wait, advanced mutations, and WAF
Keep the product decisions and drop the duplicated why-tables, sample
transcripts, and plumbing that already live in the dns plugin design.
@scotwells

Copy link
Copy Markdown
Contributor

@mattdjenkinson can we expand this to include multi-route support? Should be easy to add / remove routes from an ALB that have different backends. Also need to account for network services as a backend ref.

@mattdjenkinson

Copy link
Copy Markdown
Contributor Author

Yeah good shout!

The plugin should add and remove path routes with different backends,
matching the upcoming portal UI, and point a route at an existing
NetworkService by name and port. It must not create that object.
The CLI owns NetworkService create, list, describe, and delete as a
nested noun. alb create still only references a service that exists; the
UI can write the same object later.
@kevwilliams

Copy link
Copy Markdown
Contributor

I think the WAF pieces of this could come after (or in a separate plugin). I can't remember if we decided how we wanted to place the TrafficProtection either in/out/around the L7 load balancer.

The single-backend cap is being lifted. Write create, route add, and
backend add as if a path can already list several URL and NetworkService
origins.
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.

3 participants