ipfs / ipfs/kubo

Upgradable default config values/profiles

Open
#6,531 0 comments 0 reactions 0 assignees View on GitHub
kind/feature topic/config
Dominant language
Go
Stars
17.1k
Forks
3.2k
Avg merge
3d 18h
Merged PRs (30d)
11

Description

Currently, profiles and many of our default config values are written to the config. Unfortunately, this makes it hard for us to _change_ them for existing users, even when the user hasn't explicitly chosen to override something.

Proposal:

1. Mostly empty on-disk config by default.
2. Add a "profiles" section to the config that lists all the profiles that should be applied and in what order.
3. Add "DefaultX: bool"/"CustomX: value" options where applicable (e.g., bootstrappers), to allow users to extend defaults.

At runtime, we'd:

1. Read the config.
2. Apply the defaults to the in-memory config.
3. Apply the profiles to the in-memory config.

When updating the config, we'd:

1. Re-read the on-disk config.
2. Apply the update to the on-disk config without persisting the in-memory config (unless necessary?).

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.