[ux] add support for DevPod
Description
As part of our efforts to improve the developer experience, both for bare-metal installs, but also for quick setups, I propose we add support for DevPod in the misc/devpod subfolder of this repo.
Having local environments like this would greatly aid in future workshops and speaking engagements, since the only thing required to make DevPod work is Docker.
Hello,
Is this feature still on the drawing board ? If so, can you give me a few more details about what is required for the implementation ?
I'd be happy to work on it!
Hey @0xMemoryGrinder,
we already have a Gitpod configuration set up for our getting-started repo, which achieves something similar: https://github.com/gnolang/getting-started/blob/main/.gitpod.yml
You can work on improving that or create a new DevPod configuration. My only concern is to try to avoid having configuration files in the top-level directory of this repository (prefer misc/devpod). Hope that helps!
I'm not sure why we should use DevPod. Setting it up seems more complex than just using make install at the repository's root and using the binaries directly, which only require Go. However, I understand that people have their own preferred development environments. If DevPod suits them better, I can respect that.
I'll try to integrate gnodev, gnokey, and gno binaries into an devcontainer.json
Just 2c about this issue:
I agree with @gfanton, we should in general attempt to optimise our installation flow not to depend on devpod or docker containers; make install should work for basically everyone who knows how to clone a repository and has make and go.
For larger audiences, we should:
- set up releasing binaries for major platforms/archs (related: #1834), and have a tar.gz for distribution
- have a bash script which we can suggest to
curl | bash, and have this workflow work on most linux/WSL/macOS installations without need for additional dependencies (and come withgno,gnokeyandgnodevinstalled)
I think that as a consequence of these two steps, we can also have DevPod/GitPod as an option for quick set up, based on this curl | bash workflow. I see their purpose mostly in having a way to "try before you buy", though our main focus should go into making "buying" frictionless, rather than providing a great "try before you buy" experience.
does this look sensible?