datafruits / rfcs

RFCs for changes to the datafruits app
2 stars 0 forks source link

Codify Infrastructure #8

Closed caass closed 4 years ago

caass commented 4 years ago

Let's get this thing cracking.

Link to RFC

mcfiredrill commented 4 years ago

Will there be any issue running liquidsoap's harbor input through the proxy, or will that be run through the proxy at all? DJs stream using one of these desktop clients to an endpoint on liquidsoap called the harbor. http://mcfiredrill.github.io/blog/big-list-of-source-clients

It's not exactly standard HTTP requests, so I'm not sure if there will be any issues. Something to think about.

caass commented 4 years ago

@mcfiredrill i'm pretty sure kubernetes ingress can handle any requests made over TCP (or UDP, if we really wanted), so i think streaming audio should be fine. i agree though, worth looking into further.

mcfiredrill commented 4 years ago

By the way the Rails app is deployed currently with capistrano, would that still be necessary or is there another way to deploy with this setup?

caass commented 4 years ago

@mcfiredrill i'm not familiar with capistrano but from my quick 30 second glance it seems like a cd tool, which would be replaced by the same workflow of all the other app repositories that follow the docker workflow:

  1. code is pushed to a repo
  2. ci runs tests
  3. ci builds & pushes docker image
  4. kubernetes detects new image
  5. kubernetes spins up new version
  6. kubernetes kills old version

the db connectivity aspects of capistrano will also be unnecessary because with the sidecar pattern, as far as our rails app is concerned it's just connecting to some port on localhost

mcfiredrill commented 4 years ago

Another thing I'd like to do in the future is look into the possibility of adding multiple relays for different geographic areas to better serve listeners....I imagine once we have this setup going that kind of thing would be easier?

caass commented 4 years ago

@mcfiredrill hmm i think so -- from what i remember in the icecast documentation the relays just need an IP address to forward the streams from, and so i suspect that we could just feed them the address of the cluster ingress and route those requests to the broadcast service.

mcfiredrill commented 4 years ago

Unless there's anything blocking this I think I will merge this week or next, if anyone has any more comments, now its a great time to write them!

I'm going to make a datafruits/infra repo for @caassandra to get started in, and we will create issues and a project roadmap from there.

caass commented 4 years ago

Should we put a number to this RFC instead of 0000? Idk how that all works.

caass commented 4 years ago

Seeing as we now have datafruits/infra I'm gonna be moving planning / roadmap / etc. over there 🙃