Skip to content

d-led/ex_gocd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

709 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ExGoCD

A Phoenix LiveView rewrite of Thoughtworks GoCD — distributed CI/CD with plugin extensibility, built-in observability, and a Go-powered agent.

Quality Gate Tests Cypress


Quick Start

mix setup              # install deps, create DB
mix phx.server         # start at localhost:4000

With Go agents (process-compose)

docker compose up -d postgres jaeger otel-collector
process-compose up

Starts Phoenix server + CI agent (elixir,postgres) + Docker agent (docker). See process-compose.yaml.

Features

Full GoCD parity — pipelines, stages, jobs, materials, VSM, analytics, config-as-code, elastic agents, RBAC, and more. See PARITY.md.

Area Highlights
Pipeline engine Scheduling, fan-in, config diff, locking, manual/auto trigger
Agents WebSocket protocol, Go binary (~10MB), elastic (K8s + Docker)
UI LiveView dashboard, stage overview popups, Gantt charts, VSM
Config XML import/export, YAML config repos, templates, wizard
Observability Built-in OpenTelemetry, Jaeger traces, Grafana dashboards
Plugins Standalone OTP apps — agent selectors, org hierarchy, auth
Security RBAC with Bodyguard, per-environment policies, PAT, encryption

Stack

Layer Tech
Server Elixir + Phoenix LiveView + Ecto (PostgreSQL)
Agents Go — statically linked, no cgo
Plugins Standalone OTP apps via libcluster
Frontend Phoenix LiveView + Tailwind CSS + daisyUI
Ops OpenTelemetry, Jaeger, Grafana, Docker Compose

Services

Service URL
ex_gocd localhost:4000
Adminer (DB) localhost:8092
Grafana localhost:3000
Jaeger (traces) localhost:16686
smtp4dev (email) localhost:8025

Testing

mix test                              # full suite (needs Postgres)
EX_GOCD_TEST_NO_DB=1 mix test_no_db   # skip DB tests
bash scripts/quality-gate.sh          # all static analysis + tests

Docs

License

Mozilla Public License 2.0 — see LICENSE.

About

opportunistic experimental rewrite of GoCD into Phoenix Framework

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors