Open spikecurtis opened 11 months ago
cc.: @mtojek
@spikecurtis Referring to our docs:
AFAIR, ephemeral was considered to be a bit mysterious, hence we decided to replace it with simpler term, a "build option". Without breaking API/Terraform changes, we can remove all references to ephemeral except for the Terraform template, unless we deprecate it, and define a new one - build_option = true
.
Personally, I like the ephemeral
as it is more descriptive.
I just want it to be consistent in both places. We'll have to deprecate the old term in one place or other but keep it as an alias for back compat.
@bpmct Are we good with deprecating ephemeral
and replacing it with build_option
? This will affect code, database schema, and docs, but it shouldn't be breaking.
@kylecarbs expressed that the terminology build_option compared to build_parameter is pretty confusing. I agree. Naming is hard 😅
Because of this, my preference is to remove any in-product terminology/db stuff for build_option
as well 👍🏼
Because of this, my preference is to remove any in-product terminology/db stuff for
build_option
as well 👍🏼
You mean, rename build_option -> ephemeral parameter and deprecate build_option?
Yep
Did we do this? adding it into next sprint as a good debt item
Trying to understand the whole scope of this ticket as I'm working on it , I've seen there's two parameters :
--build-option string-array, $CODER_BUILD_OPTION
Build option value in the format "name=value".
--build-options bool
Prompt for one-time build options defined with ephemeral parameters.
Do we want to deprecate both or one specifically ?
The first one seems to be a list of key=value while the second one is enabling the prompt for each parameter considered as ephemeral in the template.
When authoring templates the concept is called an "ephemeral parameter" but when starting workspaces it's a "build option." The CLI help gives no further explanation of what a build option is.
We need to use consistent terminology. Template authors are often end users. Template authors and end users need to be able to communicate with one another about templates and workspaces, so they need a common set of terms.