dip 6.0.0 → 6.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 965a10ab510e886e51a4e307a152358177caceb7c6504ac2c15d222c537ebb12
4
- data.tar.gz: 2d9c98f79718a7774ba7f12f66ecb8495b7f965db3f6aac855586cfe8bb0b7cd
3
+ metadata.gz: 33e5ab547c594c58ea29e95555ac2d055480456f8427c1673db014a4d75388df
4
+ data.tar.gz: 2304c89be09d4ad6a348f3fe66492bcee50292b430df54d12902346cbb005aab
5
5
  SHA512:
6
- metadata.gz: 3d44176de01f624cff9e98b578c23e525e7c4b6ddc4ad9bdf35cfa54923851f6bea24633c377f20167263deb0b133482f92d3203adffbc6e79b09cdf0c390f71
7
- data.tar.gz: ff3ba16f8461fe8e1eb8a5070e312f88702c06c2f2cdcf4f4e0a61390bee09bdd69ce3510c1bd26100addc1bca163e876aa9a78aa615fb2394b2d2a55fbaea01
6
+ metadata.gz: 58a00ed2d495ec460579afde5a6e1a7df48983d7979512985e2606b606ab8731aa3b281c1d0a3387534f147a3cd957a9d5884f69a7997fd72c402155e2c7c7c3
7
+ data.tar.gz: 34aa9e6d7739a39633431d8756446bc49be63ab9329b2afeaf6e6133745f1b84614d926ad5a13e50330bb7f6425604764d6cf51eae23cb0bf6f8643bc8d3e80c
data/README.md CHANGED
@@ -16,7 +16,7 @@ A command-line utility that gives the "native" interaction with applications con
16
16
  ## Presentations and examples
17
17
 
18
18
  - [Local development with Docker containers](https://slides.com/bibendi/dip)
19
- - Dockerized Ruby on Rails applications: [one](https://github.com/bibendi/dip-example-rails), [two](https://github.com/evilmartians/evil_chat)
19
+ - Dockerized Ruby on Rails applications: [one](https://github.com/lewagon/rails-k8s-demo), [two](https://github.com/bibendi/dip-example-rails), [three](https://github.com/evilmartians/evil_chat)
20
20
  - Dockerized Node.js application: [one](https://github.com/bibendi/twinkle.js), [two](https://github.com/bibendi/yt-graphql-react-event-booking-api)
21
21
  - [Dockerized Ruby gem](https://github.com/bibendi/schked)
22
22
 
@@ -80,7 +80,7 @@ It can be found at [releases page](https://github.com/bibendi/dip/releases)
80
80
  or type bellow into your terminal:
81
81
 
82
82
  ```sh
83
- curl -L https://github.com/bibendi/dip/releases/download/v6.0.0/dip-`uname -s`-`uname -m` > /usr/local/bin/dip
83
+ curl -L https://github.com/bibendi/dip/releases/download/v6.1.0/dip-`uname -s`-`uname -m` > /usr/local/bin/dip
84
84
  chmod +x /usr/local/bin/dip
85
85
  ```
86
86
 
@@ -237,7 +237,7 @@ dip VERSION=12352452 rake db:rollback
237
237
  Use options `-p, --publish=[]` if you need to additionally publish a container's port(s) to the host unless this behaviour is not configured at dip.yml:
238
238
 
239
239
  ```sh
240
- dip run -p 3000:3000 bundle exec rackup config.ru
240
+ dip run -p 3000:3000 bundle exec rackup config.ru
241
241
  ```
242
242
 
243
243
  ### dip ls
@@ -292,6 +292,21 @@ volumes:
292
292
  name: ssh_data
293
293
  ```
294
294
 
295
+ if you want to use non-root user you can specify UID like so:
296
+
297
+ ```
298
+ dip ssh up -u 1000
299
+ ```
300
+
301
+ This especially helpful if you have something like this in your docker-compose.yml:
302
+
303
+ ```
304
+ services:
305
+ web:
306
+ user: "1000:1000"
307
+
308
+ ```
309
+
295
310
  ### dip nginx
296
311
 
297
312
  Runs Nginx server container based on [bibendi/nginx-proxy](https://github.com/bibendi/nginx-proxy) image. An application's docker-compose.yml should contain environment variable `VIRTUAL_HOST` and `VIRTUAL_PATH` and connects to external network `frontend`.
@@ -16,6 +16,8 @@ module Dip
16
16
  desc: 'Mounted docker volume'
17
17
  method_option :interactive, aliases: '-t', type: :boolean, default: true,
18
18
  desc: 'Run in interactive mode'
19
+ method_option :user, aliases: '-u', type: :string,
20
+ desc: 'UID for ssh-agent container'
19
21
  # Backward compatibility
20
22
  method_option :nonteractive, aliases: '-T', type: :boolean,
21
23
  desc: 'Run in noninteractive mode'
@@ -26,7 +28,8 @@ module Dip
26
28
  Dip::Commands::SSH::Up.new(
27
29
  key: options.fetch(:key),
28
30
  volume: options.fetch(:volume),
29
- interactive: options.nonteractive? ? false : options.interactive?
31
+ interactive: options.nonteractive? ? false : options.interactive?,
32
+ user: options.user
30
33
  ).execute
31
34
  end
32
35
  end
@@ -7,16 +7,20 @@ module Dip
7
7
  module Commands
8
8
  module SSH
9
9
  class Up < Dip::Command
10
- def initialize(key:, volume:, interactive:)
10
+ def initialize(key:, volume:, interactive:, user: nil)
11
11
  @key = key
12
12
  @volume = volume
13
13
  @interactive = interactive
14
+ @user = user
14
15
  end
15
16
 
16
17
  def execute
17
18
  subshell("docker", "volume create --name ssh_data".shellsplit, out: File::NULL, err: File::NULL)
18
19
 
19
- subshell("docker", "run --detach --volume ssh_data:/ssh --name=ssh-agent whilp/ssh-agent".shellsplit)
20
+ subshell(
21
+ "docker",
22
+ "run #{user_args} --detach --volume ssh_data:/ssh --name=ssh-agent whilp/ssh-agent".shellsplit
23
+ )
20
24
 
21
25
  key = Dip.env.interpolate(@key)
22
26
  subshell("docker", "run #{container_args} whilp/ssh-agent ssh-add #{key}".shellsplit)
@@ -24,6 +28,10 @@ module Dip
24
28
 
25
29
  private
26
30
 
31
+ def user_args
32
+ "-u #{@user}" if @user
33
+ end
34
+
27
35
  def container_args
28
36
  result = %w(--rm)
29
37
  volume = Dip.env.interpolate(@volume)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Dip
4
- VERSION = "6.0.0"
4
+ VERSION = "6.1.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dip
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.0
4
+ version: 6.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - bibendi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-05-17 00:00:00.000000000 Z
11
+ date: 2020-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -183,8 +183,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
183
183
  - !ruby/object:Gem::Version
184
184
  version: '0'
185
185
  requirements: []
186
- rubyforge_project:
187
- rubygems_version: 2.7.7
186
+ rubygems_version: 3.0.8
188
187
  signing_key:
189
188
  specification_version: 4
190
189
  summary: Ruby gem CLI tool for better interacting docker-compose files.