mazzle
Newt
Our great sponsors
mazzle | Newt | |
---|---|---|
4 | 2 | |
83 | 0 | |
- | - | |
2.3 | 4.4 | |
7 months ago | 9 months ago | |
Python | C# | |
MIT License | GNU Affero General Public License v3.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
Newt
-
I love building a startup in Rust. I wouldn't pick it again
> Actually, it does work from Linux ... cross-compiled from Linux to Windows.
Here's a link to the commands I use to generate my cross-platform builds [1]. They are easy enough to stick in a shell script or batch file so you get all the builds with one command. These produce single executables, trimmed for size.
[1] https://github.com/kcartlidge/Newt#generating-stand-alone-bu...
-
Graphviz v7
Graphviz is excellent. I use it for (amongst other things) generating diagrams of states and transitions, and also for automatically mapping choices as I write interactive fiction.
More generally I've added it to Newt [1], which is my in-progress C# code generator. It scans a PostgreSQL database to automatically generate a class library with models and EF Core data contexts. And as part of that it generates a dot notation Graphviz source file for showing the tables and relationships (the repo includes an example image [2]). The example only shows a couple of tables, but it gives an idea of what can be produced (and also shows the .dot source file that was created to produce it).
[1] https://github.com/kcartlidge/Newt
What are some alternatives?
dhall-kubernetes - Typecheck, template and modularize your Kubernetes definitions with Dhall
featdoc - Feature documentation made easy: docs-as-code
xontrib-pipeliner - Let your pipe lines flow thru the Python code in xonsh.
edgedb-net - The official .NET client library for EdgeDB
governance - Documentation and automation for the Concourse project governance model.
pidove
terraform-ls - Terraform Language Server
diagrams - :art: Diagram as Code for prototyping cloud system architectures
saddle-data-graph - where does it come from, where does it go?
go - The Go programming language
drawio-desktop - Official electron build of draw.io
Graphviz.NetWrapper - Lean .NET wrapper around Graphviz for building graphs, reading/writing dot files, exporting images, or programmatically reading out the layout attributes.