Skip to content

Reconsider CLI defaults #392

@fernando-villalba

Description

@fernando-villalba

Issue

Creating a cluster with civo kubernetes create creates a cluster with defaults. This is phenomenal use of convention over configuration so the user doesn't need to input too many flags or commands to create a cluster.

However we should perhaps reconsider the defaults used here, right now this is what it does:

  1. Create a cluster with 3 g4s.kube.medium nodes --> We should probably make the g4s.kube.xsmall the default. 3 nodes may be okay, although perhaps 2 is more conservative.
  2. Randomly pick a name for the cluster --> This is phenomenal, no need to change
  3. Randomly pick a Linux distro for cluster --> I don't think this is a good thing as it changes the nature of the cluster too much.
  4. Create a firewall/s for the cluster --> This is also okay, but cluster deletion should clean these, or at least provide an option to do so. Will create another ticket for this.

(Not sure if I am missing other defaults)

In addition, the UI should be aligned with the defaults the CLI provides.

Acceptance Criteria

  1. Reconsider changing the defaults to create a cluster that's as cheap as possible for generalised workloads.
  2. Make the OS deterministic, don't randomize it.

Cluster defaults should be

  • As secure as possible.
  • As cheap as possible.
  • Catering to general needs of the public wishing to test a cluster or use for quick, simple workloads. We perhaps shouldn't assume that the defaults are for heavy workloads, or even for production workloads as in those scenarios a user may want more fine grained settings
  • The nature of the cluster should be predictable, randomizing the OS prevents that.

Another option could be to create templates for different types of configs, for example:

  • ML
  • Production
  • Test
  • Budget
  • Etc

But this is out of the scope of this ticket.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions