Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Declarative config similar to RKE #371

Closed
2 of 4 tasks
nicklasfrahm opened this issue Feb 12, 2022 · 2 comments
Closed
2 of 4 tasks

Declarative config similar to RKE #371

nicklasfrahm opened this issue Feb 12, 2022 · 2 comments
Labels
duplicate This issue or pull request already exists

Comments

@nicklasfrahm
Copy link
Sponsor

nicklasfrahm commented Feb 12, 2022

The Rancher Kubernetes Engine allows for a cluster.yaml configuration file, which is then used to bootstrap a cluster via rke up.

Expected Behaviour

Users can provide a configuration file, e.g. cluster.yaml, which describes the connection information for the nodes.

Current Behaviour

Currently, it is required to perform additional shell scripting around k3sup to bring your cluster up declaratively.

Are you a GitHub Sponsor (Yes/No?)

  • Yes
  • No

Possible Solution

For my use-case I would need something like the following at least:

# cluster.yaml

nodes:
  - role: server
    fingerprint: SHA256:TQJ6O204vLkziGitTEXYzEcF92hkosWPBhHaNaICjTM
    host: 192.168.254.254
    username: root
    key_file: ~/.ssh/id_ed25519
  - role: agent
    fingerprint: SHA256:mjQz8GI7bweqTbcSSNQPEcXtXtP0mN4nQ9H5BSAzM18
    host: 192.168.254.1
    username: root
    key_file: ~/.ssh/id_ed25519

Using spf13/viper should be a good option for this.

Context

In my case, I would like to check my cluster.yml into a Git repository and deploy the cluster via GitHub Actions.

There are a few implementation details, which I would like input on:

  • Should the CLI API be a config flag for k3sup install --config cluster.yaml?

Your Environment

  • What OS or type or VM are you using for your cluster? Where is it hosted? (for k3sup install/join)
    I am using manually provisioned baremetal machines hosted on-premise. The hardware includes:

    • Raspberry Pis (arm64)
    • Intel Atom N2600 Netbook (amd64)
  • Operating System and version (e.g. Linux, Windows, MacOS):

    $ uname -a
    Linux dfr-rtcm4-0 5.4.0-1042-raspi #46-Ubuntu SMP PREEMPT Fri Jul 30 00:35:40 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux
    Linux mdn-e1230-0 5.4.0-99-generic #112-Ubuntu SMP Thu Feb 3 13:50:55 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
    
    $ cat /etc/os-release
    NAME="Ubuntu"
    VERSION="20.04.3 LTS (Focal Fossa)"
    ID=ubuntu
    ID_LIKE=debian
    PRETTY_NAME="Ubuntu 20.04.3 LTS"
    VERSION_ID="20.04"
    HOME_URL="https://www.ubuntu.com/"
    SUPPORT_URL="https://help.ubuntu.com/"
    BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
    PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
    VERSION_CODENAME=focal
    UBUNTU_CODENAME=focal
    

"Be part of the solution"

Subject to approval, are you willing to work on a Pull Request for this issue or feature request?

  • Yes
  • No

Editor's note: The link to the CONTRIBUTING.md is broken as it points to the old inlets repository.

@alexellis
Copy link
Owner

alexellis commented Feb 12, 2022

Thanks for your suggestion.

Closing as duplicate of #152, feel free to +1 the proposal there or add anything you feel is unique in your problem or solution.

Regarding the CONTRIBUTING.md link in the README - I've updated this. Thanks for letting me know and for being a sponsor.

@alexellis
Copy link
Owner

/add label: duplicate

@derek derek bot added the duplicate This issue or pull request already exists label Feb 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate This issue or pull request already exists
Projects
None yet
Development

No branches or pull requests

2 participants