#ifndef PRODUCTION_BORG_MGMT_NODE_PROXY_SAFEPOWER_SAFEPOWER_AGENT_BMC_AUTH_H_
#define PRODUCTION_BORG_MGMT_NODE_PROXY_SAFEPOWER_SAFEPOWER_AGENT_BMC_AUTH_H_

#include <memory>

#include "absl/status/statusor.h"
#include "absl/strings/string_view.h"
#include "grpcpp/security/authorization_policy_provider.h"
#include "grpcpp/security/server_credentials.h"

namespace auth {

constexpr absl::string_view kZatarCertFilePath =
    "/var/volatile/prodid/server.pem";
constexpr absl::string_view kGpowerDCertAuthZPolicy =
    "/var/google/authz_policies/gpowerd_authz_policy.json";
constexpr absl::string_view kTrustBundleFilePath =
    "/var/google/trust_bundle/trust_bundle.pem";

absl::StatusOr<std::shared_ptr<grpc::ServerCredentials>> GetCredsInfo();

absl::StatusOr<
    std::shared_ptr<::grpc::experimental::AuthorizationPolicyProviderInterface>>
GetAuthPolicy();

}  // namespace auth

#endif  // PRODUCTION_BORG_MGMT_NODE_PROXY_SAFEPOWER_SAFEPOWER_AGENT_BMC_AUTH_H_
