-
Notifications
You must be signed in to change notification settings - Fork 62
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
Problem: integration with the rest of the world (π omni_kube 0.1.0, omni_httpc 0.1.3) #676
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
yrashk
force-pushed
the
omni_kube
branch
8 times, most recently
from
November 29, 2024 06:36
37edec0
to
53e1d11
Compare
Omnigres is often portrayed as an advanced application runtime β the one that embraces data-centric design and control flow. But if it is an application runtime, how does it fare with today's methods of deployment? Does it integrate well? Solution: propose a lightweight integration with Kubernetes omni_kube allows easily making Kubernetes API calls so that one can orchestrate resources and get views into what's happening. This change also required me to add some CA certificate-related functionality to omni_httpc.
If credentials are coming from within the pod, we're good. But if the config is coming from somewhere else, we have to supply this to every API call. That's hardly convenient. Solution: introduce settings that will dictate defaults
Solution: ensure we do it correctly 1. Ensure we actually pick them up. There could be a `null` in a stat record and that would make `is null` succeed. Use `is distrinct from null` 2. Use pod-supplied defaults in the `api()` function if nothing is provided.
This conceals problems. Solution: raise an exception for these
It requires a lot of work to assemble it. Solution: publish an omnikube image
While doable, it still requires a lot of mundane work to get the data out. Solution: provide some common views This is far away from being complete, but serves as an example of what's possible.
Currently, even though `omni_kube.api()` is `stable`, it does not guarantee that it will be only called once per portal (~ statement) This leads to potential inconsistencies when joining views (information changes). Some of these are unavoidable if we call different API endpoints, but it'd be really odd to get one when we're calling the same API endpoint with the same parameters but something has changed already. Besides, it slows it down as we make repeat requests Solution: use omni_var's statement variables to cache responses
In some cases, all we have is a client certificate and associated private key. Solution: add options to support this variation This also adds functionality to pass the certificate and private key to omni_httpc.
Solution: add basic support for jobs
This is not very useful. Solution: change to timestamptz
Solution: add the missing column
Specifically, new options related to certificates. Solution: document them
Solution: write basic documentation
omni_httpc and omni_httpd are listed twice Solution: fix that
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Omnigres is often portrayed as an advanced application runtime β the one that embraces data-centric design and control flow.
But if it is an application runtime, how does it fare with today's methods of deployment? Does it integrate well?
Solution: propose a lightweight integration with Kubernetes
omni_kube allows easily making Kubernetes API calls so that one can orchestrate resources and get views into what's happening.
This change also required me to add some CA certificate-related functionality to omni_httpc.
What's missing?