Skip to content

YamilAyma/awesome-everything-as-code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Awesome Everything-as-Code (EaC) Awesome

A curated list of tools, patterns, and methodologies for a text-based, versionable, and automated world.

Everything as Code (EaC) is the philosophy of treating all aspects of the software development lifecycle and business operations—infrastructure, diagrams, presentations, policies, and even finance—as code. If it's in Git, it exists.

Contents

Foundations

The languages and specifications that power the EaC world.

  • YAML - Human-friendly data serialization standard.
  • HCL - HashiCorp Configuration Language built for infrastructure.
  • JSON - Lightweight data-interchange format.
  • TOML - Tom's Obvious Minimal Language for configuration files.
  • CUE - Data validation language that makes it easy to define and use data schemas.
  • Jsonnet - Data templating language for generating JSON/YAML.
  • OpenAPI - Standard for defining RESTful APIs in YAML/JSON.
  • Markdown - The ubiquitous markup language for documentation.

Infrastructure & Cloud

Infrastructure as Code

Define and provision infrastructure using declarative configuration files.

  • Terraform - Infrastructure as Code tool for building, changing, and versioning infrastructure.
  • OpenTofu - Open source fork of Terraform.
  • Pulumi - Infrastructure as Code using familiar programming languages.
  • CDK - Define AWS cloud infrastructure using familiar programming languages.
  • CDKTF - Use familiar programming languages to define Terraform infrastructure.

Configuration as Code

Manage system and application configuration through version-controlled files.

  • Ansible - Agentless automation and configuration management in YAML.
  • Helm - The package manager for Kubernetes with templated YAML.
  • Kustomize - Kubernetes native configuration management without templates.

Policy as Code

Define security, compliance, and governance rules as versionable code.

  • Open Policy Agent - Policy-based control for cloud native environments.
  • Sentinel - Policy as code framework by HashiCorp.
  • Conftest - Write tests against structured configuration data.
  • Checkov - Static analysis tool for infrastructure as code security.
  • Trivy - Comprehensive security scanner for containers and IaC.
  • Falco - Cloud native runtime security using declarative rules.

Visuals & Media

Diagrams as Code

Create diagrams and visualizations from text-based definitions.

  • D2 - A modern declarative language that turns text into professional diagrams.
  • Mermaid - JavaScript-based diagramming tool that renders Markdown-inspired text.
  • PlantUML - Create UML diagrams from plain text descriptions.
  • Graphviz - Open source graph visualization software using DOT language.
  • Diagrams - Draw cloud system architecture in Python code.
  • Markmap - Visualize Markdown documents as interactive mindmaps.
  • Structurizr - Architecture diagrams as code using the C4 model.
  • Infographic - Declarative infographic rendering.

Presentations as Code

Build slide decks using text files and version control.

  • Slidev - Markdown-based presentation slides with Vue components for developers.
  • Marp - Markdown presentation ecosystem with CLI and VS Code support.
  • reveal.js - HTML presentation framework with Markdown support.
  • Spectacle - React-based presentation library.

Documents as Code

Create professional documents from markup and code.

  • Typst - Modern markup-based typesetting system for documents.
  • LaTeX - Document preparation system for high-quality typesetting.
  • Pandoc - Universal document converter between markup formats.
  • Asciidoctor - Text processor for converting AsciiDoc to various formats.

Video as Code

Generate video content programmatically.

  • Remotion - Create real videos programmatically using React.
  • Manim - Create mathematical animations programmatically in Python.
  • Satori - Convert HTML and CSS into SVG images.
  • Motion Canvas - TypeScript library for creating animated videos.

Data & Analytics

Data Transformation as Code

Define data pipelines and transformations in version-controlled code.

  • dbt - The industry standard for data transformation as code.
  • SQLMesh - Next-generation data transformation framework.
  • Malloy - Experimental language for describing data relationships.
  • Dagster - Data orchestration platform with declarative pipelines.

BI as Code

Build reports and dashboards using SQL and Markdown.

  • Evidence.dev - Build high-quality data products using SQL and Markdown.
  • Rill - Fast operational dashboards from SQL and YAML.

Data Quality as Code

Define data validation and expectations as code.

  • Great Expectations - Data validation and documentation as code.
  • Soda - Data quality testing using YAML configuration.
  • dbt tests - Built-in testing framework for dbt models.

Visualization Libraries

Programmatic charting and plotting tools for data analysis.

  • Matplotlib - Comprehensive 2D plotting library for Python.
  • Seaborn - High-level statistical data visualization built on Matplotlib.
  • Altair - Declarative statistical visualization library for Python built on Vega-Lite.
  • Plotly - Interactive plotting library for Python, R, and JavaScript.
  • Bokeh - Interactive visualization library for modern web browsers.
  • ggplot (plotnine) - Grammar of graphics for Python inspired by R's ggplot2.
  • Vega/Vega-Lite - Declarative language for creating, saving, and sharing interactive visualization designs.
  • D3.js - JavaScript library for manipulating documents based on data.
  • Chart.js - Simple yet flexible JavaScript charting for designers & developers.
  • Holoviews - Declarative data analysis and visualization library for Python.

Business & Productivity

Resume as Code

Create and maintain your resume in structured data formats.

Finance as Code

Track personal and business finances in plain text.

  • Beancount - Double-entry bookkeeping in plain text.
  • Ledger - Command-line accounting with plain text files.
  • hledger - Plain text accounting software inspired by Ledger.

Notes as Code

Manage knowledge and notes in plain text format.

  • Org Mode - Notes, planning, and authoring in plain text for Emacs.
  • Obsidian - Knowledge base that works on local Markdown files.

Patterns & Methodologies

Approaches for scaling the EaC philosophy across organizations.

Resources

Books

Essential reading for the Everything as Code practitioner.

  • Infrastructure as Code - Comprehensive guide to managing cloud infrastructure with automation by Kief Morris.
  • Terraform: Up & Running - Practical guide to writing, planning, and creating IaC with Terraform by Yevgeniy Brikman.

Articles

Key articles explaining EaC concepts and practices.

Talks

Conference talks and presentations about EaC practices.

Related Awesome Lists

Other curated lists covering related topics.

Infrastructure & Cloud

Diagrams & Documentation

Data

Security & Policy

Productivity

Contributing

Contributions are welcome! Please read the contribution guidelines first.

About

A curated collection of EaC tools

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors