2023-01-04 11:24:09 -05:00
|
|
|
// Copyright (c) HashiCorp, Inc.
|
|
|
|
|
// SPDX-License-Identifier: BUSL-1.1
|
2023-02-02 17:15:17 -08:00
|
|
|
|
2020-06-08 14:43:13 -07:00
|
|
|
package common
|
|
|
|
|
|
|
|
|
|
import (
|
2024-02-13 09:17:41 -08:00
|
|
|
"github.com/hashicorp/boundary/internal/alias"
|
2024-02-01 07:31:46 -08:00
|
|
|
"github.com/hashicorp/boundary/internal/alias/target"
|
2023-12-21 14:58:21 -05:00
|
|
|
"github.com/hashicorp/boundary/internal/auth"
|
2023-03-15 11:40:40 -04:00
|
|
|
"github.com/hashicorp/boundary/internal/auth/ldap"
|
2021-04-08 20:54:32 -04:00
|
|
|
"github.com/hashicorp/boundary/internal/auth/oidc"
|
2020-08-10 17:15:02 -04:00
|
|
|
"github.com/hashicorp/boundary/internal/auth/password"
|
2024-02-21 13:28:44 -05:00
|
|
|
"github.com/hashicorp/boundary/internal/billing"
|
2023-12-06 09:45:44 -08:00
|
|
|
"github.com/hashicorp/boundary/internal/credential"
|
2022-05-18 20:20:45 -07:00
|
|
|
credstatic "github.com/hashicorp/boundary/internal/credential/static"
|
2021-06-22 22:26:26 -04:00
|
|
|
"github.com/hashicorp/boundary/internal/credential/vault"
|
2023-12-15 10:58:30 -08:00
|
|
|
"github.com/hashicorp/boundary/internal/host"
|
2021-09-13 15:02:04 -07:00
|
|
|
pluginhost "github.com/hashicorp/boundary/internal/host/plugin"
|
2020-08-10 17:15:02 -04:00
|
|
|
"github.com/hashicorp/boundary/internal/host/static"
|
|
|
|
|
"github.com/hashicorp/boundary/internal/iam"
|
2023-04-24 19:27:41 -04:00
|
|
|
"github.com/hashicorp/boundary/internal/plugin"
|
2022-06-20 18:20:17 -07:00
|
|
|
"github.com/hashicorp/boundary/internal/server"
|
2020-09-19 00:18:17 -04:00
|
|
|
"github.com/hashicorp/boundary/internal/session"
|
2023-04-28 22:44:49 -07:00
|
|
|
pluginstorage "github.com/hashicorp/boundary/internal/storage/plugin"
|
2020-06-08 14:43:13 -07:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
type (
|
2023-04-28 22:44:49 -07:00
|
|
|
AuthTokenRepoFactory = oidc.AuthTokenRepoFactory
|
|
|
|
|
VaultCredentialRepoFactory = func() (*vault.Repository, error)
|
|
|
|
|
StaticCredentialRepoFactory = func() (*credstatic.Repository, error)
|
2023-12-06 09:45:44 -08:00
|
|
|
CredentialStoreRepoFactory func() (*credential.StoreRepository, error)
|
2023-12-15 10:58:30 -08:00
|
|
|
HostCatalogRepoFactory func() (*host.CatalogRepository, error)
|
2023-04-28 22:44:49 -07:00
|
|
|
IamRepoFactory = iam.IamRepoFactory
|
|
|
|
|
OidcAuthRepoFactory = oidc.OidcRepoFactory
|
|
|
|
|
LdapAuthRepoFactory = ldap.RepoFactory
|
|
|
|
|
PasswordAuthRepoFactory func() (*password.Repository, error)
|
2023-12-21 14:58:21 -05:00
|
|
|
AuthMethodRepoFactory func() (*auth.AuthMethodRepository, error)
|
2023-04-28 22:44:49 -07:00
|
|
|
ServersRepoFactory func() (*server.Repository, error)
|
|
|
|
|
StaticRepoFactory func() (*static.Repository, error)
|
|
|
|
|
PluginHostRepoFactory func() (*pluginhost.Repository, error)
|
|
|
|
|
PluginRepoFactory func() (*plugin.Repository, error)
|
|
|
|
|
ConnectionRepoFactory func() (*session.ConnectionRepository, error)
|
|
|
|
|
WorkerAuthRepoStorageFactory func() (*server.WorkerAuthRepositoryStorage, error)
|
|
|
|
|
PluginStorageBucketRepoFactory func() (*pluginstorage.Repository, error)
|
2024-02-21 13:28:44 -05:00
|
|
|
BillingRepoFactory func() (*billing.Repository, error)
|
2024-02-13 09:17:41 -08:00
|
|
|
AliasRepoFactory func() (*alias.Repository, error)
|
2024-02-01 07:31:46 -08:00
|
|
|
TargetAliasRepoFactory func() (*target.Repository, error)
|
2020-06-08 14:43:13 -07:00
|
|
|
)
|
2023-01-04 11:24:09 -05:00
|
|
|
|
|
|
|
|
// Downstreamers provides at least a minimum interface that must be met by a
|
|
|
|
|
// Controller.downstreamWorkers field which is far better than allowing any (empty
|
|
|
|
|
// interface)
|
|
|
|
|
type Downstreamers interface {
|
|
|
|
|
// RootId returns the root ID of the downstreamers' graph
|
|
|
|
|
RootId() string
|
|
|
|
|
}
|