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

[BREAKING] Config File Enhancements: v1alpha3, migrations, generic k3s-args #605

Merged
merged 2 commits into from
May 14, 2021

Conversation

iwilltry42
Copy link
Member

@iwilltry42 iwilltry42 commented May 14, 2021

  • new version v1alpha3 with k3s extraArgs using node filters
    • reflected in CLI via --k3s-arg
  • new migration option to migrate (internally and via cli) from v1alpha2
    to v1alpha3
  • enhancements to how config files are being read
  • e2e tests for config file migration

Details

Legend:

  • ❗ Breaking Change
  • 💬 "user-facing" change (CLI options, output, etc.)
  • 🆕 New functionality

CLI (cmd/)

  • cluster/clusterCreate:
    • determine schema used for validation by config ApiVersion
    • 💬 warn about using an outdated config version
    • ❗💬: --k3s-server-arg and --k3s-agent-arg become --k3s-arg with node filter support
  • config/configInit
    • use v1alpha3 by default
  • 🆕 config/configMigrate
    • 💬 new k3d config migrate INPUT [OUTPUT] command to migrate config files between versions (currently only to most recent version v1alpha3)

Module (pkg/)

  • config/
    • 🆕 new Config interface type
    • v1alpha3 is the new default
      • dropped options.k3s.extraserverargs|extraagentargs for options.k3s.extraArgs with node filter support
    • ❗ removed FromViperSimple for config loading specifically tailored to Simple style config and now we only use the generic FromViper which also selects the correct version given the input
    • 🆕 we now have migrations (currently for V1alpha2 to v1alpha3)
  • types/
    • ❗ dropped K3sServerArgs and K3sAgentArgs from ClusterCreateOpts, as they're now injected on individual node level

Misc

  • docs: use v1alpha3 config version
  • tests/e2e: add tests for v1alpha2 to v1alpha3 migration

@iwilltry42 iwilltry42 added enhancement New feature or request priority/high breaking change scope/cli Issue concerns the CLI (cmd/) scope/package pkg/ labels May 14, 2021
@iwilltry42 iwilltry42 self-assigned this May 14, 2021
@iwilltry42 iwilltry42 force-pushed the enhancement/k3s-args-nodefilter branch 2 times, most recently from 1b89fee to cef3b17 Compare May 14, 2021 10:48
- new version v1alpha3 with k3s extraArgs using node filters
  - reflected in CLI via --k3s-arg
- new migration option to migrate (internally and via cli) from v1alpha2
to v1alpha3
- enhancements to how config files are being read
- e2e tests for config file migration
@iwilltry42 iwilltry42 force-pushed the enhancement/k3s-args-nodefilter branch from cef3b17 to abb5506 Compare May 14, 2021 10:53
Copy link
Member Author

@iwilltry42 iwilltry42 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

double checked

@iwilltry42 iwilltry42 added this to the v4.5.0 milestone May 14, 2021
@iwilltry42 iwilltry42 modified the milestones: v4.5.0, v5.0.0 May 14, 2021
@iwilltry42 iwilltry42 changed the base branch from main to main-v5 May 14, 2021 12:00
@iwilltry42 iwilltry42 changed the title [XXL] Config File Enhancements: v1alpha3, migrations, generic k3s-args [BREAKING] Config File Enhancements: v1alpha3, migrations, generic k3s-args May 14, 2021
@iwilltry42 iwilltry42 merged commit ff61747 into main-v5 May 14, 2021
@iwilltry42 iwilltry42 deleted the enhancement/k3s-args-nodefilter branch May 14, 2021 12:01
iwilltry42 added a commit that referenced this pull request Jun 16, 2021
…s-args (#605)

Excerpt:
- new version v1alpha3 with k3s extraArgs using node filters
  - reflected in CLI via --k3s-arg
- new migration option to migrate (internally and via cli) from v1alpha2
to v1alpha3
- enhancements to how config files are being read
- e2e tests for config file migration
iwilltry42 added a commit that referenced this pull request Jun 28, 2021
…s-args (#605)

Excerpt:
- new version v1alpha3 with k3s extraArgs using node filters
  - reflected in CLI via --k3s-arg
- new migration option to migrate (internally and via cli) from v1alpha2
to v1alpha3
- enhancements to how config files are being read
- e2e tests for config file migration
iwilltry42 added a commit that referenced this pull request Jul 6, 2021
…s-args (#605)

Excerpt:
- new version v1alpha3 with k3s extraArgs using node filters
  - reflected in CLI via --k3s-arg
- new migration option to migrate (internally and via cli) from v1alpha2
to v1alpha3
- enhancements to how config files are being read
- e2e tests for config file migration
iwilltry42 added a commit that referenced this pull request Jul 9, 2021
…s-args (#605)

Excerpt:
- new version v1alpha3 with k3s extraArgs using node filters
  - reflected in CLI via --k3s-arg
- new migration option to migrate (internally and via cli) from v1alpha2
to v1alpha3
- enhancements to how config files are being read
- e2e tests for config file migration
somaritane referenced this pull request in AbsaOSS/k3d-action Nov 15, 2021
- k3d config examples migrated to `apiVersion: k3d.io/v1alpha3`
  [https://github.com/rancher/k3d/pull/605](https://github.com/rancher/k3d/pull/605)
- `:direct` node filter option used when load balancer is disabled
  [https://github.com/rancher/k3d/pull/656](https://github.com/rancher/k3d/pull/656)
- `--label` --> `--runtime-label`
  [https://github.com/rancher/k3d/pull/598](https://github.com/rancher/k3d/pull/598)
- `--k3s-server-arg` --> `--k3s-arg` with server node filter (`@server:*`)
  [https://github.com/rancher/k3d/pull/605](https://github.com/rancher/k3d/pull/605)
- Updated documentation

Signed-off-by: Timofey Ilinykh <ilinytim@gmail.com>
somaritane referenced this pull request in AbsaOSS/k3d-action Nov 15, 2021
- k3d config examples migrated to `apiVersion: k3d.io/v1alpha3`
  [https://github.com/rancher/k3d/pull/605](https://github.com/rancher/k3d/pull/605)
- `:direct` node filter option used when load balancer is disabled
  [https://github.com/rancher/k3d/pull/656](https://github.com/rancher/k3d/pull/656)
- `--label` --> `--runtime-label`
  [https://github.com/rancher/k3d/pull/598](https://github.com/rancher/k3d/pull/598)
- `--k3s-server-arg` --> `--k3s-arg` with server node filter (`@server:*`)
  [https://github.com/rancher/k3d/pull/605](https://github.com/rancher/k3d/pull/605)
- Updated documentation

Signed-off-by: Timofey Ilinykh <ilinytim@gmail.com>
somaritane referenced this pull request in AbsaOSS/k3d-action Nov 16, 2021
- k3d config examples migrated to `apiVersion: k3d.io/v1alpha3`
  [https://github.com/rancher/k3d/pull/605](https://github.com/rancher/k3d/pull/605)
- `:direct` node filter option used when load balancer is disabled
  [https://github.com/rancher/k3d/pull/656](https://github.com/rancher/k3d/pull/656)
- `--label` --> `--runtime-label`
  [https://github.com/rancher/k3d/pull/598](https://github.com/rancher/k3d/pull/598)
- `--k3s-server-arg` --> `--k3s-arg` with server node filter (`@server:*`)
  [https://github.com/rancher/k3d/pull/605](https://github.com/rancher/k3d/pull/605)
- removed `disableImageVolume` option from examples and test assets
- Updated documentation

Signed-off-by: Timofey Ilinykh <ilinytim@gmail.com>
somaritane referenced this pull request in AbsaOSS/k3d-action Nov 16, 2021
- k3d config examples migrated to `apiVersion: k3d.io/v1alpha3`
  [https://github.com/rancher/k3d/pull/605](https://github.com/rancher/k3d/pull/605)
- `:direct` node filter option used when load balancer is disabled
  [https://github.com/rancher/k3d/pull/656](https://github.com/rancher/k3d/pull/656)
- `--label` --> `--runtime-label`
  [https://github.com/rancher/k3d/pull/598](https://github.com/rancher/k3d/pull/598)
- `--k3s-server-arg` --> `--k3s-arg` with server node filter (`@server:*`)
  [https://github.com/rancher/k3d/pull/605](https://github.com/rancher/k3d/pull/605)
- removed `disableImageVolume` option from examples and test assets
- Updated documentation

Signed-off-by: Timofey Ilinykh <ilinytim@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking change enhancement New feature or request priority/high scope/cli Issue concerns the CLI (cmd/) scope/package pkg/
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant