Skip to content

Latest commit

 

History

History
74 lines (56 loc) · 2.69 KB

File metadata and controls

74 lines (56 loc) · 2.69 KB
drb99

DRB99 - DISTRIBUTE PAINLESSLY!

Release Latest Release Go Reference License


drb99 makes releasing less painful. Pick your channels, hit the API, get your files.

Distribution channels

Channel Generated files
npm package.json · install.js · index.js · README.md · .gitignore
GitHub Release .goreleaser.yml · release.yml
AUR PKGBUILD · aur-release.yml
Nix Flake flake.nix
Docker Dockerfile
Curl install.sh
Iex (Windows) install.ps1

Architecture

The user selects distribution channels in the web UI, which sends a POST /generate request to the API with the required fields. The API returns file contents as JSON, ready to be written directly to disk.

flowchart LR
    User -->|selects channels| UI[Web UI]
    UI -->|POST /generate| API[drb99 API]
    API -->|JSON response| Files[Generated files]
    Files --> npm & GitHub & AUR & Nix & Docker & Curl & Iex
Loading

Example request

curl -s -X POST "http://localhost:8088/api/v1/generate" \
  -H 'Content-Type: application/json' \
  -d '{
    "repo_url": "https://github.com/h3yng/drb99",
    "binary_name": "drb99",
    "runtime_image": "golang:latest",
    "platforms": ["linux-amd64", "windows-amd64"],
    "features": {
      "npm_wrapper": false,
      "goreleaser": false,
      "github_actions": false,
      "docker_container": true
    }
  }'

The response is a JSON object with each requested file's path and contents, ready to write to disk.

Web UI

A hosted UI is available here.

drb99 web UI

API

The API is publicly accessible but not yet stable, breaking changes are ongoing. Full API documentation will be published once the interface settles. Until then, using the web UI is recommended.

Future UPdate

  • More channels
  • More configuration options per channel
  • Multi-language support beyond Go