Create config stub with mrsk:init
This commit is contained in:
11
README.md
11
README.md
@@ -4,19 +4,18 @@ MRSK ships zero-downtime deploys of Rails apps packed as containers to any host.
|
||||
|
||||
## Installation
|
||||
|
||||
Create a configuration file for MRSK in `config/deploy.yml` that looks like this:
|
||||
Add the gem with `bundle add mrsk`, then run `rake mrsk:init`, and then edit the new file in `config/deploy.yml` to use the proper service name, image reference, servers to deploy on, and so on. It could look something like this:
|
||||
|
||||
```yaml
|
||||
service: my-app
|
||||
image: name/my-app
|
||||
service: hey
|
||||
image: 37s/hey
|
||||
servers:
|
||||
- xxx.xxx.xxx.xxx
|
||||
- xxx.xxx.xxx.xxx
|
||||
env:
|
||||
DATABASE_URL: mysql2://localhost/my-app_production/
|
||||
REDIS_URL: redis://host:6379/1
|
||||
DATABASE_URL: mysql2://db1/hey_production/
|
||||
REDIS_URL: redis://redis1:6379/1
|
||||
registry:
|
||||
# No server definition needed if using Docker Hub
|
||||
server: registry.digitalocean.com
|
||||
username: <%= Rails.application.credentials.registry["username"] %>
|
||||
password: <%= Rails.application.credentials.registry["password"] %>
|
||||
|
||||
@@ -13,8 +13,11 @@ namespace :mrsk do
|
||||
desc "Display information about Traefik and app containers"
|
||||
task info: [ "traefik:info", "app:info" ]
|
||||
|
||||
desc "Create config stub"
|
||||
desc "Create config stub in config/deploy.yml"
|
||||
task :init do
|
||||
Rails.root.join("config/deploy.yml")
|
||||
require "fileutils"
|
||||
FileUtils.cp_r \
|
||||
Pathname.new(File.expand_path("templates/deploy.yml", __dir__)),
|
||||
Rails.root.join("config/deploy.yml"))
|
||||
end
|
||||
end
|
||||
|
||||
20
lib/tasks/mrsk/templates/deploy.yml
Normal file
20
lib/tasks/mrsk/templates/deploy.yml
Normal file
@@ -0,0 +1,20 @@
|
||||
# Name of your application will be used for uniquely configuring Traefik and app containers
|
||||
service: my-app
|
||||
|
||||
# Name of the container image
|
||||
image: user/chat
|
||||
|
||||
# All the servers targeted for deploy. You can reference a single server for a command by using SERVERS=xxx.xxx.xxx.xxx
|
||||
servers:
|
||||
- xxx.xxx.xxx.xxx
|
||||
|
||||
# The following envs are made available to the container when started
|
||||
env:
|
||||
# Remember never to put passwords or tokens directly into this file, use encrypted credentials
|
||||
# REDIS_URL: redis://x/y
|
||||
|
||||
registry:
|
||||
# Specify the registry server, if you're not using Docker Hub
|
||||
# server: registry.digitalocean.com / ghcr.io / ...
|
||||
username: <%= Rails.application.credentials.registry["username"] %>
|
||||
password: <%= Rails.application.credentials.registry["password"] %>
|
||||
Reference in New Issue
Block a user