neondatabase / autoscaling

Postgres vertical autoscaling in k8s
Apache License 2.0
142 stars 16 forks source link

Flatten & unify component structure #961

Open sharnoff opened 3 weeks ago

sharnoff commented 3 weeks ago

This basically encompasses two logical changes:

  1. More fully integrating neonvm into the rest of the repository; and
  2. Using a consistent directory structure for all components

The new structure is:

Additionally, all code outside the cmd package are moved into the pkg/ subdirectory. In particular, there is now pkg/neonvm/.

Also of note: neonvm/hack/kernel has been relocated to the new top-level directory neonvm-kernel/.

Under this structure, the user-visible changes are:

  1. Introduction of new YAML: neonvm-controller.yaml
  2. Introduction of new YAML: neonvm-vxlan-controller.yaml
  3. neonvm.yaml now is mostly just the CRD.

The primary reasons for this change are:

  1. Because it's been long enough since we moved the neonvm repository here that we might as well make it more well-integrated.
  2. Because as we look to potentially add components in other languages, we need a directory structure that supports it.

Notes for review: This is low-priority, and probably not too difficult to rebase. I was a little bored, mostly did this during my free time. The intent of this PR is for discussion, not that I've already decided "we need to use this solution" :smile:. Separately: Splitting the YAMLs will be somewhat tricky to manage safely. I think we should have a clear idea of how we'll do that before merging.

If we go with this approach, we should aim to cut a release soon after merging.

sharnoff commented 2 weeks ago

Will be affected by #988 (and also #989, if we go that route). I plan to rebase after those are merged.