Documentation
¶
Overview ¶
Package gitrepo owns configured Git repositories and their HTTP surface.
Index ¶
- func RegisterGitRepositories(api huma.API, repoService *GitRepositoryService)
- type BrowseFilesInput
- type BrowseFilesOutput
- type CreateGitRepositoryInput
- type CreateGitRepositoryOutput
- type CreateGitRepositoryRequest
- type DeleteGitRepositoryInput
- type DeleteGitRepositoryOutput
- type Dependencies
- type GetGitRepositoryInput
- type GetGitRepositoryOutput
- type GitRepository
- type GitRepositoryHandler
- func (h *GitRepositoryHandler) BrowseFiles(ctx context.Context, input *BrowseFilesInput) (*BrowseFilesOutput, error)
- func (h *GitRepositoryHandler) CreateRepository(ctx context.Context, input *CreateGitRepositoryInput) (*CreateGitRepositoryOutput, error)
- func (h *GitRepositoryHandler) DeleteRepository(ctx context.Context, input *DeleteGitRepositoryInput) (*DeleteGitRepositoryOutput, error)
- func (h *GitRepositoryHandler) GetRepository(ctx context.Context, input *GetGitRepositoryInput) (*GetGitRepositoryOutput, error)
- func (h *GitRepositoryHandler) ListBranches(ctx context.Context, input *ListBranchesInput) (*ListBranchesOutput, error)
- func (h *GitRepositoryHandler) ListRepositories(ctx context.Context, input *ListGitRepositoriesInput) (*ListGitRepositoriesOutput, error)
- func (h *GitRepositoryHandler) SyncRepositories(ctx context.Context, input *SyncGitRepositoriesInput) (*SyncGitRepositoriesOutput, error)
- func (h *GitRepositoryHandler) TestRepository(ctx context.Context, input *TestGitRepositoryInput) (*TestGitRepositoryOutput, error)
- func (h *GitRepositoryHandler) UpdateRepository(ctx context.Context, input *UpdateGitRepositoryInput) (*UpdateGitRepositoryOutput, error)
- type GitRepositoryService
- func (s *GitRepositoryService) BrowseFiles(ctx context.Context, id, branch, path string) (*gitops.BrowseResponse, error)
- func (s *GitRepositoryService) CreateRepository(ctx context.Context, req CreateGitRepositoryRequest, actor common.User) (*GitRepository, error)
- func (s *GitRepositoryService) DeleteRepository(ctx context.Context, id string, actor common.User) error
- func (s *GitRepositoryService) FindEnabledRepositoryByURL(ctx context.Context, rawURL string) (*GitRepository, error)
- func (s *GitRepositoryService) GetAuthConfig(ctx context.Context, repository *GitRepository) (git.AuthConfig, error)
- func (s *GitRepositoryService) GetRepositoriesPaginated(ctx context.Context, params pagination.QueryParams) ([]gitops.GitRepository, pagination.Response, error)
- func (s *GitRepositoryService) GetRepositoryByID(ctx context.Context, id string) (*GitRepository, error)
- func (s *GitRepositoryService) GetRepositoryByName(ctx context.Context, name string) (*GitRepository, error)
- func (s *GitRepositoryService) ListBranches(ctx context.Context, id string) ([]gitops.BranchInfo, error)
- func (s *GitRepositoryService) SyncRepositories(ctx context.Context, syncItems []gitops.RepositorySync) error
- func (s *GitRepositoryService) TestConnection(ctx context.Context, id string, branch string, actor common.User) error
- func (s *GitRepositoryService) UpdateRepository(ctx context.Context, id string, req UpdateGitRepositoryRequest, ...) (*GitRepository, error)
- type ListBranchesInput
- type ListBranchesOutput
- type ListGitRepositoriesInput
- type ListGitRepositoriesOutput
- type Module
- type SyncGitRepositoriesInput
- type SyncGitRepositoriesOutput
- type TestGitRepositoryInput
- type TestGitRepositoryOutput
- type UpdateGitRepositoryInput
- type UpdateGitRepositoryOutput
- type UpdateGitRepositoryRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterGitRepositories ¶
func RegisterGitRepositories(api huma.API, repoService *GitRepositoryService)
RegisterGitRepositories registers all git repository endpoints.
Types ¶
type BrowseFilesInput ¶
type BrowseFilesOutput ¶
type BrowseFilesOutput struct {
Body base.ApiResponse[gitops.BrowseResponse]
}
type CreateGitRepositoryInput ¶
type CreateGitRepositoryInput struct {
Body CreateGitRepositoryRequest
}
type CreateGitRepositoryOutput ¶
type CreateGitRepositoryOutput struct {
Body base.ApiResponse[gitops.GitRepository]
}
type CreateGitRepositoryRequest ¶ added in v2.8.1
type CreateGitRepositoryRequest struct {
Name string `json:"name" binding:"required"`
URL string `json:"url" binding:"required"`
AuthType string `json:"authType" binding:"required,oneof=none http ssh"`
Username string `json:"username,omitempty"`
Token string `json:"token,omitempty"`
SSHKey string `json:"sshKey,omitempty"`
SSHHostKeyVerification string `json:"sshHostKeyVerification,omitempty" binding:"omitempty,oneof=strict accept_new skip"`
Description *string `json:"description,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
}
type DeleteGitRepositoryInput ¶
type DeleteGitRepositoryInput struct {
ID string `path:"id" doc:"Repository ID"`
}
type DeleteGitRepositoryOutput ¶
type DeleteGitRepositoryOutput struct {
Body base.ApiResponse[base.MessageResponse]
}
type Dependencies ¶
type Dependencies struct {
DB *database.DB
WorkDir string
Event *event.EventService
Settings *settings.SettingsService
}
type GetGitRepositoryInput ¶
type GetGitRepositoryInput struct {
ID string `path:"id" doc:"Repository ID"`
}
type GetGitRepositoryOutput ¶
type GetGitRepositoryOutput struct {
Body base.ApiResponse[gitops.GitRepository]
}
type GitRepository ¶ added in v2.8.1
type GitRepository struct {
database.BaseModel
Name string `json:"name" sortable:"true" search:"git,repository,repo,source,version,control,github,gitlab,bitbucket"`
URL string `json:"url" sortable:"true" search:"url,git,clone,remote,https,ssh"`
AuthType string `json:"authType" sortable:"true" search:"auth,authentication,credentials,token,ssh,http"` // none, http, ssh
Username string `json:"username" sortable:"true" search:"username,user,login,account"`
Token string `json:"token" search:"token,password,credentials,secret,auth"` // encrypted
SSHKey string `json:"sshKey" search:"ssh,key,private,public,certificate"` // encrypted
SSHHostKeyVerification string `json:"sshHostKeyVerification" gorm:"default:accept_new"` // strict, accept_new, skip
Description *string `json:"description,omitempty" sortable:"true"`
Enabled bool `json:"enabled" sortable:"true" search:"enabled,active,disabled"`
}
func (GitRepository) TableName ¶ added in v2.8.1
func (GitRepository) TableName() string
type GitRepositoryHandler ¶
type GitRepositoryHandler struct {
// contains filtered or unexported fields
}
GitRepositoryHandler handles git repository management endpoints.
func (*GitRepositoryHandler) BrowseFiles ¶
func (h *GitRepositoryHandler) BrowseFiles(ctx context.Context, input *BrowseFilesInput) (*BrowseFilesOutput, error)
BrowseFiles returns files and directories from a git repository.
func (*GitRepositoryHandler) CreateRepository ¶
func (h *GitRepositoryHandler) CreateRepository(ctx context.Context, input *CreateGitRepositoryInput) (*CreateGitRepositoryOutput, error)
CreateRepository creates a new git repository.
func (*GitRepositoryHandler) DeleteRepository ¶
func (h *GitRepositoryHandler) DeleteRepository(ctx context.Context, input *DeleteGitRepositoryInput) (*DeleteGitRepositoryOutput, error)
DeleteRepository deletes a git repository by ID.
func (*GitRepositoryHandler) GetRepository ¶
func (h *GitRepositoryHandler) GetRepository(ctx context.Context, input *GetGitRepositoryInput) (*GetGitRepositoryOutput, error)
GetRepository returns a git repository by ID.
func (*GitRepositoryHandler) ListBranches ¶
func (h *GitRepositoryHandler) ListBranches(ctx context.Context, input *ListBranchesInput) (*ListBranchesOutput, error)
ListBranches returns all branches from a git repository.
func (*GitRepositoryHandler) ListRepositories ¶
func (h *GitRepositoryHandler) ListRepositories(ctx context.Context, input *ListGitRepositoriesInput) (*ListGitRepositoriesOutput, error)
ListRepositories returns a paginated list of git repositories.
func (*GitRepositoryHandler) SyncRepositories ¶
func (h *GitRepositoryHandler) SyncRepositories(ctx context.Context, input *SyncGitRepositoriesInput) (*SyncGitRepositoriesOutput, error)
SyncRepositories syncs git repositories from a manager to this agent instance.
func (*GitRepositoryHandler) TestRepository ¶
func (h *GitRepositoryHandler) TestRepository(ctx context.Context, input *TestGitRepositoryInput) (*TestGitRepositoryOutput, error)
TestRepository tests connectivity and authentication to a git repository.
func (*GitRepositoryHandler) UpdateRepository ¶
func (h *GitRepositoryHandler) UpdateRepository(ctx context.Context, input *UpdateGitRepositoryInput) (*UpdateGitRepositoryOutput, error)
UpdateRepository updates an existing git repository.
type GitRepositoryService ¶
func NewGitRepositoryService ¶
func NewGitRepositoryService(db *database.DB, workDir string, eventService *event.EventService, settingsService *settings.SettingsService) *GitRepositoryService
func (*GitRepositoryService) BrowseFiles ¶
func (s *GitRepositoryService) BrowseFiles(ctx context.Context, id, branch, path string) (*gitops.BrowseResponse, error)
func (*GitRepositoryService) CreateRepository ¶
func (s *GitRepositoryService) CreateRepository(ctx context.Context, req CreateGitRepositoryRequest, actor common.User) (*GitRepository, error)
func (*GitRepositoryService) DeleteRepository ¶
func (*GitRepositoryService) FindEnabledRepositoryByURL ¶
func (s *GitRepositoryService) FindEnabledRepositoryByURL(ctx context.Context, rawURL string) (*GitRepository, error)
func (*GitRepositoryService) GetAuthConfig ¶
func (s *GitRepositoryService) GetAuthConfig(ctx context.Context, repository *GitRepository) (git.AuthConfig, error)
func (*GitRepositoryService) GetRepositoriesPaginated ¶
func (s *GitRepositoryService) GetRepositoriesPaginated(ctx context.Context, params pagination.QueryParams) ([]gitops.GitRepository, pagination.Response, error)
func (*GitRepositoryService) GetRepositoryByID ¶
func (s *GitRepositoryService) GetRepositoryByID(ctx context.Context, id string) (*GitRepository, error)
func (*GitRepositoryService) GetRepositoryByName ¶
func (s *GitRepositoryService) GetRepositoryByName(ctx context.Context, name string) (*GitRepository, error)
func (*GitRepositoryService) ListBranches ¶
func (s *GitRepositoryService) ListBranches(ctx context.Context, id string) ([]gitops.BranchInfo, error)
func (*GitRepositoryService) SyncRepositories ¶
func (s *GitRepositoryService) SyncRepositories(ctx context.Context, syncItems []gitops.RepositorySync) error
SyncRepositories syncs repositories from a manager to this agent instance. It creates, updates, or deletes repositories to match the provided list.
func (*GitRepositoryService) TestConnection ¶
func (*GitRepositoryService) UpdateRepository ¶
func (s *GitRepositoryService) UpdateRepository(ctx context.Context, id string, req UpdateGitRepositoryRequest, actor common.User) (*GitRepository, error)
type ListBranchesInput ¶
type ListBranchesInput struct {
ID string `path:"id" doc:"Repository ID"`
}
type ListBranchesOutput ¶
type ListBranchesOutput struct {
Body base.ApiResponse[gitops.BranchesResponse]
}
type ListGitRepositoriesInput ¶
type ListGitRepositoriesInput struct {
Search string `query:"search" doc:"Search query"`
Sort string `query:"sort" doc:"Column to sort by"`
Order string `query:"order" default:"asc" doc:"Sort direction"`
Start int `query:"start" default:"0" doc:"Start index"`
Limit int `query:"limit" default:"20" doc:"Items per page"`
}
type ListGitRepositoriesOutput ¶
type ListGitRepositoriesOutput struct {
Body base.Paginated[gitops.GitRepository]
}
type Module ¶
type Module struct {
// contains filtered or unexported fields
}
func New ¶
func New(deps Dependencies) *Module
func (*Module) RegisterRoutes ¶
func (*Module) Service ¶
func (m *Module) Service() *GitRepositoryService
type SyncGitRepositoriesInput ¶
type SyncGitRepositoriesInput struct {
Body gitops.RepositorySyncRequest
}
type SyncGitRepositoriesOutput ¶
type SyncGitRepositoriesOutput struct {
Body base.ApiResponse[base.MessageResponse]
}
type TestGitRepositoryInput ¶
type TestGitRepositoryOutput ¶
type TestGitRepositoryOutput struct {
Body base.ApiResponse[base.MessageResponse]
}
type UpdateGitRepositoryInput ¶
type UpdateGitRepositoryInput struct {
ID string `path:"id" doc:"Repository ID"`
Body UpdateGitRepositoryRequest
}
type UpdateGitRepositoryOutput ¶
type UpdateGitRepositoryOutput struct {
Body base.ApiResponse[gitops.GitRepository]
}
type UpdateGitRepositoryRequest ¶ added in v2.8.1
type UpdateGitRepositoryRequest struct {
Name *string `json:"name,omitempty"`
URL *string `json:"url,omitempty"`
AuthType *string `json:"authType,omitempty" binding:"omitempty,oneof=none http ssh"`
Username *string `json:"username,omitempty"`
Token *string `json:"token,omitempty"`
SSHKey *string `json:"sshKey,omitempty"`
SSHHostKeyVerification *string `json:"sshHostKeyVerification,omitempty" binding:"omitempty,oneof=strict accept_new skip"`
Description *string `json:"description,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
}