repo

package
v0.0.47 Latest Latest
Warning

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

Go to latest
Published: Jun 25, 2023 License: MPL-2.0 Imports: 20 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

Types

type ConnectOptions

type ConnectOptions struct {
	ConnectionType // OTF resource type

	VCSProviderID string // vcs provider of repo
	ResourceID    string // ID of OTF resource
	RepoPath      string
	Tx            internal.DB // Optional tx for performing database ops within.
}

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
	Tx         internal.DB // Optional tx for performing database ops within.
}

type Options

type Options struct {
	logr.Logger

	CloudService cloud.Service

	internal.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