dry-stack 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 25076e926da29d61b22b6be14379e4e9e23af5bf1146c2c5d0ef64f917023a24
4
- data.tar.gz: 023ed0ce2c46e14303f1fefdba6811e2401a7c9ac08f4bb44e288cce30943dae
3
+ metadata.gz: 4b5476c2fbc526efb9f2626a6324ef08de62db257f415dad79117cd6ba9e2112
4
+ data.tar.gz: cbcd327643b6447815f1ca6c0119b0b4bedc2c07f382d7541be5f40372fed291
5
5
  SHA512:
6
- metadata.gz: 4fc1f361dbde144d87b4a3c0d90b859940f0fca6d3f84c02fd28bf9a4849fb373e1bb8f8a3bc2d0665c22106ba642481e1b8c85adc71199e719c99b95249e8f2
7
- data.tar.gz: bc466a6b44eeab9f10a9596316f2b4563c63d42b8632e81f4cc90af87d1ba0117ea4d5079c8554f5c8d8ba3da44013ec1160a0a9560f9cbcf92e53960e06eea9
6
+ metadata.gz: 8b0cb4055dfc95cbd774ddacf53a4d7d3a3d8225e92c1aa97d7b317279db51f085ce700872c6bc34ab4b857c1102b4f3090460213ccbeb6fe85768d27b687fa0
7
+ data.tar.gz: cb635df42bf89ad2e08b33d2704348ac0091c087b36ec458d3f5aa0ceb5eda462339ee8b68fc7a17fde4464b1360b5f7ef94f1076d0531d041ff27e8557fd1e0
data/bin/stack.drs CHANGED
@@ -1,19 +1,16 @@
1
- Stack :simple_stack do
1
+ HttpFront services: {admin: 'admin.*', operator: 'operator.*', reports: 'reports.*',
2
+ navigator: 'navigator.*', backend: 'admin.*, operator.*, navigator.*'}
2
3
 
3
- HttpFront services: {admin: 'admin.*', operator: 'operator.*', reports: 'reports.*',
4
- navigator: 'navigator.*', backend: 'admin.*, operator.*, navigator.*'}
4
+ PublishPorts admin: 4000, operator: 4001, navigator: 4002, reports: 7000 # mode: ingress, protocol: tcp
5
5
 
6
- PublishPorts admin: 4000, operator: 4001, navigator: 4002, reports: 7000 # mode: ingress, protocol: tcp
6
+ Service :admin, image: 'frontend', env: {APP: 'admin'}, ports: 5000
7
+ Service :operator, image: 'frontend', env: {APP: 'operator'}, ports: 5000
8
+ Service :navigator, image: 'frontend', env: {APP: 'navigator'}, ports: 5000
7
9
 
8
- Service :admin, image: 'frontend', env: {APP: 'admin'}, ports: 5000
9
- Service :operator, image: 'frontend', env: {APP: 'operator'}, ports: 5000
10
- Service :navigator, image: 'frontend', env: {APP: 'navigator'}, ports: 5000
11
-
12
- Service :backend, image: 'backend', ports: 3000 do
13
- env APP_PORT: 3000, NODE_ENV: 'development', SKIP_GZ: true, DB_URL: '$DB_URL'
14
- end
10
+ Service :backend, image: 'backend', ports: 3000 do
11
+ env APP_PORT: 3000, NODE_ENV: 'development', SKIP_GZ: true, DB_URL: '$DB_URL'
12
+ end
15
13
 
16
- Service :reports, image: 'reports:0.1', env: {DB_URL: '$DB_URL'}, ports: 7000
14
+ Service :reports, image: 'reports:0.1', env: {DB_URL: '$DB_URL'}, ports: 7000
17
15
 
18
- Network :default, attachable: true
19
- end
16
+ Network :default, attachable: true
data/bin/stack1.drs ADDED
@@ -0,0 +1 @@
1
+ Service :reports, image: 'reports', ports: 7000, env: {DB_URL: '$DB_URL'}
@@ -47,7 +47,8 @@ module Dry
47
47
  command = args.shift || ''
48
48
  raise "Unknown command: #{command}" unless COMMANDS.key?(command.to_sym)
49
49
 
50
- eval $stdin.tty? ? File.read(params[:stack]) : STDIN.read
50
+ stack_text = $stdin.tty? ? File.read(params[:stack]) : STDIN.read
51
+ Dry::Stack() { eval stack_text }
51
52
  COMMANDS[command.to_sym].run Stack.last_stack, params, args
52
53
  rescue => e
53
54
  puts e.message
@@ -4,7 +4,7 @@ require 'optparse'
4
4
 
5
5
  module Dry
6
6
 
7
- def Stack(name, &)
7
+ def Stack(name = nil, &)
8
8
  Stack.last_stack = Stack.new name
9
9
  Stack.last_stack.instance_exec(&) if block_given?
10
10
  end
@@ -12,6 +12,8 @@ module Dry
12
12
  class ServiceFunction
13
13
  def initialize(service, &); @service = service; instance_exec(&) end
14
14
  def env(variables)= @service[:environment].merge! variables
15
+ def image(name)= @service[:image] = name
16
+ def ports(ports)= ((@service[:ports] ||= []) << ports).flatten!
15
17
  end
16
18
 
17
19
  class Stack
@@ -19,6 +21,11 @@ module Dry
19
21
  attr_accessor :last_stack
20
22
  end
21
23
 
24
+ def Stack(name = nil, &)
25
+ Stack.last_stack = Stack.new name
26
+ Stack.last_stack.instance_exec(&) if block_given?
27
+ end
28
+
22
29
  def initialize(name)
23
30
  @name = name
24
31
  @services = {}
data/lib/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Dry
2
2
  class Stack
3
- VERSION = '0.0.3'
3
+ VERSION = '0.0.4'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dry-stack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Artyom B
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-10-29 00:00:00.000000000 Z
11
+ date: 2022-10-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -103,6 +103,7 @@ extra_rdoc_files: []
103
103
  files:
104
104
  - bin/dry-stack
105
105
  - bin/stack.drs
106
+ - bin/stack1.drs
106
107
  - lib/dry-stack.rb
107
108
  - lib/dry-stack/command_compose.rb
108
109
  - lib/dry-stack/command_line.rb