- Notifications
You must be signed in to change notification settings - Fork929
Description
As a template admin, I want to subject my whole template to version control to simplify change management. If/when#2958 is implemented, this becomes even more true. Let's also remember that our product is built around an IaaC tool, so our users probably prefer this method of configuration.
As a template admin, I sometimes forget what I've named my template. If I thoughtlessly runcoder templates update
and my directory happens to correspond with the wrong template I just disrupted developers. In a world without#2958, it's possible that the last template doesn't exist anymore and users are offline for days while it is reconstructed.
As a template admin, I forget that there are distinctcoder templates update
andcoder templates edit
commands. I'm also confused thatcoder templates update
is the compliment tocoder templates pull
. I expectpush
/pull
like git, or doors.
Proposal
coder templates edit
andcoder templates update
are unified ascoder templates push
.
All the configuration inedit
is now in atemplate.yml
file that looks like:
version: 1name: dogfooddescription: "Our standard dogfood image"schedule: max_ttl: 12h min_autostart_interval: 24h# Some future knobsdeprecated_for: "dogfood-ts"allow: - alldeny: - dean@coder.com
Why not HCL?
Our provisioner layer is abstract, and this template config sits above provisioning instead of within it. For example, we may have Docker, Pulumi and Kubernetes provisioners in the near future.