Docker-compose.yml as a universal infrastructure interface

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • kompose

    Convert Compose to Kubernetes

  • I just want to point out that already exist a tool that convert a docker-compose.yml file to several k8s manifests: https://kompose.io . You have to adjust some details because is not perfect, obviously.

  • dhall-lang

    Maintainable configuration files

  • CUE [1] is kinda-sorta "transpiled" into by Pulumi's language support facility [2]. In general the greater the domain space being expressed the more I'm leery of this kind of approach; leaky abstractions creep in faster the larger the volume of concepts embraced. Infrastructure is a pretty big concepts volume. Whatever the source system (Pulumi in this case) does not provide a hook for that the target system (CUE in this case) supports for example, hacks tend to start to emerge. If there was both this layer of abstraction and a "break glass" layer available down to something analogous to an Abstract Syntax Tree level of primitives, then the target systems at least have hooks to compose new abstractions via some kind of DSL into the source system perhaps. There be dragons there too, though; no panaceas, but at least it is better than all sorts of hacks.

    I want to find out with CUE's BCL heritage to fix what they got wrong with BCL at Google being used by Borg, what the CUE team is doing to try to avoid the Second System Effect biting them as they build CUE.

    Both CUE and Dhall [3] seem promising when first deployed, but some field experience is reporting challenges I typically associate with immature tooling ecosystems surrounding them [4] that come up short when trying to reason beyond what the out of the box experience can quickly support when working at scale.

    One part I haven't quite figured out with these configuration expressions is how to seamlessly flow their models between organizational data models (to answer who owns what type questions, example) and operational data models (to answer who is on call type questions, for example), and gracefully manage the mistakes inevitably made in those models, without mountains of manual toil and bespoke in-house glue code.

    [1] https://cuelang.org/docs/about/

    [2] https://www.pulumi.com/blog/extending-pulumi-languages-with-...

    [3] https://dhall-lang.org/

    [4] https://news.ycombinator.com/item?id=32102203

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • yq

    yq is a portable command-line YAML, JSON, XML, CSV, TOML and properties processor

  • There actually is a yq [0] which I've used effectively for basic parsing and manipulation tasks on the command line. But I've no idea how well it handles YAML corner cases or how many advanced features it's missing compared to jq.

    [0] https://github.com/mikefarah/yq

  • ants

  • I've started using this setup for my Nim projects. I created a project that lets me use Nim instead of YAML for a statically checked configuration system. It can be run and output json, yaml, or run as is in Nim code. Its been much nicer than pure YAML! https://github.com/elcritch/ants/tree/main

    Not satisfied I used a simple source filter to get a YAML compatible variant: https://github.com/elcritch/ants/blob/main/tests/cimport_exa...

    Our concept of configs languages needs to keep evolving.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Dhall configuration language as another way to write manifests for Kubernetes

    2 projects | /r/kubernetes | 4 Apr 2022
  • DSLs Are a Waste of Time

    2 projects | news.ycombinator.com | 4 Sep 2023
  • Why is Kubernetes adoption so hard?

    1 project | news.ycombinator.com | 1 Jun 2023
  • Is there any interest in a typed configuration language?

    3 projects | /r/Python | 15 Feb 2023
  • Nyarna: A structured data authoring language in the spirit of LaTeX, implemented in Zig

    3 projects | /r/Zig | 23 Aug 2022