Documentation ¶
Index ¶
- Constants
- func CreateDynamoDBTable(awsConfig aws.Config, tableName string) (*types.TableDescription, error)
- func GetAWSConfig() aws.Config
- func GetConfig(configFile string, codeCommit CodeCommit) model.Config
- func GetDynamoDBTable(client *dynamodb.Client, tableName string) (*types.TableDescription, error)
- func GetLocalConfig(configFile string) model.Config
- func GetModuleState(stepState *model.StateStep, moduleName string) *model.StateModule
- func GetRemoteConfig(codeCommit CodeCommit) model.Config
- func GetStepState(state *model.State, step model.Step) *model.StateStep
- func MergeConfig(baseConfig model.Config, patchConfig model.Config) model.Config
- func PutConfig(codeCommit CodeCommit, config model.Config)
- func ValidateConfig(config model.Config, state *model.State)
- type AWS
- type AWSResources
- type Account
- type Agent
- type Artifacts
- type Build
- type BuildSpec
- type Builder
- type CloudWatch
- type CodeCommit
- type IAM
- type Install
- type Phases
- type Pipeline
- type PolicyDocument
- type PolicyStatement
- type S3
- type SSM
- type Updater
Constants ¶
View Source
const LatestAgentImage = "latest"
View Source
const StableVersion = "stable"
Variables ¶
This section is empty.
Functions ¶
func CreateDynamoDBTable ¶
func GetAWSConfig ¶
func GetDynamoDBTable ¶
func GetLocalConfig ¶
func GetModuleState ¶
func GetModuleState(stepState *model.StateStep, moduleName string) *model.StateModule
func GetRemoteConfig ¶
func GetRemoteConfig(codeCommit CodeCommit) model.Config
func MergeConfig ¶
TODO Confusing patch and base config naming
func PutConfig ¶
func PutConfig(codeCommit CodeCommit, config model.Config)
Types ¶
type AWS ¶
type AWS interface { SetupAWSResources(branch string) AWSResources SetupCustomCodeCommit(branch string) CodeCommit }
type AWSResources ¶
type Agent ¶
type Agent interface { CreatePipeline(version string) error UpdateProjectImage(version string) error }
func NewAgent ¶
func NewAgent(resources AWSResources) Agent
type Builder ¶
type Builder interface { CreateProject(projectName string, repoURL string, stepName string, workspace string, vpcConfig *types.VpcConfig) error CreateAgentProject(projectName string, awsPrefix string, image string) error GetProject(projectName string) (*types.Project, error) UpdateProjectImage(projectName string, image string) error UpdateProjectVpc(projectName string, vpcConfig *types.VpcConfig) error }
type CloudWatch ¶
type CloudWatch interface { CreateLogGroup(logGroupName string) (string, error) CreateLogStream(logGroupName string, logStreamName string) error GetLogs(logGroupName string, logStreamName string, limit int32) ([]string, error) }
func NewCloudWatch ¶
func NewCloudWatch(awsConfig aws.Config) CloudWatch
type CodeCommit ¶
type CodeCommit interface { CreateRepository() (bool, error) GetLatestCommitId() (*string, error) GetRepoMetadata() *types.RepositoryMetadata PutFile(file string, content []byte) GetFile(file string) []byte DeleteFile(file string) CheckFolderExists(folder string) bool ListFolderFiles(folder string) []string }
func NewCodeCommit ¶
func NewCodeCommit(awsConfig aws.Config, repoName string, branchName string) CodeCommit
type IAM ¶
type Pipeline ¶
type Pipeline interface { CreateTerraformPipeline(pipelineName string, projectName string, stepName string, workspace string, customRepo string) (*string, error) CreateTerraformDestroyPipeline(pipelineName string, projectName string, stepName string, workspace string, customRepo string) error CreateArgoCDPipeline(pipelineName string, projectName string, stepName string, workspace string) (*string, error) CreateArgoCDDestroyPipeline(pipelineName string, projectName string, stepName string, workspace string) error CreateAgentPipeline(pipelineName string, projectName string, bucket string) error StartPipelineExecution(pipelineName string) (*string, error) WaitPipelineExecution(pipelineName string, executionId *string, autoApprove bool, delay int, stepType model.StepType) error }
type PolicyDocument ¶
type PolicyDocument struct { Version string Statement []PolicyStatement }
type PolicyStatement ¶
type PolicyStatement struct { Effect string Action []string Principal map[string]string `json:",omitempty"` Resource []string `json:",omitempty"` }
func CodeBuildPolicy ¶
func CodeBuildPolicy(logGroupArn string, s3Arn string, repoArn string, dynamodbArn string) []PolicyStatement
func CodeBuildRepoPolicy ¶
func CodeBuildRepoPolicy(repoArn string) PolicyStatement
func CodePipelinePolicy ¶
func CodePipelinePolicy(s3Arn string, repoArn string) []PolicyStatement
func CodePipelineRepoPolicy ¶
func CodePipelineRepoPolicy(repoArn string) PolicyStatement
Click to show internal directories.
Click to hide internal directories.