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

refactor: modularize everything, separate files and new submodules #1164

Draft
wants to merge 24 commits into
base: master
Choose a base branch
from

Conversation

aleksasiriski
Copy link
Member

@aleksasiriski aleksasiriski commented Jan 9, 2024

  • Switch to MPLv2
  • Refactor variables into separated files with better code structure
  • Refactor locals into separated files with better code structure
  • Refactor network, lb, cni, csi, etc. into new submodules
  • Combine configs for control_planes, agents and autoscaler nodes
  • Move bash scripts inlined within Terraform into files that are called by Terraform
  • Consider dropping support for unused options, they will still be available with example Helm charts
  • Pin versions of everything and create CI to bump up versions when they come out
  • Improve CI/CD pipeline, with added tests and possibly real testing on Hetzner before merging to main
  • Autogenerating documentation using quality comments in the source code
  • Create example configs for most common usecases of the project (small, medium and large cluster deployment)
  • Consider creating website documentation
  • Create a script for converting old TF to new TF

Maybe more...

@aleksasiriski aleksasiriski self-assigned this Jan 9, 2024
@aleksasiriski aleksasiriski marked this pull request as draft January 9, 2024 23:05
@maggie44
Copy link
Contributor

Could we add pinning of all dependency versions and bumping as PRs to the list as mentioned here? https://github.com/kube-hetzner/terraform-hcloud-kube-hetzner/pull/1206/files#r1497072303

I think pinned versions is a good default for production. Not all of the dependent packages are built like OpenSuse where it’s designed for rolling updates. It would relate to the CI which would then run tests against new minor and major bumps.

@aleksasiriski
Copy link
Member Author

Could we add pinning of all dependency versions and bumping as PRs to the list as mentioned here? https://github.com/kube-hetzner/terraform-hcloud-kube-hetzner/pull/1206/files#r1497072303

I think pinned versions is a good default for production. Not all of the dependent packages are built like OpenSuse where it’s designed for rolling updates. It would relate to the CI which would then run tests against new minor and major bumps.

I wholeheartedly agree, if you want you can make a PR to this PR with that fix or I will do it when I get the free time again.

@BuddhiAbeyratneAL
Copy link

Im not a lawyer but from what I've seen in practice

MIT to MPL2 can't be a direct swap.
one has a copy left ish clause that people have to comply with
Also the old code needs to continue to distribute as MIT even if you pull it out as submodules

@aleksasiriski
Copy link
Member Author

Im not a lawyer but from what I've seen in practice

MIT to MPL2 can't be a direct swap. one has a copy left ish clause that people have to comply with Also the old code needs to continue to distribute as MIT even if you pull it out as submodules

You are correct, this won't be merged until all contributors agree to it. We will be creating a poll to accomodate that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants