Skip to content

Commit 5f6de29

Browse files
author
Johan De Wit
committed
[X509] make user idempotent when using $external db
1 parent 256cd95 commit 5f6de29

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

lib/puppet/provider/mongodb_user/mongodb.rb

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,17 @@ def self.instances
2222
Puppet.debug("XXXXXXXX In self.instances, retrieved users: #{users}")
2323

2424
users.map do |user|
25+
db = if user['db'] == '$external'
26+
# For external users, we need to retreive the original DB name from here.
27+
user['customData']['createdBy'][/.*on db (.*)'\]$/,1]
28+
else
29+
user['db']
30+
end
2531
new(name: user['_id'],
2632
ensure: :present,
2733
username: user['user'],
28-
database: user['db'],
29-
roles: from_roles(user['roles'], user['db']),
34+
database: db,
35+
roles: from_roles(user['roles'], db),
3036
password_hash: user['credentials']['MONGODB-CR'],
3137
scram_credentials: user['credentials']['SCRAM-SHA-1'])
3238
end

0 commit comments

Comments
 (0)