Forem Creators and Builders 🌱

Discussion on: local Forem Instance to Production level Instance in Heroku or VPS

Collapse
 
akhil profile image
Akhil Naidu Author

@lee Wynne

I'm back again to check the updates if the ready to dev is available or not, but realised that it might take some more time.

Also, I've gone through the entire procedure to have a production forem; failed again! The build was successful, but the release phase in Heroku failed me.

Here I'm attaching the release phase error.

+ [[ '' = \b\l\o\c\k\e\d ]]
+ STATEMENT_TIMEOUT=4500000
+ bundle exec rails app_initializer:setup
/app/vendor/bundle/ruby/2.7.0/gems/libhoney-1.14.5/lib/libhoney/client.rb:232: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
/app/vendor/bundle/ruby/2.7.0/gems/libhoney-1.14.5/lib/libhoney/transmission.rb:11: warning: The called method `initialize' is defined here
/app/vendor/bundle/ruby/2.7.0/gems/zeitwerk-2.4.0/lib/zeitwerk/loader.rb:581: warning: constant ::Data is deprecated
== Preparing Elasticsearch ==
/app/vendor/bundle/ruby/2.7.0/gems/faraday-1.0.1/lib/faraday/dependency_loader.rb:21: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
/app/vendor/bundle/ruby/2.7.0/gems/honeycomb-beeline-2.2.0/lib/honeycomb/integrations/faraday.rb:8: warning: The called method `initialize' is defined here
rails aborted!
Elasticsearch::Transport::Transport::Errors::Forbidden: [403] {"error":{"root_cause":[{"type":"bonsai_exception","reason":"Forbidden action"}],"type":"bonsai_exception","reason":"Forbidden action"},"status":403}
I, [2020-10-11T15:27:17.682607 #109]  INFO -- ddtrace: [ddtrace] DATADOG TRACER CONFIGURATION - {"date":"2020-10-11T15:27:17+00:00","os_name":"x86_64-pc-linux-gnu","version":"0.41.0","lang":"ruby","lang_version":"2.7.1","env":"production","enabled":true,"service":"practical_developer","dd_version":"","agent_url":"http://127.0.0.1:8126?timeout=1","debug":false,"analytics_enabled":false,"tags":"env:production,version:","runtime_metrics_enabled":false,"integrations_loaded":"elasticsearch@7.9.0,sidekiq@6.1.2,redis@4.2.2,rails@6.0.3.3,http@2.7.1,rack@2.2.3,active_support@6.0.3.3,action_pack@6.0.3.3,action_view@6.0.3.3,active_record@6.0.3.3","vm":"ruby-2.7.1","partial_flushing_enabled":true,"priority_sampling_enabled":true,"health_metrics_enabled":false,"integration_elasticsearch_analytics_enabled":"false","integration_elasticsearch_analytics_sample_rate":"1.0","integration_elasticsearch_enabled":"true","integration_elasticsearch_service_name":"elasticsearch","integration_elasticsearch_quantize":"{}","integration_sidekiq_analytics_enabled":"false","integration_sidekiq_analytics_sample_rate":"1.0","integration_sidekiq_enabled":"true","integration_sidekiq_service_name":"sidekiq","integration_sidekiq_tag_args":"false","integration_sidekiq_client_service_name":"sidekiq-client","integration_redis_analytics_enabled":"false","integration_redis_analytics_sample_rate":"1.0","integration_redis_enabled":"true","integration_redis_service_name":"redis","integration_rails_analytics_enabled":"","integration_rails_analytics_sample_rate":"1.0","integration_rails_enabled":"true","integration_rails_service_name":"practical_developer","integration_rails_cache_service":"practical_developer-cache","integration_rails_controller_service":"practical_developer","integration_rails_database_service":"practical_developer-postgres","integration_rails_distributed_tracing":"true","integration_rails_exception_controller":"","integration_rails_middleware":"true","integration_rails_middleware_names":"false","integration_rails_template_base_path":"views/","integration_rails_log_injection":"false","integration_http_analytics_enabled":"false","integration_http_analytics_sample_rate":"1.0","integration_http_enabled":"true","integration_http_service_name":"net/http","integration_http_distributed_tracing":"true","integration_http_split_by_domain":"false","integration_rack_analytics_enabled":"","integration_rack_analytics_sample_rate":"1.0","integration_rack_enabled":"true","integration_rack_service_name":"practical_developer","integration_rack_application":"#\u003cPracticalDeveloper::Application:0x0000557aeb46fcb0\u003e","integration_rack_distributed_tracing":"true","integration_rack_headers":"{:response=\u003e[\"Content-Type\", \"X-Request-ID\"]}","integration_rack_middleware_names":"false","integration_rack_quantize":"{}","integration_rack_request_queuing":"false","integration_rack_web_service_name":"web-server","integration_active_support_analytics_enabled":"false","integration_active_support_analytics_sample_rate":"1.0","integration_active_support_enabled":"true","integration_active_support_service_name":"","integration_active_support_cache_service":"practical_developer-cache","integration_action_pack_analytics_enabled":"","integration_action_pack_analytics_sample_rate":"1.0","integration_action_pack_enabled":"true","integration_action_pack_service_name":"practical_developer","integration_action_pack_controller_service":"practical_developer","integration_action_pack_exception_controller":"","integration_action_view_analytics_enabled":"false","integration_action_view_analytics_sample_rate":"1.0","integration_action_view_enabled":"true","integration_action_view_service_name":"practical_developer","integration_action_view_template_base_path":"views/","integration_active_record_analytics_enabled":"false","integration_active_record_analytics_sample_rate":"1.0","integration_active_record_enabled":"true","integration_active_record_service_name":"practical_developer-postgres","integration_active_record_orm_service_name":""}

INFO -- ddtrace: [ddtrace] DATADOG TRACER CONFIGURATION - {"date":"2020-10-11T15:27:23+00:00","os_name":"x86_64-pc-linux-gnu","version":"0.41.0","lang":"ruby","lang_version":"2.7.1","env":"production","enabled":true,"dd_version":"","agent_url":"http://127.0.0.1:8126?timeout=1","debug":false,"analytics_enabled":false,"tags":"env:production,version:","runtime_metrics_enabled":false,"integrations_loaded":"elasticsearch@7.9.0,sidekiq@6.1.2,redis@4.2.2,rails@6.0.3.3,http@2.7.1","vm":"ruby-2.7.1","partial_flushing_enabled":true,"priority_sampling_enabled":true,"health_metrics_enabled":false,"integration_elasticsearch_analytics_enabled":"false","integration_elasticsearch_analytics_sample_rate":"1.0","integration_elasticsearch_enabled":"true","integration_elasticsearch_service_name":"elasticsearch","integration_elasticsearch_quantize":"{}","integration_sidekiq_analytics_enabled":"false","integration_sidekiq_analytics_sample_rate":"1.0","integration_sidekiq_enabled":"true","integration_sidekiq_service_name":"sidekiq","integration_sidekiq_tag_args":"false","integration_sidekiq_client_service_name":"sidekiq-client","integration_redis_analytics_enabled":"false","integration_redis_analytics_sample_rate":"1.0","integration_redis_enabled":"true","integration_redis_service_name":"redis","integration_rails_analytics_enabled":"","integration_rails_analytics_sample_rate":"1.0","integration_rails_enabled":"true","integration_rails_service_name":"","integration_rails_cache_service":"","integration_rails_controller_service":"","integration_rails_database_service":"","integration_rails_distributed_tracing":"true","integration_rails_exception_controller":"","integration_rails_middleware":"true","integration_rails_middleware_names":"false","integration_rails_template_base_path":"views/","integration_rails_log_injection":"false","integration_http_analytics_enabled":"false","integration_http_analytics_sample_rate":"1.0","integration_http_enabled":"true","integration_http_service_name":"net/http","integration_http_distributed_tracing":"true","integration_http_split_by_domain":"false"}
Enter fullscreen mode Exit fullscreen mode
Collapse
 
cpluta profile image
Chris Pluta

It's been a while since I've seen this error and got around it. If I remember right I think it might be that Elastic Search may not be setup properly. If you don't have an account we use elastic.co/ and are using the Standard tier.

I hope this helps. 😄

Collapse
 
bighitbiker3 profile image
Elliott McNary

Hey! I just got around this error.
Elasticsearch::Transport::Transport::Errors::Forbidden 403 is due to the update_settings call in cluster.rb. With the managed Elasticsearch providers on Heroku you're not allowed to edit the settings of the cluster.

I added a rescue block in that code so it looks like

def update_settings
Search::Client.cluster.put_settings(body: default_settings)
rescue StandardError
handle_exception
end