Slackbot
06/16/2023, 12:48 PMbastelfreak
06/16/2023, 12:51 PMSensitive(Deferred(....))?bastelfreak
06/16/2023, 12:51 PMbastelfreak
06/16/2023, 12:51 PMbastelfreak
06/16/2023, 12:51 PMbastelfreak
06/16/2023, 12:52 PMbastelfreak
06/16/2023, 12:52 PMbastelfreak
06/16/2023, 12:52 PMCode_Bleu
06/16/2023, 12:53 PMCode_Bleu
06/16/2023, 1:00 PMbastelfreak
06/16/2023, 1:01 PMCode_Bleu
06/16/2023, 1:01 PMbastelfreak
06/16/2023, 1:02 PMbastelfreak
06/16/2023, 1:02 PMCode_Bleu
06/16/2023, 1:03 PMpassword_hash => Deferred(postgresql::postgresql_password($db_user, $db_password)),bastelfreak
06/16/2023, 1:04 PMCode_Bleu
06/16/2023, 1:06 PMexpects a value of type string.... but got Deferredbastelfreak
06/16/2023, 1:06 PMbastelfreak
06/16/2023, 1:07 PMbastelfreak
06/16/2023, 1:07 PMCode_Bleu
06/16/2023, 1:10 PM# Setup Postgress for Strapi
class profile::postgresql::config_strapi_db () {
# DB Variables
$db_name = 'strapi-db'
$db_user = 'strapi-admin'
$db_password_1 = Deferred('vault_key', ['<https://vault00:8200/v1/puppet/data/strapi>', 'puppet-pki', 'tds_strapi_db_password', 'v2'])
# Create Strapi role/user
# Environment: TDS
if /^10\.30\./ in $facts['networking']['ip'] {
$db_password = Deferred('vault_key', ['<https://vault00:8200/v1/puppet/data/strapi>', 'puppet-pki', 'tds_strapi_db_password', 'v2'])
}
# Environment: Prod
elsif /^10\.40\./ in $facts['networking']['hostname'] {
$db_password = Deferred('vault_key', ['<https://vault00:8200/v1/puppet/data/strapi>', 'puppet-pki', 'prod_strapi_db_password', 'v2'])
} else {
# Environment: Infra
}
postgresql::server::role { $db_user:
superuser => true,
password_hash => Deferred(postgresql::postgresql_password($db_user, $db_password)),
hash => 'scram-sha-256'
}
notify { 'debug':
message => $db_password
}
notify { 'debug1':
message => $db_password_1
}
# Create Strapi db and assign user
# postgresql::server::db { $db_name:
# user => $db_user,
# }
}Code_Bleu
06/16/2023, 1:14 PMError: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, 'postgresql::postgresql_password' parameter 'password' expects a value of type String, Sensitive[String], or Integer, got Deferred (file: /etc/puppetlabs/code/environments/strapi/local_modules/profile/manifests/postgresql/config_strapi_db.pp, line: 24, column: 31) on node strapi
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping runbastelfreak
06/16/2023, 1:16 PMDeferred(postgresql::postgresql_password($db_user, Sensitive($db_password)))Code_Bleu
06/16/2023, 1:22 PMFunction Call, 'postgresql::postgresql_password' parameter 'password' expects a value of type String[1], Sensitive[String], or Integer, got Sensitive[Object[{name => 'Deferred', attributes => {'name' => Pattern[/\A[$]?[a-z][a-z0-9_]*(?:::[a-z][a-z0-9_]*)*\z/], 'arguments' => {type => Optional[Array], value => undef}}}]]bastelfreak
06/16/2023, 1:23 PMCode_Bleu
06/16/2023, 1:23 PMbastelfreak
06/16/2023, 1:23 PMCode_Bleu
06/16/2023, 1:26 PMinline_epp seems to work without error, but can't figure out why it's populating the wrong value in the DB. Maybe somehow the code is returning an error of string type and just passing that in the password part and it just hashes that?bastelfreak
06/16/2023, 1:28 PMCode_Bleu
06/16/2023, 1:31 PMdp_password inside of something like this:;
$variables = {
'db_password' => Deferred('vault_key', .......)
}
And then used a:
password_hash => Deferred('inline_epp', [postgresql::postgresql_password($variables[db_user], '<%= $db_password.unwrap %>'),$variables]),bastelfreak
06/16/2023, 1:34 PMbastelfreak
06/16/2023, 1:34 PMCode_Bleu
06/16/2023, 1:35 PMbastelfreak
06/16/2023, 1:36 PMpostgresql::postgresql_password functionCode_Bleu
06/16/2023, 1:37 PMCode_Bleu
06/16/2023, 1:37 PMbastelfreak
06/16/2023, 1:37 PMCode_Bleu
06/16/2023, 1:38 PMCode_Bleu
06/16/2023, 1:38 PMmd5xxxxxxxxxxxxxbastelfreak
06/16/2023, 1:39 PM