From 91fb85d6b51a66e7d0eb6adadf80269f985825ed Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Wed, 10 May 2023 09:02:55 -0400 Subject: [PATCH 1/8] spelling: etc. Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ca9bdb8e..47d73d7c 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ Voila! All the servers are now serving the app on port 80. If you're just runnin In the past decade+, there's been an explosion in commercial offerings that make deploying web apps easier. Heroku kicked it off with an incredible offering that stayed ahead of the competition seemingly forever. These days we have excellent alternatives like Fly.io and Render. And hosted Kubernetes is making things easier too on AWS, GCP, Digital Ocean, and elsewhere. But these are all offerings that have you renting computers in the cloud at a premium. If you want to run on your own hardware, or even just have a clear migration path to do so in the future, you need to carefully consider how locked in you get to these commercial platforms. Preferably before the bills swallow your business whole! -MRSK seeks to bring the advance in ergonomics pioneered by these commercial offerings to deploying web apps anywhere. Whether that's low-cost cloud options without the managed-service markup from the likes of Digital Ocean, Hetzner, OVH, etc, or it's your own colocated bare metal. To MRSK, it's all the same. Feed the config file a list of IP addresses with vanilla Ubuntu servers that have seen no prep beyond an added SSH key, and you'll be running in literally minutes. +MRSK seeks to bring the advance in ergonomics pioneered by these commercial offerings to deploying web apps anywhere. Whether that's low-cost cloud options without the managed-service markup from the likes of Digital Ocean, Hetzner, OVH, etc., or it's your own colocated bare metal. To MRSK, it's all the same. Feed the config file a list of IP addresses with vanilla Ubuntu servers that have seen no prep beyond an added SSH key, and you'll be running in literally minutes. This approach gives you enormous portability. You can have your web app deployed on several clouds at ease like this. Or you can buy the baseline with your own hardware, then deploy to a cloud before a big seasonal spike to get more capacity. When you're not locked into a single provider from a tooling perspective, there are a lot of compelling options available. From 787812cdc23299988bb8af70a282e5a555446bf9 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Wed, 10 May 2023 09:00:08 -0400 Subject: [PATCH 2/8] spelling: every time Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 235bed6a..dc8c0230 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,7 +21,7 @@ RUN apk add --no-cache --update build-base git docker openrc openssh-client-defa # Copy the rest of our application code into the container. # We do this after bundle install, to avoid having to run bundle -# everytime we do small fixes in the source code. +# every time we do small fixes in the source code. COPY . . # Install the gem locally from the project folder From 3ecb3a4bfcaafbddae039315fa4183bfe9d9b3cc Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Wed, 10 May 2023 09:00:28 -0400 Subject: [PATCH 3/8] spelling: guidelines Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fea12c01..e7936fef 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -27,7 +27,7 @@ Please keep the following guidelines in mind when opening a pull request: - Add tests for your changes, if possible. - Ensure that your changes don't break existing functionality. -#### Commit message guidline +#### Commit message guidelines A good commit message should describe what changed and why. From fe9affa34912feead577dc649e63d6f14d0977ac Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Wed, 10 May 2023 09:00:54 -0400 Subject: [PATCH 4/8] spelling: healthchecks Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 47d73d7c..85f8c722 100644 --- a/README.md +++ b/README.md @@ -670,7 +670,7 @@ This assumes the Cron settings are stored in `config/crontab`. ### Healthcheck -MRSK uses Docker healtchecks to check the health of your application during deployment. Traefik uses this same healthcheck status to determine when a container is ready to receive traffic. +MRSK uses Docker healthchecks to check the health of your application during deployment. Traefik uses this same healthcheck status to determine when a container is ready to receive traffic. The healthcheck defaults to testing the HTTP response to the path `/up` on port 3000, up to 7 times. You can tailor this behaviour with the `healthcheck` setting: From fc00392d68f4acd2616d61f5c11771d30aab299e Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Wed, 10 May 2023 09:01:16 -0400 Subject: [PATCH 5/8] spelling: installed Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- test/cli/server_test.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/cli/server_test.rb b/test/cli/server_test.rb index 48d4484f..bf3886cc 100644 --- a/test/cli/server_test.rb +++ b/test/cli/server_test.rb @@ -11,7 +11,7 @@ class CliServerTest < CliTestCase SSHKit::Backend::Abstract.any_instance.expects(:execute).with(:docker, "-v", raise_on_non_zero_exit: false).returns(false).at_least_once SSHKit::Backend::Abstract.any_instance.expects(:execute).with('[ "${EUID:-$(id -u)}" -eq 0 ]', raise_on_non_zero_exit: false).returns(false).at_least_once - assert_raise RuntimeError, "Docker is not installed on 1.1.1.1, 1.1.1.3, 1.1.1.4, 1.1.1.2 and can't be automatically intalled without having root access and the `curl` command available. Install Docker manually: https://docs.docker.com/engine/install/" do + assert_raise RuntimeError, "Docker is not installed on 1.1.1.1, 1.1.1.3, 1.1.1.4, 1.1.1.2 and can't be automatically installed without having root access and the `curl` command available. Install Docker manually: https://docs.docker.com/engine/install/" do run_command("bootstrap") end end From 85005be07f6d3079a47cf301b63566f8a4ab5502 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Wed, 10 May 2023 09:02:01 -0400 Subject: [PATCH 6/8] spelling: message Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- lib/mrsk/cli/lock.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/mrsk/cli/lock.rb b/lib/mrsk/cli/lock.rb index 4bdec032..7e90a917 100644 --- a/lib/mrsk/cli/lock.rb +++ b/lib/mrsk/cli/lock.rb @@ -7,7 +7,7 @@ class Mrsk::Cli::Lock < Mrsk::Cli::Base end desc "acquire", "Acquire the deploy lock" - option :message, aliases: "-m", type: :string, desc: "A lock mesasge", required: true + option :message, aliases: "-m", type: :string, desc: "A lock message", required: true def acquire message = options[:message] raise_if_locked do From b536fcfa4310479cbf09ebd4a91c93833b8486fd Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Wed, 10 May 2023 09:03:04 -0400 Subject: [PATCH 7/8] spelling: percentage Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- test/commander_test.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/commander_test.rb b/test/commander_test.rb index 25dfabdd..246650a9 100644 --- a/test/commander_test.rb +++ b/test/commander_test.rb @@ -65,7 +65,7 @@ class CommanderTest < ActiveSupport::TestCase end test "percentage-based group strategy" do - configure_with(:deploy_with_precentage_boot_strategy) + configure_with(:deploy_with_percentage_boot_strategy) assert_equal({ in: :groups, limit: 1, wait: 2 }, @mrsk.boot_strategy) end From 8e94c21729d20db5bdca8e405bd3cb2e458030e9 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Wed, 10 May 2023 08:58:55 -0400 Subject: [PATCH 8/8] spelling: with Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- test/commands/builder_test.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/commands/builder_test.rb b/test/commands/builder_test.rb index e5f83f1c..57b3a24d 100644 --- a/test/commands/builder_test.rb +++ b/test/commands/builder_test.rb @@ -88,7 +88,7 @@ class CommandsBuilderTest < ActiveSupport::TestCase builder.push.join(" ") end - test "native push with with build secrets" do + test "native push with build secrets" do builder = new_builder_command(builder: { "multiarch" => false, "secrets" => [ "a", "b" ] }) assert_equal \ "docker build -t dhh/app:123 -t dhh/app:latest --label service=\"app\" --secret id=\"a\" --secret id=\"b\" --file Dockerfile . && docker push dhh/app:123 && docker push dhh/app:latest",