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

Every apply pulls first, then commits and pushes after. Code, state, config, and secrets land in the repo together — no state file to track separately, no '.env' on laptops, no forgotten commits.

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

One repository, one source of truth. 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.

Not shipped yet.

flk is in pre-release development. Binaries, source, and documentation will land in the coming months.

Get started with flk.

Open source Operations as Code for teams that want one tool, one state, and one source of truth.

Contribute