troposphere
dhall-lang
troposphere | dhall-lang | |
---|---|---|
18 | 113 | |
4,904 | 4,137 | |
0.2% | 0.3% | |
9.0 | 6.0 | |
3 days ago | 2 months ago | |
Python | Dhall | |
BSD 2-clause "Simplified" License | BSD 3-clause "New" or "Revised" License |
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.
troposphere
-
Pyinfra: Automate Infrastructure Using Python
Seems like an interesting generalized mix of something like https://github.com/cloudtools/troposphere and Ansible from a glance.
The value add would be unifying provisioning and configuration management in a Python-y experience? The lifecycle of each is distinct and that's traditionally where the headaches of using a single tool for both has come in
-
AWS Predictions for 2024
Under the IaC category, in July 2023, AWS added loops to CloudFormation, finally ticking a box the community has been asking for since troposphere. I suspect that, in combination with the Terraform licensing changes, it may keep people using CloudFormation for a while longer.
-
Journey of creating a new AWS CloudFormation resource
Because ECS Compose-X uses Troposphere, I was able to create a very light and simple python library(https://github.com/JohnPreston/troposphere-awscommunity-applicationautoscaling-scheduledaction) to distribute the resource for other Troposphere users to re-use.
- What are some of your favorite projects to support on GitHub?
-
Terraform vs. Cloudformation for an all-AWS Environment in 2023?
Written in house, but the library troposphere is the primary component of how it is built. Example stacks are here.
-
How proficient should Solution Architects be at writing code?
I am kind of going off topic here, but isn't the point of being an SA to be created with code services to deliver solutions at scale that are cost-effective? How in the hell can you do that when you can't write a simple Python template that generates code at 50 times the rate you can manually? How can you ever be expected to deploy a serverless solution if you can't write any code yourself? There has to be some level of proficiency there.
-
Terraform should have remained stateless
Wouldn't using troposphere[1] be easier?
[1] https://github.com/cloudtools/troposphere
-
Hosting your blog on AWS
You might have seen some tutorials on how to set up S3 buckets using the AWS Console. This works fine, but I'm a firm believer of managing your resources with code. I've chosen the native solution of AWS, called AWS CloudFormation. This makes it easier to reproduce the setup if I ever need to tear it down of move it to another account or region. Below is the full CloudFormation template, I've used a framework called Troposphere, a Python library that creates CloudFormation.
-
Alert: Cloud Software Startup Hashicorp Files For IPO
For CF for example I no longer write template in yaml or shudders json, and instead I use troposphere.
-
AWS pros out here, how can someone get good at CloudFormation ?
refer : https://github.com/cloudtools/troposphere
dhall-lang
-
Apple releases Pkl – onfiguration as code language
Fail to see how this is any different than Dhall (https://dhall-lang.org/) other than it produces plists too.
-
Pkl, a Programming Language for Configuration
Kubernetes config is a decent example. I had ChatGPT generate a representative silly example -- the content doesn't matter so much as the structure:
https://gist.github.com/cstrahan/528b00cd5c3a22e3d8f057bb1a7...
Now consider 100s (if not 1000s) of such files.
I haven't given Pkl an in depth look yet, but I can say that the Industry Standard™ of "simple YAML" + string substitution (with delicate, error prone indentation -- since YAML is indentation sensitive) is easily beat by any of:
- https://jsonnet.org/
- https://nickel-lang.org/
- https://nixos.org/manual/nix/stable/language/index.html
- https://dhall-lang.org/
- (insert many more here, probably including Pkl)
- Why the fuck are we templating YAML? (2019)
-
Is Htmx Just Another JavaScript Framework?
There are underpowered languages / tools, that can only solve a problem for which they are intended poorly. But not all limited tools are like that.
Say, eBPF is prominently not Turing-complete, which allows to guarantee that a eBPF program terminates, and even how soon. Still eBPF is hugely useful in its area.
Or, say, regular expressions are limited to regular languages; in particular, they famously [1] cannot process recursive structures, like trees. Still tools like grep / ag / rg are mightily useful.
Yes, I agree that YAML is underpowered for proper k8s configuration! But it's also too powerful for its own good in other aspects [2]. I wish Google used Dhall [3] or their own purely functional config language (FCL? I already forgot the name) instead of YAML; sadly, they did not.
[1]: https://stackoverflow.com/a/1732454/223424
[2]: https://ruudvanasseldonk.com/2023/01/11/the-yaml-document-fr...
[3]: https://dhall-lang.org/
-
10 Ways for Kubernetes Declarative Configuration Management
Dhall: Dhall is a programmable configuration language that combines features like JSON, functions, types, and import capabilities. Its style leans towards functional programming, so if you're familiar with functional-style languages such as Haskell, you might find Dhall to be quite intuitive.
-
Berry is a ultra-lightweight dynamically typed embedded scripting language
I've been thinking along these lines but more 'strongly validated' than statically typed in the sense that you'd be better off being able to load the entire config and then produce a list of problems (and should be able to offer good editor support if done correctly).
Though https://dhall-lang.org/ demonstrates that you can statically type quite a lot of configuration to great advantage, which appears to be programmatically embeddable in multiple languages per https://docs.dhall-lang.org/howtos/How-to-integrate-Dhall.ht...
-
What Is the Point of Decidability
> Where practical is in the sense of an engineer (or in their terms, a CS practitioner),
Configuration processing. E.g. I'd like my yamls to be decidable, though I'd settle for guaranteed to halt[1].
[1] https://dhall-lang.org/
-
What Is Wrong with TOML?
Maybe you'd like jsonnet: https://jsonnet.org/
I find it particularly useful for configurations that often have repeated boilerplate, like ansible playbooks or deploying a bunch of "similar-but" services to kubernetes (with https://tanka.dev).
Dhall is also quite interesting, with some tradeoffs: https://dhall-lang.org/
A few years ago I did a small comparison by re-implementing one of my simpler ansible playbooks: https://github.com/retzkek/ansible-dhall-jsonnet
- Show HN: FlakeHub – Discover and publish Nix flakes
-
Home Blog Better configuration languages – A talk about Dhall [video]
And to checkout Dhall: https://dhall-lang.org/
What are some alternatives?
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.
cue - CUE has moved to https://github.com/cue-lang/cue
aws-cloudformation-coverage-roadmap - The AWS CloudFormation Public Coverage Roadmap
jsonnet - Jsonnet - The data templating language
gohugo-theme-ananke - Ananke: A theme for Hugo Sites
cue - The home of the CUE language! Validate and define text-based and dynamic configuration
aws-cli - Universal Command Line Interface for Amazon Web Services
dhall-kubernetes - Typecheck, template and modularize your Kubernetes definitions with Dhall
jsonlogic - Go Lang implementation of JsonLogic
gitlab-ci-python-library
nix-gui - Use NixOS Without Coding