26#ifndef HYRAX_CREDENTIALSMANAGER_H
27#define HYRAX_CREDENTIALSMANAGER_H
34#include "AccessCredentials.h"
38#define CATALOG_MANAGER_CREDENTIALS "CredentialsManager.config"
42 static const char* ENV_ID_KEY;
43 static const char* ENV_ACCESS_KEY;
44 static const char* ENV_REGION_KEY;
45 static const char* ENV_BUCKET_KEY;
46 static const char* ENV_URL_KEY;
47 static const char* USE_ENV_CREDS_KEY_VALUE;
50 std::recursive_mutex d_lock_mutex{};
52 bool ngaps3CredentialsLoaded;
54 std::map<std::string, AccessCredentials* > creds;
58 static void initialize_instance();
59 static void delete_instance();
61 void load_ngap_s3_credentials( );
75 ngaps3CredentialsLoaded =
false;
84 bool hasNgapS3Credentials(){
85 return ngaps3CredentialsLoaded;
void add(const std::string &url, AccessCredentials *ac)
static CredentialsManager * theMngr
AccessCredentials * get(std::shared_ptr< http::url > &url)
static CredentialsManager * theCM()
Returns the singleton instance of the CrednetialsManager.