Adhoc shell scripting 🙅 Shell scripting library 🙂‍↕️ Just about every project—Apache, CNCF, or just randomly found on GitHub—tells the user; e.g., in a getting-started guide; how to setup their development environment and how to run the compiled—or precompiled—package.
Unfortunately, this is usually limited to one operating system [Linux] and of that, one distribution [Debian based, often just Ubuntu]. The popularity of Docker over the past decade has made this problem worse, with a `docker run` command being the new most-popular getting-started guide. This makes it more difficult to: port to alternative Linux distributions (e.g., musl-based Alpine); run on non Linux OSs (macOS; FreeBSD; SunOS; *gasp* Windows; and others); and experiment [e.g., for security or performance benchmarking purposes] with the Docker alternatives each platform offers. Penultimately, the ability to mix-and-match aaS [e.g., DBaaS] with self-hosted is usually lost the closer one gets to a "one click install". Finally, even when Docker is the target, taken away from the casual developer is the decision of having: one monolithic image; an image per database/toolchain/server; or some middle-ground. I've started implementing a proof-of-concept at https://github.com/SamuelMarks/deploy-sh It should work out-of-the-box with Linux (Alpine, Debian-based, more soon), macOS; with FreeBSD, SunOS, and Windows coming-soon. I also implemented a little JSON DSL with a code-generator, all in /bin/sh, that creates: guarded shell scripts that install either serially or in parallel; and `Dockerfile`s. The medium-term vision is that all projects on Apache could be supported with simple human-readable JSON files they have in their repository root; enabling most to trivially support various Linux distributions, lightweight Docker images, FreeBSD & OpenBSD, macOS, and even Windows. Would be great to contribute this to the Apache—or a similar—Foundation, as it applies to every project in its ecosystem, would benefit [microsoft/vcpkg ports style] from a large number of external contributors, and importantly: would improve both the development environment and operational environment setup experience. Thanks for your consideration, Samuel Marks PS: As for the current state, probably another month of development required before it's properly functional. Want to get through that roadmap first and also have some nice examples of complex open-source deployments; ones that require multiple: databases, servers, toolchains. But thought it would still be good to post now to get early feedback. Thanks! --------------------------------------------------------------------- To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org For additional commands, e-mail: general-h...@incubator.apache.org