elfhosted / enhancements

This repository collects "Elf Enhancement Proposals" (EEPs!)
0 stars 0 forks source link

ElfBot v.20 #1

Open funkypenguin opened 6 days ago

funkypenguin commented 6 days ago

Here's our first EEP :)

The plan is to replace the CLI functions of ElfBot with a single, "utility" container, which we'll use to run a restricted shell, via ttyd.

The Dockerfile should use:

FROM ghcr.io/elfhosted/alpine:rolling@sha256:3d8693e2e68a277e14e96594381f8b8620c81ada3827babb842faeaae607693f 

and then install ttyd using apk add ttyd.

The Riven container gives a good example of how to create the "reconnecting" UI using entrypoints, tmux, and ttyd: https://github.com/elfhosted/containers/blob/483370c5068e449b1a19cdced1cf2d737cac8182/apps/riven

The current ElfBot functions are split between https://github.com/elfhosted/myprecious/blob/d8f752025a4f4d5f70e38612c57b1851eabc9d37/charts/myprecious/templates/configmaps/configmap-filebrowser-elfbot.yaml and https://github.com/elfhosted/myprecious/blob/d8f752025a4f4d5f70e38612c57b1851eabc9d37/charts/myprecious/values.yaml#L3425

You'll notice that there's already a role/rolebinding setup for elfbot (https://github.com/elfhosted/myprecious/blob/d8f752025a4f4d5f70e38612c57b1851eabc9d37/charts/myprecious/templates/rbac), and that a serviceaccount to be attached to that role is created as part of the helm chart : https://github.com/elfhosted/myprecious/blob/d8f752025a4f4d5f70e38612c57b1851eabc9d37/charts/myprecious/values.yaml#L2757

Additional requested features for ElfBot v2:

dreulavelle commented 3 days ago

watching 👀