-
Notifications
You must be signed in to change notification settings - Fork 4
Description
What
I propose providing language-specific Docker images for users to build on top of for easy deployment.
Why
Docker is obviously the predominant container platform currently. And with the cloud being the hype, and with Extism always gaining more traction every day, I can see users wishing to Dockerize an Extism host application to deploy via Docker Compose, Kubernetes+Helm Charts, etc. Whenever users have to have binaries already installed for their applications to run and are already considering Dockerizing it, they often opt for a Docker image with the bare minimum of what they need (often just a language runtime) for ease of use as long as the resulting image is small enough to satisfy the users' needs; especially if there is an official one vendored by the company/foundation/group that provides the binary (see ffmpeg's Docker image).
Proposed specs:
- Built on top of Alpine/Scratch image to keep image small
- Two different image options,
- one with only Extism pre-installed (possibly named extism-lite-<semver_number>)
- another with the language runtime (or other necessary binaries/files/etc.) as well as Extism pre-installed (possibly named extism-<semver_number>-<language_name>-<semver_number>)
- Language-specific images should be maintained and updated for the last 3 major releases for backwards compatibility (if compatible with Extism version), after which, routine maintenance and updating is stopped and only performed whenever critical issues are opened
- Implemented and maintained inside of language specific SDK repos, or in central repo specifically for Docker images for ease of maintainability