Current_hostname: constante no inicializada

Hola! Tenemos una configuración algo compleja aquí porque necesitamos usar k8s para alojar nuestro foro, pero intentaré mantenerlo simple.

Al usar este archivo yml de la aplicación, obtenemos el siguiente error durante el inicio. Esto es nuevo desde anoche; lo teníamos funcionando bien hasta entonces, pero un redepliegue lo rompió de repente.

No se preocupen por la manipulación de las variables de entorno de correo electrónico en ese yml, estábamos depurando otra cosa.

=> Iniciando Puma
=> La aplicación Rails 7.0.2.4 se inicia en producción
=> Ejecuta `bin/rails server --help` para más opciones de inicio.
Saliendo
/var/www/discourse/lib/discourse.rb:443:in `current_hostname': constante no inicializada Discourse::SiteSetting (NameError)
¿Te refieres a Discourse::SiteSettingMissing?
        from /var/www/discourse/config/initializers/100-verify_config.rb:7:in `<main>'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:39:in `load'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:39:in `load'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/engine.rb:667:in `block in load_config_initializer'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-7.0.2.4/lib/active_support/notifications.rb:208:in `instrument'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/engine.rb:666:in `load_config_initializer'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/engine.rb:620:in `block (2 levels) in <class:Engine>'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/engine.rb:619:in `each'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/engine.rb:619:in `block in <class:Engine>'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/initializable.rb:32:in `instance_exec'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/initializable.rb:32:in `run'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/initializable.rb:61:in `block in run_initializers'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:228:in `block in tsort_each'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:422:in `block (2 levels) in each_strongly_connected_component_from'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:431:in `each_strongly_connected_component_from'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:415:in `block in each_strongly_connected_component_from'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/initializable.rb:50:in `each'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/initializable.rb:50:in `tsort_each_child'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:415:in `call'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:415:in `each_strongly_connected_component_from'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:349:in `block in each_strongly_connected_component'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:347:in `each'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:347:in `call'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:347:in `each_strongly_connected_component'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:226:in `tsort_each'
        from /usr/local/lib/ruby/2.7.0/tsort.rb:205:in `tsort_each'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/initializable.rb:60:in `run_initializers'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/application.rb:372:in `initialize!'
        from /var/www/discourse/config/environment.rb:7:in `<main>'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/zeitwerk-2.5.4/lib/zeitwerk/kernel.rb:35:in `require'
        from config.ru:6:in `block in <main>'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-2.2.3/lib/rack/builder.rb:116:in `eval'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-2.2.3/lib/rack/builder.rb:116:in `new_from_string'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-2.2.3/lib/rack/builder.rb:105:in `load_file'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-2.2.3/lib/rack/builder.rb:66:in `parse_file'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-2.2.3/lib/rack/server.rb:349:in `build_app_and_options_from_config'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-2.2.3/lib/rack/server.rb:249:in `app'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-2.2.3/lib/rack/server.rb:422:in `wrapped_app'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-2.2.3/lib/rack/server.rb:312:in `block in start'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-2.2.3/lib/rack/server.rb:379:in `handle_profiling'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-2.2.3/lib/rack/server.rb:311:in `start'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/commands/server/server_command.rb:38:in `start'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/commands/server/server_command.rb:143:in `block in perform'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/commands/server/server_command.rb:134:in `tap'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/commands/server/server_command.rb:134:in `perform'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/command/base.rb:87:in `perform'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/command.rb:48:in `invoke'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.2.4/lib/rails/commands.rb:18:in `<main>'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
        from /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
        from bin/rails:18:in `<main>'

Hemos buscado rápidamente en el código fuente (aunque la mayoría de nosotros no somos expertos en Ruby), pero estamos bastante desconcertados. ¿Alguna idea?

Utiliza el lanzador para compilar la imagen y ejecutarla con las variables de entorno necesarias para que funcione. Puedes obtenerlas con un comando del lanzador que muestre solo la llamada de inicio (mira el código del lanzador para obtenerla).

Puedes compilarla contra la base de datos en vivo y luego ejecutarla, o compilarla contra una base de datos temporal y luego migrar y precompilar los activos después de ejecutarla.

Todo eso está fuera del alcance del soporte disponible aquí.

O podrías usar bitnami (tampoco soportado aquí).

Gracias por la respuesta, la aprecio, especialmente dado que k8s está un poco fuera de alcance aquí.

No podemos usar Bitnami directamente ya que necesitamos agregar complementos a la instancia, pero parece una recomendación útil en general.

Estamos revisando todo, gracias por la pista del lanzador; esperamos encontrar algo.

1 me gusta

Efectivamente, parecía ser un problema relacionado con variables de entorno faltantes, no en los archivos de compilación, sino del lado de k8s. Gracias por la ayuda.

2 Me gusta

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