Commit Graph

751 Commits

Author SHA1 Message Date
Matthew Kent 47f8725cf3 Support a dynamic primary_web_role instead of assuming it's 'web'.
This allows for more meaningful naming in roles.

The only caution here is that we don't support the renaming of roles, so
any migration is left to the user.
2023-11-10 16:35:25 -08:00
Donal McBreen 97ba6b746b Merge pull request #564 from basecamp/return-502-if-no-container
Return a 502 when container is down
2023-11-08 14:58:22 +00:00
Donal McBreen 9e25d8a012 Priority 2 for the main app 2023-11-08 14:12:45 +00:00
Leon 2d86d4f7cc Add SSH port to run_over_ssh 2023-11-03 22:32:37 +01:00
Leon 792aa1dbdf Add SSH port option 2023-11-03 22:32:37 +01:00
Donal McBreen 24a2f51641 Return a 502 when container is down
If the app container is down or not responding then traefik will return
a 404 response code. This is not ideal as it suggests a client rather
than a server problem.

To fix this, we'll define a catch all route that always returns a 502.

This is not ideal as this route would take priority over a shorter route
with priorty 1.

TODO: up the priority of the app route.
2023-11-03 14:20:52 +00:00
Donal McBreen 8f53104d00 Bump version for 1.1.0 2023-11-01 09:20:45 +00:00
Donal McBreen dd748fac8c Reset the env before pushing
Calling `load_envs` again does not load updated env variables, because
Dotenv does not overwrite existing values.

To fix this we'll store the original ENV and reset to it before
reloading.

https://github.com/basecamp/kamal/issues/512
2023-10-30 11:31:50 +00:00
Donal McBreen b732b2dd55 Merge pull request #547 from nickhammond/envify/trim-lines
Enable trim mode with ERB
2023-10-30 08:57:55 +00:00
Donal McBreen e3254b2aa8 Merge pull request #544 from nickhammond/bugfix-require-sshkit-sensitive-util
Require sshkit within the sshkit util
2023-10-30 08:57:08 +00:00
Donal McBreen e9269d2ee8 Merge pull request #501 from rience/optional-envify-push
Optionally Skip Push for "envify"
2023-10-30 08:30:21 +00:00
Donal McBreen d2214b43b7 Merge pull request #499 from basecamp/env-only-needed-for-push
Remove the env check
2023-10-30 08:22:56 +00:00
Donal McBreen 370481921e Merge pull request #498 from basecamp/app-exec-env-file
App exec with env file
2023-10-30 08:22:35 +00:00
Donal McBreen aa23f26330 Merge pull request #479 from npezza93/main
Loosen superuser check to match docker-installs script check
2023-10-30 08:21:30 +00:00
Donal McBreen f4933d83bf Merge pull request #477 from clintmiller/patch-1
Pass KAMAL_VERSION env var to container run
2023-10-30 08:19:20 +00:00
Nick Hammond 6c36c82153 Enable trim mode with ERB 2023-10-24 17:09:05 -07:00
Krzysztof Adamski 8ca04032a1 Optionally Skip Push for "envify" 2023-10-23 14:49:39 +02:00
Nick Hammond 2fb22c934b Require sshkit within the sshkit util 2023-10-22 22:34:22 -07:00
Donal McBreen f6662c7a8f Remove the env check
The env check is not needded anymore as all the commands rely on the
env files having already been created remotely.

The only place the env is needed is when running `kamal env push` and
that will still raise an apropriate error.
2023-09-25 15:23:01 +01:00
Donal McBreen 645f5ab72d App exec with env file
When calling `kamal app exec` for new non interactive containers, run
the command per role on each server and include the role config
including the environment.

Fixes: https://github.com/basecamp/kamal/issues/492
2023-09-25 15:07:05 +01:00
dhh 83a2d52ff4 Bump version for 1.0.0 2023-09-18 17:39:01 -07:00
Nick Pezza 1a2796a7d0 Loosen superuser check to match docker-installs script check 2023-09-18 20:32:59 -04:00
Clint Miller d80fdf8468 Pass KAMAL_VERSION env var to container run
In lieu of a general purpose mechanism to pass dynamically-evaluated env-vars at container execution time, we can pass the `config.version` as KAMAL_VERSION to avoid having to take apart the container name just to determine the SHA of the deployed version in the entrypoint.
2023-09-18 16:07:36 -05:00
dhh 90fefc419f Point to rolling restarts 2023-09-18 08:31:49 -07:00
dhh 8671963719 Explain asset bridging 2023-09-18 08:16:44 -07:00
Donal McBreen 0861730e0e Run interactive commands with the correct host
Fixes https://github.com/basecamp/kamal/issues/430
2023-09-18 12:00:36 +01:00
dhh e5886a1a8e Merge branch 'main' into introduce-git-gateway
* main:
  Healthcheck polling is a CLI concern
2023-09-16 11:31:48 -07:00
David Heinemeier Hansson ec8192b160 Merge pull request #472 from basecamp/move-healthcheck-poller-to-cli
Healthcheck polling is a CLI concern
2023-09-16 11:31:28 -07:00
dhh 2da03a220d Merge branch 'main' into introduce-git-gateway
* main:
  No longer used
  Fix env validation
  Fix tests
  Fix test
  Extract Kamal::EnvFile
2023-09-16 11:31:18 -07:00
dhh cfbfb37e23 Extract Kamal::Git as gateway for all git usage 2023-09-16 11:30:29 -07:00
dhh 59ac59d351 Healthcheck polling is a CLI concern
Also, it has no instance variables, so let's just have it be a module.
2023-09-16 11:19:38 -07:00
dhh 3df87520db No longer used 2023-09-16 11:12:52 -07:00
dhh 85ce65a4ce Merge branch 'main' into extract-env-writer
* main:
  Inline util method only used in one place
2023-09-16 11:12:08 -07:00
dhh 12a82a6c58 Inline util method only used in one place 2023-09-16 11:11:24 -07:00
dhh b2d2a254d7 Fix env validation 2023-09-16 11:05:47 -07:00
dhh 32a5c157b9 Merge branch 'main' into extract-env-writer
* main:
  No longer used
2023-09-16 10:56:29 -07:00
dhh 97cea8950d No longer used 2023-09-16 10:56:00 -07:00
dhh 873be0b76b Extract Kamal::EnvFile
Cleaning up the Utils junk drawer.
2023-09-16 10:55:41 -07:00
David Heinemeier Hansson 3a8eb0cf7d Merge pull request #470 from basecamp/extract-app-concerns
Extract app concerns
2023-09-16 10:24:24 -07:00
dhh e9ef13d06d Group configuration methods in logical sections 2023-09-16 10:20:08 -07:00
dhh f648fe6c3f Grouping + ordering 2023-09-16 10:14:04 -07:00
dhh 46895d0b08 Better ordering and spacing 2023-09-16 10:11:42 -07:00
dhh 431ca9e809 Remind about env push 2023-09-16 10:09:42 -07:00
dhh 6b5c5f0650 Extract Logging too
Leave only the core essentials in App
2023-09-16 10:03:28 -07:00
dhh d303fcc621 Extract Containers and Images concerns 2023-09-16 09:58:09 -07:00
dhh 3ae855ef28 Explain method better 2023-09-16 09:53:03 -07:00
dhh 76a3086569 Group related methods with spacing 2023-09-16 09:52:54 -07:00
dhh 07646bc020 Extract Cord, Assets, and Execution concerns from App
It was getting crowded!
2023-09-16 09:51:45 -07:00
dhh 37e5c48a27 Setup run directory on accessory hosts as well
cc @djmb
2023-09-15 11:08:27 -07:00
dhh deb67386fa No need to suggest use of erb 2023-09-15 10:54:50 -07:00