@kadel
Just so its clear to everyone - this is post odo v2 GA release, possibly odo v2.1 release as this might affect pipelines work.
Hello all, commenting on here with what we discussed from the weekly IBM/RH Gitops sync this morning so that it will have more visibility.
cc @Shraddhak22 @ranakan19 @jaideepr97 @wtam2018 @sbose78 @l0rd @kadel @girishramnani
Thanks for sharing this. I have a couple of comments:
cc @sleshchenko @davidfestal
Why not an operator rather than a library? It would make the contract more straightforward
I think that some of the controller code is currently being developed here (currently used by the devconsole and che)
Great point, Mario. We should organize and work on this with alignment to ensure:
Let's use the devfile meeting tomorrow to get an initial working/collaboration style setup?
Why not an operator rather than a library? It would make the contract more straightforward
- The operator may or may not be present in the cluster, dev console & odo would be unable to rely on it.
- An operator paradigm typically deploys a "managed" workload, in this case, odo and dev console aren't looking for managed workloads - users expect to have control over them.
+1 to what everything that @sbose78 mentioned.
One of the main selling points for odo is that you just download binary, and you are ready to start using it, no setup needed.
The library should be designed in a way that everything operating with Devfiles including DevWorkspace operator can use it.
The operator may or may not be present in the cluster, dev console & odo would be unable to rely on it.
I understand your point. But dev console already depends on that operator to run the web terminal (devfile v2 based). Che will do the same. odo will consume the same dependency in a different way. Shouldn't we be consistent instead? How do we make sure that odo / che / dev console use the same version of the controller if we let run multiple instances on the same cluster (one embedded in odo and one embedded in an operator)?
An operator paradigm typically deploys a "managed" workload, in this case, odo and dev console aren't looking for managed workloads - users expect to have control over them.
We want users to have control through a devfile, users should not directly control how a devfile is transformed/reconciled into a pod.
One of the main selling points for odo is that you just download binary, and you are ready to start using it, no setup needed.
Couldn't odo deploy the operator if it's not there?
One of the main selling points for odo is that you just download binary, and you are ready to start using it, no setup needed.
Couldn't
ododeploy the operator if it's not there?
No, the biggest reason is that odo users won't have privileges to deploy operators.
Also, making operator hard requirements for odo would be a big shift in odo philosophy and architecture it would mean a full rewrite.
@gorkem What is your take on this?
No, the biggest reason is that odo users won't have privileges to deploy operators.
You are right. I don't think it's a good idea. But ideally, if the devworkspace operator is running on the cluster, I think odo should be able to leverage it.
Theoretically speaking, the operator could/should use the library this issue is discussing… :)
During our devfile F2F last week, there was a proposal to separate out the devfile package from odo into a separate go library. After a short PoC of separating devfile, we did a demo in today's call of our weekly devfile 2.0 continuation discussion, below are the updates:
Next steps are:
Issues go stale after 90d of inactivity.
Mark the issue as fresh by commenting /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
Exclude this issue from closing by commenting /lifecycle frozen.
If this issue is safe to close now please do so with /close.
/lifecycle stale
Stale issues rot after 30d of inactivity.
Mark the issue as fresh by commenting /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
Exclude this issue from closing by commenting /lifecycle frozen.
If this issue is safe to close now please do so with /close.
/lifecycle rotten
/remove-lifecycle stale
Rotten issues close after 30d of inactivity.
Reopen the issue by commenting /reopen.
Mark the issue as fresh by commenting /remove-lifecycle rotten.
Exclude this issue from closing again by commenting /lifecycle frozen.
/close
@openshift-bot: Closing this issue.
In response to this:
Rotten issues close after 30d of inactivity.
Reopen the issue by commenting
/reopen.
Mark the issue as fresh by commenting/remove-lifecycle rotten.
Exclude this issue from closing again by commenting/lifecycle frozen./close
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.
Most helpful comment
Hello all, commenting on here with what we discussed from the weekly IBM/RH Gitops sync this morning so that it will have more visibility.
cc @Shraddhak22 @ranakan19 @jaideepr97 @wtam2018 @sbose78 @l0rd @kadel @girishramnani