Repository navigation
Few comments on the devfile spec #864
Description
Activity
- addedarea/apiEnhancement or issue related to the api/devfile specificationEnhancement or issue related to the api/devfile specification
on Jun 8, 2022 Based on community call discussion:
- No immediate need to change yet. We can wait until the next major version update to change component name to id. And we may also want to introduce a display name.
Other changes:
- Update metadata description to explain the onboarding usage in a registry
I didn't completely understand the solution/scenario that we discussed to make spec more declarative and the possible gains/losses from user perspective.
IMO (and as @feloy explained on the call),
deploy(outer loop) related things are explicit (does that also mean declarative?) in the devfile, whereas inner loop is more implicit and assumed in nature. Did we propose to make inner loop more declarative or something else?@gorkem I'm asking because I found your question about possible gains/loss very relevant.
Proposal 1:
DeployStrategy: AtStartupInMainPod, AtStartupInSeparatePod, StartWithCommandInMainPod, StartWithCommandInSeparatePodProposal 2:
DeployStrategy: AtStartup, StartWithCommand
DedicatedPod: true/false@kadel Action: Come up with a proposal and examples on how these fields will behave.
I have mentioned the proposals above in the dedicated issue. And I would prefer if we could continue the discussion on this new field (
deployStrategy) there rather than here.Closing issue. As stated in the comment above a dedicated issue for these proposals was opened.
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsDone ✅
/area api
The problem, as I see it
I'm a developer working on a team that's creating a tooling on top of devfile. I don't consider myself to be an expert at devfile, rather far from it. But I find a few things unusual in the devfile, which I felt like bringing up:
commandhasidattribute, but acomponenthas anameattribute. Wouldn't naming these consistently make more sense from a user's perspective?deployByDefaultshould be used to start the component when the tooling is spinning up resources for inner loop mode. To start the same component in outer loop mode, we rely on it being a part of the composite command with group-kind deploy. Isn't that separate ways to segregate the same item between inner and outer loops?autoBuild, my understanding is that a command with that boolean set totruewill triggerdocker buildand then the resulting image is used to start theDeploymentin inner loop mode. But to use it in outer loop mode, one must add the same command to composite commands for the command group-kinddeploy. So, essentially, we require only one boolean for inner loop mode, and explicitly putting it in composite commands for outer loop mode. I feel there could be more consistent way of doing things for the two modes.deploy. And everything that's not marked as group-kinddeployis implicitly a part of inner loop. As a result, reusing things in both modes requires additional flags likeautoBuild,deployByDefault, etc., right? Is that by design?Describe the solution you'd like
Simpler and consistent devfile spec. Explicit rather than implicit approach.