You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Portable shell scripts for deployments to Docker, native Linux, *BSD, SunOS, macOS, &etc.
Project Description
Docker and Kubernetes are great. But deploying Kubernetes on Docker is adhoc. The old approach of installing everything native is becoming less and less common; thanks in large-part to CNCF projects.
But native deployment is handy for testing, developer set ups, and experimenting with new alternatives (e.g., would my application be better deployed monolithically; considering my workloads?). There's also the non-Linux world of SunOS, *BSD, mainframes, and gasp Windows.
With these portable shell scripts all OSs should be targetable; by using pure POSIX-compatible /bin/sh scripts [and a bit of Windows cmd to prove portability).
The main goal is to replace 'getting started' guides with a cross-platform native installer script. Secondary goals are to enable lower usage of Docker images and better usage of Docker cache. To exemplify this advantage, imagine: (databases; queues; web servers; email servers; REST APIs) in a single Dockerfile, then in 30 Dockerfiles, then in … you get the idea?
Org repo URL (provide if all repos under the org are in scope of the application)
This is intended to assist in creating new Dockerfiles; deploying natively; and for deploying within non-Docker virtual environments like: unikernels; jails; zones; alternative image formats; whole virtual machines; and pure namespaces & cgroups.
If the project is accepted, I agree the project will follow the CNCF IP Policy
Trademark and accounts
If the project is accepted, I agree to donate all project trademarks and accounts to the CNCF
Why CNCF?
Currently this project is split into 3 areas:
A library of shell scripts, with a clear directory structure (toolchains, databases, servers, 3rd-party self-hosted APIs)
A new JSON format
A generator—written in pure /bin/sh—going from the JSON format to shell scripts and Dockerfiles
What CNCF would be especially great at is expanding the shell script library from the current <40 *.sh files to a few thousand. This is comparable to development of a new package manager, or the ports of microsoft/vcpkg.
Benefit to the Landscape
Most projects on the CNCF landscape are difficult to install in more then one way. For example, they're usually trivial to pull from a docker registry, but difficult to host natively locally on Linux (let alone macOS, *BSD, or forbid Windows).
This project will help all CNCF projects port to new platforms, test different dependency versions, and benchmark / security-profile different systems (e.g., Kubernetes vs Mesos; Docker [cgroup & namespaces] vs Zones vs Jails).
Cloud Native 'Fit'
This is both for cloud native and mainframe use-cases. For both monolithic and twelve-factor to more than 12 factor distributed solutions. This is useful for deploying platforms like Kubernetes, and for deploying a large number of simple applications, databases, and servers without using any centralised resource coordination system (i.e., old-school native).
Cloud Native 'Integration'
Depends on none; complements all.
Cloud Native Overlap
Overlap with some; conflicts with none. Everyone else is writing one-off shell scripts. How about we centralise this development?
Similar projects
Any cross-platform package manager.
Landscape
No
Business Product or Service to Project separation
N/A
Project Domain Technical Review
N/A
CNCF Contacts
N/A
Additional information
Planning on finishing the roadmap in the next month. So might be too early to post here; but though I would anyway to get some early feedback.
The text was updated successfully, but these errors were encountered:
Application contact emails
[email protected]
Project Summary
Portable shell scripts for deployments to Docker, native Linux, *BSD, SunOS, macOS, &etc.
Project Description
Docker and Kubernetes are great. But deploying Kubernetes on Docker is adhoc. The old approach of installing everything native is becoming less and less common; thanks in large-part to CNCF projects.
But native deployment is handy for testing, developer set ups, and experimenting with new alternatives (e.g., would my application be better deployed monolithically; considering my workloads?). There's also the non-Linux world of SunOS, *BSD, mainframes, and gasp Windows.
With these portable shell scripts all OSs should be targetable; by using pure POSIX-compatible
/bin/sh
scripts [and a bit of Windows cmd to prove portability).The main goal is to replace 'getting started' guides with a cross-platform native installer script. Secondary goals are to enable lower usage of Docker images and better usage of Docker cache. To exemplify this advantage, imagine: (databases; queues; web servers; email servers; REST APIs) in a single Dockerfile, then in 30 Dockerfiles, then in … you get the idea?
Org repo URL (provide if all repos under the org are in scope of the application)
N/A
Project repo URL in scope of application
https://github.com/SamuelMarks/deploy-sh
Additional repos in scope of the application
No response
Website URL
https://github.com/SamuelMarks/deploy-sh
Roadmap
https://github.com/SamuelMarks/deploy-sh/blob/master/ROADMAP.md
Roadmap context
This is intended to assist in creating new Dockerfiles; deploying natively; and for deploying within non-Docker virtual environments like: unikernels; jails; zones; alternative image formats; whole virtual machines; and pure namespaces & cgroups.
Contributing Guide
https://github.com/SamuelMarks/deploy-sh/blob/master/README.md
Code of Conduct (CoC)
https://github.com/SamuelMarks/deploy-sh/blob/master/README.md
Adopters
No response
Contributing or Sponsoring Org
No response
Maintainers file
https://github.com/SamuelMarks/deploy-sh/blob/master/README.md
IP Policy
Trademark and accounts
Why CNCF?
Currently this project is split into 3 areas:
/bin/sh
—going from the JSON format to shell scripts andDockerfile
sWhat CNCF would be especially great at is expanding the shell script library from the current <40
*.sh
files to a few thousand. This is comparable to development of a new package manager, or the ports ofmicrosoft/vcpkg
.Benefit to the Landscape
Most projects on the CNCF landscape are difficult to install in more then one way. For example, they're usually trivial to pull from a docker registry, but difficult to host natively locally on Linux (let alone macOS, *BSD, or forbid Windows).
This project will help all CNCF projects port to new platforms, test different dependency versions, and benchmark / security-profile different systems (e.g., Kubernetes vs Mesos; Docker [cgroup & namespaces] vs Zones vs Jails).
Cloud Native 'Fit'
This is both for cloud native and mainframe use-cases. For both monolithic and twelve-factor to more than 12 factor distributed solutions. This is useful for deploying platforms like Kubernetes, and for deploying a large number of simple applications, databases, and servers without using any centralised resource coordination system (i.e., old-school native).
Cloud Native 'Integration'
Depends on none; complements all.
Cloud Native Overlap
Overlap with some; conflicts with none. Everyone else is writing one-off shell scripts. How about we centralise this development?
Similar projects
Any cross-platform package manager.
Landscape
No
Business Product or Service to Project separation
N/A
Project Domain Technical Review
N/A
CNCF Contacts
N/A
Additional information
Planning on finishing the roadmap in the next month. So might be too early to post here; but though I would anyway to get some early feedback.
The text was updated successfully, but these errors were encountered: