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: 43 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New(params Params) *service

Types

type AdminAppConfigGraphRequest

type AdminAppConfigGraphRequest struct {
	ConfigID string
}

type AdminRestartAppBranchRequest

type AdminRestartAppBranchRequest struct{}

type AdminTestAppBranchWorkflowRequest

type AdminTestAppBranchWorkflowRequest struct {
	WorkflowType app.WorkflowType `json:"workflow_type" binding:"required"`
}

type AppAWSIAMPolicyConfig

type AppAWSIAMPolicyConfig struct {
	ManagedPolicyName string `json:"managed_policy_name"`

	Name     string `json:"name"`
	Contents string `json:"contents" swaggertype:"string" validate:"optional_json"`
}

type AppAWSIAMRoleConfig

type AppAWSIAMRoleConfig struct {
	Name                string `json:"name" validate:"required"`
	DisplayName         string `json:"display_name" validate:"required"`
	Description         string `json:"description" validate:"required"`
	PermissionsBoundary string `json:"permissions_boundary,omitempty" swaggertype:"string" validate:"optional_json"`

	Policies []AppAWSIAMPolicyConfig `json:"policies" validate:"min=1,dive"`
}

type AppConfigTemplate

type AppConfigTemplate struct {
	Format   app.AppConfigVersion
	Type     AppConfigTemplateType
	Filename string
	Content  string
}

type AppConfigTemplateType

type AppConfigTemplateType string
const (
	// not used
	AppConfigTemplateTypeAwsECS       AppConfigTemplateType = "aws-ecs"
	AppConfigTemplateTypeAwsECSBYOVPC AppConfigTemplateType = "aws-ecs-byovpc"
	AppConfigTemplateTypeAwsEKS       AppConfigTemplateType = "aws-eks"
	AppConfigTemplateTypeAwsEKSBYOVPC AppConfigTemplateType = "aws-eks-byovpc"
	AppConfigTemplateTypeAzureAKS     AppConfigTemplateType = "azure-aks"

	// flat app template
	AppConfigTemplateTypeFlat AppConfigTemplateType = "flat"

	// with sources app template
	AppConfigTemplateTypeTopLevel          AppConfigTemplateType = "top-level"
	AppConfigTemplateTypeInstaller         AppConfigTemplateType = "installer"
	AppConfigTemplateTypeRunner            AppConfigTemplateType = "runner"
	AppConfigTemplateTypeSandbox           AppConfigTemplateType = "sandbox"
	AppConfigTemplateTypeInputs            AppConfigTemplateType = "inputs"
	AppConfigTemplateTypeTerraform         AppConfigTemplateType = "terraform"
	AppConfigTemplateTypeTerraformInfra    AppConfigTemplateType = "terraformInfra"
	AppConfigTemplateTypeHelm              AppConfigTemplateType = "helm"
	AppConfigTemplateTypeDockerBuild       AppConfigTemplateType = "docker-build"
	AppConfigTemplateTypeJob               AppConfigTemplateType = "job"
	AppConfigTemplateTypeContainerImage    AppConfigTemplateType = "container-image"
	AppConfigTemplateTypeECRContainerImage AppConfigTemplateType = "ecr-container-image"
)

type AppGroupRequest

type AppGroupRequest struct {
	DisplayName string `json:"display_name" validate:"required"`
	Description string `json:"description" validate:"required"`
	Index       int    `json:"index" validate:"required"`
}

type AppInputRequest

type AppInputRequest struct {
	DisplayName string `json:"display_name" validate:"required"`
	Description string `json:"description" validate:"required"`
	Default     string `json:"default"`
	Required    bool   `json:"required"`
	Sensitive   bool   `json:"sensitive"`
	Group       string `json:"group" validate:"required"`
	Index       int    `json:"index" validate:"required"`

	// New, optional fields
	Internal bool               `json:"internal"`
	Type     string             `json:"type"`
	Source   app.AppInputSource `json:"source"`
}

type AppPolicyConfig

type AppPolicyConfig struct {
	Type        config.AppPolicyType   `json:"type" validate:"required"`
	Engine      config.AppPolicyEngine `json:"engine,omitempty"`
	Name        string                 `json:"name,omitempty"`
	Description string                 `json:"description,omitempty"`
	Contents    string                 `json:"contents" validate:"required" swaggertype:"string"`
	Components  []string               `json:"components,omitempty"`
}

type AppSecretConfig

type AppSecretConfig struct {
	Name        string `json:"name" validate:"interpolated_name,required"`
	DisplayName string `json:"display_name" validate:"required"`
	Description string `json:"description" validate:"required"`

	Required     bool   `json:"required"`
	AutoGenerate bool   `json:"auto_generate"`
	Format       string `json:"format"`
	Default      string `json:"default"`

	KubernetesSync            bool   `json:"kubernetes_sync"`
	KubernetesSecretNamespace string `json:"kubernetes_secret_namespace"`
	KubernetesSecretName      string `json:"kubernetes_secret_name" validate:"omitempty,hostname_rfc1123"`
}

type ConnectedGithubVCSSandboxConfigRequest

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

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

type CreateAppBranchRequest

type CreateAppBranchRequest struct {
	Name                       string `json:"name" validate:"required,min=1"`
	ConnectedGithubVCSConfigID string `json:"connected_github_vcs_config_id" validate:"required"`
}

func (*CreateAppBranchRequest) Validate

type CreateAppBreakGlassConfigRequest

type CreateAppBreakGlassConfigRequest struct {
	Roles []AppAWSIAMRoleConfig `json:"roles" validate:"required"`

	AppConfigID string `json:"app_config_id" validate:"required"`
}

func (*CreateAppBreakGlassConfigRequest) Validate

type CreateAppConfigRequest

type CreateAppConfigRequest struct {
	// not required Readme
	Readme     string `json:"readme,omitempty"`
	CLIVersion string `json:"cli_version,omitempty"`
}

func (*CreateAppConfigRequest) Validate

type CreateAppInputConfigRequest

type CreateAppInputConfigRequest struct {
	AppConfigID string                     `json:"app_config_id"`
	Inputs      map[string]AppInputRequest `json:"inputs" validate:"required"`
	Groups      map[string]AppGroupRequest `json:"groups" validate:"required"`
}

func (*CreateAppInputConfigRequest) Validate

type CreateAppOperationRoleConfigRequest added in v0.19.807

type CreateAppOperationRoleConfigRequest struct {
	AppConfigID string                     `json:"app_config_id" validate:"required"`
	Rules       []OperationRoleRuleRequest `json:"rules" validate:"required,dive"`
}

func (*CreateAppOperationRoleConfigRequest) Validate added in v0.19.807

type CreateAppPermissionsConfigRequest

type CreateAppPermissionsConfigRequest struct {
	ProvisionRole   AppAWSIAMRoleConfig `json:"provision_role" validate:"required"`
	DeprovisionRole AppAWSIAMRoleConfig `json:"deprovision_role" validate:"required"`
	MaintenanceRole AppAWSIAMRoleConfig `json:"maintenance_role" validate:"required"`

	BreakGlassRoles *[]AppAWSIAMRoleConfig `json:"break_glass_roles"`
	CustomRoles     *[]AppAWSIAMRoleConfig `json:"custom_roles"`

	AppConfigID string `json:"app_config_id" validate:"required"`
}

func (*CreateAppPermissionsConfigRequest) Validate

type CreateAppPoliciesConfigRequest

type CreateAppPoliciesConfigRequest struct {
	AppConfigID string `json:"app_config_id" validate:"required"`

	Policies []AppPolicyConfig `json:"policies"`
}

func (*CreateAppPoliciesConfigRequest) Validate

type CreateAppRequest

type CreateAppRequest struct {
	Name            string `json:"name" validate:"required,entity_name"`
	Description     string `json:"description"`
	DisplayName     string `json:"display_name"`
	SlackWebhookURL string `json:"slack_webhook_url"`
}

func (*CreateAppRequest) Validate

func (c *CreateAppRequest) Validate(v *validator.Validate) error

type CreateAppRunnerConfigRequest

type CreateAppRunnerConfigRequest struct {
	Type          app.AppRunnerType                 `json:"type" validate:"required"`
	EnvVars       map[string]*string                `json:"env_vars"`
	HelmDriver    app.AppRunnerConfigHelmDriverType `json:"helm_driver"`
	InitScriptURL string                            `json:"init_script_url"`

	AppConfigID string `json:"app_config_id"`
}

func (*CreateAppRunnerConfigRequest) Validate

type CreateAppSandboxConfigRequest

type CreateAppSandboxConfigRequest struct {
	TerraformVersion string  `json:"terraform_version" validate:"required"`
	DriftSchedule    *string `json:"drift_schedule,omitempty"`

	VariablesFiles []string           `json:"variables_files,omitempty"`
	Variables      map[string]*string `json:"variables" validate:"required"`
	EnvVars        map[string]*string `json:"env_vars" validate:"required"`

	OperationRoles map[app.OperationType]*string `json:"operation_roles,omitempty"`

	References []string `json:"references"`

	AppConfigID string `json:"app_config_id"`
	// contains filtered or unexported fields
}

func (*CreateAppSandboxConfigRequest) Validate

type CreateAppSecretRequest

type CreateAppSecretRequest struct {
	Name  string `json:"name" validate:"required,entity_name"`
	Value string `json:"value" validate:"required"`
}

func (*CreateAppSecretRequest) Validate

type CreateAppSecretsConfigRequest

type CreateAppSecretsConfigRequest struct {
	AppConfigID string `json:"app_config_id" validate:"required"`

	Secrets []AppSecretConfig `json:"secrets" validate:"dive"`
}

func (*CreateAppSecretsConfigRequest) Validate

type CreateAppStackConfigRequest

type CreateAppStackConfigRequest struct {
	Type        app.StackType `json:"type" validate:"required"`
	Description string        `json:"description" validate:"required"`
	Name        string        `json:"name" validate:"required"`

	RunnerNestedTemplateURL string `json:"runner_nested_template_url"`
	VPCNestedTemplateURL    string `json:"vpc_nested_template_url"`

	CustomNestedStacks []config.CustomNestedStack `json:"custom_nested_stacks"`

	AppConfigID string `json:"app_config_id" validate:"required"`
}

func (*CreateAppStackConfigRequest) Validate

type OperationRoleRuleRequest added in v0.19.807

type OperationRoleRuleRequest struct {
	Principal string            `json:"principal" validate:"required"`
	Operation app.OperationType `json:"operation" validate:"required"`
	Role      string            `json:"role" validate:"required"`
}

type Params

type Params struct {
	fx.In

	V               *validator.Validate
	DB              *gorm.DB `name:"psql"`
	MW              metrics.Writer
	L               *zap.Logger
	Cfg             *internal.Config
	VcsHelpers      *vcshelpers.Helpers
	Helpers         *appshelpers.Helpers
	InstallsHelpers *installshelpers.Helpers
	AccountsHelpers *accountshelpers.Helpers
	EvClient        eventloop.Client
	EndpointAudit   *api.EndpointAudit
	TemporalClient  temporalclient.Client
}

type PublicGitVCSSandboxConfigRequest

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

type ReprovisionAppRequest

type ReprovisionAppRequest struct{}

type RestartAppRequest

type RestartAppRequest struct{}

type UpdateAppConfigInstallsRequest

type UpdateAppConfigInstallsRequest struct {
	UpdateAll  bool
	InstallIDs []string
}

func (*UpdateAppConfigInstallsRequest) Validate

type UpdateAppConfigRequest

type UpdateAppConfigRequest struct {
	Status            app.AppConfigStatus `json:"status"`
	StatusDescription string              `json:"status_description"`
	State             string              `json:"state"`
	ComponentIDs      []string            `json:"component_ids"`
}

func (*UpdateAppConfigRequest) Validate

type UpdateAppRequest

type UpdateAppRequest struct {
	Name            string  `json:"name"`
	Description     string  `json:"description"`
	DisplayName     string  `json:"display_name"`
	SlackWebhookURL *string `json:"slack_webhook_url"`
	ConfigRepo      *string `json:"config_repo"`
	ConfigDirectory *string `json:"config_directory"`
}

func (*UpdateAppRequest) Validate

func (c *UpdateAppRequest) Validate(v *validator.Validate) error

Jump to

Keyboard shortcuts

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