google / google/codeworld

Migrate production server to GCP load balancers w/ Google-managed SSL certs

Aperta
#966 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
cleanup
Lingua principale
Haskell
Stelle
1.3k
Fork
201
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Currently, the production CodeWorld server runs on a GCP Compute Engine instance with a static IP address, proxies the `codeworld-server` and `codeworld-game-server` binaries behind nginx, and runs certbot to keep the SSL certs up-to-date that are used by the nginx instance on the same server. This is a complex setup, with [detailed instructions](https://github.com/google/codeworld/blob/master/ServerSetup.md) that try to help with the setup process, but in practice are out of date. I'm afraid to set up a server from scratch, so I keep cloning and modifying the existing server instead.

Here's a better idea: the production server ONLY runs `codeworld-server` and `codeworld-game-server`, each on their own ports. These instances don't have public IP addresses at all. I use a standard GCP HTTPS load balancer with a Google-managed certificate (basically the same as a certbot certificate) to proxy access from the outside world. Much easier to set up, and trivial to scale to more build servers if necessary.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Iniziare da ServerSetup.md e rivedere la configurazione attuale di produzione per nginx, certbot, codeworld-server e codeworld-game-server. Definire la configurazione del GCP HTTPS load balancer e del Google-managed certificate, quindi verificare che entrambi i servizi possano essere eseguiti senza IP pubblici e che l’accesso esterno funzioni tramite il load balancer.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
gcp, nginx
Ambito
cloud, devops, infrastructure
Tipo di issue
Refactoring
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.