tinkerbell/hook

Move sshd from debug to official but behind feature flag

gianarb opened this issue · 4 comments

I know OSIE has SSH installed, and I think it is a very useful feature to have. I use it in my homelab because I am not installing an operating system in all my hardware, some of it stays ephemeral and only runs OSIE itself. For those, I enable ssh passing a cmdline ssh.key="string" because that's how AlpineLinux works, as you can read from their documentation

https://wiki.alpinelinux.org/wiki/PXE_boot#Guide_to_options

I pilot what gets passed to OSIE via metadata.facility.facility_code. I find it convenient. Any idea about how we can do something like that?

/cc. @thebsdbox

Yeah we just wrap the ssh image like we did with the dind image. We have a tiny go binary that parses /proc/cmdline and if the feature is there it starts. We could potentially package a bunch of stuff in a debug container. Web UI for console/access file system/get logs/ssh/some level of meminfo page which would allow determining the usage of tinkle and the workflow it runs!!

I just realised ... we can't wrap the container. I wrote it so people could write their own and at build time add their ssh keys. 😬

Now sure what to suggest.

I think we can enable a default user root root, and call it done for now! I like the idea to have something similar to what AlpineLinux does but it does not sound simple enough