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: 50 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 AdminTriggerAppBranchRunRequest added in v0.19.850

type AdminTriggerAppBranchRunRequest struct {
	Force bool `json:"force"`
}

type AppAWSIAMPolicyConfig

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

	Name              string   `json:"name"`
	Contents          string   `json:"contents" swaggertype:"string" validate:"optional_json"`
	GCPPermissions    []string `json:"gcp_permissions,omitempty"`
	GCPPredefinedRole string   `json:"gcp_predefined_role,omitempty"`
}

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"`
	CloudPlatform       string `json:"cloud_platform,omitempty" validate:"omitempty,oneof=aws gcp azure"`
	EnabledInStack      *bool  `json:"enabled_in_stack" swaggertype:"boolean" extensions:"x-nullable"`

	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
	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 CreateAppBranchConfigRequest added in v0.19.850

type CreateAppBranchConfigRequest struct {
	vcshelpers.VCSConfigRequest

	InstallGroups []InstallGroupRequest `json:"install_groups"`
}

func (*CreateAppBranchConfigRequest) Validate added in v0.19.850

type CreateAppBranchRequest

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

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 {
	vcshelpers.VCSConfigRequest

	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"`
}

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 InstallGroupRequest added in v0.19.850

type InstallGroupRequest struct {
	Name              string   `json:"name" validate:"required,min=1"`
	Order             int      `json:"order" validate:"min=0"`
	InstallIDs        []string `json:"install_ids"`
	RequiresApproval  bool     `json:"requires_approval"`
	RollbackOnFailure bool     `json:"rollback_on_failure"`
	MaxParallel       int      `json:"max_parallel" validate:"min=1"`
}

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
	FeaturesClient  *features.Features
	EvClient        eventloop.Client
	QueueClient     *queueclient.Client
	EndpointAudit   *api.EndpointAudit
	TemporalClient  temporalclient.Client
}

type ReprovisionAppRequest

type ReprovisionAppRequest struct{}

type RestartAppRequest

type RestartAppRequest struct{}

type TriggerAppBranchRunRequest added in v0.19.850

type TriggerAppBranchRunRequest struct {
	ConfigID string `json:"config_id"` // optional - use latest if not provided
	Force    bool   `json:"force"`     // force run even if no changes detected
}

func (*TriggerAppBranchRunRequest) Validate added in v0.19.850

type UpdateAppBranchRequest added in v0.19.850

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

func (*UpdateAppBranchRequest) Validate added in v0.19.850

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

Source Files

Jump to

Keyboard shortcuts

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