-
Notifications
You must be signed in to change notification settings - Fork 24
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
RFC: v1alpha2 API #293
Comments
Proposal network:
networkDevices:
- bridge: vmbr128
model: virtio
mtu: 9000
- bridge: vmbr129
model: virtio
name: net1
linkMtu: 9000
dnsServers:
- 10.4.1.1
ipPoolRef:
- apiGroup: ipam.cluster.x-k8s.io
kind: GlobalInClusterIPPool
name: shared-int-service-v4-inclusterippool
- apiGroup: ipam.cluster.x-k8s.io
kind: GlobalInClusterIPPool
name: shared-int-service-v6-inclusterippool
Here are my remarks: I liked the way you restructured the schema for networkSpec; it's more convenient.
Conclusion |
|
Alright, Good to know) I think we need to set up a meeting and figure out how I can assist, how we can split some work, and how to do the whole refactoring. |
I would also like to participate at a meeting, but like here, as a more silent listener. |
I've thought about it, here's the plan:
|
We could just merge to main, 0.6.0 won't be released until we're happy with v1alpha2 anyway. |
It's good, but still, we need to be aware of some dependant things
If you agree, we can create a GitHub issue for each. |
ref #304 |
per #304
|
maybe now would be a good time to add in a 'kubernetesrelease' crd also, #312 |
ref #16 |
v1alpha1 has problems in the networking department which will require breaking changes.
Specifically, ProxmoxMachines have a split of default network device and additional network devices for no reason that I can discern. This duplicates code pathes everywhere and actually removes possibilities (due to how network interfaces are structured in the API, default doesn't have options that other interfaces have).
On top of that, the split of IPv4 and IPv6 pools is arbitrary (makes no sense), and we can simply get away with having an array of IPPools. This also allows multiple IPPools per interface, a feature which we can not support yet. On top of that, we possibly want to support network interfaces without IPPools attached (DHCP, BGP exclusively).
For now I'd change the API of ProxmoxMachines in the following way:
I would resolve the conflicts about the first network device by appending the
InclusterIPPool
in front of theipPoolRef
array. There's no need for the first device to be callednet0
, but we can make the webhook add names automatically as per their position in the array.Regarding
ProxmoxCluster
, I'd leave the API as is, because a Cluster can only have an IPv4 and/or an IPv6 pool. Potentially, we want to add DHCP there, but that's not a breaking change as far as I can see. We can discuss turning IPv4Pool and IPv6Pool into an actual pool reference that we supply with the cluster, which I think is the better choice, but this would be just breakage for breakages sake (we only get better validation on the to be created pool).Anything else you would like to add:
If you have any more things you'd like to change about the API, lets coordinate here. Feedback very welcome.
The text was updated successfully, but these errors were encountered: