Package your application, client tools, configuration, and deployment logic into an installer that you can distribute and run with a single command.
Take everything you need to do a deployment, the application itself and the entire process to deploy it: command-line tools, configuration files, secrets, and bash scripts to glue it all together. Package that into a versioned bundle distributed over standard Docker registries or plain tgz files.
Now anyone can install your application without deep knowledge of your deployment process, or following a step-by-step deployment doc, regardless of the tech stack.
Porter is never a replacement for an existing tool. Think of it as doing extra nice things on top of what those great tools already do!
Package everything you use to deploy in a single artifact that can be easily distributed over registries and across air gapped networks.
JIT secret injection, immutable artifacts, and container security are just some of Porter’s security features.
Save time because the bundle contains the exact version of your deployment tools. Users don’t need to find and install tools or switch between versions.
View rich metadata about a deployment. Run porter explain to quickly see how to customize an installation with parameters, what credentials are needed by the bundle. There is no need for detailed installation documentation.
Reduce the operational knowledge required to manage an application. Often deployments involve multiple tools, such as terraform, helm, kubectl; all glued together with bash scripts. Bundles abstract away the details of a deployment, and provide a consistent set of commands to deploy any application.
Manage deployments securely as a team. Porter uses secure just-in-time credential injection and remembers the parameters last used to deploy. Teammates don’t need to hunt down the proper values themselves, or copy sensitive credentials into local environment variables or files. Secrets remain secure in a secret store such as Hashicorp Vault or Azure Key Vault.