repo

package
v0.0.52 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 8, 2023 License: MPL-2.0 Imports: 21 Imported by: 0

Documentation

Overview

Package repo handles configuration of VCS repositories.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewService

func NewService(opts Options) *service

func TestDB added in v0.0.48

func TestDB(t *testing.T, sqldb *sql.DB)

TestDB should not be called directly but via the 'integration' package (Hence why this file is suffixed with '_' to prevent Go from detecting it as a test file).

Types

type ConnectOptions

type ConnectOptions struct {
	ConnectionType // OTF resource type

	VCSProviderID string // vcs provider of repo
	ResourceID    string // ID of OTF resource
	RepoPath      string
}

type Connection

type Connection struct {
	VCSProviderID string
	Repo          string
}

Connection is a connection between a VCS repo and an OTF resource.

type ConnectionType

type ConnectionType int

ConnectionType identifies the OTF resource type in a VCS connection.

const (
	WorkspaceConnection ConnectionType = iota
	ModuleConnection
)

type DisconnectOptions

type DisconnectOptions struct {
	ConnectionType // OTF resource type

	ResourceID string // ID of OTF resource
}

type Options

type Options struct {
	logr.Logger

	CloudService cloud.Service

	*sql.DB
	internal.HostnameService
	pubsub.Publisher
	VCSProviderService vcsprovider.Service
}

type RepoService

type RepoService = Service

type Service

type Service interface {
	// Connect adds a connection between a VCS repo and an OTF resource. A
	// webhook is created if one doesn't exist already.
	Connect(ctx context.Context, opts ConnectOptions) (*Connection, error)
	// Disconnect removes a connection between a VCS repo and an OTF
	// resource. If there are no more connections then its
	// webhook is removed.
	Disconnect(ctx context.Context, opts DisconnectOptions) error
}

Service manages VCS repositories

type SynchroniseOptions

type SynchroniseOptions struct {
	VCSProviderID string // vcs provider of repo
	RepoPath      string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL