Skip to content

Proposed Change for Non-Root User Configuration Files #6084

Open
@olariuromeo

Description

@olariuromeo

To improve security and follow the same convention used by Kubernetes and other tools, we propose that all Karmada configuration files for non-root users be stored under the HOME/.karmada directory, instead of the current HOME/karmada. This approach keeps configuration files and their subdirectories hidden and protected.

Benefits:

  • Security: Configuration files are stored in a hidden directory, reducing the risk of accidental exposure or modification.
  • Consistency: Follows a similar structure to other programs like Kubernetes, Go, and Kind, which store their configuration files in hidden directories.

Example:

Instead of referencing the configuration file like this:

export KUBECONFIG=$HOME/karmada-proxy.config

It should be updated to:

export KUBECONFIG=$HOME/.karmada/karmada-proxy.config

Installing Karmada v1.2.0:

When initializing Karmada using kubectl karmada init, the command should be updated as follows:

Old Command:

kubectl karmada init --crds https://github.com/karmada-io/karmada/releases/download/v1.2.0/crds.tar.gz \
--kubeconfig=$HOME/.kube/host.config \
--karmada-data=$HOME/karmada \
--karmada-pki=$HOME/karmada/pki

Updated Command:

kubectl karmada init --crds https://github.com/karmada-io/karmada/releases/download/v1.2.0/crds.tar.gz \
--kubeconfig=$HOME/.kube/host.config \
--karmada-data=$HOME/.karmada \
--karmada-pki=$HOME/.karmada/pki

By adopting this structure, Karmada will align with best practices for configuration management, ensuring both security and consistency across the system.

If everyone agrees with this proposal, I will proceed with the revision and create a pull request to update the documentation accordingly.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/featureCategorizes issue or PR as related to a new feature.

    Type

    No type

    Projects

    • Status

      No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions