-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdip.yml
141 lines (128 loc) · 4.13 KB
/
dip.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
version: '7'
compose:
project_name: ruby-grpc-research
files:
- docker-compose.yml
interaction:
k6:
service: k6
subcommands:
gruf:
command: run /app/k6_test_grpc.js --env TARGET_HOST="gruf"
rust-tonic:
command: run /app/k6_test_grpc.js --env TARGET_HOST="rust-tonic"
go-grpc:
command: run /app/k6_test_grpc.js --env TARGET_HOST="go-grpc"
griffin:
command: run /app/k6_test_grpc.js --env TARGET_HOST="griffin"
nginx:
command: run /app/k6_test_grpc.js --env TARGET_HOST="nginx"
grpc:
command: run /app/k6_test_grpc.js --env TARGET_HOST="grpc"
grpc_http:
command: run /app/k6_test_http.js --env TARGET_HOST="grpc"
grpc-multi_http:
command: run /app/k6_test_http.js --env TARGET_HOST="grpc-multi"
gruf_http:
command: run /app/k6_test_http.js --env TARGET_HOST="gruf"
rust-tonic_http:
command: run /app/k6_test_http.js --env TARGET_HOST="rust-tonic"
griffin_http:
command: run /app/k6_test_http.js --env TARGET_HOST="griffin"
nginx_http:
command: run /app/k6_test_http.js --env TARGET_HOST="nginx"
grpc-multi:
command: run /app/k6_test_grpc.js --env TARGET_HOST="grpc-multi"
all:
command: |
set -eux
echo 'gruf:'
dip k6 gruf
echo 'rust-tonic:'
dip k6 rust-tonic
echo 'griffin:'
dip k6 griffin
echo 'nginx:'
dip k6 nginx
echo 'grpc:'
dip k6 grpc
echo 'grpc-multi:'
dip k6 grpc-multi
echo 'go-grpc:'
dip k6 go-grpc
grpcurl:
service: grpcurl
subcommands:
gruf:
command: >
-plaintext -proto hello.proto -import-path /app/shared/proto -d '{"name": "Dmitry"}' gruf:9091 hello.Greeter/SayHello
rust-tonic:
command: >
-plaintext -proto hello.proto -import-path /app/shared/proto -d '{"name": "Dmitry"}' rust-tonic:9091 hello.Greeter/SayHello
go-grpc:
command: >
-plaintext -proto hello.proto -import-path /app/shared/proto -d '{"name": "Dmitry"}' go-grpc:9091 hello.Greeter/SayHello
griffin:
command: >
-plaintext -proto hello.proto -import-path /app/shared/proto -d '{"name": "Dmitry"}' griffin:9091 hello.Greeter/SayHello
nginx:
command: >
-plaintext -proto hello.proto -import-path /app/shared/proto -d '{"name": "Dmitry"}' nginx:9091 hello.Greeter/SayHello
grpc:
command: >
-plaintext -proto hello.proto -import-path /app/shared/proto -d '{"name": "Dmitry"}' grpc:9091 hello.Greeter/SayHello
grpc-multi:
command: >
-plaintext -proto hello.proto -import-path /app/shared/proto -d '{"name": "Dmitry"}' grpc-multi:9091 hello.Greeter/SayHello
all:
command: |
set -eux
echo 'gruf:'
dip grpcurl gruf
echo 'rust-tonic:'
dip grpcurl rust-tonic
echo 'griffin:'
dip grpcurl griffin
echo 'nginx:'
dip grpcurl nginx
echo 'grpc:'
dip grpcurl grpc
echo 'grpc-multi:'
dip grpcurl grpc-multi
gruf:
service: gruf
command: bundle exec ruby server.rb
griffin:
service: griffin
command: bundle exec ruby server.rb
nginx:
service: nginx
command: nginx -g 'daemon off;'
grpc:
service: grpc
command: bundle exec ruby server.rb
grpc-multi:
service: grpc-multi
command: bundle exec ruby server_multi.rb
go-grpc:
service: go-grpc
rust-tonic:
service: rust-tonic
command: cargo run
bundle:
description: Run Bundler commands
command: bundle
subcommands:
install:
command: |
set -eux
dip compose run ruby bundle install
dip compose run gruf bundle install
dip compose run griffin bundle install
dip compose run grpc bundle install
dip compose run falcon bundle install
dip compose run client bundle install
provision:
- dip compose down --volumes --remove-orphans
- dip build
- dip bundle install