-
Notifications
You must be signed in to change notification settings - Fork 4.4k
Create Kubernetes Operator #364
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
Comments
My idea is to start with a MVP of the operator and add more functionality afterward. For now, development setup:
What do you think @eldadfux? |
We would probably need Traefik container as well. ClamAV is going to be optional in next release (0.6.2). You can use this compose file as a source of truth: |
Sounds great, feel free to reach out on Discord in you want to chat more about this. |
hey @javib51, any update on this one? |
+1 |
Might be able to leverage Kompose to convert
I'll update if I can get it to work. |
I have been following Looking through threads here at Github and Discord, I tried So with that alone and with default env variables, I could do a portfoward and access Although at this point some of the pods will still keep restarting (probably need to work the configs a bit more for request-catcher, clamav, adminer). But the biggest blocker so far I could see is
I guess needs to setup in a way like docker in a docker or able to execute docker from the Node in k8s. But I guess I probably don't need Edit1: k8s yaml that I am using https://gist.github.com/mcchin/bb0974f9f29ca39af338d56ffc033216 |
I'm looking at deploying appwrite on our kubernetes cluster, and dependency on docker is a warning for me so far. Docker is going to be deprecated in kubernetes soon, and also it's a security vulnerability to expose it's socket to containers. Why is it required at all? I might contribute to the operator if there's something available already |
@dimm0 We mount the Docker socket only in our functions worker to execute cloud functions in standalone containers. We're aware of the security concerns with the Docker socket and are still engineering a solution as we build our own hosted service. |
@mcchin this is a really helpful start, thanks! Your gists seem to be using some of the local dev tools instead of production versions; e.g. maildev instead of appwrite/smtp. That might explain some of the issues you saw. I am looking into fixing that. If I can make some good progress, I will try to provide some updated templates to reflect the latest version |
@tombailey note that since v0.7.x we don't use appwrite/smtp as the default SMTP configuration. By default we use no SMTP settings at all, and we added messages, and disabled SMTP related functionality in the Appwrite console in such case (where no SMTP was set). This was done to avoid confusion as appwrite/smtp requires a lot more config in order to work properly and pass SPAM filters. |
Similar to @mcchin I was able to load the dashboard, sign up and create projects but not much more. File uploads seemed to fail because ClamAV had permission issues doing lstat on uploaded files. I configured SMTP using sendgrid but didn't receive any emails or see any activity in the sendgrid dashboard. It can take a long time to debug issues like this so I have stopped for now. The k8s deployment files here: https://gist.github.com/tombailey/5f01c4faaec62757b2954ec15f28f49c It is setup to use secrets for maria/mysql passwords and sendgrid API key. Ideally, a secret should be added for _APP_OPENSSL_KEY_V1 too |
@kodumbeats I see why this spun off, I don't think we need a seperate issue for the Helm Chart, because it would be covered here. |
Hello Any recent update/progress on this? I'm also looking into appwrite in Kubernetes. On my local machine, I'm using Rancher Desktop which uses 1:1 replacements for Docker to Nerdctl and KIM. https://github.com/containerd/nerdctl |
This issue has been open for a while, but I wanted to provide an update. First of all, thank you to all involved in the discussion for contributing. It's super important to hear your ideas, we make much of our decisions based on what we hear on GitHub. This is currently not something we're actively working on, because we're focused on other efforts to make Appwrite more feature complete, reliable, and performant. That said, this is still a strong interest area that we plan to explore eventually. Thank you to each and every one of you for your patience ❤️ |
Did anyone try deploying appwrite in a docker image (or docker in docker)? It's at least something until appwrite is officially available on kubernetes |
It works with the systemd enabled Sysbox images in pair with a This is the best solution I could figure out. Currently, this setup works locally in the dev. environment - no issues so far. |
Related: utopia-php/orchestration#31 |
Closing in favor of #24 |
Create a Kubernetes Operator to allow easy setup for appwrite stack in any Kubernetes cluster.
As discussed in issue #24.
The text was updated successfully, but these errors were encountered: