Replies: 8 comments 3 replies
-
It could be a good opportunity (?) to do some code refactoring in Some Examples: rancher-desktop/pkg/rancher-desktop/main/commandServer/httpCommandServer.ts Lines 200 to 202 in 2b0899f rancher-desktop/pkg/rancher-desktop/main/commandServer/httpCommandServer.ts Lines 227 to 229 in 2b0899f rancher-desktop/pkg/rancher-desktop/main/commandServer/httpCommandServer.ts Lines 480 to 481 in 2b0899f |
Beta Was this translation helpful? Give feedback.
-
I'm all in favour of simplifying the code, but it should be a separate follow-up task to changing the schema. The schema changes will be quite big (all references will have to be updated too), so I don't want refactoring mixed into the same PR. |
Beta Was this translation helpful? Give feedback.
-
(Should this be a discussion before making an issue to actually implement the discussed results?) I believe we should avoid ambiguous abbreviations for talking to other programs (instead of people); in particular, the We can have separate logic to handle abbreviations in I wonder if it would make sense to group |
Beta Was this translation helpful? Give feedback.
-
Should have been a discussion, but we already had an issue for it, so I just updated it instead.
Agreed. The actual field names should use the long form. We kind of agreed on Slack already that we'll hold off for now on adding abbreviations to
It's an interesting idea. My suggestion come from the desire that the top-level structure name should match the page in the app or preference dialog where you can modify the value. How would you decide which settings are |
Beta Was this translation helpful? Give feedback.
-
Alternative question: would it make sense to move Related: Would you want to rename the |
Beta Was this translation helpful? Give feedback.
-
I was putting things that affect host integration into The current application page (on Windows) contains updates & telemetry, so I would definitely not advocate for renaming that; if anything, we might rename "WSL" to "Integration" and move sudo/environment there? But I'm not really advocating for UI changes here though :) |
Beta Was this translation helpful? Give feedback.
-
I have two points:
|
Beta Was this translation helpful? Give feedback.
-
Just a note that one of the easier things in this work will be to migrate existing settings.json files (version 4) to the next format -- the config system has been designed from the start to handle breaking changes going forward. I'm pretty sure that forward-compatibility is implemented in so far as unrecognized fields in the settings file are ignored but retained. |
Beta Was this translation helpful? Give feedback.
-
We need to apply all pending changes to our settings format before implementing deployment profiles (#3649), as they will share the same internal structure. We don't want IT administrators to have to migrate their profiles to a new schema.
Current schema
Example of v4 `settings.json` file
Considerations
rdctl set
options from setting names, so it should be easy for users to connect the names to locations in the app or dialog. For examplevirtualMachine.memoryInGB
becomes--virtual-machine.memory-in-gb
.rdctl start --debug
andrdctl start --application.debug=true
.We need to keep these rules in mind as we add additional settings, as they will become user-visible now.
Short names?
Should we use short names for pages (e.g.
ce
andkube
instead ofcontainerEngine
andkubernetes
), or should we use long names in the settings file (and the source code) and support shorter aliases for the CLI/API?Suggested abbreviations:
App pages
general
(all settings should be viaapplication
)portForwarding
→ports
images
(no abbreviation)troubleshooting
(do we even need this one?)diagnostics
→diag
Properties dialog
application
→app
virtualMachine
→vm
(not on Windows)WSL
(short enough, only on Windows)containerEngine
→ce
kubernetes
→kube
(ork8s
?)Modifications
Remove obsolete fields
kubernetes.checkForExistingKimBuilder
(the setting should already be unused)Changes
kubernetes.memoryInGB
→virtualMachine.memoryInGB
kubernetes.numberCPUs
→virtualMachine.numberCPUs
kubernetes.containerEngine
→containerEngine.name
kubernetes.WSLIntegrations
→WSL.integrations
kubernetes.suppressSudo
→application.adminAccess
(note: logic inverted)kubernetes.hostResolver
→virtualMachine.hostResolver.enabled
kubernetes.experimental
→virtualMachine.experimental
telemetry
→application.telemetry.enabled
(so we can add more settings)updater
→application.updater.enabled
(so we can add more settings)debug
→application.debug
(should we have troubleshooting.debug?)pathManagementStrategy
→application.pathSetting
(name???)`These main app settings remain unchanged
portForwarding
images
diagnostics
Work breakdown
rdctl
with options for backwards-compatibilityAcceptance criteria
settings.yaml
corresponds to the agreed layoutrdctl set
with old options to make sure they still workBeta Was this translation helpful? Give feedback.
All reactions