Documentation
¶
Overview ¶
Package ports is a generated GoMock package.
Index ¶
- func ResolveManagedRepo(ctx context.Context, repoStorage Persistence, managedRepoIdentifier string) (*model.RepositoryMetadata, error)
- type MockRepository
- func (m *MockRepository) AcquireBatch(ctx context.Context, repo string, stacks []string, user string, prNum int) error
- func (m *MockRepository) EXPECT() *MockRepositoryMockRecorder
- func (m *MockRepository) GetDeployment(ctx context.Context, id string) (*model.Deployment, error)
- func (m *MockRepository) GetDeploymentByPR(ctx context.Context, repo string, prNumber int) (*model.Deployment, error)
- func (m *MockRepository) GetJob(ctx context.Context, jobID string) (*model.Job, error)
- func (m *MockRepository) GetRepositoryByID(ctx context.Context, id string) (*model.RepositoryMetadata, error)
- func (m *MockRepository) GetRepositoryByName(ctx context.Context, name string) (*model.RepositoryMetadata, error)
- func (m *MockRepository) GetRepositoryByURI(ctx context.Context, uri string) (*model.RepositoryMetadata, error)
- func (m *MockRepository) Release(ctx context.Context, repo, stackPath string) error
- func (m *MockRepository) ReleaseBatch(ctx context.Context, repo string, prNum int) error
- func (m *MockRepository) SaveDeployment(ctx context.Context, d *model.Deployment) error
- func (m *MockRepository) SaveJob(ctx context.Context, j model.Job) error
- func (m *MockRepository) SaveRepository(ctx context.Context, r model.RepositoryMetadata) error
- func (m *MockRepository) UpdateJobStatus(ctx context.Context, jobID string, status model.OpStatus) error
- type MockRepositoryMockRecorder
- func (mr *MockRepositoryMockRecorder) AcquireBatch(ctx, repo, stacks, user, prNum any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) GetDeployment(ctx, id any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) GetDeploymentByPR(ctx, repo, prNumber any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) GetJob(ctx, jobID any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) GetRepositoryByID(ctx, id any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) GetRepositoryByName(ctx, name any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) GetRepositoryByURI(ctx, uri any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) Release(ctx, repo, stackPath any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) ReleaseBatch(ctx, repo, prNum any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) SaveDeployment(ctx, d any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) SaveJob(ctx, j any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) SaveRepository(ctx, r any) *gomock.Call
- func (mr *MockRepositoryMockRecorder) UpdateJobStatus(ctx, jobID, status any) *gomock.Call
- type Persistence
- type PipelineOrchestrator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ResolveManagedRepo ¶
func ResolveManagedRepo(ctx context.Context, repoStorage Persistence, managedRepoIdentifier string) (*model.RepositoryMetadata, error)
ResolveManagedRepo tenta encontrar um repositório usando diferentes estratégias Aceita: ID nativo, URI completa, ou nome (legacy) Útil durante período de migração onde clientes podem enviar formatos diferentes
Ordem de tentativa: 1. ID nativo (busca direta - mais rápido) 2. URI completa (query por repo_uri) 3. Nome (legacy - query por name)
Types ¶
type MockRepository ¶
type MockRepository struct {
// contains filtered or unexported fields
}
MockRepository is a mock of Persistence interface.
func NewMockRepository ¶
func NewMockRepository(ctrl *gomock.Controller) *MockRepository
NewMockRepository creates a new mock instance.
func (*MockRepository) AcquireBatch ¶
func (m *MockRepository) AcquireBatch(ctx context.Context, repo string, stacks []string, user string, prNum int) error
AcquireBatch mocks base method.
func (*MockRepository) EXPECT ¶
func (m *MockRepository) EXPECT() *MockRepositoryMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockRepository) GetDeployment ¶
func (m *MockRepository) GetDeployment(ctx context.Context, id string) (*model.Deployment, error)
GetDeployment mocks base method.
func (*MockRepository) GetDeploymentByPR ¶
func (m *MockRepository) GetDeploymentByPR(ctx context.Context, repo string, prNumber int) (*model.Deployment, error)
GetDeploymentByPR mocks base method.
func (*MockRepository) GetRepositoryByID ¶
func (m *MockRepository) GetRepositoryByID(ctx context.Context, id string) (*model.RepositoryMetadata, error)
GetRepositoryByID mocks base method.
func (*MockRepository) GetRepositoryByName ¶
func (m *MockRepository) GetRepositoryByName(ctx context.Context, name string) (*model.RepositoryMetadata, error)
GetRepositoryByName mocks base method.
func (*MockRepository) GetRepositoryByURI ¶
func (m *MockRepository) GetRepositoryByURI(ctx context.Context, uri string) (*model.RepositoryMetadata, error)
GetRepositoryByURI mocks base method.
func (*MockRepository) Release ¶
func (m *MockRepository) Release(ctx context.Context, repo, stackPath string) error
Release mocks base method.
func (*MockRepository) ReleaseBatch ¶
ReleaseBatch mocks base method.
func (*MockRepository) SaveDeployment ¶
func (m *MockRepository) SaveDeployment(ctx context.Context, d *model.Deployment) error
SaveDeployment mocks base method.
func (*MockRepository) SaveRepository ¶
func (m *MockRepository) SaveRepository(ctx context.Context, r model.RepositoryMetadata) error
SaveRepository mocks base method.
func (*MockRepository) UpdateJobStatus ¶
func (m *MockRepository) UpdateJobStatus(ctx context.Context, jobID string, status model.OpStatus) error
UpdateJobStatus mocks base method.
type MockRepositoryMockRecorder ¶
type MockRepositoryMockRecorder struct {
// contains filtered or unexported fields
}
MockRepositoryMockRecorder is the mock recorder for MockRepository.
func (*MockRepositoryMockRecorder) AcquireBatch ¶
func (mr *MockRepositoryMockRecorder) AcquireBatch(ctx, repo, stacks, user, prNum any) *gomock.Call
AcquireBatch indicates an expected call of AcquireBatch.
func (*MockRepositoryMockRecorder) GetDeployment ¶
func (mr *MockRepositoryMockRecorder) GetDeployment(ctx, id any) *gomock.Call
GetDeployment indicates an expected call of GetDeployment.
func (*MockRepositoryMockRecorder) GetDeploymentByPR ¶
func (mr *MockRepositoryMockRecorder) GetDeploymentByPR(ctx, repo, prNumber any) *gomock.Call
GetDeploymentByPR indicates an expected call of GetDeploymentByPR.
func (*MockRepositoryMockRecorder) GetJob ¶
func (mr *MockRepositoryMockRecorder) GetJob(ctx, jobID any) *gomock.Call
GetJob indicates an expected call of GetJob.
func (*MockRepositoryMockRecorder) GetRepositoryByID ¶
func (mr *MockRepositoryMockRecorder) GetRepositoryByID(ctx, id any) *gomock.Call
GetRepositoryByID indicates an expected call of GetRepositoryByID.
func (*MockRepositoryMockRecorder) GetRepositoryByName ¶
func (mr *MockRepositoryMockRecorder) GetRepositoryByName(ctx, name any) *gomock.Call
GetRepositoryByName indicates an expected call of GetRepositoryByName.
func (*MockRepositoryMockRecorder) GetRepositoryByURI ¶
func (mr *MockRepositoryMockRecorder) GetRepositoryByURI(ctx, uri any) *gomock.Call
GetRepositoryByURI indicates an expected call of GetRepositoryByURI.
func (*MockRepositoryMockRecorder) Release ¶
func (mr *MockRepositoryMockRecorder) Release(ctx, repo, stackPath any) *gomock.Call
Release indicates an expected call of Release.
func (*MockRepositoryMockRecorder) ReleaseBatch ¶
func (mr *MockRepositoryMockRecorder) ReleaseBatch(ctx, repo, prNum any) *gomock.Call
ReleaseBatch indicates an expected call of ReleaseBatch.
func (*MockRepositoryMockRecorder) SaveDeployment ¶
func (mr *MockRepositoryMockRecorder) SaveDeployment(ctx, d any) *gomock.Call
SaveDeployment indicates an expected call of SaveDeployment.
func (*MockRepositoryMockRecorder) SaveJob ¶
func (mr *MockRepositoryMockRecorder) SaveJob(ctx, j any) *gomock.Call
SaveJob indicates an expected call of SaveJob.
func (*MockRepositoryMockRecorder) SaveRepository ¶
func (mr *MockRepositoryMockRecorder) SaveRepository(ctx, r any) *gomock.Call
SaveRepository indicates an expected call of SaveRepository.
func (*MockRepositoryMockRecorder) UpdateJobStatus ¶
func (mr *MockRepositoryMockRecorder) UpdateJobStatus(ctx, jobID, status any) *gomock.Call
UpdateJobStatus indicates an expected call of UpdateJobStatus.
type Persistence ¶
type Persistence interface {
SaveDeployment(ctx context.Context, d *model.Deployment) error
GetDeployment(ctx context.Context, id string) (*model.Deployment, error)
GetDeploymentByPR(ctx context.Context, repo string, prNumber int) (*model.Deployment, error)
SaveJob(ctx context.Context, j model.Job) error
GetJob(ctx context.Context, jobID string) (*model.Job, error)
UpdateJobStatus(ctx context.Context, jobID string, status model.OpStatus) error
// SaveRepository cria ou atualiza um repositório
SaveRepository(ctx context.Context, r model.RepositoryMetadata) error
// GetRepositoryByID busca repositório pelo ID nativo (chave primária)
// ID = GUID do Azure, número do GitHub/GitLab
GetRepositoryByID(ctx context.Context, id string) (*model.RepositoryMetadata, error)
// GetRepositoryByName busca repositório pelo nome (busca secundária)
// Pode retornar erro se houver múltiplos repos com mesmo nome
GetRepositoryByName(ctx context.Context, name string) (*model.RepositoryMetadata, error)
// GetRepositoryByURI busca repositório pela URI completa
// Útil para migração e lookup durante transição
GetRepositoryByURI(ctx context.Context, uri string) (*model.RepositoryMetadata, error)
// AcquireBatch tenta adquirir locks para múltiplos stacks de um PR
// Retorna erro se QUALQUER stack já estiver locked por outro PR
// Se o mesmo PR chamar novamente, permite (re-lock/idempotente)
AcquireBatch(ctx context.Context, repo string, stacks []string, user string, prNum int) error
// Release libera o lock de um stack específico
Release(ctx context.Context, repo, stackPath string) error
// ReleaseBatch libera todos os locks de um PR específico
// Usado quando PR é merged, closed, ou via comando /unlock
ReleaseBatch(ctx context.Context, repo string, prNum int) error
}
Persistence gerencia persistência de dados e locks de stacks no Firestore
type PipelineOrchestrator ¶
type PipelineOrchestrator interface {
TriggerApply(ctx context.Context, req model.PipelineTriggerRequest) (string, error)
}
PipelineOrchestrator: Azure DevOps ou GitHub Actions