Documentation
¶
Index ¶
- Constants
- Variables
- func GenerateJWT(secret []byte, accessKeyID string, issuedAt, expiresAt time.Time) (string, error)
- func MetricsHandler(ctx *middleware.Context, next http.Handler) http.Handler
- func NewBasicAuthHandler(authService auth.Service) func(accessKey, secretKey string) (user *models.User, err error)
- func NewCookieAPIHandler(next http.Handler) http.Handler
- func NewHandlerWithDefault(root http.FileSystem, handler http.Handler, defaultPath, gatewayDomain string) http.Handler
- func NewJwtTokenAuthHandler(authService auth.Service) func(string) (*models.User, error)
- func NewLoginHandler(authService auth.Service) http.Handler
- func NewLogoutHandler() http.Handler
- func NewUIHandler(authService auth.Service, gatewayDomain string) http.Handler
- func Serve(catalog catalog.Interface, authService auth.Service, ...) http.Handler
- type AuthClient
- type Client
- type ClientConfig
- type ClientOption
- type Controller
- func (c *Controller) ActionsGetRunHandler() actionsop.GetRunHandler
- func (c *Controller) ActionsGetRunHookOutputHandler() actionsop.GetRunHookOutputHandler
- func (c *Controller) ActionsListRunHooksHandler() actionsop.ListRunHooksHandler
- func (c *Controller) ActionsListRunsHandler() actionsop.ListRunsHandler
- func (c *Controller) AddGroupMembershipHandler() authop.AddGroupMembershipHandler
- func (c *Controller) AttachPolicyToGroupHandler() authop.AttachPolicyToGroupHandler
- func (c *Controller) AttachPolicyToUserHandler() authop.AttachPolicyToUserHandler
- func (c *Controller) BranchesDiffBranchHandler() branches.DiffBranchHandler
- func (c *Controller) CommitHandler() commits.CommitHandler
- func (c *Controller) CommitsGetBranchCommitLogHandler() commits.GetBranchCommitLogHandler
- func (c *Controller) ConfigGetConfigHandler() configop.GetConfigHandler
- func (c *Controller) Configure(api *operations.LakefsAPI)
- func (c *Controller) CreateBranchHandler() branches.CreateBranchHandler
- func (c *Controller) CreateCredentialsHandler() authop.CreateCredentialsHandler
- func (c *Controller) CreateGroupHandler() authop.CreateGroupHandler
- func (c *Controller) CreatePolicyHandler() authop.CreatePolicyHandler
- func (c *Controller) CreateRepositoryHandler() repositories.CreateRepositoryHandler
- func (c *Controller) CreateTagHandler() tags.CreateTagHandler
- func (c *Controller) CreateUserHandler() authop.CreateUserHandler
- func (c *Controller) DeleteBranchHandler() branches.DeleteBranchHandler
- func (c *Controller) DeleteCredentialsHandler() authop.DeleteCredentialsHandler
- func (c *Controller) DeleteGroupHandler() authop.DeleteGroupHandler
- func (c *Controller) DeleteGroupMembershipHandler() authop.DeleteGroupMembershipHandler
- func (c *Controller) DeletePolicyHandler() authop.DeletePolicyHandler
- func (c *Controller) DeleteRepositoryHandler() repositories.DeleteRepositoryHandler
- func (c *Controller) DeleteTagHandler() tags.DeleteTagHandler
- func (c *Controller) DeleteUserHandler() authop.DeleteUserHandler
- func (c *Controller) DetachPolicyFromGroupHandler() authop.DetachPolicyFromGroupHandler
- func (c *Controller) DetachPolicyFromUserHandler() authop.DetachPolicyFromUserHandler
- func (c *Controller) GetBranchHandler() branches.GetBranchHandler
- func (c *Controller) GetCommitHandler() commits.GetCommitHandler
- func (c *Controller) GetCredentialsHandler() authop.GetCredentialsHandler
- func (c *Controller) GetCurrentUserHandler() authop.GetCurrentUserHandler
- func (c *Controller) GetGroupHandler() authop.GetGroupHandler
- func (c *Controller) GetHealthCheckHandler() hcop.HealthCheckHandler
- func (c *Controller) GetPolicyHandler() authop.GetPolicyHandler
- func (c *Controller) GetRepoHandler() repositories.GetRepositoryHandler
- func (c *Controller) GetTagHandler() tags.GetTagHandler
- func (c *Controller) GetUserHandler() authop.GetUserHandler
- func (c *Controller) ListBranchesHandler() branches.ListBranchesHandler
- func (c *Controller) ListGroupMembersHandler() authop.ListGroupMembersHandler
- func (c *Controller) ListGroupPoliciesHandler() authop.ListGroupPoliciesHandler
- func (c *Controller) ListGroupsHandler() authop.ListGroupsHandler
- func (c *Controller) ListPoliciesHandler() authop.ListPoliciesHandler
- func (c *Controller) ListRepositoriesHandler() repositories.ListRepositoriesHandler
- func (c *Controller) ListTagsHandler() tags.ListTagsHandler
- func (c *Controller) ListUserCredentialsHandler() authop.ListUserCredentialsHandler
- func (c *Controller) ListUserGroupsHandler() authop.ListUserGroupsHandler
- func (c *Controller) ListUserPoliciesHandler() authop.ListUserPoliciesHandler
- func (c *Controller) ListUsersHandler() authop.ListUsersHandler
- func (c *Controller) LogAction(ctx context.Context, action string)
- func (c *Controller) MergeMergeIntoBranchHandler() refs.MergeIntoBranchHandler
- func (c *Controller) MetadataCreateSymlinkHandler() metadata.CreateSymlinkHandler
- func (c *Controller) MetadataGetMetarangeHandler() metadata.GetMetaRangeHandler
- func (c *Controller) MetadataGetRangeHandler() metadata.GetRangeHandler
- func (c *Controller) ObjectsDeleteObjectHandler() objects.DeleteObjectHandler
- func (c *Controller) ObjectsGetObjectHandler() objects.GetObjectHandler
- func (c *Controller) ObjectsGetUnderlyingPropertiesHandler() objects.GetUnderlyingPropertiesHandler
- func (c *Controller) ObjectsListObjectsHandler() objects.ListObjectsHandler
- func (c *Controller) ObjectsStageObjectHandler() objects.StageObjectHandler
- func (c *Controller) ObjectsStatObjectHandler() objects.StatObjectHandler
- func (c *Controller) ObjectsUploadObjectHandler() objects.UploadObjectHandler
- func (c *Controller) RefsDiffRefsHandler() refs.DiffRefsHandler
- func (c *Controller) RefsDumpHandler() refs.DumpHandler
- func (c *Controller) RefsRestoreHandler() refs.RestoreHandler
- func (c *Controller) ResetBranchHandler() branches.ResetBranchHandler
- func (c *Controller) RevertHandler() branches.RevertHandler
- func (c *Controller) SetupLakeFSHandler() setupop.SetupLakeFSHandler
- func (c *Controller) UpdatePolicyHandler() authop.UpdatePolicyHandler
- type LoginRequestData
- type LoginResponseData
- type RepositoryClient
Constants ¶
View Source
const ( // Maximum amount of results returned for paginated queries to the API MaxResultsPerPage = 1000 DefaultResultsPerPage = 100 UserContextKey contextKey = "user" )
View Source
const ( DefaultLoginExpiration = time.Hour * 24 * 7 JWTCookieName = "access_token" )
View Source
const ( RequestIDHeaderName = "X-Request-ID" LoggerServiceName = "rest_api" )
View Source
const JWTAuthorizationHeaderName = "X-JWT-Authorization"
Variables ¶
View Source
var ( ErrUnexpectedSigningMethod = errors.New("unexpected signing method") ErrAuthenticationFailed = openapierrors.New(http.StatusUnauthorized, "error authenticating request") )
View Source
var ErrAuthorization = errors.New("authorization error")
Functions ¶
func GenerateJWT ¶
func MetricsHandler ¶
func NewBasicAuthHandler ¶
func NewBasicAuthHandler(authService auth.Service) func(accessKey, secretKey string) (user *models.User, err error)
NewBasicAuthHandler returns a function that hooks into Swagger's basic Auth provider it uses the Auth.Service provided to ensure credentials are valid
func NewCookieAPIHandler ¶
NewCookieAPIHandler set JWT header with JWT cookie value
func NewHandlerWithDefault ¶
func NewJwtTokenAuthHandler ¶
NewJwtTokenAuthHandler decodes, validates and authenticates a user that exists in the X-JWT-Authorization header. This header either exists natively, or is set using a token
func NewLogoutHandler ¶
func Serve ¶
func Serve( catalog catalog.Interface, authService auth.Service, blockAdapter block.Adapter, metadataManager auth.MetadataManager, migrator db.Migrator, collector stats.Collector, cloudMetadataProvider cloud.MetadataProvider, actions actionsHandler, logger logging.Logger, gatewayDomain string, ) http.Handler
Types ¶
type AuthClient ¶
type AuthClient interface { GetCurrentUser(ctx context.Context) (*models.User, error) GetUser(ctx context.Context, userID string) (*models.User, error) ListUsers(ctx context.Context, after string, amount int) ([]*models.User, *models.Pagination, error) DeleteUser(ctx context.Context, userID string) error CreateUser(ctx context.Context, userID string) (*models.User, error) GetGroup(ctx context.Context, groupID string) (*models.Group, error) ListGroups(ctx context.Context, after string, amount int) ([]*models.Group, *models.Pagination, error) CreateGroup(ctx context.Context, groupID string) (*models.Group, error) DeleteGroup(ctx context.Context, groupID string) error ListPolicies(ctx context.Context, after string, amount int) ([]*models.Policy, *models.Pagination, error) CreatePolicy(ctx context.Context, policy *models.Policy) (*models.Policy, error) GetPolicy(ctx context.Context, policyID string) (*models.Policy, error) DeletePolicy(ctx context.Context, policyID string) error ListGroupMembers(ctx context.Context, groupID string, after string, amount int) ([]*models.User, *models.Pagination, error) AddGroupMembership(ctx context.Context, groupID, userID string) error DeleteGroupMembership(ctx context.Context, groupID, userID string) error ListUserCredentials(ctx context.Context, userID string, after string, amount int) ([]*models.Credentials, *models.Pagination, error) CreateCredentials(ctx context.Context, userID string) (*models.CredentialsWithSecret, error) DeleteCredentials(ctx context.Context, userID, accessKeyID string) error GetCredentials(ctx context.Context, userID, accessKeyID string) (*models.Credentials, error) ListUserGroups(ctx context.Context, userID string, after string, amount int) ([]*models.Group, *models.Pagination, error) ListUserPolicies(ctx context.Context, userID string, effective bool, after string, amount int) ([]*models.Policy, *models.Pagination, error) AttachPolicyToUser(ctx context.Context, userID, policyID string) error DetachPolicyFromUser(ctx context.Context, userID, policyID string) error ListGroupPolicies(ctx context.Context, groupID string, after string, amount int) ([]*models.Policy, *models.Pagination, error) AttachPolicyToGroup(ctx context.Context, groupID, policyID string) error DetachPolicyFromGroup(ctx context.Context, groupID, policyID string) error }
type Client ¶
type Client interface { AuthClient RepositoryClient }
type ClientConfig ¶
type ClientConfig struct {
// contains filtered or unexported fields
}
type ClientOption ¶
type ClientOption func(config *ClientConfig)
func WithHTTPClient ¶
func WithHTTPClient(client *http.Client) ClientOption
type Controller ¶
type Controller struct { Catalog catalog.Interface Auth auth.Service BlockAdapter block.Adapter MetadataManager auth.MetadataManager Migrator db.Migrator Collector stats.Collector CloudMetadataProvider cloud.MetadataProvider Actions actionsHandler Logger logging.Logger }
func NewController ¶
func (*Controller) ActionsGetRunHandler ¶
func (c *Controller) ActionsGetRunHandler() actionsop.GetRunHandler
func (*Controller) ActionsGetRunHookOutputHandler ¶
func (c *Controller) ActionsGetRunHookOutputHandler() actionsop.GetRunHookOutputHandler
func (*Controller) ActionsListRunHooksHandler ¶
func (c *Controller) ActionsListRunHooksHandler() actionsop.ListRunHooksHandler
func (*Controller) ActionsListRunsHandler ¶
func (c *Controller) ActionsListRunsHandler() actionsop.ListRunsHandler
func (*Controller) AddGroupMembershipHandler ¶
func (c *Controller) AddGroupMembershipHandler() authop.AddGroupMembershipHandler
func (*Controller) AttachPolicyToGroupHandler ¶
func (c *Controller) AttachPolicyToGroupHandler() authop.AttachPolicyToGroupHandler
func (*Controller) AttachPolicyToUserHandler ¶
func (c *Controller) AttachPolicyToUserHandler() authop.AttachPolicyToUserHandler
func (*Controller) BranchesDiffBranchHandler ¶
func (c *Controller) BranchesDiffBranchHandler() branches.DiffBranchHandler
func (*Controller) CommitHandler ¶
func (c *Controller) CommitHandler() commits.CommitHandler
func (*Controller) CommitsGetBranchCommitLogHandler ¶
func (c *Controller) CommitsGetBranchCommitLogHandler() commits.GetBranchCommitLogHandler
func (*Controller) ConfigGetConfigHandler ¶
func (c *Controller) ConfigGetConfigHandler() configop.GetConfigHandler
func (*Controller) Configure ¶
func (c *Controller) Configure(api *operations.LakefsAPI)
Configure attaches our API operations to a generated swagger API stub Adding new handlers requires also adding them here so that the generated server will use them
func (*Controller) CreateBranchHandler ¶
func (c *Controller) CreateBranchHandler() branches.CreateBranchHandler
func (*Controller) CreateCredentialsHandler ¶
func (c *Controller) CreateCredentialsHandler() authop.CreateCredentialsHandler
func (*Controller) CreateGroupHandler ¶
func (c *Controller) CreateGroupHandler() authop.CreateGroupHandler
func (*Controller) CreatePolicyHandler ¶
func (c *Controller) CreatePolicyHandler() authop.CreatePolicyHandler
func (*Controller) CreateRepositoryHandler ¶
func (c *Controller) CreateRepositoryHandler() repositories.CreateRepositoryHandler
func (*Controller) CreateTagHandler ¶
func (c *Controller) CreateTagHandler() tags.CreateTagHandler
func (*Controller) CreateUserHandler ¶
func (c *Controller) CreateUserHandler() authop.CreateUserHandler
func (*Controller) DeleteBranchHandler ¶
func (c *Controller) DeleteBranchHandler() branches.DeleteBranchHandler
func (*Controller) DeleteCredentialsHandler ¶
func (c *Controller) DeleteCredentialsHandler() authop.DeleteCredentialsHandler
func (*Controller) DeleteGroupHandler ¶
func (c *Controller) DeleteGroupHandler() authop.DeleteGroupHandler
func (*Controller) DeleteGroupMembershipHandler ¶
func (c *Controller) DeleteGroupMembershipHandler() authop.DeleteGroupMembershipHandler
func (*Controller) DeletePolicyHandler ¶
func (c *Controller) DeletePolicyHandler() authop.DeletePolicyHandler
func (*Controller) DeleteRepositoryHandler ¶
func (c *Controller) DeleteRepositoryHandler() repositories.DeleteRepositoryHandler
func (*Controller) DeleteTagHandler ¶
func (c *Controller) DeleteTagHandler() tags.DeleteTagHandler
func (*Controller) DeleteUserHandler ¶
func (c *Controller) DeleteUserHandler() authop.DeleteUserHandler
func (*Controller) DetachPolicyFromGroupHandler ¶
func (c *Controller) DetachPolicyFromGroupHandler() authop.DetachPolicyFromGroupHandler
func (*Controller) DetachPolicyFromUserHandler ¶
func (c *Controller) DetachPolicyFromUserHandler() authop.DetachPolicyFromUserHandler
func (*Controller) GetBranchHandler ¶
func (c *Controller) GetBranchHandler() branches.GetBranchHandler
func (*Controller) GetCommitHandler ¶
func (c *Controller) GetCommitHandler() commits.GetCommitHandler
func (*Controller) GetCredentialsHandler ¶
func (c *Controller) GetCredentialsHandler() authop.GetCredentialsHandler
func (*Controller) GetCurrentUserHandler ¶
func (c *Controller) GetCurrentUserHandler() authop.GetCurrentUserHandler
func (*Controller) GetGroupHandler ¶
func (c *Controller) GetGroupHandler() authop.GetGroupHandler
func (*Controller) GetHealthCheckHandler ¶
func (c *Controller) GetHealthCheckHandler() hcop.HealthCheckHandler
func (*Controller) GetPolicyHandler ¶
func (c *Controller) GetPolicyHandler() authop.GetPolicyHandler
func (*Controller) GetRepoHandler ¶
func (c *Controller) GetRepoHandler() repositories.GetRepositoryHandler
func (*Controller) GetTagHandler ¶
func (c *Controller) GetTagHandler() tags.GetTagHandler
func (*Controller) GetUserHandler ¶
func (c *Controller) GetUserHandler() authop.GetUserHandler
func (*Controller) ListBranchesHandler ¶
func (c *Controller) ListBranchesHandler() branches.ListBranchesHandler
func (*Controller) ListGroupMembersHandler ¶
func (c *Controller) ListGroupMembersHandler() authop.ListGroupMembersHandler
func (*Controller) ListGroupPoliciesHandler ¶
func (c *Controller) ListGroupPoliciesHandler() authop.ListGroupPoliciesHandler
func (*Controller) ListGroupsHandler ¶
func (c *Controller) ListGroupsHandler() authop.ListGroupsHandler
func (*Controller) ListPoliciesHandler ¶
func (c *Controller) ListPoliciesHandler() authop.ListPoliciesHandler
func (*Controller) ListRepositoriesHandler ¶
func (c *Controller) ListRepositoriesHandler() repositories.ListRepositoriesHandler
func (*Controller) ListTagsHandler ¶
func (c *Controller) ListTagsHandler() tags.ListTagsHandler
func (*Controller) ListUserCredentialsHandler ¶
func (c *Controller) ListUserCredentialsHandler() authop.ListUserCredentialsHandler
func (*Controller) ListUserGroupsHandler ¶
func (c *Controller) ListUserGroupsHandler() authop.ListUserGroupsHandler
func (*Controller) ListUserPoliciesHandler ¶
func (c *Controller) ListUserPoliciesHandler() authop.ListUserPoliciesHandler
func (*Controller) ListUsersHandler ¶
func (c *Controller) ListUsersHandler() authop.ListUsersHandler
func (*Controller) MergeMergeIntoBranchHandler ¶
func (c *Controller) MergeMergeIntoBranchHandler() refs.MergeIntoBranchHandler
func (*Controller) MetadataCreateSymlinkHandler ¶
func (c *Controller) MetadataCreateSymlinkHandler() metadata.CreateSymlinkHandler
func (*Controller) MetadataGetMetarangeHandler ¶
func (c *Controller) MetadataGetMetarangeHandler() metadata.GetMetaRangeHandler
func (*Controller) MetadataGetRangeHandler ¶
func (c *Controller) MetadataGetRangeHandler() metadata.GetRangeHandler
func (*Controller) ObjectsDeleteObjectHandler ¶
func (c *Controller) ObjectsDeleteObjectHandler() objects.DeleteObjectHandler
func (*Controller) ObjectsGetObjectHandler ¶
func (c *Controller) ObjectsGetObjectHandler() objects.GetObjectHandler
func (*Controller) ObjectsGetUnderlyingPropertiesHandler ¶
func (c *Controller) ObjectsGetUnderlyingPropertiesHandler() objects.GetUnderlyingPropertiesHandler
func (*Controller) ObjectsListObjectsHandler ¶
func (c *Controller) ObjectsListObjectsHandler() objects.ListObjectsHandler
func (*Controller) ObjectsStageObjectHandler ¶
func (c *Controller) ObjectsStageObjectHandler() objects.StageObjectHandler
func (*Controller) ObjectsStatObjectHandler ¶
func (c *Controller) ObjectsStatObjectHandler() objects.StatObjectHandler
func (*Controller) ObjectsUploadObjectHandler ¶
func (c *Controller) ObjectsUploadObjectHandler() objects.UploadObjectHandler
func (*Controller) RefsDiffRefsHandler ¶
func (c *Controller) RefsDiffRefsHandler() refs.DiffRefsHandler
func (*Controller) RefsDumpHandler ¶
func (c *Controller) RefsDumpHandler() refs.DumpHandler
func (*Controller) RefsRestoreHandler ¶
func (c *Controller) RefsRestoreHandler() refs.RestoreHandler
func (*Controller) ResetBranchHandler ¶
func (c *Controller) ResetBranchHandler() branches.ResetBranchHandler
func (*Controller) RevertHandler ¶
func (c *Controller) RevertHandler() branches.RevertHandler
func (*Controller) SetupLakeFSHandler ¶
func (c *Controller) SetupLakeFSHandler() setupop.SetupLakeFSHandler
func (*Controller) UpdatePolicyHandler ¶
func (c *Controller) UpdatePolicyHandler() authop.UpdatePolicyHandler
type LoginRequestData ¶
type LoginResponseData ¶
type LoginResponseData struct {
Token string `json:"token"`
}
type RepositoryClient ¶
type RepositoryClient interface { ListRepositories(ctx context.Context, after string, amount int) ([]*models.Repository, *models.Pagination, error) GetRepository(ctx context.Context, repository string) (*models.Repository, error) CreateRepository(ctx context.Context, repository *models.RepositoryCreation) error CreateBareRepository(ctx context.Context, repository *models.RepositoryCreation) error DeleteRepository(ctx context.Context, repository string) error ListBranches(ctx context.Context, repository string, from string, amount int) ([]*models.Ref, *models.Pagination, error) GetBranch(ctx context.Context, repository, branchID string) (string, error) CreateBranch(ctx context.Context, repository string, branch *models.BranchCreation) (string, error) DeleteBranch(ctx context.Context, repository, branchID string) error ResetBranch(ctx context.Context, repository, branchID string, resetProps *models.ResetCreation) error RevertBranch(ctx context.Context, repository, branchID string, commitRef string, parentNumber int) error ListTags(ctx context.Context, repository string, from string, amount int) ([]*models.Ref, *models.Pagination, error) GetTag(ctx context.Context, repository, tagID string) (string, error) CreateTag(ctx context.Context, repository string, tagID string, ref string) (string, error) DeleteTag(ctx context.Context, repository, tagID string) error Commit(ctx context.Context, repository, branchID, message string, metadata map[string]string) (*models.Commit, error) GetCommit(ctx context.Context, repository, commitID string) (*models.Commit, error) GetCommitLog(ctx context.Context, repository, branchID, after string, amount int) ([]*models.Commit, *models.Pagination, error) StatObject(ctx context.Context, repository, ref, path string) (*models.ObjectStats, error) ListObjects(ctx context.Context, repository, ref string, recursive bool, prefix, from string, amount int) ([]*models.ObjectStats, *models.Pagination, error) GetObject(ctx context.Context, repository, ref, path string, w io.Writer) (*objects.GetObjectOK, error) UploadObject(ctx context.Context, repository, branchID, path string, r io.Reader) (*models.ObjectStats, error) StageObject(ctx context.Context, repository, branchID, path string, object *models.ObjectStageCreation) (*models.ObjectStats, error) DeleteObject(ctx context.Context, repository, branchID, path string) error DiffRefs(ctx context.Context, repository, leftRef, rightRef string, after string, amount int) ([]*models.Diff, *models.Pagination, error) Merge(ctx context.Context, repository, destinationBranch, sourceRef string) (*models.MergeResult, error) DiffBranch(ctx context.Context, repository, branch string, after string, amount int) ([]*models.Diff, *models.Pagination, error) Symlink(ctx context.Context, repoID, ref, path string) (string, error) RefsDump(ctx context.Context, repository string) (*models.RefsDump, error) RefsRestore(ctx context.Context, repository string, manifest *models.RefsDump) error GetRunResult(ctx context.Context, repositoryID string, runID string) (*models.ActionRun, error) ListRunResults(ctx context.Context, repositoryID string, branchID, commitID *string, after string, amount int) ([]*models.ActionRun, *models.Pagination, error) ListRunTaskResults(ctx context.Context, repositoryID string, runID string, after string, amount int) ([]*models.HookRun, *models.Pagination, error) GetRunHookOutput(ctx context.Context, repositoryID string, runID string, hookRunID string, writer io.Writer) error }
Click to show internal directories.
Click to hide internal directories.