Configuration
This section is about configuring the tool itself rather than authoring workspaces.
Ring can be configured using settings.toml
and/or environment variables.
Toml files may exist in 3 scopes:
- default - the base config shipped with the tool that should not be modified (as it gets overwritten when installing new version of ring)
- user - user-scoped config
- local - directory-scoped config
The most specific scope takes precedence. Environment variables take precedence over settings.toml
.
Tasks
Display config paths
You can display paths of the above configs using ring config-path
with an appropriate scope flag.
Create configs
You can also generate settings.toml
using ring config-create
(also with the right scope flag).
Dump configuration
You can verify how the fully-built configuration store looks like via ring config-dump
.
Configuration keys
Note
When configuring the below via environment variables use RING_
prefix and replace .
by __
(double underscore). For example:
hooks.init.command
becomes RING_HOOKS__INIT__COMMAND
.
git.clonePath
- the path where ring clones the repos of apps that support it. Default:$HOME/.ring/repos
kustomize.cachePath
- the path of kustomize cache. Default:$HOME/.ring/kustomize-cache
workspace.startupSpreadFactor
- controls how quickly ring launches apps. Increase to spread launching over time. Default:1500
kubernetes.configPath
- which config path to use.KUBECONFIG
env var takes precedence if set. Default:$HOME/.kube/config
kubernetes.allowedContexts
- making any changes to the cluster fails if the current context is not one from this list. Default:["docker-desktop", "rancher-desktop", "minikube"]
hooks.init.command
- a command to be run on the workspace init hook event. Default: N/Ahooks.init.args
- arguments to be passed to the above command. Default: N/A