Documentation
¶
Index ¶
- Variables
- func New(params Params) *service
- type AdminAppComponentDetails
- type AdminAppConfigGraphRequest
- type AdminAppDetails
- type AdminTriggerAppBranchRunRequest
- type AppAWSIAMPolicyConfig
- type AppAWSIAMRoleConfig
- type AppConfigDiffResponse
- type AppConfigTemplate
- type AppConfigTemplateType
- type AppGroupRequest
- type AppInputRequest
- type AppKubernetesContext
- type AppLabelKeySummary
- type AppLabelsResponse
- type AppPolicyConfig
- type AppSecretConfig
- type CreateAppBranchConfigRequest
- type CreateAppBranchRequest
- type CreateAppBreakGlassConfigRequest
- type CreateAppConfigRequest
- type CreateAppInputConfigRequest
- type CreateAppKubernetesContextsConfigRequest
- type CreateAppOperationRoleConfigRequest
- type CreateAppPermissionsConfigRequest
- type CreateAppPoliciesConfigRequest
- type CreateAppRequest
- type CreateAppRunnerConfigRequest
- type CreateAppSandboxConfigRequest
- type CreateAppSecretRequest
- type CreateAppSecretsConfigRequest
- type CreateAppStackConfigRequest
- type InstallGroupRequest
- type KubernetesSyncTarget
- type OperationRoleRuleRequest
- type Params
- type ReprovisionAppRequest
- type RestartAppRequest
- type TriggerAppBranchRunRequest
- type UpdateAppBranchRequest
- type UpdateAppConfigInstallsRequest
- type UpdateAppConfigRequest
- type UpdateAppRequest
Constants ¶
This section is empty.
Variables ¶
View Source
var StandardLabelColors = []string{
"#2563eb", "#dc2626", "#16a34a", "#9333ea", "#ca8a04", "#0891b2",
"#e11d48", "#4f46e5", "#059669", "#c026d3", "#d97706", "#0284c7",
"#be123c", "#7c3aed", "#15803d", "#a21caf", "#b45309", "#0369a1",
"#9f1239", "#6d28d9", "#166534", "#86198f", "#92400e", "#075985",
"#881337", "#5b21b6", "#14532d", "#701a75", "#78350f", "#0c4a6e",
"#6366f1", "#ef4444", "#22c55e", "#a855f7", "#eab308", "#06b6d4",
"#f43f5e", "#818cf8", "#34d399", "#d946ef", "#f59e0b", "#0ea5e9",
"#fb7185", "#a78bfa", "#4ade80", "#e879f9", "#fbbf24", "#38bdf8",
"#f87171", "#c084fc", "#86efac", "#f0abfc", "#fcd34d", "#7dd3fc",
"#fca5a5", "#d8b4fe", "#bbf7d0", "#f5d0fe", "#fde68a", "#bae6fd",
"#3b82f6", "#f97316", "#8b5cf6", "#14b8a6",
}
Functions ¶
Types ¶
type AdminAppComponentDetails ¶ added in v0.19.939
type AdminAppConfigGraphRequest ¶
type AdminAppConfigGraphRequest struct {
ConfigID string
}
type AdminAppDetails ¶ added in v0.19.939
type AdminAppDetails struct {
*app.App
Components []AdminAppComponentDetails `json:"components,omitempty"`
}
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 AppConfigDiffResponse ¶ added in v0.19.1012
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 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 AppKubernetesContext ¶ added in v0.19.1025
type AppLabelKeySummary ¶ added in v0.19.1038
type AppLabelsResponse ¶ added in v0.19.1038
type AppLabelsResponse struct {
Labels []AppLabelKeySummary `json:"labels"`
LabelColors map[string]string `json:"label_colors"`
DefaultColors []string `json:"default_colors"`
}
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"`
KubernetesSyncTargets []KubernetesSyncTarget `json:"kubernetes_sync_targets" validate:"dive"`
}
type CreateAppBranchConfigRequest ¶ added in v0.19.850
type CreateAppBranchConfigRequest struct {
vcshelpers.VCSConfigRequest
InstallGroups []InstallGroupRequest `json:"install_groups"`
}
type CreateAppBranchRequest ¶
type CreateAppBreakGlassConfigRequest ¶
type CreateAppBreakGlassConfigRequest struct {
Roles []AppAWSIAMRoleConfig `json:"roles" validate:"required"`
AppConfigID string `json:"app_config_id" validate:"required"`
}
type CreateAppConfigRequest ¶
type CreateAppConfigRequest struct {
Readme string `json:"readme,omitempty"`
CLIVersion string `json:"cli_version,omitempty"`
// IntermediateConfigJSON is the serialized intermediate config (parsed nuon.toml).
// When provided, stored on the AppConfig for diffing in PR previews.
IntermediateConfigJSON string `json:"intermediate_config_json,omitempty"`
// AppBranchID optionally links this config to an app branch.
// When set, triggers an app branch run after sync.
AppBranchID string `json:"app_branch_id,omitempty"`
// PlanOnly creates a preview run (plan without apply). Only used with AppBranchID.
PlanOnly bool `json:"plan_only,omitempty"`
// SkipNotification suppresses the app-config-synced signal emission.
// Used when creating a config as part of app deletion cleanup.
SkipNotification bool `json:"skip_notification,omitempty"`
}
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"`
}
type CreateAppKubernetesContextsConfigRequest ¶ added in v0.19.1025
type CreateAppKubernetesContextsConfigRequest struct {
AppConfigID string `json:"app_config_id" validate:"required"`
Contexts []AppKubernetesContext `json:"contexts" validate:"dive"`
}
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"`
}
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"`
}
type CreateAppPoliciesConfigRequest ¶
type CreateAppPoliciesConfigRequest struct {
AppConfigID string `json:"app_config_id" validate:"required"`
Policies []AppPolicyConfig `json:"policies"`
}
type CreateAppRequest ¶
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"`
InstanceType string `json:"instance_type"`
RunnerAPIURL string `json:"runner_api_url"`
PublicAPIURL string `json:"public_api_url"`
AppConfigID string `json:"app_config_id"`
}
type CreateAppSandboxConfigRequest ¶
type CreateAppSandboxConfigRequest struct {
vcshelpers.VCSConfigRequest
Type string `json:"type,omitempty"`
TerraformVersion string `json:"terraform_version,omitempty"`
Runtime string `json:"runtime,omitempty"`
PulumiVersion string `json:"pulumi_version,omitempty"`
DriftSchedule *string `json:"drift_schedule,omitempty" validate:"omitempty,cron_schedule"`
MaxAutoRetries *int `json:"max_auto_retries,omitempty"`
SkipNoops *bool `json:"skip_noops,omitempty"`
AutoApproveOnPoliciesPassing *bool `json:"auto_approve_on_policies_passing,omitempty"`
VariablesFiles []string `json:"variables_files,omitempty"`
Variables map[string]*string `json:"variables" validate:"required"`
EnvVars map[string]*string `json:"env_vars" validate:"required"`
PulumiConfig map[string]*string `json:"pulumi_config,omitempty"`
OperationRoles map[app.OperationType]*string `json:"operation_roles,omitempty"`
References []string `json:"references"`
AppConfigID string `json:"app_config_id"`
}
type CreateAppSecretRequest ¶
type CreateAppSecretsConfigRequest ¶
type CreateAppSecretsConfigRequest struct {
AppConfigID string `json:"app_config_id" validate:"required"`
Secrets []AppSecretConfig `json:"secrets" validate:"dive"`
}
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"`
}
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"`
UseForPreviews bool `json:"use_for_previews"`
// LabelSelector dynamically resolves installs at deploy time.
// Mutually exclusive with InstallIDs.
LabelSelector *labels.Selector `json:"label_selector,omitempty"`
}
type KubernetesSyncTarget ¶ added in v0.19.986
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
QueueClient *queueclient.Client
EndpointAudit *api.EndpointAudit
TemporalClient temporalclient.Client
BlobService blobstore.Service
}
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
PlanOnly bool `json:"plan_only"` // plan-only preview mode (no apply)
AppConfigID string `json:"app_config_id"` // optional - use pre-existing app config (skips VCS fetch + config parse)
SkipBuilds bool `json:"skip_builds"` // skip builds step (e.g. rollback to existing config with existing builds)
}
type UpdateAppBranchRequest ¶ added in v0.19.850
type UpdateAppBranchRequest struct {
Name string `json:"name" validate:"required,min=1"`
}
type UpdateAppConfigRequest ¶
type UpdateAppConfigRequest struct {
Status app.AppConfigStatus `json:"status"`
StatusDescription string `json:"status_description"`
State string `json:"state"`
ComponentIDs []string `json:"component_ids"`
}
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"`
LabelColors map[string]string `json:"label_colors,omitempty"`
}
Source Files
¶
- admin_latest_graph.go
- admin_list_apps_details.go
- admin_reprovision_app.go
- admin_restart_app.go
- admin_trigger_app_branch_run.go
- build_app_config.go
- config_templates.go
- create_app.go
- create_app_branch.go
- create_app_branch_config.go
- create_app_break_glass_config.go
- create_app_config.go
- create_app_input_config.go
- create_app_kubernetes_contexts_config.go
- create_app_operation_role_config.go
- create_app_permissions_config.go
- create_app_policies_config.go
- create_app_runner_config.go
- create_app_sandbox_build.go
- create_app_sandbox_config.go
- create_app_secret.go
- create_app_secrets_config.go
- create_app_stack_config.go
- delete_app.go
- delete_app_branch.go
- delete_app_secret.go
- emit_app_config_synced.go
- emit_sync_app_config_installs.go
- get_all_apps.go
- get_app.go
- get_app_branch.go
- get_app_branch_app_configs.go
- get_app_branch_latest_config.go
- get_app_branch_run_builds.go
- get_app_branch_run_install_groups.go
- get_app_branch_runs.go
- get_app_branches.go
- get_app_break_glass_config.go
- get_app_config.go
- get_app_config_diff.go
- get_app_config_graph.go
- get_app_config_template.go
- get_app_configs.go
- get_app_input_config.go
- get_app_input_configs.go
- get_app_labels.go
- get_app_operation_role_configs.go
- get_app_permissions_config.go
- get_app_policies_config.go
- get_app_policies_configs.go
- get_app_policy_config.go
- get_app_runner_configs.go
- get_app_runner_latest_config.go
- get_app_sandbox_build.go
- get_app_sandbox_builds.go
- get_app_sandbox_configs.go
- get_app_sandbox_latest_config.go
- get_app_secrets.go
- get_app_secrets_config.go
- get_app_stack_config.go
- get_apps.go
- get_install_group_run.go
- get_install_group_runs.go
- get_latest_app_break_glass_config.go
- get_latest_app_config.go
- get_latest_app_input_config.go
- get_latest_app_permissions_config.go
- get_latest_app_policies_config.go
- get_latest_app_secrets_config.go
- on_app_created.go
- runner_get_app_config.go
- service.go
- shared_validation.go
- trigger_app_branch_run.go
- update_app.go
- update_app_branch.go
- update_app_config.go
- update_app_config_installs.go
Click to show internal directories.
Click to hide internal directories.