From 85e4608e634529cec0a5fc2f346cd671e7f2f5e8 Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Fri, 16 Jun 2023 14:48:24 +0700 Subject: [PATCH 01/37] [#30] Add current branch deploy fly workflow --- .github/workflows/deploy_fly.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/deploy_fly.yml b/.github/workflows/deploy_fly.yml index d8b681a..ea70af4 100644 --- a/.github/workflows/deploy_fly.yml +++ b/.github/workflows/deploy_fly.yml @@ -4,6 +4,7 @@ on: branches: - main - develop + - chore/30-setup-cicd jobs: deploy: name: Deploy app From c8669a9db010aff12c373324d040ed9495250e11 Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Fri, 16 Jun 2023 15:07:08 +0700 Subject: [PATCH 02/37] [#30] Add env in fly workflow --- .github/workflows/deploy_fly.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/deploy_fly.yml b/.github/workflows/deploy_fly.yml index ea70af4..c26ee39 100644 --- a/.github/workflows/deploy_fly.yml +++ b/.github/workflows/deploy_fly.yml @@ -19,3 +19,9 @@ jobs: - run: flyctl deploy env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} + DOCKER_REGISTRY_HOST: ${{ vars.DOCKER_REGISTRY_HOST }} + DOCKER_REGISTRY_USERNAME: ${{ github.repository_owner }} + DOCKER_REGISTRY_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DOCKER_IMAGE: ${{ vars.DOCKER_IMAGE }} + BRANCH_TAG: ${{ vars.BRANCH_TAG }} + PORT: ${{ vars.PORT }} From bf98824bf026598fe25c57fc29d094455d3f970f Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Fri, 16 Jun 2023 15:17:30 +0700 Subject: [PATCH 03/37] [#30] Update fly.toml --- fly.toml | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/fly.toml b/fly.toml index 26b93ee..b0cb7e3 100644 --- a/fly.toml +++ b/fly.toml @@ -1,4 +1,4 @@ -# fly.toml app configuration file generated for google-scrapper-ruby on 2023-05-18T11:25:54+07:00 +# fly.toml app configuration file generated for google-scrapper-ruby on 2023-06-16T15:15:31+07:00 # # See https://fly.io/docs/reference/configuration/ for information about how to use this file. # @@ -24,11 +24,3 @@ console_command = "/rails/bin/rails console" method = "GET" path = "/health_check" protocol = "http" - -[env] - DEPLOYED_HOST = "google-scrapper-ruby.fly.dev" - PORT = 3000 - ASSET_HOST = "" - BUILD_ENV = "production" - NODE_ENV = "production" - RUBY_ENV = "production" From 434a882076d17c8aa55336320693e0942081e6db Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Fri, 16 Jun 2023 15:44:56 +0700 Subject: [PATCH 04/37] [#30] Update fly.toml config --- fly.toml | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/fly.toml b/fly.toml index b0cb7e3..0ec0e0b 100644 --- a/fly.toml +++ b/fly.toml @@ -1,4 +1,4 @@ -# fly.toml app configuration file generated for google-scrapper-ruby on 2023-06-16T15:15:31+07:00 +# fly.toml app configuration file generated for google-scrapper-ruby on 2023-06-16T15:32:13+07:00 # # See https://fly.io/docs/reference/configuration/ for information about how to use this file. # @@ -13,14 +13,3 @@ console_command = "/rails/bin/rails console" auto_stop_machines = true auto_start_machines = true min_machines_running = 0 - -[checks] - [checks.status] - port = 3000 - type = "http" - interval = "10s" - timeout = "2s" - grace_period = "5s" - method = "GET" - path = "/health_check" - protocol = "http" From f414f9800d50e7882090269965d40fd7c0903708 Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Fri, 16 Jun 2023 16:22:51 +0700 Subject: [PATCH 05/37] [#30] Add fly workflow for production --- .github/workflows/deploy_fly_prod.yml | 30 +++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 .github/workflows/deploy_fly_prod.yml diff --git a/.github/workflows/deploy_fly_prod.yml b/.github/workflows/deploy_fly_prod.yml new file mode 100644 index 0000000..57eb506 --- /dev/null +++ b/.github/workflows/deploy_fly_prod.yml @@ -0,0 +1,30 @@ +name: Fly Deploy +on: + push: + branches: + - main + - develop + - chore/30-setup-cicd +jobs: + deploy: + name: Deploy app + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Build Docker image + run: bin/docker-prepare && docker compose build + + - uses: superfly/flyctl-actions/setup-flyctl@master + - run: flyctl deploy + env: + FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} + DOCKER_REGISTRY_HOST: ${{ vars.DOCKER_REGISTRY_HOST }} + DOCKER_REGISTRY_USERNAME: ${{ github.repository_owner }} + DOCKER_REGISTRY_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DOCKER_IMAGE: ${{ vars.DOCKER_IMAGE }} + BRANCH_TAG: ${{ vars.BRANCH_TAG }} + PORT: ${{ vars.PORT }} + BUILD_ENV: 'production' + NODE_ENV: 'production' + RUBY_ENV: 'production' From 1f33aa39893637d6f95554bece16429915f4dc72 Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Fri, 16 Jun 2023 16:29:19 +0700 Subject: [PATCH 06/37] [#30] Remove prod workflow. Use fly deploy wokflow to deploy in prod mode --- .github/workflows/deploy_fly.yml | 3 +++ .github/workflows/deploy_fly_prod.yml | 30 --------------------------- fly.toml | 4 ++-- 3 files changed, 5 insertions(+), 32 deletions(-) delete mode 100644 .github/workflows/deploy_fly_prod.yml diff --git a/.github/workflows/deploy_fly.yml b/.github/workflows/deploy_fly.yml index c26ee39..57eb506 100644 --- a/.github/workflows/deploy_fly.yml +++ b/.github/workflows/deploy_fly.yml @@ -25,3 +25,6 @@ jobs: DOCKER_IMAGE: ${{ vars.DOCKER_IMAGE }} BRANCH_TAG: ${{ vars.BRANCH_TAG }} PORT: ${{ vars.PORT }} + BUILD_ENV: 'production' + NODE_ENV: 'production' + RUBY_ENV: 'production' diff --git a/.github/workflows/deploy_fly_prod.yml b/.github/workflows/deploy_fly_prod.yml deleted file mode 100644 index 57eb506..0000000 --- a/.github/workflows/deploy_fly_prod.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: Fly Deploy -on: - push: - branches: - - main - - develop - - chore/30-setup-cicd -jobs: - deploy: - name: Deploy app - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - - name: Build Docker image - run: bin/docker-prepare && docker compose build - - - uses: superfly/flyctl-actions/setup-flyctl@master - - run: flyctl deploy - env: - FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} - DOCKER_REGISTRY_HOST: ${{ vars.DOCKER_REGISTRY_HOST }} - DOCKER_REGISTRY_USERNAME: ${{ github.repository_owner }} - DOCKER_REGISTRY_TOKEN: ${{ secrets.GITHUB_TOKEN }} - DOCKER_IMAGE: ${{ vars.DOCKER_IMAGE }} - BRANCH_TAG: ${{ vars.BRANCH_TAG }} - PORT: ${{ vars.PORT }} - BUILD_ENV: 'production' - NODE_ENV: 'production' - RUBY_ENV: 'production' diff --git a/fly.toml b/fly.toml index 0ec0e0b..218a70c 100644 --- a/fly.toml +++ b/fly.toml @@ -1,9 +1,9 @@ -# fly.toml app configuration file generated for google-scrapper-ruby on 2023-06-16T15:32:13+07:00 +# fly.toml app configuration file generated for google-scrapper-ruby-prod on 2023-06-16T16:27:15+07:00 # # See https://fly.io/docs/reference/configuration/ for information about how to use this file. # -app = "google-scrapper-ruby" +app = "google-scrapper-ruby-prod" primary_region = "sin" console_command = "/rails/bin/rails console" From 80a764674c9424a6144316e29e2b75c912af31de Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Fri, 16 Jun 2023 18:13:31 +0700 Subject: [PATCH 07/37] [#30] Update fly toml config --- fly.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fly.toml b/fly.toml index 218a70c..2a3fbd0 100644 --- a/fly.toml +++ b/fly.toml @@ -8,8 +8,8 @@ primary_region = "sin" console_command = "/rails/bin/rails console" [http_service] - internal_port = 3000 + internal_port = 80 force_https = true auto_stop_machines = true auto_start_machines = true - min_machines_running = 0 + min_machines_running = 1 From abf6cf8c9b6a873105523a11a42aa34c5f11b0a1 Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Fri, 16 Jun 2023 18:37:39 +0700 Subject: [PATCH 08/37] [#30] Add deployed host --- .github/workflows/deploy_fly.yml | 1 + config/environments/development.rb | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/deploy_fly.yml b/.github/workflows/deploy_fly.yml index 57eb506..33b092c 100644 --- a/.github/workflows/deploy_fly.yml +++ b/.github/workflows/deploy_fly.yml @@ -28,3 +28,4 @@ jobs: BUILD_ENV: 'production' NODE_ENV: 'production' RUBY_ENV: 'production' + DEPLOYED_HOST: 'https://google-scrapper-ruby-prod.fly.dev' diff --git a/config/environments/development.rb b/config/environments/development.rb index 3e23e5f..2cafa84 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -85,6 +85,4 @@ Bullet.rails_logger = true Bullet.add_footer = true end - - config.hosts << ENV['DEPLOYED_HOST'] end From 263cd98a3317c749c6c5174caf58696625265115 Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Fri, 16 Jun 2023 18:48:21 +0700 Subject: [PATCH 09/37] [#30] Add deployed host for development env --- .github/workflows/deploy_fly.yml | 2 +- config/environments/development.rb | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy_fly.yml b/.github/workflows/deploy_fly.yml index 33b092c..4a007fa 100644 --- a/.github/workflows/deploy_fly.yml +++ b/.github/workflows/deploy_fly.yml @@ -28,4 +28,4 @@ jobs: BUILD_ENV: 'production' NODE_ENV: 'production' RUBY_ENV: 'production' - DEPLOYED_HOST: 'https://google-scrapper-ruby-prod.fly.dev' + DEPLOYED_HOST: 'https://google-scrapper-ruby.fly.dev' diff --git a/config/environments/development.rb b/config/environments/development.rb index 2cafa84..3e23e5f 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -85,4 +85,6 @@ Bullet.rails_logger = true Bullet.add_footer = true end + + config.hosts << ENV['DEPLOYED_HOST'] end From 830c0753a01bd8bf62e817e78a02959600dae386 Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Tue, 20 Jun 2023 11:23:11 +0700 Subject: [PATCH 10/37] [#30] Change app name in fly toml --- fly.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fly.toml b/fly.toml index 2a3fbd0..925551b 100644 --- a/fly.toml +++ b/fly.toml @@ -3,7 +3,7 @@ # See https://fly.io/docs/reference/configuration/ for information about how to use this file. # -app = "google-scrapper-ruby-prod" +app = "google-scrapper-ruby" primary_region = "sin" console_command = "/rails/bin/rails console" From e5dd6baf58b0ed0e565e13f0057475e03147705e Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Tue, 20 Jun 2023 11:43:29 +0700 Subject: [PATCH 11/37] [#30] Add env to fly toml --- fly.toml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/fly.toml b/fly.toml index 925551b..17cfb53 100644 --- a/fly.toml +++ b/fly.toml @@ -7,6 +7,15 @@ app = "google-scrapper-ruby" primary_region = "sin" console_command = "/rails/bin/rails console" +[env] + RAILS_ENV = "production" + MAILER_DEFAULT_HOST = "localhost" + MAILER_DEFAULT_PORT = "3000" + MAILER_SENDER = "Test " + AVAILABLE_LOCALES = "en" + DEFAULT_LOCALE = "en" + FALLBACK_LOCALES = "en" + [http_service] internal_port = 80 force_https = true From 3f4ab680ca65d2e7f222ecf8d523febabdb0d85d Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Tue, 20 Jun 2023 11:57:50 +0700 Subject: [PATCH 12/37] [#30] Update fly toml --- fly.toml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/fly.toml b/fly.toml index 17cfb53..35cdd59 100644 --- a/fly.toml +++ b/fly.toml @@ -10,15 +10,15 @@ console_command = "/rails/bin/rails console" [env] RAILS_ENV = "production" MAILER_DEFAULT_HOST = "localhost" - MAILER_DEFAULT_PORT = "3000" + MAILER_DEFAULT_PORT = "80" MAILER_SENDER = "Test " AVAILABLE_LOCALES = "en" DEFAULT_LOCALE = "en" FALLBACK_LOCALES = "en" - + [http_service] internal_port = 80 - force_https = true - auto_stop_machines = true + force_https = false + auto_stop_machines = false auto_start_machines = true min_machines_running = 1 From 7e478072941b7fa547147702eabce8d9e97e3c08 Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Tue, 20 Jun 2023 12:16:26 +0700 Subject: [PATCH 13/37] [#30] Enable logging for production --- fly.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/fly.toml b/fly.toml index 35cdd59..b4a10de 100644 --- a/fly.toml +++ b/fly.toml @@ -15,6 +15,7 @@ console_command = "/rails/bin/rails console" AVAILABLE_LOCALES = "en" DEFAULT_LOCALE = "en" FALLBACK_LOCALES = "en" + RAILS_LOG_TO_STDOUT = true [http_service] internal_port = 80 From 12aadcedda48a0ac363ca6cdb4d3c763766423a4 Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Thu, 22 Jun 2023 16:31:45 +0700 Subject: [PATCH 14/37] [#30] Add force https to fly config --- fly.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fly.toml b/fly.toml index b4a10de..443120e 100644 --- a/fly.toml +++ b/fly.toml @@ -19,7 +19,7 @@ console_command = "/rails/bin/rails console" [http_service] internal_port = 80 - force_https = false - auto_stop_machines = false + force_https = true + auto_stop_machines = true auto_start_machines = true min_machines_running = 1 From d0cbe9b9f69a92f63e4ca4f057a286a17103cb58 Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Thu, 22 Jun 2023 17:03:43 +0700 Subject: [PATCH 15/37] [#30] Change internal port in fly toml --- fly.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fly.toml b/fly.toml index 443120e..0ffa12a 100644 --- a/fly.toml +++ b/fly.toml @@ -10,7 +10,7 @@ console_command = "/rails/bin/rails console" [env] RAILS_ENV = "production" MAILER_DEFAULT_HOST = "localhost" - MAILER_DEFAULT_PORT = "80" + MAILER_DEFAULT_PORT = "25" MAILER_SENDER = "Test " AVAILABLE_LOCALES = "en" DEFAULT_LOCALE = "en" @@ -18,7 +18,7 @@ console_command = "/rails/bin/rails console" RAILS_LOG_TO_STDOUT = true [http_service] - internal_port = 80 + internal_port = 8080 force_https = true auto_stop_machines = true auto_start_machines = true From 32484ec9dd5ae07ff99c6d4270214e76f64f69bc Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Thu, 22 Jun 2023 17:19:14 +0700 Subject: [PATCH 16/37] [#30] Use github variable instead of secret for port in test production build workflow --- .github/workflows/test_production_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_production_build.yml b/.github/workflows/test_production_build.yml index a28249d..a90ea61 100644 --- a/.github/workflows/test_production_build.yml +++ b/.github/workflows/test_production_build.yml @@ -10,7 +10,7 @@ on: env: DOCKER_REGISTRY_HOST: ${{ secrets.DOCKER_REGISTRY_HOST }} DOCKER_IMAGE: ${{ github.repository }} - PORT: ${{secrets.PORT}} + PORT: ${{vars.PORT}} concurrency: group: ${{ github.workflow }}-${{ github.ref }} From feb4b4886b20b39024ba9efb7c8ab751e8cd0d16 Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Thu, 22 Jun 2023 18:50:57 +0700 Subject: [PATCH 17/37] [#30] Change fly deploy workflow --- .github/workflows/deploy_fly.yml | 4 ---- fly.toml | 13 ++++++++++++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/workflows/deploy_fly.yml b/.github/workflows/deploy_fly.yml index 4a007fa..0b5289b 100644 --- a/.github/workflows/deploy_fly.yml +++ b/.github/workflows/deploy_fly.yml @@ -11,10 +11,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - - name: Build Docker image - run: bin/docker-prepare && docker compose build - - uses: superfly/flyctl-actions/setup-flyctl@master - run: flyctl deploy env: diff --git a/fly.toml b/fly.toml index 0ffa12a..a956f16 100644 --- a/fly.toml +++ b/fly.toml @@ -18,8 +18,19 @@ console_command = "/rails/bin/rails console" RAILS_LOG_TO_STDOUT = true [http_service] - internal_port = 8080 + internal_port = 3000 force_https = true auto_stop_machines = true auto_start_machines = true min_machines_running = 1 + +[checks] + [checks.status] + port = 3000 + type = "http" + interval = "10s" + timeout = "2s" + grace_period = "5s" + method = "GET" + path = "/health_check" + protocol = "http" From a0439c9e24b00ae7f0ad1db1120b71f35865ec78 Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Thu, 22 Jun 2023 19:08:38 +0700 Subject: [PATCH 18/37] [#30] Add command to create tmp directory in fly deploy workflow --- .github/workflows/deploy_fly.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/deploy_fly.yml b/.github/workflows/deploy_fly.yml index 0b5289b..b57c5d3 100644 --- a/.github/workflows/deploy_fly.yml +++ b/.github/workflows/deploy_fly.yml @@ -12,6 +12,8 @@ jobs: steps: - uses: actions/checkout@v3 - uses: superfly/flyctl-actions/setup-flyctl@master + - name: Create directory + run: mkdir -p tmp/docker - run: flyctl deploy env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} From bda8a8c2af86eba2df86b78f43078fa4a8ff53e9 Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Thu, 22 Jun 2023 19:15:23 +0700 Subject: [PATCH 19/37] [#30] Add docker build to fly deploy workflow --- .github/workflows/deploy_fly.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy_fly.yml b/.github/workflows/deploy_fly.yml index b57c5d3..5bbaf71 100644 --- a/.github/workflows/deploy_fly.yml +++ b/.github/workflows/deploy_fly.yml @@ -12,8 +12,8 @@ jobs: steps: - uses: actions/checkout@v3 - uses: superfly/flyctl-actions/setup-flyctl@master - - name: Create directory - run: mkdir -p tmp/docker + - name: Build Docker image + run: bin/docker-prepare && docker compose build - run: flyctl deploy env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} From 8192d943819e4441fb2194d5f2db14fce972566f Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Thu, 22 Jun 2023 22:19:10 +0700 Subject: [PATCH 20/37] [#30] Change port in fly toml --- fly.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fly.toml b/fly.toml index a956f16..b2d2603 100644 --- a/fly.toml +++ b/fly.toml @@ -18,7 +18,7 @@ console_command = "/rails/bin/rails console" RAILS_LOG_TO_STDOUT = true [http_service] - internal_port = 3000 + internal_port = 8080 force_https = true auto_stop_machines = true auto_start_machines = true @@ -26,7 +26,7 @@ console_command = "/rails/bin/rails console" [checks] [checks.status] - port = 3000 + port = 80 type = "http" interval = "10s" timeout = "2s" From f91a1e59ab9a6c09a1f28376b8aa45fd88b3d99a Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Fri, 23 Jun 2023 11:51:07 +0700 Subject: [PATCH 21/37] [#30] Update port in fly toml --- fly.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fly.toml b/fly.toml index b2d2603..b0d55b2 100644 --- a/fly.toml +++ b/fly.toml @@ -26,7 +26,7 @@ console_command = "/rails/bin/rails console" [checks] [checks.status] - port = 80 + port = 8080 type = "http" interval = "10s" timeout = "2s" From 952352babdd552e4273e3b88b2dda286b7c5ac8d Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Fri, 23 Jun 2023 12:07:17 +0700 Subject: [PATCH 22/37] [#30] Update port in fly toml --- fly.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fly.toml b/fly.toml index b0d55b2..4b418e0 100644 --- a/fly.toml +++ b/fly.toml @@ -18,7 +18,7 @@ console_command = "/rails/bin/rails console" RAILS_LOG_TO_STDOUT = true [http_service] - internal_port = 8080 + internal_port = 80 force_https = true auto_stop_machines = true auto_start_machines = true @@ -26,7 +26,7 @@ console_command = "/rails/bin/rails console" [checks] [checks.status] - port = 8080 + port = 80 type = "http" interval = "10s" timeout = "2s" From 64741a873788d8a21bc30829c6c7b7bd0786060f Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Fri, 23 Jun 2023 12:49:34 +0700 Subject: [PATCH 23/37] [#30] Exclude healthcheck route from host authorization --- config/environments/production.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/config/environments/production.rb b/config/environments/production.rb index 7aa4ce2..0c1ffed 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -99,4 +99,5 @@ config.active_record.dump_schema_after_migration = false config.hosts << ENV['DEPLOYED_HOST'] + config.host_authorization = { exclude: ->(request) { request.path =~ /health_check/ } } end From de10103bcc41ad50ac20422ce016b3e90eb08995 Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Fri, 23 Jun 2023 15:03:13 +0700 Subject: [PATCH 24/37] [#30] Add env variables for fly deploy --- .github/workflows/deploy_fly.yml | 1 + fly.toml | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy_fly.yml b/.github/workflows/deploy_fly.yml index 5bbaf71..2a08ff3 100644 --- a/.github/workflows/deploy_fly.yml +++ b/.github/workflows/deploy_fly.yml @@ -27,3 +27,4 @@ jobs: NODE_ENV: 'production' RUBY_ENV: 'production' DEPLOYED_HOST: 'https://google-scrapper-ruby.fly.dev' + RAILS_SERVE_STATIC_FILES: true diff --git a/fly.toml b/fly.toml index 4b418e0..caacfe5 100644 --- a/fly.toml +++ b/fly.toml @@ -16,7 +16,9 @@ console_command = "/rails/bin/rails console" DEFAULT_LOCALE = "en" FALLBACK_LOCALES = "en" RAILS_LOG_TO_STDOUT = true - + DEPLOYED_HOST = 'https://google-scrapper-ruby.fly.dev' + RAILS_SERVE_STATIC_FILES = true + [http_service] internal_port = 80 force_https = true From 9a1860887402d5b38291a57b41485358cfe594ae Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Fri, 23 Jun 2023 15:21:53 +0700 Subject: [PATCH 25/37] [#30] Change deployed host value and key --- .github/workflows/deploy_fly.yml | 2 +- config/environments/development.rb | 2 +- config/environments/production.rb | 2 +- fly.toml | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/deploy_fly.yml b/.github/workflows/deploy_fly.yml index 2a08ff3..ef28a9f 100644 --- a/.github/workflows/deploy_fly.yml +++ b/.github/workflows/deploy_fly.yml @@ -26,5 +26,5 @@ jobs: BUILD_ENV: 'production' NODE_ENV: 'production' RUBY_ENV: 'production' - DEPLOYED_HOST: 'https://google-scrapper-ruby.fly.dev' + DEPLOYED_HOST: '.fly.dev' RAILS_SERVE_STATIC_FILES: true diff --git a/config/environments/development.rb b/config/environments/development.rb index 3e23e5f..2adf7c8 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -86,5 +86,5 @@ Bullet.add_footer = true end - config.hosts << ENV['DEPLOYED_HOST'] + config.hosts << ENV.fetch('DEPLOYED_HOST') end diff --git a/config/environments/production.rb b/config/environments/production.rb index 0c1ffed..25e0c7e 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -98,6 +98,6 @@ # Do not dump schema after migrations. config.active_record.dump_schema_after_migration = false - config.hosts << ENV['DEPLOYED_HOST'] + config.hosts << ENV.fetch('DEPLOYED_HOST') config.host_authorization = { exclude: ->(request) { request.path =~ /health_check/ } } end diff --git a/fly.toml b/fly.toml index caacfe5..bd2ff1c 100644 --- a/fly.toml +++ b/fly.toml @@ -16,9 +16,9 @@ console_command = "/rails/bin/rails console" DEFAULT_LOCALE = "en" FALLBACK_LOCALES = "en" RAILS_LOG_TO_STDOUT = true - DEPLOYED_HOST = 'https://google-scrapper-ruby.fly.dev' + DEPLOYED_HOST = '.fly.dev' RAILS_SERVE_STATIC_FILES = true - + [http_service] internal_port = 80 force_https = true From 47f32d0423d7ab6d89432ba4b50b455a52a5f607 Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Fri, 23 Jun 2023 15:32:32 +0700 Subject: [PATCH 26/37] [#30] Disable host authorization --- config/environments/production.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/environments/production.rb b/config/environments/production.rb index 25e0c7e..ff8eeef 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -99,5 +99,5 @@ config.active_record.dump_schema_after_migration = false config.hosts << ENV.fetch('DEPLOYED_HOST') - config.host_authorization = { exclude: ->(request) { request.path =~ /health_check/ } } + config.host_authorization = false end From e6560a34beeac8505d36c966f8f0e09265ce7852 Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Fri, 23 Jun 2023 15:45:30 +0700 Subject: [PATCH 27/37] [#30] Change config host env access strategy --- config/environments/development.rb | 2 +- config/environments/production.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/environments/development.rb b/config/environments/development.rb index 2adf7c8..3e23e5f 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -86,5 +86,5 @@ Bullet.add_footer = true end - config.hosts << ENV.fetch('DEPLOYED_HOST') + config.hosts << ENV['DEPLOYED_HOST'] end diff --git a/config/environments/production.rb b/config/environments/production.rb index ff8eeef..fc8432e 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -98,6 +98,6 @@ # Do not dump schema after migrations. config.active_record.dump_schema_after_migration = false - config.hosts << ENV.fetch('DEPLOYED_HOST') + config.hosts << ENV['DEPLOYED_HOST'] config.host_authorization = false end From 64aebddfd1810d63b70bb59664220aed7bf35fc7 Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Fri, 23 Jun 2023 15:56:40 +0700 Subject: [PATCH 28/37] [#30] Allow host authorization for all routes --- config/environments/production.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/environments/production.rb b/config/environments/production.rb index fc8432e..db8b550 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -99,5 +99,5 @@ config.active_record.dump_schema_after_migration = false config.hosts << ENV['DEPLOYED_HOST'] - config.host_authorization = false + config.host_authorization = nil end From 3e609bc0c54f93e5acec838158f4133cf85eda42 Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Fri, 23 Jun 2023 16:04:59 +0700 Subject: [PATCH 29/37] [#30] Change config hosts --- config/environments/production.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/environments/production.rb b/config/environments/production.rb index db8b550..0596a51 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -98,6 +98,6 @@ # Do not dump schema after migrations. config.active_record.dump_schema_after_migration = false - config.hosts << ENV['DEPLOYED_HOST'] - config.host_authorization = nil + config.hosts << '.fly.io' + # config.host_authorization = { exclude: ->(request) { request.path =~ /health_check/ } } end From 7cd091e3490fd20c8d3c89b855bdd91f22039d20 Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Fri, 23 Jun 2023 16:24:54 +0700 Subject: [PATCH 30/37] [#30] Add empty hash for host authorization --- config/environments/production.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/environments/production.rb b/config/environments/production.rb index 0596a51..bc9b835 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -99,5 +99,5 @@ config.active_record.dump_schema_after_migration = false config.hosts << '.fly.io' - # config.host_authorization = { exclude: ->(request) { request.path =~ /health_check/ } } + config.host_authorization = { } end From 901566949c1be0a61baa0b470c19143bdc73926a Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Fri, 23 Jun 2023 16:54:42 +0700 Subject: [PATCH 31/37] [#30] Disable host authorization for all routes --- config/environments/production.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/environments/production.rb b/config/environments/production.rb index bc9b835..17f7d62 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -99,5 +99,5 @@ config.active_record.dump_schema_after_migration = false config.hosts << '.fly.io' - config.host_authorization = { } + config.host_authorization = { exclude: ->(_) { true } } end From 7925925069fc56419c4cf3359e76fa4a3e686180 Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Fri, 23 Jun 2023 17:14:38 +0700 Subject: [PATCH 32/37] [#30] Consider all request local true in production --- config/environments/production.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/environments/production.rb b/config/environments/production.rb index 17f7d62..1cda679 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -13,7 +13,7 @@ config.eager_load = true # Full error reports are disabled and caching is turned on. - config.consider_all_requests_local = false + config.consider_all_requests_local = true config.action_controller.perform_caching = true # Ensures that a master key has been made available in either ENV["RAILS_MASTER_KEY"] From 792a042fdfff95ede7e22c3fb3815e1492b2d395 Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Fri, 23 Jun 2023 17:36:17 +0700 Subject: [PATCH 33/37] [#30] Add asset precompilation step for fly deploy --- .github/workflows/deploy_fly.yml | 2 +- config/environments/production.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy_fly.yml b/.github/workflows/deploy_fly.yml index ef28a9f..912ba09 100644 --- a/.github/workflows/deploy_fly.yml +++ b/.github/workflows/deploy_fly.yml @@ -13,7 +13,7 @@ jobs: - uses: actions/checkout@v3 - uses: superfly/flyctl-actions/setup-flyctl@master - name: Build Docker image - run: bin/docker-prepare && docker compose build + run: bin/docker-prepare && docker compose build && bin/docker-assets-precompile - run: flyctl deploy env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} diff --git a/config/environments/production.rb b/config/environments/production.rb index 1cda679..e1cac0c 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -28,7 +28,7 @@ # config.assets.css_compressor = :sass # Do not fallback to assets pipeline if a precompiled asset is missed. - config.assets.compile = false + config.assets.compile = true # Enable serving of images, stylesheets, and JavaScripts from an asset server. # config.asset_host = "http://assets.example.com" From eaa26fc5a661da91ec88a53826f325ad9ec7d7a5 Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Thu, 29 Jun 2023 10:48:53 +0700 Subject: [PATCH 34/37] [#30] Add fallback asset compilation in development.rb --- config/environments/development.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/environments/development.rb b/config/environments/development.rb index 3e23e5f..aa0affa 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -33,6 +33,9 @@ config.cache_store = :null_store end + # Do not fallback to assets pipeline if a precompiled asset is missed. + config.assets.compile = true + # Store uploaded files on the local file system (see config/storage.yml for options). config.active_storage.service = :local From 226c5aeec593dbea8c31a6364582c9783c54155e Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Thu, 29 Jun 2023 11:01:50 +0700 Subject: [PATCH 35/37] [#30] Remove docker precompilation from fly deploy workflow --- .github/workflows/deploy_fly.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy_fly.yml b/.github/workflows/deploy_fly.yml index 912ba09..ef28a9f 100644 --- a/.github/workflows/deploy_fly.yml +++ b/.github/workflows/deploy_fly.yml @@ -13,7 +13,7 @@ jobs: - uses: actions/checkout@v3 - uses: superfly/flyctl-actions/setup-flyctl@master - name: Build Docker image - run: bin/docker-prepare && docker compose build && bin/docker-assets-precompile + run: bin/docker-prepare && docker compose build - run: flyctl deploy env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} From b16e33619dd7d779eef8fc71693c55bdc19090a2 Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Thu, 29 Jun 2023 14:38:31 +0700 Subject: [PATCH 36/37] [#30] Disable Detailed exceptions in production --- config/environments/production.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/environments/production.rb b/config/environments/production.rb index e1cac0c..fbfe257 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -13,7 +13,7 @@ config.eager_load = true # Full error reports are disabled and caching is turned on. - config.consider_all_requests_local = true + config.consider_all_requests_local = false config.action_controller.perform_caching = true # Ensures that a master key has been made available in either ENV["RAILS_MASTER_KEY"] From c614b231f623d21808d4e2daf5a59c53b479766f Mon Sep 17 00:00:00 2001 From: Md Mosharaf Hossan Date: Thu, 29 Jun 2023 15:39:06 +0700 Subject: [PATCH 37/37] [#30] Enable Detailed exceptions in production --- config/environments/production.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/environments/production.rb b/config/environments/production.rb index fbfe257..e1cac0c 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -13,7 +13,7 @@ config.eager_load = true # Full error reports are disabled and caching is turned on. - config.consider_all_requests_local = false + config.consider_all_requests_local = true config.action_controller.perform_caching = true # Ensures that a master key has been made available in either ENV["RAILS_MASTER_KEY"]