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

How do we run hydros continously? Serverlessly? #91

Open
jlewi opened this issue Apr 12, 2024 · 2 comments
Open

How do we run hydros continously? Serverlessly? #91

jlewi opened this issue Apr 12, 2024 · 2 comments

Comments

@jlewi
Copy link
Owner

jlewi commented Apr 12, 2024

One of the key goals of hydros is to be declarative. That means we should be continuously running it. Right now we don't have a good story for that. There's a bunch of different issues related to this

#62
#61
#5

There's a couple different patterns we could follow. The current proposal was to

  1. Turn the resources into K8s controllers
  2. Use existing GitOps toolks to sync to the cluster

This seems unnecessarily heavyweight given all we really need is to run a cronjob. Basically all we need is to periodically run

hydros apply /path/to/repo_config.yaml

That will trigger hydros to check out the repository at the specified commit and then apply any resources we find.

I think we should just try to run this on Cloud Run.

@jlewi
Copy link
Owner Author

jlewi commented Apr 13, 2024

One big problem here is observability. When a repo contains N resources that need to be applied how do we understand the status of all of them? This is especially important if we rely on reconcile being called multiple times in order to do with any ordering. For example, we have Image resources which build images and ReplicatedImage which replicates them.

@jlewi
Copy link
Owner Author

jlewi commented May 13, 2024

For observability really all we need is a key value store. Using k8s to get ETCD to get a key value store is rather expensive. We could potentially use https://github.com/cockroachdb/pebble. Can we use pebble with GCS is the backend? Is there a diffferent serverless key value store we could use?

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

No branches or pull requests

1 participant