lumi-api/README.md

2.0 KiB

Miniloom API

Antes que nada solicitar la "master key" de Rails a otrx pirata y colocarla en config/master.key.

Si estás forkeando o solo trabajando localmente, podés eliminar config/credentials.yml.enc y volverlo a crear con:

bundle exec rails credentials:edit
secret_key_base: "Reemplazar con bundle exec rake secret"
vapid:
  public_key: "Correr bundle exec rake webpush:vapid"
  private_key: "Correr bundle exec rake webpush:vapid"

Desarrollo

  • Instalar las herramientas de compilación de la distro (build-essential, base-devel, etc.)

  • Instalar Ruby 2.6.5 usando rbenv y ruby-build

  • Con Ruby 2.6.5 activado, instalar bundler con gem install bundler

  • Clonar este repositorio y dentro del directorio, correr bundle para instalar las gemas.

  • Crear o actualizar la base de datos con bundle exec rake db:migrate

  • Correr el servidor de prueba con bundle exec rails server -b 0.0.0.0

Despliegue

Manual

  • Generar una llave SSH con ssh-keygen -t ed25519 (la contraseña es opcional)

  • Solicitar a otra pirata que agregue tu llave pública SSH (~/.ssh/id_ed25519.pub por ejemplo) en lumi@partidopirata.com.ar.

  • Correr bundle exec cap production deploy

Automático (CI/CD)

  • Editar .gitlab-ci.yml si es necesario

  • Generar una llave privada SSH para el deploy y convertirla a una sola línea para que Gitlab la acepte.

ssh-keygen -t ed25519 -f ~/.ssh/lumi
# Extraer la llave privada a una sola línea
cat ~/.ssh/lumi | tail -n +2 | head -n -1 | tr -d "\n"
  • En 0xacab (o cualquier Gitlab con CI/CD habilitado) ir a Settings > CI/CD > Variables y crear las variables protegidas y enmascaradas:

    RAILS_MASTER_KEY: con el contenido de config/master.key

    SSH_PRIVATE_KEY: la línea de la llave privada SSH

  • Agregar la llave privada a lumi@partidopirata.com.ar para que GL pueda ingresar.

ssh-copy-id -i ~/.ssh/lumi lumi@partidopirata.com.ar