dhall-aws-cloudformation
octoDNS
Our great sponsors
dhall-aws-cloudformation | octoDNS | |
---|---|---|
2 | 13 | |
28 | 2,965 | |
- | 1.5% | |
6.6 | 9.4 | |
about 2 months ago | 6 days ago | |
Haskell | Python | |
BSD 3-clause "New" or "Revised" License | MIT 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.
dhall-aws-cloudformation
-
The Dhall Configuration Language
I have been writing a fair amount of Dhall using autogenerated CloudFormation bindings ( https://github.com/jcouyang/dhall-aws-cloudformation/ ). It is a fantastic way to reduce boilerplate and factor out recurring blobs. My main frustration is that the type checker is not smart enough (or maybe the type system is undecidable?) - every time you want to use a polymorphic function, you must pass in the type parameters yourself (this is also true for empty lists and `None`). This makes simple FP idioms extremely noisy, to the point where you're better off writing longhand. In a language that's meant to be alleviating YAML/JSON boilerplate.
It's still a massive improvement, but it could be so much better if the typechecker was smarter.
- Typecheck and Modularize AWS CloudFormation with Dhall
octoDNS
- Show HN: WireHub – easily create and share WireGuard networks
- OctoDNS: Tools for managing DNS across multiple providers
-
What is the best way to integrate the bind9 service on ci/cd?
Change to a supported provider for octoDNS. I've done some automating of bind files using Jinja2/Ansible, but I had to roll my own.
-
Converting BIND DNS zones to HCL
I'd use OctoDNS with the ZoneFileSource to parse the zone files into the YAML files so I have structured data to work with, then I'd write a script to loop through each one and generate the above var.records data structure for each
-
The Dhall Configuration Language
We use https://github.com/octodns/octodns for some of our DNS records. It's flexible, much faster than Terraform for thousands of records, and the maintainer Ross has been responsive on issues and pull requests. Also see Cloudflare's blog for how they use it
-
Some of the popular DNS management services as a self hosted service
OctoDNS https://github.com/octodns/octodns
- DNSControl - the most underrated DNS tool
- AWS is down! Half of the internet is down!
-
Akamai Edge DNS Down
Have them all hot and live rather than any sort of failover system. Keep everything in sync with OctoDNS or similar
https://github.com/octodns/octodns
-
Sync Azure DNS zones with onpremise Windows DNS Server
Finally, you could explore the use of third-party sync tools - https://github.com/octodns/octodns might be a good choice.
What are some alternatives?
dhall-nix
DnsControl - Infrastructure as code for DNS!
cachix - Command line client for Nix binary cache hosting:
DomainMOD - DomainMOD is an open source application written in PHP & MySQL used to manage your domains and other internet assets in a central location. DomainMOD also includes a Data Warehouse framework that allows you to import your web server data so that you can view, export, and report on your live data.
jrsonnet - Rust implementation of Jsonnet language
lexicon - Manipulate DNS records on various DNS providers in a standardized way.
go-jsonnet
Designate - OpenStack Technical Committee Decisions. Mirror of code maintained at opendev.org.
shake-dhall - Facilities for using Shake + dhall
dnstwist - Domain name permutation engine for detecting homograph phishing attacks, typo squatting, and brand impersonation
dhall-manual - The Dhall Configuration Language Manual
desec-stack - Backbone of the deSEC.io Free Secure DNS Hosting Service