terraform VS cue

Compare terraform vs cue and see what are their differences.

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. (by hashicorp)

cue

The home of the CUE language! Validate and define text-based and dynamic configuration (by cue-lang)
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
terraform cue
501 109
41,235 4,766
0.6% 1.4%
9.9 9.8
7 days ago 2 days ago
Go Go
GNU General Public License v3.0 or later Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

terraform

Posts with mentions or reviews of terraform. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-29.
  • AWS Cloud Platform for highly loaded WordPress website
    3 projects | dev.to | 29 Apr 2024
    I am not only a big fan of hashicorp terraform. I'm also one of the early adopters of it. So this is my main go-to Infrastructure as a Code tool. However all the resources I use are supported by other IaaC solutions such as AWS CloudFormation and AWS CDK. You definitely got to use one to avoid loosing the track of resources you create.
  • Why CISA Is Warning CISOs About a Breach at Sisense
    3 projects | news.ycombinator.com | 11 Apr 2024
    State Encryption was one of those long requested features[0] (I had it on my ideas list for years[1]) that Hashicorp didn't have much incentive to build. I don't think it has to with distancing opentofu as such, but the opentofu team prioritizing the right things that customers actually need.

    [0]: https://github.com/hashicorp/terraform/issues/9556

    [1]: https://github.com/captn3m0/ideas#-mars-terraform-remote-htt...

  • OpenTofu Response to HashiCorp's Cease and Desist Letter
    2 projects | news.ycombinator.com | 11 Apr 2024
    https://github.com/hashicorp/terraform/issues/34402

    I’m not a lawyer and have no idea who is right or wrong but I understand why Hashicorp is scrutinizing this.

  • The power of the CLI with Golang and Cobra CLI
    9 projects | dev.to | 6 Apr 2024
    Just to give an example of the power of Go for CLI builds, you may have already used or at least heard of Docker, Kubernetes, Prometheus, Terraform, but what do they all have in common? They all have a large part of their usability via CLI and are developed in Go 🐿.
  • I Deployed My Own Cute Lil’ Private Internet (a.k.a. VPC)
    8 projects | dev.to | 18 Mar 2024
    Each app’s front end is built with Qwik and uses Tailwind for styling. The server-side is powered by Qwik City (Qwik’s official meta-framework) and runs on Node.js hosted on a shared Linode VPS. The apps also use PM2 for process management and Caddy as a reverse proxy and SSL provisioner. The data is stored in a PostgreSQL database that also runs on a shared Linode VPS. The apps interact with the database using Drizzle, an Object-Relational Mapper (ORM) for JavaScript. The entire infrastructure for both apps is managed with Terraform using the Terraform Linode provider, which was new to me, but made provisioning and destroying infrastructure really fast and easy (once I learned how it all worked).
  • Configurar AWS Signer en lambda con terraform
    2 projects | dev.to | 18 Mar 2024
  • Cranelift code generation comes to Rust
    5 projects | news.ycombinator.com | 18 Mar 2024
  • The Essential Guide to Internal Developer Platforms
    3 projects | dev.to | 13 Mar 2024
    For example, integrating Terraform for infrastructure as code (IaC) into the IDP can streamline updates and rollbacks.
  • Experience Continuous Integration with Jenkins | Ansible | Artifactory | SonarQube | PHP
    8 projects | dev.to | 24 Feb 2024
    In this project, you will understand and get hands on experience around the entire concept around CI/CD from applications perspective. To fully gain real expertise around this idea, it is best to see it in action across different programming languages and from the platform perspective too. From the application perspective, we will be focusing on PHP here; there are more projects ahead that are based on Java, Node.js, .Net and Python. By the time you start working on Terraform, Docker and Kubernetes projects, you will get to see the platform perspective of CI/CD in action.
  • The 2024 Web Hosting Report
    37 projects | dev.to | 20 Feb 2024
    Infrastructure as Code (IaC) is an important part of any true hosting operation in the public cloud. Each of these platforms has their own IaC solution, e.g. AWS CloudFormation. But they also support popular open-source IaC tools like Pulumi or Terraform. A category of tools that also needs to be discussed is API gateways and other app-specific load balancers. There are applications for internal consumption, which can be called microservices if you have a lot of them. And often microservices use advanced networking options such as a service mesh instead of just the native private network offered by a VPC.

cue

Posts with mentions or reviews of cue. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-29.
  • TypeSpec: A New Language for API-Centric Development
    11 projects | news.ycombinator.com | 29 Apr 2024
    If you are in a situation where you have a backend and you want to expose an API and then you would eventually want a client, you would need format specs as the starting point where server and clients are generated from that one source.

    At the moment, OpenAPI with YAML is the only way to go but you can't easily split the spec into separate files as you would do any program with packages, modules and what not.

    There are third party tools[0] which are archived and the libraries they depend upon are up for adoption.

    In that space, either you can use something like cue language 1] or something like TypeSpec which is purpose built for this so yet, this seems like a great tool although I have not tried it yet myself.

    [0]. https://github.com/APIDevTools/swagger-cli

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

    EDIT: formating

  • Show HN: Workout Tracker – self-hosted, single binary web application
    6 projects | news.ycombinator.com | 29 Feb 2024
    Where `kube.cue` sets reasonable defaults (e.g. image is /). The "cluster" runs on a mini PC in my basement, and I have a small Digital Ocean VM with a static IP acting as an ingress (networking via Tailscale). Backups to cloud storage with restic, alerting/monitoring with Prometheus/Grafana, Caddy/Tailscale for local ingress.

    [1] https://www.talos.dev/

    [2] https://cuelang.org/

  • Apple releases Pkl – onfiguration as code language
    14 projects | news.ycombinator.com | 3 Feb 2024
    I've been somewhat surprised that CUE bills itself as "tooling friendly" and doesn't yet have a language server- the number one bit of tooling most devs use for a particular language.

    I'm assuming it's becaus CUE is still unstable?

    Anyway, if others are interested in CUE's LSP work, I think https://github.com/cue-lang/cue/issues/142 is the issue to subscribe to

  • Why the fuck are we templating YAML? (2019)
    27 projects | news.ycombinator.com | 23 Jan 2024
    This is where I usually pitch in with "Have your heard of CUELang, our lord and savior?": https://cuelang.org/

    - Not turing complete

  • 10 Ways for Kubernetes Declarative Configuration Management
    23 projects | dev.to | 1 Jan 2024
    CUE: The core problem CUE solves is "type checking", which is mainly used in configuration constraint verification scenarios and simple cloud native configuration scenarios.
  • Lua is a viable alternative for JSON
    1 project | news.ycombinator.com | 4 Nov 2023
    If you really want executable configurations please consider a newer language like https://dascript.org or https://cuelang.org which provide better type safety.

    1- https://news.ycombinator.com/item?id=38030778

  • Writerside – a new technical writing environment from JetBrains
    3 projects | news.ycombinator.com | 23 Oct 2023
    Markdown and XML are nice, but what about more advanced documentation formats like OpenAPI? For one recent project, I set up automatic generation of the OpenAPI docs from (much more compact and flexible) CUE definitions (https://cuelang.org/) - which has the bonus of also being able to test the API against the definitions. JetBrains has a CUE plugin, but it's really barebones (doesn't even support jumping from the usage of a schema to its definition). Of course the possibilities when generating docs are endless (just think of the various syntaxes for doc comments, embedding examples/tests in source code etc.)...
  • Show HN: Config-file-validator – CLI tool to validate all your config files
    3 projects | news.ycombinator.com | 29 Sep 2023
    It doesn't include validators for TOML and INI, but if you're doing JSON and YAML, I would take a look at using or building upon CUE (https://cuelang.org/). It is a different take on schema definition (plus more), and is surprising terse and powerful model.
  • That's a Lot of YAML
    14 projects | news.ycombinator.com | 28 Sep 2023
  • An INI Critique of TOML
    3 projects | news.ycombinator.com | 21 Sep 2023

What are some alternatives?

When comparing terraform and cue you can also consider the following projects:

terragrunt - Terragrunt is a thin wrapper for Terraform that provides extra tools for working with multiple Terraform modules.

dhall-lang - Maintainable configuration files

Docker Compose - Define and run multi-container applications with Docker

jsonnet - Jsonnet - The data templating language

terraform-provider-restapi - A terraform provider to manage objects in a RESTful API

starlark-rust - A Rust implementation of the Starlark language

crossplane - The Cloud Native Control Plane

Protobuf - Protocol Buffers - Google's data interchange format

boto3 - AWS SDK for Python

jsonnet-libs - Grafana Labs' Jsonnet libraries

nvim-lspconfig - Quickstart configs for Nvim LSP

starlark-go - Starlark in Go: the Starlark configuration language, implemented in Go