Muhammed İKİNCİ

pin - pipeline daemon with real-time events & HTTP API

Run pipelines as a daemon service with live monitoring via Server-Sent Events. Trigger builds remotely through HTTP API, watch logs in real-time, and run isolated Docker containers. Simple YAML config, powerful execution.

Add a comment

Replies

Best
Muhammed İKİNCİ

Hey Product Hunt! 👋

I built Pin as a side project to experiment with Docker-based pipelines and real-time streaming.

What it does:
Pin is a pipeline tool that runs as a daemon service. You can trigger pipelines via HTTP and watch them execute in real-time through Server-Sent Events.

Quick example:

# build.yaml
workflow:
  - build
  - test

build:
  image: golang:1.21-alpine
  copyFiles: true
  script:
    - go mod download
    - go build -o app ./cmd/main.go
    - ls -la

test:
  image: golang:1.21-alpine
  copyFiles: true
  script:
    - go test ./...

Run yaml:

pin apply -f build.yaml

Output:

✅ Pipeline validation successful
⚉ build Image pulling: golang:1.24-alpine
Status: Downloaded newer image for golang:1.24-alpine 
⚉ build Start creating container
⚉ build Starting the container
⚉ build soloExecution disabled, shell command started!
⚉ build Command execution successful
⚉ build Command Log:
...
⚉ build Container stopping
⚉ build Container stopped
⚉ build Container removing
⚉ build Container removed
⚉ build Job ended
⚉ test Image is available
⚉ test Start creating container
⚉ test Starting the container
⚉ test soloExecution disabled, shell command started!
⚉ test Command execution successful
⚉ test Command Log:
...
⚉ test Container stopping
⚉ test Container stopped
⚉ test Container removing
⚉ test Container removed
⚉ test Job ended


Quick demo for daemon mode:

# Start the daemon
pin apply --daemon
# Trigger a pipeline
curl -X POST --data-binary @pipeline.yaml http://localhost:8081/trigger
# Watch live events
curl -N http://localhost:8081/events


Some features I added:
- Parallel job execution
- Automatic retry with exponential backoff
- Conditional execution based on environment
- Docker isolation for clean builds

It's open source and pretty straightforward to use. If you need pipeline automation with live monitoring, give it a try.

Would love to hear your thoughts or feedback!

📖 Docs: https://github.com/muhammedikinci/pin/blob/main/docs/README.md
💡 Examples: https://github.com/muhammedikinci/pin/blob/main/docs/examples.md