service

package
v0.19.913 Latest Latest
Warning

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

Go to latest
Published: May 1, 2026 License: AGPL-3.0 Imports: 45 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 AddComponentLabelsRequest added in v0.19.894

type AddComponentLabelsRequest struct {
	Labels map[string]string `json:"labels" validate:"required"`
}

func (*AddComponentLabelsRequest) Validate added in v0.19.894

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"`
	Labels       map[string]string `json:"labels,omitempty"`
}

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")
	MaxAutoRetries *int               `json:"max_auto_retries,omitempty"`
	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"`
	GCPGARImageConfig   *gcpGARImageConfigRequest   `json:"gcp_gar_image_config"`
	AzureACRImageConfig *azureACRImageConfigRequest `json:"azure_acr_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")
	MaxAutoRetries *int   `json:"max_auto_retries,omitempty"`

	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")
	MaxAutoRetries *int               `json:"max_auto_retries,omitempty"`

	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")
	MaxAutoRetries *int               `json:"max_auto_retries,omitempty"`

	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")
	MaxAutoRetries *int    `json:"max_auto_retries,omitempty"`
	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 CreatePulumiComponentConfigRequest added in v0.19.894

type CreatePulumiComponentConfigRequest struct {
	Runtime        string             `json:"runtime" validate:"required"`
	Version        string             `json:"version"`
	Config         map[string]*string `json:"config" validate:"required"`
	EnvVars        map[string]*string `json:"env_vars" validate:"required"`
	BuildTimeout   string             `json:"build_timeout,omitempty"`
	DeployTimeout  string             `json:"deploy_timeout,omitempty"`
	MaxAutoRetries *int               `json:"max_auto_retries,omitempty"`

	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 (*CreatePulumiComponentConfigRequest) Validate added in v0.19.894

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")
	MaxAutoRetries *int               `json:"max_auto_retries,omitempty"`

	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
	QueueClient    *queueclient.Client
	FeaturesClient *features.Features
	EndpointAudit  *apiPkg.EndpointAudit
}

type PublicGitVCSConfigRequest

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

type RemoveComponentLabelsRequest added in v0.19.894

type RemoveComponentLabelsRequest struct {
	Keys []string `json:"keys" validate:"required"`
}

func (*RemoveComponentLabelsRequest) Validate added in v0.19.894

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"`
	Labels       map[string]string `json:"labels,omitempty"`
}

func (*UpdateComponentRequest) Validate

Jump to

Keyboard shortcuts

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