-
Notifications
You must be signed in to change notification settings - Fork 42
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
feat(k8s): Added Kubernetes ConfigMap storage backend #142
base: master
Are you sure you want to change the base?
Conversation
Hi @ThomasK33, thanks for you contribution. Some comments on this.
WDYT ? |
Hey, thanks for the quick feedback.
Kubernetes objects have a
Yeah, that looks nice. In this particular case, it's about being able to embed go-ipam into an existing Go application running in a Kubernetes cluster. So, it's not possible to add yet another component.
Great callout, thanks. I completely missed the I added the config map storage to the
Yep, that was quick & dirty based on the etcd implementation. |
Hey @majst01, I just saw that the linter failed at missing json tags: Would you like me to add JSON tags to all the fields? |
415f707
to
7dd831b
Compare
#136 is merged now, please pull master and i will review |
285b5f7
to
d6f5964
Compare
We are almost there, could you please add the newly supported backend to the Readme.md ? |
Hi @ThomasK33 Is this still relevant, otherwise please close this PR. |
I added a ConfigMap-based storage backend.
In a Kubernetes environment with multiple replicas attempting to perform IPAM at the same time, using in-memory storage can lead to race conditions. Alternatively, using an external database would require managing an additional component. To avoid these issues, ConfigMap-based storage can be used to keep the state in Kubernetes, allowing all replicas to access the same configuration/state.