v0.1.0

One tool.
One state.
Every platform.

Manage GitHub repos, AWS infrastructure, Kubernetes clusters, and Ansible-configured machines from a single YAML codebase with encrypted secrets.

main.yml
01 gh repo payments:
02 create: true
03 name: payments-service
04 visibility: private
05  
06 aws vpc main:
07 create: true
08 cidr_block: "10.0.0.0/16"
09 lifecycle:
10 depends_on: [gh.repo.payments]
Core Features

Why flk?

State

Unified State in Git

A single git-tracked state file across every platform. No external backends, no fragmented databases. Your repository is the only source of truth for your entire cloud footprint.

GitHub AWS Kubernetes Ansible
Execution

Parallel DAG

Automatically resolve dependencies and execute tasks across platforms in the most efficient order. Resources with no dependencies run in parallel.

Security

Age Encryption

Two-tier encryption built in. Shared secrets committed to git, local credentials kept private. Team member lifecycle handled automatically.

Scale

Multi-Profile / Multi-Account

Target multiple AWS accounts, GitHub orgs, and Kubernetes clusters from one project. Cross-profile references let resources in one account depend on resources in another.

Profiles Cross-Account Cross-Org
Integrity

Four-Way Sync

After every apply, flk enforces that code, state, secrets, and live infrastructure are in agreement. Drift is structurally impossible.

Architecture

Pluggable Platforms

Platforms are separate binaries that communicate over a JSON protocol. Build your own with the flk SDK, or use the official GitHub, AWS, Kubernetes, and Ansible platforms.

Go JSON Protocol SDK
Philosophy

Infrastructure as intent.

01 / Core

Single Source of Truth

Eliminate drift between configuration and reality. flk enforces a unified state where the git repository is the only authoritative definition of your infrastructure.

02 / Syntax

YAML + Expressions

No proprietary language to learn. Define resources in standard YAML with a powerful expression layer for conditionals, loops, and cross-resource references.

03 / Modularity

Platform Independence

Platforms are decoupled services. Each runs as its own binary, communicating over a standard JSON protocol. Swap, upgrade, or build new platforms without touching the core.

04 / Scale

Multi-Account Native

Orchestrate across environments, cloud accounts, and organizations with profiles. Cross-profile references let a production VPC depend on a network account's transit gateway.

Comparison

How flk compares.

Feature flk Terraform Terragrunt Pulumi
Cross-Platform Unified State
Parallel DAG Across Providers Limited Limited Limited
Multi-Account Native Workspaces Stacks
Built-in Encrypted Secrets
State in Git
Sync Enforcement
Getting Started

Three commands to production.

terminal
$ flk init # initialize a new project
$ flk plan # preview changes across every platform
$ flk apply # provision everything, in parallel

Expression Namespaces

Reference variables, secrets, platform outputs, and module instances with typed namespaces.

var. secret. each. gh. aws. flk. mod.

Get started with flk.

Open source infrastructure-as-code for teams that want one tool, one state, and every platform.