Kubernetes powered PaaS that runs in your own cloud. https://porter.run

jusrhee 44f34914d6 projectsection provisioning select handled před 5 roky
cli 2f2f7dfce3 remove test file před 5 roky
cmd b249059d95 ecr link after repo create před 5 roky
dashboard 44f34914d6 projectsection provisioning select handled před 5 roky
docker f1ac0e4b69 cli major update před 5 roky
docs ff17b95702 Create GCR.md před 5 roky
internal 60dd87ee61 list created infra před 5 roky
scripts e51a889bd1 update docs před 5 roky
server 60dd87ee61 list created infra před 5 roky
.air.toml f1ac0e4b69 cli major update před 5 roky
.darwin.goreleaser.yml 55d41a804e fixes #110 před 5 roky
.dockerignore d7b83fb445 onboarding with default sqlite před 5 roky
.gitignore 507ba65d39 delete tf directory před 5 roky
.goreleaser.yml 55d41a804e fixes #110 před 5 roky
LICENSE 1f483861ca add MIT license před 5 roky
README.md c8072554f8 Update README.md před 5 roky
docker-compose.dev.yaml a5c69a1bda stream ephemeral provisioning logs (no XACK) před 5 roky
go.mod 771d66ff64 global redis stream listener před 5 roky
go.sum 771d66ff64 global redis stream listener před 5 roky
package-lock.json 05045fbbe3 parity with old form.yaml functionality před 5 roky

README.md

Porter

Porter is a Kubernetes powered PaaS with support for the following features:

  • User-generated form overlays for managing values.yaml
  • Visualization of all Helm releases with filtering by namespace
  • In-depth view of releases, including revision histories and component graphs
  • Rollback/update of existing releases, including editing of raw values.yaml

Graph View What's next for Porter? View our roadmap, or read our mission statement.

Quick Start

To view the dashboard locally, follow the instructions to install the latest CLI release for Mac, Linux, or Windows. While the Docker engine is running, run:

porter server start

Wait for the Porter server to start, and then run the following commands:

{
porter auth register
porter project create porter-test
porter connect kubeconfig
porter open
}

The last command should open up the Porter dashboard in your browser: log in with the credentials you just set. To view more detailed setup instructions, please consult the getting started docs.

Mac Installation

Run the following command to grab the latest binary:

{
name=$(curl -s https://api.github.com/repos/porter-dev/porter/releases/latest | grep "browser_download_url.*porter_.*_Darwin_x86_64\.zip" | cut -d ":" -f 2,3 | tr -d \")
name=$(basename $name)
curl -L https://github.com/porter-dev/porter/releases/latest/download/$name --output $name
unzip -a $name
rm $name
}

Then move the file into your bin:

chmod +x ./porter
sudo mv ./porter /usr/local/bin/porter

Linux Installation

Run the following command to grab the latest binary:

{
name=$(curl -s https://api.github.com/repos/porter-dev/porter/releases/latest | grep "browser_download_url.*porter_.*_Linux_x86_64\.zip" | cut -d ":" -f 2,3 | tr -d \")
name=$(basename $name)
curl -L https://github.com/porter-dev/porter/releases/latest/download/$name --output $name
unzip -a $name
rm $name
}

Then move the file into your bin:

chmod +x ./porter
sudo mv ./porter /usr/local/bin/porter

Windows Installation

Go here to download the Windows executable and add the binary to your PATH.

Mission Statement

kubectl for your fundamental operations. Porter for everything else.

Our mission is to be the go-to tool for interacting with complex Kubernetes deployments as both a beginner and an expert. While our initial focus is on visualizing Helm components, we believe this visualization and editing can be extended to a number of other tools and concepts, including alternative templating tools (kustomize, Terraform), other deployment tools (CI/CD tools, Terraform), Kubernetes package repositories (ChartMuseum, JFrog Artifactory), and even popular Kubernetes packages (nginx-ingress, cert-manager, prometheus, velero).

More specifically, we have the following long-term goals:

  • Design a visual interface for complex deployments and operations
  • Make deployments and operations editable by and accessible for non-Kubernetes experts
  • Improve the development experience for packaging and releasing Kubernetes applications
  • Increase interoperability of Kubernetes tooling without compromising usability

Why did we begin with Helm? Helm is the most popular auxiliary Kubernetes tool, and can function in nearly all parts of deployment lifecycle. We think of the various features of Helm in the following manner, adapted from Brian Grant's Helm Summit talk (slides here): package management, dependency management, application metadata, parameterization, templating, deployment/config revision management, lifecycle management hooks, and application probes. Along with these fundamental features, an expanding number of command plugins for more specific use-cases have started to become popular in the Helm ecosystem. If we can build a better workflow for both application developers and application operators by improving the user experience for most of these Helm features, we can generalize and expand this workflow to support alternative tooling that exists in the Kubernetes application management ecosystem.