Initial preview release: FlyCD - ArgoCD/Flux style git-ops for fly.io

So I’ve been working on this for a little bit more than a week now, mostly because I want to use it myself. I’m thinking maybe there are others who might want to use or contribute to this?

I’ve so far worked on this under MIT license, so it’s free to do whatever you like with.

FlyCD currently mostly a proof-of-concept/preview level imitation of ArgoCD/Flux meant for fly.io. FlyCD supports some useful things still, I’d say:

  • FlyCD extends the fly.io fly.toml configuration fields with several additional features.

  • FlyCD runs as cli tool and/or monitoring daemon, listening to changes of a hierarchical structure out projects (groups of apps) and apps through webhooks

  • building and deploying fly apps on demand, and changing their configuration when git repos are updated

  • Supported configuration options right now (flycd v0.0.38) include things like:

    • Basic fields: app, org, region config
    • source config (local folders vs git repos)
    • File merging rules between config and app repos
    • service and scaling configuration
    • custom launch and deploy params
    • environment variables and build config
    • mounts and volumes
    • machine counts, per-region if you want, and deduction of minimum machine counts from service specs.
    • (very) basic secrets forwarding (later maybe integration with secrets managing systems)
  • FlyCD copies all config dynamically, so even if fly.io releases new fields in fly.toml, you can always add it to your flycd specs - however changes that require other operations than deploy/launch will need updates to FlyCD to be supported.

If you have any questions and think this is useful (or not useful) please let me know. I’d be very happy to make changes to it. If there is enough interest I will probably keep working a lot more on it. If there isn’t much interest, I will probably just note it as another experiment :slight_smile: . It would for sure be most preferable if others wanted to pitch in building it. It’s just a bit of a hack so far (code quality level :stuck_out_tongue_winking_eye: ).

The initial thread/question on the subject was here simple self-contained ArgoCD style git-ops with fly.io - what are the options? +PoC: FlyCD app about 8 days ago.

FYI: I’m not part of fly.io, so this is not in any way an official release from fly.io, it’s just been my personal project so far.

2 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.