mazzle
porter
mazzle | porter | |
---|---|---|
4 | 8 | |
83 | 1,151 | |
- | 1.9% | |
2.3 | 9.0 | |
7 months ago | 1 day ago | |
Python | Go | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mazzle
-
Shells Are Two Things
I've been experimenting with alternative pipeline syntaxes.
One example is using Graphviz graph files as an execution plan for software deployments. You can see a graph here:
https://github.com/samsquire/mazzle/blob/master/docs/archite...
I wrote code with networkx to parse this graph dot file and then follow the plan topologically, spinning up packer, terraform, bash scripts, compilation and so on. It also executes graph nodes in parallel where it can.
I talk about it here https://devops-pipeline.com/
My problem with bash pipelines is passing data along and referring to previous steps' data. You kind of need to enrich the data that goes along the pipeline.
-
Graphviz v7
I use Graphviz dot syntax to configure entire cloud computing environments in the order they must be built. This is pipelines as code and infrastructure as code
It's very powerful! Not every organisation can bring up an entire environment with one command.
Here is a executable diagram of a build worker cloud nodes, Kubernetes, consul, vault, Debian package server, Java app, SSH bastion, Prometheus, grafana, DNS and security groups.
https://github.com/samsquire/mazzle/blob/master/docs/archite...
The tool also parallelises the build based on the graph so packer builds can run in parallel.
https://devops-pipeline.com/
It also has a GUI but it's not ready for other people to use.
- Terraform v1.0 Is Out
-
Terraform 1.0 Release
I use a tool I wrote to layer my infrastructure with layers called components and I configure it with a Graphviz file.
My tool, called mazzle (previously devops-pipeline) would run parts of the graph that can run in parallel in parallel. It can also run parts of the build on SSH workers. You bring up the workers at the beginning of the build.
Here's an example of a graph generated from graphviz file: https://github.com/samsquire/mazzle/blob/master/docs/archite...
This graph brings up a hashicorp vault server, Java application, bastion proxy etc.
here's the graphviz file: https://github.com/samsquire/mazzle-starter/blob/master/arch...
It describes the ordering of the infrastructure, the invocation of Ansible, packer, shell scripts to set up vault etc.
The idea is to be able to bring up a new environment by changing one parameter. There's a React GUI too.
https://devops-pipeline.com
porter
-
Stronger abstraction for deployments
This is just a concept. AFAIK only one implemented this concept is Microsoft's project porter: https://github.com/getporter/porter
-
New automation tool - kuberlogic
For porter I am talking about this project https://porter.run/ and NOT this https://porter.sh/
-
Deployment Packaging Solutions
Porter
-
kbrew: Install any complex app on Kubernetes with one step - within the context of your environment. Please check out, would love feedback!
As far as I know the tool is used at least in Microsoft. The classic use case is where you want to install an application and also define the infrastructure as well (i.e cluster + db + lb + app). You can see the examples here https://github.com/getporter/porter/tree/main/examples
-
k8s based platform
Check https://cnab.io/ and https://porter.sh/
-
Terraform 1.0 Release
I'm closely tracking an effort by Microsoft that aims to do a lot of what you're describing since I find myself bridging between these tools and deploying stacks that span tools and roles. [CNAB](https://cnab.io/) and the front-running implementation, [Porter](https://porter.sh/), enable one-step infra deployments, packaged as a single OCI-compatible container, with any number of steps, using the best tools for each of those steps. Think of using aws-cli for some initialization step (create or verify presence of a state bucket), applying some terraform to create infra, and finishing with a helm chart to complete deployment of app components. Each stage in a bundle packages not only the code to run it but also the execution binary of the tool that runs it. The spec and porter are still a moving target but it's a promising space and a nice adjacent evolution of the current state of tooling.
-
Open source Heroku Like Platform on premises
Cool, it's great to know that it isn't abandoned.
I'm not sure why you'd say that their business model was a success. They were bought by Microsoft for Azure. I guess I wonder if a PaaS company can survive without getting the profits off renting the machines to people. Amazon, Google, and Microsoft all have PaaS options based around the idea that it comes bundled with the compute, not as a standalone open-source thing for you to use on any platform.
I guess the question is whether Porter's business plan is "make enough that a company that owns a cloud wants to buy us". Oracle could probably use a nice PaaS platform and team. Maybe DigitalOcean would like to beef up their PaaS offering by acqui-hiring a team with proven knowledge.
Poking around https://deislabs.io, it's interesting to see that they have a project called "Porter" which seems to be unrelated to the "Porter" being launched here: https://porter.sh. They aren't quite the same, but they both have "easily run your app" goals.
-
Make Kubernetes as easy as Heroku. Open source PaaS to deploy Docker containers on a Kubernetes cluster running in YOUR OWN cloud provider.
There is already this from Microsoft https://github.com/getporter/porter
What are some alternatives?
dhall-kubernetes - Typecheck, template and modularize your Kubernetes definitions with Dhall
CapRover - Scalable PaaS (automated Docker+nginx) - aka Heroku on Steroids
xontrib-pipeliner - Let your pipe lines flow thru the Python code in xonsh.
helm-charts - Komodor.io public helm charts
governance - Documentation and automation for the Concourse project governance model.
terraform - Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.
terraform-ls - Terraform Language Server
porter - Kubernetes powered PaaS that runs in your own cloud.
saddle-data-graph - where does it come from, where does it go?
pulumi-terraform-bridge - A library allowing providers built with the Terraform Plugin SDK to be bridged into Pulumi.
drawio-desktop - Official electron build of draw.io
kapp-controller - Continuous delivery and package management for Kubernetes.