daytonaio / daytona

The Open Source Dev Environment Manager.
https://daytona.io
Apache License 2.0
5.48k stars 209 forks source link

Suggest to Migrate Target command to top level #451

Closed ivan-burazin closed 1 week ago

ivan-burazin commented 2 weeks ago

Is your feature request related to a problem? Please describe. I have found a few issues with target being a subcommand of server:

Describe the solution you'd like My suggestion would be for target to become a top-level command: daytona target.

Tpuljak commented 2 weeks ago

The target command was on the "root" level before but we moved it because of a conversation we had on #297.

To address your concerns:

Lastly,

It seems that the target command and its subcommands: set, list, remove, are used more often than server (which is used mainly just once). Because of this, the commands become very long, which is not the best user experience.

Targets are also not something the user will touch a lot. Especially if someone else manages the server for the user. We shouldn't concern ourselves if the commands are long. The main thing we need to concern ourselves is do the commands make sense and are they causing confusion.

ivan-burazin commented 2 weeks ago

This is the confusion: The main reason that target was moved under server was because of the confusion where targets "live".

Second Targets are also not something the user will touch a lot. Especially if someone else manages the server for the user. this is not true, you will always have to set your targets personally

vedranjukic commented 2 weeks ago

I don't agree with "targets are part of the server context". Everything is a part of the server context except profiles. Going forward we might have a use for the remote profile where the user will not have access to the server management. But still the targets are the feature the user will have to use. At least to list available targets.

vedranjukic commented 2 weeks ago

After additional analysis, my thoughts on this topic are that I agree with @ivan-burazin on all three points. Having a server command as a context wrapper is an unnecessary typing effort. Moreover, let's move other commands to the top level except the server process commands (stop/restart, configure, logs).