Documentation ¶
Index ¶
- Constants
- type ActionCommand
- type AgentReplaceType
- type Approve
- type AwsDefaultTags
- type AwsIgnoreTags
- type AwsProvider
- type BaseConfig
- type Builder
- type CloudProvider
- type CloudResources
- func (c CloudResources) GetBucket() string
- func (c CloudResources) GetBuilder() Builder
- func (c CloudResources) GetCloudPrefix() string
- func (c CloudResources) GetCodeRepo() CodeRepo
- func (c CloudResources) GetPipeline() Pipeline
- func (c CloudResources) GetProviderType() ProviderType
- func (c CloudResources) GetSSM() SSM
- type CodeRepo
- type Config
- type KubernetesProvider
- type Module
- type ModuleType
- type Parameter
- type Pipeline
- type Project
- type Provider
- type ProviderType
- type ReplaceType
- type RepositoryMetadata
- type Resources
- type SSM
- type Set
- type State
- type StateConfig
- type StateModule
- type StateStep
- type Step
- type StepType
- type TerraformChanges
- type VpcConfig
Constants ¶
View Source
const AgentImage = "public.ecr.aws/entigolabs/entigo-infralib-agent"
View Source
const AgentImageDocker = "docker.io/entigolabs/entigo-infralib-agent"
View Source
const AgentSource = "agent-source.zip"
View Source
const LatestImageVersion = "latest"
View Source
const ProjectImage = "public.ecr.aws/entigolabs/entigo-infralib-base"
View Source
const ProjectImageDocker = "docker.io/entigolabs/entigo-infralib-base"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ActionCommand ¶
type ActionCommand string
const ( PlanCommand ActionCommand = "plan" ApplyCommand ActionCommand = "apply" PlanDestroyCommand ActionCommand = "plan-destroy" ApplyDestroyCommand ActionCommand = "apply-destroy" ArgoCDPlanCommand ActionCommand = "argocd-plan" ArgoCDApplyCommand ActionCommand = "argocd-apply" ArgoCDPlanDestroyCommand ActionCommand = "argocd-plan-destroy" ArgoCDApplyDestroyCommand ActionCommand = "argocd-apply-destroy" )
type AgentReplaceType ¶
type AgentReplaceType string
const ( AgentReplaceTypeVersion AgentReplaceType = "version" AgentReplaceTypeAccountId AgentReplaceType = "accountId" )
type AwsDefaultTags ¶
func (AwsDefaultTags) IsEmpty ¶
func (d AwsDefaultTags) IsEmpty() bool
type AwsIgnoreTags ¶
type AwsIgnoreTags struct { KeyPrefixes []string `yaml:"key_prefixes,omitempty"` Keys []string `yaml:"keys,omitempty"` }
func (AwsIgnoreTags) IsEmpty ¶
func (i AwsIgnoreTags) IsEmpty() bool
type AwsProvider ¶
type AwsProvider struct { IgnoreTags AwsIgnoreTags `yaml:"ignore_tags,omitempty"` DefaultTags AwsDefaultTags `yaml:"default_tags,omitempty"` }
func (AwsProvider) IsEmpty ¶
func (a AwsProvider) IsEmpty() bool
type BaseConfig ¶
type Builder ¶
type Builder interface { CreateProject(projectName string, repoURL string, stepName string, step Step, imageVersion string, vpcConfig *VpcConfig) error CreateAgentProject(projectName string, awsPrefix string, imageVersion string) error GetProject(projectName string) (*Project, error) UpdateAgentProject(projectName string, version string, cloudPrefix string) error UpdateProject(projectName, repoURL, stepName string, step Step, imageVersion string, vpcConfig *VpcConfig) error }
type CloudProvider ¶
type CloudResources ¶
type CloudResources struct { ProviderType ProviderType CodeRepo CodeRepo Pipeline Pipeline CodeBuild Builder SSM SSM CloudPrefix string Bucket string }
func (CloudResources) GetBucket ¶
func (c CloudResources) GetBucket() string
func (CloudResources) GetBuilder ¶
func (c CloudResources) GetBuilder() Builder
func (CloudResources) GetCloudPrefix ¶
func (c CloudResources) GetCloudPrefix() string
func (CloudResources) GetCodeRepo ¶
func (c CloudResources) GetCodeRepo() CodeRepo
func (CloudResources) GetPipeline ¶
func (c CloudResources) GetPipeline() Pipeline
func (CloudResources) GetProviderType ¶
func (c CloudResources) GetProviderType() ProviderType
func (CloudResources) GetSSM ¶
func (c CloudResources) GetSSM() SSM
type Config ¶
type Config struct { BaseConfig BaseConfig `yaml:"base_config"` Prefix string `yaml:"prefix,omitempty" fake:"{word}"` Source string `yaml:"source" fake:"{url}"` Version string `yaml:"version,omitempty" fake:"{version}"` AgentVersion string `yaml:"agent_version,omitempty" fake:"{version}"` BaseImageVersion string `yaml:"base_image_version,omitempty"` Steps []Step `yaml:"steps,omitempty" fakesize:"1"` }
type KubernetesProvider ¶
type KubernetesProvider struct { IgnoreAnnotations []string `yaml:"ignore_annotations,omitempty"` IgnoreLabels []string `yaml:"ignore_labels,omitempty"` }
func (KubernetesProvider) IsEmpty ¶
func (k KubernetesProvider) IsEmpty() bool
type Module ¶
type Module struct { Name string `yaml:"name"` Source string `yaml:"source,omitempty"` HttpUsername string `yaml:"http_username,omitempty"` HttpPassword string `yaml:"http_password,omitempty"` Version string `yaml:"version,omitempty"` Remove bool `yaml:"remove,omitempty"` Inputs map[string]interface{} `yaml:"inputs,omitempty"` }
type Pipeline ¶
type Pipeline interface { CreatePipeline(projectName string, stepName string, step Step, repo string) (*string, error) CreateAgentPipeline(prefix string, pipelineName string, projectName string, bucket string) error UpdatePipeline(pipelineName string, stepName string, step Step, bucket string) error StartAgentExecution(pipelineName string) error StartPipelineExecution(pipelineName string, stepName string, step Step, customRepo string) (*string, error) WaitPipelineExecution(pipelineName string, projectName string, executionId *string, autoApprove bool, stepType StepType) error }
type Provider ¶
type Provider struct { Inputs map[string]interface{} `yaml:"inputs,omitempty"` Aws AwsProvider `yaml:"aws"` Kubernetes KubernetesProvider `yaml:"kubernetes"` }
type ProviderType ¶
type ProviderType string
const ( AWS ProviderType = "AWS" GCLOUD ProviderType = "GCLOUD" )
type ReplaceType ¶
type ReplaceType string
const ( ReplaceTypeSSM ReplaceType = "ssm" ReplaceTypeSSMCustom ReplaceType = "ssm-custom" ReplaceTypeGCSM ReplaceType = "gcsm" ReplaceTypeGCSMCustom ReplaceType = "gcsm-custom" ReplaceTypeConfig ReplaceType = "config" ReplaceTypeAgent ReplaceType = "agent" )
type RepositoryMetadata ¶
type State ¶
type State struct { BaseConfig StateConfig `yaml:"base_config"` Steps []*StateStep `yaml:"steps"` }
type StateConfig ¶
type StateConfig struct { Version *version.Version `yaml:"version,omitempty"` AppliedVersion *version.Version `yaml:"applied_version,omitempty"` }
type StateModule ¶
type StateModule struct { Name string `yaml:"name"` Version string `yaml:"version,omitempty"` AppliedVersion *string `yaml:"applied_version,omitempty"` Type *ModuleType `yaml:"type,omitempty"` AutoApprove bool `yaml:"-"` // always omit }
type StateStep ¶
type StateStep struct { Name string `yaml:"name"` Workspace string `yaml:"workspace"` AppliedAt time.Time `yaml:"applied_at,omitempty"` Modules []*StateModule `yaml:"modules"` }
type Step ¶
type Step struct { Name string `yaml:"name" fake:"{word}"` Type StepType `yaml:"type,omitempty" fake:"{stepType}"` Workspace string `yaml:"workspace"` Before string `yaml:"before,omitempty"` Approve Approve `yaml:"approve,omitempty"` Remove bool `yaml:"remove,omitempty"` Version string `yaml:"version,omitempty"` BaseImageVersion string `yaml:"base_image_version,omitempty"` VpcId string `yaml:"vpc_id,omitempty"` VpcSubnetIds string `yaml:"vpc_subnet_ids,omitempty"` VpcSecurityGroupIds string `yaml:"vpc_security_group_ids,omitempty"` KubernetesClusterName string `yaml:"kubernetes_cluster_name,omitempty"` ArgocdNamespace string `yaml:"argocd_namespace,omitempty"` RepoUrl string `yaml:"repo_url,omitempty"` Provider Provider `yaml:"provider,omitempty"` Modules []Module `yaml:"modules,omitempty"` }
type TerraformChanges ¶
Click to show internal directories.
Click to hide internal directories.