envd-server
envd-server copied to clipboard
feat(demo): Demo server
Description
Ref https://goharbor.io/docs/1.10/install-config/demo-server/
The demo server is cleaned and reset every two days.
We could have a demo server for envd-server on Kubernetes, and envd dashboard.
Message from the maintainers:
Love this enhancement proposal? Give it a 👍. We prioritise the proposals with the most 👍.
Explore:
- cloud service
- how to deploy our demo service
- our remote builder
After trying the harbor demo service, I think there are several things for us to do:
- serve and expose the envd dashboard frontend to public
- the envd server should run in
noauth: falsemode (weird name, I thinkauth: trueis better), users are required to sign up and log in - provide the tutorial for users to create the context and access the envd server
- set restrictions
- [ ] image size (need to develop [optional])
- [ ] number of environments (need to develop the global limit)
- [ ] CPU/GPU/Memory for each environment (need to develop the global maximum limit)
- [ ] destroy all the environment every midnight (maybe a cron job)
- [ ] collect idle environment aggressively (need to develop)
Requirements for the service:
- should be able to access APT/PyPI/GitHub/S3
- GPUs (TBD)
- could be a single VM or a Kubernetes cluster
Candidates:
- AWS https://aws.amazon.com/activate/
- Azure https://startups.microsoft.com/blog/credit-levels/
- GCP https://cloud.google.com/startup
I only tried GKE before. For such a demo service, VM with kind should also be possible.
Deployment:
- if the Kubernetes cluster is ready, we only need to install the Helm chart and set up the cron job
- need to configure the exposed port
Remote builder requirements:
- network access
- disk for local cache
- related to https://github.com/tensorchord/envd/issues/1309
https://demo.questdb.io/
Here is another demo server example.
https://demo.questdb.io/
Here is another demo server example.
It's a read-only demo.
We can also disable the user sign-up and provide only one demo user.
Users can use envd build --push to build their images locally and push them to the docker registry. But some of them may suffer from network issues.
apply for cloud resource