WIP Platform Engineering · Self-Service Workflows

FlowDX Platform Architecture

Blueprint técnico para entrega governada de workloads Cloud Native.

Projeto de Platform Engineering em evolução, focado em padronizar provisionamento, CI/CD e GitOps com Terraform, GitHub Actions, Kubernetes, Gateway API e Policy-as-Code.


## Contexto

A FlowDX Platform é um projeto autoral de Engenharia de Plataforma criado para demonstrar, de forma prática, automação de infraestrutura, CI/CD, GitOps, Kubernetes, governança e Developer Experience (DX).

A FlowDX não se propõe a ser uma IDP completa neste estágio. Ela implementa um subconjunto de capacidades comuns em plataformas internas, com foco em automação, governança e padronização da entrega de workloads Cloud Native.

A arquitetura foi desenhada a partir de práticas e aprendizados aplicados em projetos reais de infraestrutura e automação, mas o workload de referência do FlowDX será o flowdx-reference-api, uma API Python com FastAPI. Esse workload consumirá capacidades padronizadas do flowdx-platform e será entregue por GitOps a partir do flowdx-gitops em um cluster Kubernetes local com Kind.


## Estado Atual

O estado atual separa a fundação técnica já existente da arquitetura-alvo em evolução. O portfólio leandrodeobarbosa.dev continua sendo uma evidência real de AWS, Terraform e CI/CD operacionais, incluindo infraestrutura provisionada como código, pipelines automatizadas e práticas de governança. No entanto, ele não será utilizado como workload consumidor da FlowDX Platform. O workload de referência oficial do FlowDX passa a ser o flowdx-reference-api, uma API Python com FastAPI que consumirá capacidades padronizadas do flowdx-platform e será entregue por GitOps a partir do flowdx-gitops.

target flow
$foundation:leandrodeobarbosa.dev em AWS + Terraform + GitHub Actions + OIDC
$current evidence:leandrodeobarbosa.dev
$next:flowdx-platform + flowdx-reference-api + flowdx-gitops

O que já existe hoje

Live AWS Foundation
S3, CloudFront, Route 53, ACM, DynamoDB state locking
Terraform Foundation
Modules e remote state
CI/CD Foundation
GitHub Actions e validações em workflows com matrix-based environment
Governance Foundation
OIDC, drift detection, feedback para o dev com pipeline sanitizado

## System Snapshot (v0)

Esse snapshot descreve a fundação atual, não a arquitetura final do FlowDX.

Infrastructure Foundation

AWS, Terraform, S3, CloudFront, Route 53, ACM e DynamoDB.

AWSTerraformDynamoDB

CI/CD Foundation

GitHub Actions, matrix-based environment validation e deployment automation.

GitHub ActionsCI/CD

Security Foundation

OIDC, least privilege e separated deployment responsibilities.

OIDCLeast Privilege

Governance Foundation

Remote state, state locking, drift detection e sanitized pipeline feedback.

Remote StateDrift Detection

## Diagrama de Contexto

A arquitetura-alvo do FlowDX segue um modelo multi-repositório. O flowdx-platform concentra contratos, reusable workflows, templates e políticas. O flowdx-reference-api representa o workload consumidor da plataforma. O GHCR armazena imagens versionadas e referenciadas por digest. O flowdx-gitops mantém o estado desejado observado pelo ArgoCD. O runtime local é um cluster Kind Kubernetes com NGINX Gateway Fabric, Kyverno, Prometheus e Grafana.

Esse desenho separa responsabilidades entre plataforma, workload, registry, GitOps e runtime Kubernetes.

// Foundation v0 - Diagrama de Contexto
Foundation v0 - Diagrama de Contexto da base AWS, Terraform e CI/CD

## Destaques da Arquitetura

Contract-Driven Workflow

O flowdx.yaml atua como contrato declarativo entre workload e plataforma, evitando que cada aplicação recrie seu próprio fluxo de entrega.

Reusable Workflows

O flowdx-platform concentra workflows reutilizáveis para validação, build, publicação de imagem, validação de Helm e preparação de atualização GitOps.

FastAPI Reference Workload

O flowdx-reference-api usa FastAPI para expor endpoints operacionais e funcionais como /healthz, /readyz, /hello, /metadata, /platform/context e /error, permitindo validar probes, logs, roteamento e observabilidade.

Immutable Image Delivery

A pipeline publica imagens no GHCR com tags rastreáveis e evolui o GitOps para referências imutáveis por image digest, melhorando reprodutibilidade, auditoria e rollback.

GitOps Delivery

O flowdx-gitops mantém o estado desejado do cluster, com ArgoCD observando mudanças e sincronizando workloads.

Gateway API

O NGINX Gateway Fabric será usado para validar entrada de tráfego com Gateway API e HTTPRoute, separando responsabilidades entre plataforma e workload.

Policy-as-Code

Kyverno e validações automatizadas aplicam guardrails para manifests Kubernetes, imagens, labels, probes, recursos e políticas de ambiente.

Local Kubernetes Validation

Kind Kubernetes permite validar o fluxo Cloud Native localmente antes de uma eventual evolução para runtimes gerenciados.


## Container & Ops

A camada de operações do FlowDX será validada inicialmente em Kubernetes local com Kind. O objetivo é demonstrar um fluxo completo de entrega Cloud Native usando o flowdx-reference-api, uma API FastAPI containerizada, Docker image publicada no GHCR com image digest, Helm chart, ArgoCD, NGINX Gateway Fabric, Gateway API, políticas Kyverno, observabilidade básica com Prometheus e Grafana, além de logs estruturados em JSON.

// Foundation v0 - Container & Ops
Foundation v0 - Diagrama de operações da base atual

## O que ainda falta construir

A próxima etapa é transformar a fundação já validada em um fluxo governado de plataforma, workload, registry, GitOps e runtime Kubernetes local.

flowdx-platform com contratos, reusable workflows, templates e policies
flowdx-reference-api como workload FastAPI containerizado
Endpoints operacionais: /healthz, /readyz, /hello, /metadata, /platform/context, /error
Logs estruturados em JSON
Dockerfile e build padronizado
Publicação de imagem no GHCR
Referência imutável por image digest no GitOps
Helm chart validado em CI
flowdx-gitops com ArgoCD Applications, Helm values e cluster config
Gateway API com NGINX Gateway Fabric
HTTPRoute para o flowdx-reference-api
Cluster Kind com ArgoCD, Kyverno, Prometheus e Grafana
Policies Kyverno para probes, labels, resources, imagens sem latest e digest em ambientes controlados
Documentação operacional do fluxo

## Visão de Evolução

A visão de evolução deixa de ser uma interface de geração de projetos e passa a ser um fluxo governado de CI/CD e GitOps, com contrato declarativo, imagem imutável e validações de plataforma antes do merge.

workload-request
FLOWDX / WORKLOAD REQUEST
workload: flowdx-reference-api
runtime: FastAPI
delivery: GitOps / ArgoCD
environment: staging
platform: flowdx-platform
gitops: flowdx-gitops
gateway: NGINX Gateway Fabric
image: pinned by digest
checks:
✓ flowdx.yaml accepted
✓ image published to GHCR
✓ image digest resolved
✓ Helm chart valid
✓ Gateway API route prepared
✓ Kyverno policies passed
✓ GitOps update prepared
status:
ready for governed merge

## Roadmap de Evolução

A evolução é incremental e orientada a entregas pequenas, verificáveis e demonstráveis.

Fase 1 Current / In Progress

Platform Foundation

Criar o flowdx-platform com contratos, reusable workflows, templates e primeiras regras de governança.

Fase 2 Planned

Reference API Workload

Criar o flowdx-reference-api com FastAPI, endpoints operacionais, logs estruturados, Dockerfile, Helm chart e flowdx.yaml.

Fase 3 Planned

Container Delivery

Buildar e publicar imagem no GHCR usando tags rastreáveis e resolver image digest para o GitOps.

Fase 4 Planned

GitOps Repository

Criar o flowdx-gitops com ArgoCD Applications, Helm values, image digest references e configuração do cluster.

Fase 5 Planned

Local Kubernetes Validation

Validar o fluxo em Kind com ArgoCD, flowdx-reference-api, Helm, Kyverno, Prometheus e Grafana.

Fase 6 Planned

Gateway API & Traffic Management

Adicionar NGINX Gateway Fabric, Gateway API e HTTPRoute para validar entrada de tráfego governada.

Fase 7 Future

Governance & Policy-as-Code

Evoluir validações, required checks, approval gates, summaries sanitizados, políticas Kyverno e regras para imagens imutáveis.

Fase 8 Future

Platform Maturity

Melhorar versionamento de contratos, versionamento de reusable workflows, estratégia de releases e documentação operacional.


## FlowDX Platform Modules

flowdx-platform

Repositório central de plataforma. Contém contratos, reusable workflows, templates e policies.

flowdx-reference-api

Workload de referência. Contém FastAPI, Dockerfile, Helm chart, structured logs e flowdx.yaml.

flowdx-gitops

Fonte de verdade GitOps. Contém ArgoCD Applications, Helm values, Gateway API resources, image digest references e configuração do cluster.

GHCR

Registry usado para armazenar imagens versionadas e referenciadas por digest.


## Princípios de Arquitetura

01

Platform capabilities over custom pipelines

Workloads devem consumir capacidades padronizadas da plataforma, não recriar pipelines do zero.

02

Declarative contracts

A intenção do workload deve ser expressa via contrato declarativo, como flowdx.yaml.

03

GitOps as runtime source of truth

O estado desejado do runtime Kubernetes deve estar versionado no flowdx-gitops.

04

Immutable delivery

Deploys devem evoluir para referências imutáveis por image digest, evitando dependência de tags mutáveis.

05

Gateway API as platform boundary

A entrada de tráfego deve ser modelada com Gateway API, separando responsabilidades entre plataforma e aplicação.

06

Policy-as-Code

Governança deve ser aplicada por validações automatizadas e políticas versionadas.

07

Incremental evolution

O projeto deve evoluir por fases pequenas, verificáveis e demonstráveis.

08

Security and auditability by default

Feedbacks de pipeline devem ser úteis, mas sanitizados. Plan, state, logs, artifacts e outputs devem ser tratados como potencialmente sensíveis.


## Por que esse projeto existe

A FlowDX Platform existe para demonstrar, de forma prática, como capacidades de plataforma podem padronizar entrega de workloads, governança, GitOps, automação e operação em ambientes Cloud Native.

O projeto combina uma fundação real já validada em AWS com uma arquitetura-alvo orientada a Kubernetes, reusable workflows, contratos declarativos, Gateway API, Policy-as-Code e observabilidade.


## Evidências Técnicas

As evidências técnicas ficam separadas entre o que já existe e as capacidades em evolução.

Evidências já existentes

Infraestrutura real na AWS
Módulos Terraform
Remote state
DynamoDB state locking
GitHub Actions
OIDC
Drift detection
Feedback de pipelines sanitizado para times de desenvolvimento

Capacidades em evolução

flowdx-platform
Workflow Reutilizáveis
flowdx-reference-api com FastAPI
Logs Estruturados
Docker
GHCR
Image digest
flowdx-gitops
Kubernetes
ArgoCD
NGINX Gateway Fabric
Gateway API
Kyverno
Prometheus
Grafana