Skip to content

Commit 35e8ccf

Browse files
praveendhawanikirifqi
authored andcommitted
Add database primary replica configuration for sidekiqs
1 parent eab03cf commit 35e8ccf

File tree

2 files changed

+25
-16
lines changed

2 files changed

+25
-16
lines changed

libraries/drivers_worker_sidekiq.rb

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,11 @@ def add_replica_config
133133
Chef::Log.info('Rewrite Sidekiq database.yml for read-replica')
134134

135135
deploy = node['deploy'][app['shortname']]
136+
database = deploy['database']
137+
replica_database = deploy['sidekiq_on_replica']&.dup
138+
replica_database = database.dup if replica_database.nil?
139+
replica_database[:replica] = true
140+
136141
Chef::Log.info(deploy.inspect)
137142
context.template "#{deploy_dir(app)}/shared/config/database.yml" do
138143
source 'sidekiq_database.yml.erb'
@@ -141,9 +146,9 @@ def add_replica_config
141146
group node['deployer']['group']
142147
owner node['deployer']['user']
143148
variables(
144-
database: deploy['database'],
149+
database: database,
145150
environment: deploy['global']['environment'],
146-
sidekiq_on_replica: deploy['sidekiq_on_replica']
151+
sidekiq_on_replica: replica_database,
147152
)
148153
end
149154
end
Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
11
<% (['development', 'production'] + [@environment]).uniq.each do |env| -%>
22
<%= env %>:
3-
database: <%= @database[:database].to_s.inspect %>
4-
encoding: <%= (@database[:encoding] || 'utf8').to_s.inspect %>
5-
adapter: <%= @database[:adapter].to_s.inspect %>
6-
host: <%= (@database[:host] || 'localhost').to_s.inspect %>
7-
username: <%= @database[:username].to_s.inspect %>
8-
password: <%= @database[:password].to_s.inspect %>
9-
reconnect: <%= @database[:reconnect] ? 'true' : 'false' %>
10-
<%- if @database[:pool] -%>
11-
pool: <%= @database[:pool].to_i.inspect %>
12-
<%- end -%>
13-
<%- if @database[:port] -%>
14-
port: <%= @database[:port].to_i.inspect %>
15-
<%- end -%>
3+
primary:
4+
database: <%= @database[:database].to_s.inspect %>
5+
encoding: <%= (@database[:encoding] || 'utf8').to_s.inspect %>
6+
adapter: <%= @database[:adapter].to_s.inspect %>
7+
host: <%= (@database[:host] || 'localhost').to_s.inspect %>
8+
username: <%= @database[:username].to_s.inspect %>
9+
password: <%= @database[:password].to_s.inspect %>
10+
reconnect: <%= @database[:reconnect] ? 'true' : 'false' %>
11+
<%- if @database[:pool] -%>
12+
pool: <%= @database[:pool].to_i.inspect %>
13+
<%- end -%>
14+
<%- if @database[:port] -%>
15+
port: <%= @database[:port].to_i.inspect %>
16+
<%- end -%>
1617
<%- if @sidekiq_on_replica.present? -%>
17-
replica:
18+
primary_replica:
1819
host: <%= (@sidekiq_on_replica[:host] || 'localhost').to_s.inspect %>
1920
username: <%= @sidekiq_on_replica[:username].to_s.inspect %>
2021
password: <%= @sidekiq_on_replica[:password].to_s.inspect %>
@@ -24,5 +25,8 @@
2425
<%- if @sidekiq_on_replica[:port] -%>
2526
port: <%= @sidekiq_on_replica[:port].to_i.inspect %>
2627
<%- end -%>
28+
<%- if @sidekiq_on_replica[:replica] -%>
29+
replica: true
30+
<%- end -%>
2731
<% end -%>
2832
<%- end -%>

0 commit comments

Comments
 (0)