1- #include < iostream>
2- #include " VaultClient.h"
31#include " ../../shared/shared.h"
2+ #include < iostream>
43
5- Vault::Client setup (const Vault::Client &rootClient) {
4+ Vault::Client setup (const Vault::Client &rootClient,
5+ const Vault::Path &appRoleMount,
6+ const Vault::SecretMount &secretMount) {
67 Vault::Sys::Auth authAdmin{rootClient};
78 Vault::AppRole appRoleAdmin{rootClient};
89 Vault::Sys::Policy policyAdmin{rootClient};
910 Vault::Sys::Mounts mountAdmin{rootClient};
1011
1112 createPolicy (policyAdmin);
12- enableAppRole (authAdmin);
13+ enableAppRole (authAdmin, appRoleMount );
1314 createRole (appRoleAdmin);
14- enableKeyValue (mountAdmin);
15+ enableKeyValue (mountAdmin, secretMount );
1516
1617 Vault::RoleId roleId = getRoleId (appRoleAdmin);
1718 Vault::SecretId secretId = getSecretId (appRoleAdmin);
1819
19- return getAppRoleClient (roleId, secretId);
20+ return getAppRoleClient (roleId, secretId, appRoleMount );
2021}
2122
22- void cleanup (const Vault::Client &rootClient) {
23+ void cleanup (const Vault::Client &rootClient, const Vault::Path &appRoleMount,
24+ const Vault::SecretMount &secretMount) {
2325 Vault::Sys::Auth authAdmin = Vault::Sys::Auth{rootClient};
2426 Vault::AppRole appRoleAdmin = Vault::AppRole{rootClient};
2527 Vault::Sys::Mounts mountAdmin{rootClient};
2628 Vault::Sys::Policy policyAdmin{rootClient};
2729
2830 deleteRole (appRoleAdmin);
29- disableAppRole (authAdmin);
30- disableKeyValue (mountAdmin);
31+ disableAppRole (authAdmin, appRoleMount );
32+ disableKeyValue (mountAdmin, secretMount );
3133 deletePolicy (policyAdmin);
3234}
3335
3436int main (void ) {
3537 char *rootTokenEnv = std::getenv (" VAULT_ROOT_TOKEN" );
3638 if (!rootTokenEnv) {
37- std::cout << " The VAULT_ROOT_TOKEN environment variable must be set" << std::endl;
39+ std::cout << " The VAULT_ROOT_TOKEN environment variable must be set"
40+ << std::endl;
3841 exit (-1 );
3942 }
4043 Vault::Token rootToken{rootTokenEnv};
4144 Vault::Client rootClient = getRootClient (rootToken);
42- Vault::Client client = setup (rootClient);
43- Vault::KeyValue kv{client};
45+ Vault::Path appRoleMount{" approle" };
46+ Vault::SecretMount secretMount{" kv" };
47+ Vault::Client client = setup (rootClient, appRoleMount, secretMount);
48+ Vault::KeyValue kv{client, secretMount};
4449 Vault::Path key{" hello" };
4550 Vault::Parameters parameters (
46- {{" foo" , " world" },
47- {" baz" , " quux" },
48- {" something" , " something else" }});
51+ {{" foo" , " world" }, {" baz" , " quux" }, {" something" , " something else" }});
4952
5053 kv.create (key, parameters);
5154 auto response = kv.read (key);
@@ -55,5 +58,5 @@ int main(void) {
5558 std::cout << " Unable to read secrets" << std::endl;
5659 }
5760
58- cleanup (rootClient);
61+ cleanup (rootClient, appRoleMount, secretMount );
5962}
0 commit comments