Open funkypenguin opened 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:
Dockerfile
FROM ghcr.io/elfhosted/alpine:rolling@sha256:3d8693e2e68a277e14e96594381f8b8620c81ada3827babb842faeaae607693f
and then install ttyd using apk add ttyd.
ttyd
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:
elfbot reset all --yesiamsure
elfbot pause
watching 👀
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:and then install
ttyd
usingapk 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:
elfbot reset all --yesiamsure
with an additional prompt to confirm they really want to remove all their dataelfbot pause