service

package
v0.19.821 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2026 License: AGPL-3.0 Imports: 36 Imported by: 0

Documentation

Index

Constants

View Source
const MinTerraformVersion = "1.8.0"

Variables

This section is empty.

Functions

func New

func New(params Params) *service

Types

type AdminDeleteComponentRequest

type AdminDeleteComponentRequest struct{}

type BuildAllComponentsRequest

type BuildAllComponentsRequest struct{}

func (*BuildAllComponentsRequest) Validate

type ComponentChildren

type ComponentChildren struct {
	Children []app.Component `json:"children"`
}

type ConnectedGithubVCSConfigRequest

type ConnectedGithubVCSConfigRequest struct {
	Repo      string `validate:"required"`
	Directory string `validate:"required"`

	Branch string `validate:"required_without=GitRef"`
	GitRef string `validate:"required_without=Branch"`
}

type CreateComponentBuildRequest

type CreateComponentBuildRequest struct {
	GitRef    *string `validate:"required_unless=UseLatest true" json:"git_ref"`
	UseLatest bool    `validate:"required_without=GitRef" json:"use_latest"`
}

func (*CreateComponentBuildRequest) Validate

type CreateComponentRequest

type CreateComponentRequest struct {
	Name         string   `json:"name" validate:"required,interpolated_name"`
	VarName      string   `json:"var_name" validate:"interpolated_name"`
	Dependencies []string `json:"dependencies"`
}

func (*CreateComponentRequest) Validate

type CreateDockerBuildComponentConfigRequest

type CreateDockerBuildComponentConfigRequest struct {
	Dockerfile    string             `json:"dockerfile" validate:"required"`
	Target        string             `json:"target"`
	BuildArgs     []string           `json:"build_args"`
	EnvVars       map[string]*string `json:"env_vars"`
	BuildTimeout  string             `json:"build_timeout,omitempty"`  // Duration string for build operations (e.g., "30m", "1h")
	DeployTimeout string             `json:"deploy_timeout,omitempty"` // Duration string for deploy operations (e.g., "30m", "1h")
	AppConfigID   string             `json:"app_config_id"`

	Dependencies   []string                      `json:"dependencies"`
	References     []string                      `json:"references"`
	Checksum       string                        `json:"checksum"`
	OperationRoles map[app.OperationType]*string `json:"operation_roles,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateDockerBuildComponentConfigRequest) Validate

type CreateExternalImageComponentConfigRequest

type CreateExternalImageComponentConfigRequest struct {
	AWSECRImageConfig *awsECRImageConfigRequest `json:"aws_ecr_image_config"`

	ImageURL      string `json:"image_url" validate:"required"`
	Tag           string `json:"tag" validate:"required"`
	BuildTimeout  string `json:"build_timeout,omitempty"`  // Duration string for build operations (e.g., "30m", "1h")
	DeployTimeout string `json:"deploy_timeout,omitempty"` // Duration string for deploy operations (e.g., "30m", "1h")

	AppConfigID string `json:"app_config_id"`

	Dependencies   []string                      `json:"dependencies"`
	References     []string                      `json:"references"`
	Checksum       string                        `json:"checksum"`
	OperationRoles map[app.OperationType]*string `json:"operation_roles,omitempty"`
}

func (*CreateExternalImageComponentConfigRequest) Validate

type CreateHelmComponentConfigRequest

type CreateHelmComponentConfigRequest struct {
	HelmRepoConfig *HelmRepoConfigRequest `json:"helm_repo_config,omitempty"`

	Values        map[string]*string `json:"values,omitempty" validate:"required"`
	ValuesFiles   []string           `json:"values_files,omitempty"`
	ChartName     string             `json:"chart_name,omitempty" validate:"required,dns_rfc1035_label,min=5,max=62"`
	Namespace     string             `json:"namespace,omitempty"`
	StorageDriver string             `json:"storage_driver,omitempty"`
	TakeOwnership bool               `json:"take_ownership,omitempty"`
	BuildTimeout  string             `json:"build_timeout,omitempty"`  // Duration string for build operations (e.g., "30m", "1h")
	DeployTimeout string             `json:"deploy_timeout,omitempty"` // Duration string for deploy operations (e.g., "30m", "1h")

	AppConfigID string `json:"app_config_id"`

	Dependencies   []string                      `json:"dependencies"`
	References     []string                      `json:"references"`
	Checksum       string                        `json:"checksum"`
	DriftSchedule  *string                       `json:"drift_schedule,omitempty"`
	OperationRoles map[app.OperationType]*string `json:"operation_roles,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateHelmComponentConfigRequest) Validate

type CreateJobComponentConfigRequest

type CreateJobComponentConfigRequest struct {
	ImageURL      string             `json:"image_url" validate:"required"`
	Tag           string             `json:"tag" validate:"required"`
	Cmd           []string           `json:"cmd"`
	EnvVars       map[string]*string `json:"env_vars"`
	Args          []string           `json:"args"`
	BuildTimeout  string             `json:"build_timeout,omitempty"`  // Duration string for build operations (e.g., "30m", "1h")
	DeployTimeout string             `json:"deploy_timeout,omitempty"` // Duration string for deploy operations (e.g., "30m", "1h")

	AppConfigID    string                        `json:"app_config_id"`
	References     []string                      `json:"references"`
	Checksum       string                        `json:"checksum"`
	OperationRoles map[app.OperationType]*string `json:"operation_roles,omitempty"`
}

func (*CreateJobComponentConfigRequest) Validate

type CreateKubernetesManifestComponentConfigRequest

type CreateKubernetesManifestComponentConfigRequest struct {
	AppConfigID string `json:"app_config_id"`

	References   []string `json:"references"`
	Checksum     string   `json:"checksum"`
	Dependencies []string `json:"dependencies"`

	// Inline manifest (mutually exclusive with Kustomize)
	Manifest      string  `json:"manifest,omitempty"`
	Namespace     string  `json:"namespace"`
	BuildTimeout  string  `json:"build_timeout,omitempty"`  // Duration string for build operations (e.g., "30m", "1h")
	DeployTimeout string  `json:"deploy_timeout,omitempty"` // Duration string for deploy operations (e.g., "30m", "1h")
	DriftSchedule *string `json:"drift_schedule,omitempty"`

	// Kustomize configuration (mutually exclusive with Manifest)
	Kustomize *KustomizeConfigRequest `json:"kustomize,omitempty"`

	OperationRoles map[app.OperationType]*string `json:"operation_roles,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateKubernetesManifestComponentConfigRequest) Validate

type CreateTerraformModuleComponentConfigRequest

type CreateTerraformModuleComponentConfigRequest struct {
	Version        string             `json:"version"`
	Variables      map[string]*string `json:"variables" validate:"required"`
	VariablesFiles []string           `json:"variables_files,omitempty"`
	EnvVars        map[string]*string `json:"env_vars" validate:"required"`
	BuildTimeout   string             `json:"build_timeout,omitempty"`  // Duration string for build operations (e.g., "30m", "1h")
	DeployTimeout  string             `json:"deploy_timeout,omitempty"` // Duration string for deploy operations (e.g., "30m", "1h")

	AppConfigID string `json:"app_config_id"`

	Dependencies   []string                      `json:"dependencies"`
	References     []string                      `json:"references"`
	Checksum       string                        `json:"checksum"`
	DriftSchedule  *string                       `json:"drift_schedule,omitempty"`
	OperationRoles map[app.OperationType]*string `json:"operation_roles,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateTerraformModuleComponentConfigRequest) Validate

type HelmRepoConfigRequest

type HelmRepoConfigRequest struct {
	RepoURL string `json:"repo_url" validate:"required,url"`
	Chart   string `json:"chart" validate:"required"`
	Version string `json:"version,omitempty"`
}

type KustomizeConfigRequest

type KustomizeConfigRequest struct {
	Path           string   `json:"path"`
	Patches        []string `json:"patches,omitempty"`
	EnableHelm     bool     `json:"enable_helm,omitempty"`
	LoadRestrictor string   `json:"load_restrictor,omitempty"`
}

KustomizeConfigRequest defines kustomize options in API requests

type Params

type Params struct {
	fx.In

	V           *validator.Validate
	Cfg         *internal.Config
	DB          *gorm.DB `name:"psql"`
	MW          metrics.Writer
	L           *zap.Logger
	Helpers     *helpers.Helpers
	VcsHelpers  *vcshelpers.Helpers
	AppsHelpers *appshelpers.Helpers
	EvClient    eventloop.Client
	TfClient    terraform.Client
}

type PublicGitVCSConfigRequest

type PublicGitVCSConfigRequest struct {
	Repo      string `validate:"required"`
	Directory string `validate:"required"`
	Branch    string `validate:"required"`
}

type RestartComponentRequest

type RestartComponentRequest struct{}

type UpdateComponentRequest

type UpdateComponentRequest struct {
	Name    string `json:"name" validate:"required,interpolated_name"`
	VarName string `json:"var_name" validate:"interpolated_name"`

	Dependencies []string `json:"dependencies"`
}

func (*UpdateComponentRequest) Validate

Jump to

Keyboard shortcuts

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