drizzle

package module
v0.0.0-...-4f497cb Latest Latest
Warning

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

Go to latest
Published: Jan 14, 2022 License: MIT Imports: 1 Imported by: 0

README

Drizzle

Experimental serverless CI/CD pipeline on AWS.

Part of Drizzle - Serverless CI/CD Pipeline With AWS Lambda blog post on uphill.dev.

Webhook infrastructure

How to run

See the CDK Infrastructure project for detailed instruction.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Builder

type Builder interface {
	Build(ctx context.Context, repository Repository, workDir string) error
}

Builder executes preparing steps before running a pipeline.

type Cloner

type Cloner interface {
	Clone(repository Repository, workDir string) (string, error)
}

Cloner represents an interface to clone repositories.

type Executor

type Executor interface {
	Execute(command string, workDir string) (ShellOut, error)
}

Executor executes commands.

type Parser

type Parser interface {
	Parse(path string) (Pipeline, error)
}

Parser parses input and creates a Pipeline

type Pipeline

type Pipeline struct {
	Variables map[string]string `yaml:"variables"`
	Stages    Stages            `yaml:"stages"`
	Path      string
}

Pipeline represents a build pipeline.

type Repository

type Repository struct {
	ID        string `json:"id"`
	BranchRef string `json:"branch_ref"`
	Name      string `json:"name"`
	FullName  string `json:"full_name"`
	Private   bool   `json:"private"`
	URL       string `json:"url"`
	CloneURL  string `json:"clone_url"`
}

Repository represents a repository for build pipeline execution.

type SecretRetriever

type SecretRetriever interface {
	// RetrieveSecret retrieves a secret for given ID.
	RetrieveSecret(secretID string) (string, error)
}

SecretRetriever handles secrets.

type ShellOut

type ShellOut struct {
	StdErr string
	StdOut string
}

ShellOut represents the standard output and the standard error output of a shell command execution.

type Stage

type Stage struct {
	Name     string   `yaml:"name"`
	Execute  []string `yaml:"execute"`
	Branches []string `yaml:"branches"`
	Debug    bool     `yaml:"debug"`
}

Stage represents the stage of the build.

type Stages

type Stages []*Stage

Stages represents the stages of the build.

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

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