provisionworker

package
v0.2.4 Latest Latest
Warning

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

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

Documentation

Overview

Package provisionworker processes managed instance provisioning jobs from SQS.

Index

Constants

View Source
const ServiceName = "provision-worker"

ServiceName is the canonical service identifier for the provisioning worker.

Variables

This section is empty.

Functions

func New

func New(opts ...apptheory.Option) *apptheory.App

New constructs the provisioning worker app.

func Register

func Register(app *apptheory.App, srv *Server) *apptheory.App

Register registers SQS handlers with the provided app.

func ValidateManagedLesserBodyReleaseCompatibility added in v0.2.3

func ValidateManagedLesserBodyReleaseCompatibility(ctx context.Context, client *http.Client, owner string, repo string, version string, stage string) error

func ValidateManagedLesserBodyReleaseTemplatePreflight added in v0.2.3

func ValidateManagedLesserBodyReleaseTemplatePreflight(
	ctx context.Context,
	client *http.Client,
	owner string,
	repo string,
	version string,
	stage string,
) (string, error)

func ValidateManagedLesserBodyReleaseVersionSupported added in v0.2.3

func ValidateManagedLesserBodyReleaseVersionSupported(version string) error

func ValidateManagedLesserReleaseCompatibility added in v0.2.3

func ValidateManagedLesserReleaseCompatibility(ctx context.Context, client *http.Client, owner string, repo string, version string) error

func ValidateManagedLesserReleaseVersionSupported added in v0.2.3

func ValidateManagedLesserReleaseVersionSupported(version string) error

Types

type ManagedLesserBodyCompatibilityContract added in v0.2.3

type ManagedLesserBodyCompatibilityContract struct {
	SchemaVersion         int                                      `json:"schema_version"`
	ReleaseName           string                                   `json:"release_name"`
	MinimumReleaseVersion string                                   `json:"minimum_release_version"`
	ReleaseManifestAsset  string                                   `json:"release_manifest_asset"`
	ReleaseManifestSchema int                                      `json:"release_manifest_schema"`
	Checksums             ManagedReleaseChecksumsContract          `json:"checksums"`
	DeployManifest        ManagedLesserBodyDeployManifestContract  `json:"deploy_manifest"`
	Deploy                ManagedLesserBodyDeployContract          `json:"deploy"`
	LambdaZip             ManagedLesserBodyPathContract            `json:"lambda_zip"`
	DeployScript          ManagedLesserBodyPathContract            `json:"deploy_script"`
	SupportedStages       []string                                 `json:"supported_stages"`
	DeployTemplates       ManagedLesserBodyDeployTemplatesContract `json:"deploy_templates"`
}

func CurrentManagedLesserBodyCompatibilityContract added in v0.2.3

func CurrentManagedLesserBodyCompatibilityContract() ManagedLesserBodyCompatibilityContract

type ManagedLesserBodyDeployContract added in v0.2.3

type ManagedLesserBodyDeployContract struct {
	SchemaVersion          int    `json:"schema_version"`
	ManifestPath           string `json:"manifest_path"`
	TemplateSelection      string `json:"template_selection"`
	SourceCheckoutRequired bool   `json:"source_checkout_required"`
	NPMInstallRequired     bool   `json:"npm_install_required"`
}

type ManagedLesserBodyDeployManifestContract added in v0.2.3

type ManagedLesserBodyDeployManifestContract struct {
	Path          string `json:"path"`
	SchemaVersion int    `json:"schema_version"`
}

type ManagedLesserBodyDeployTemplatesContract added in v0.2.3

type ManagedLesserBodyDeployTemplatesContract struct {
	Format string `json:"format"`
}

type ManagedLesserBodyPathContract added in v0.2.3

type ManagedLesserBodyPathContract struct {
	Path string `json:"path"`
}

type ManagedLesserCompatibilityContract added in v0.2.3

type ManagedLesserCompatibilityContract struct {
	SchemaVersion         int                               `json:"schema_version"`
	ReleaseName           string                            `json:"release_name"`
	MinimumReleaseVersion string                            `json:"minimum_release_version"`
	ReleaseManifestAsset  string                            `json:"release_manifest_asset"`
	ReleaseManifestSchema int                               `json:"release_manifest_schema"`
	MinimumReceiptSchema  int                               `json:"minimum_receipt_schema_version"`
	DeployArtifactsSchema int                               `json:"deploy_artifacts_schema_version"`
	LambdaBundle          ManagedLesserLambdaBundleContract `json:"lambda_bundle"`
}

func CurrentManagedLesserCompatibilityContract added in v0.2.3

func CurrentManagedLesserCompatibilityContract() ManagedLesserCompatibilityContract

type ManagedLesserLambdaBundleContract added in v0.2.3

type ManagedLesserLambdaBundleContract struct {
	Path                  string `json:"path"`
	ManifestPath          string `json:"manifest_path"`
	ManifestKind          string `json:"manifest_kind"`
	ManifestSchemaVersion int    `json:"manifest_schema_version"`
}

type ManagedReleaseChecksumsContract added in v0.2.3

type ManagedReleaseChecksumsContract struct {
	Path      string `json:"path"`
	Algorithm string `json:"algorithm"`
}

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server processes provisioning jobs from the worker queue.

func NewServer

func NewServer(cfg config.Config, st *store.Store, org organizationsAPI, r53 route53API, stsClient stsAPI, sqsClient sqsAPI, cbClient codebuildAPI, s3Client s3API) *Server

NewServer constructs a Server with AWS service clients and a store.

func (*Server) Register

func (s *Server) Register(app *apptheory.App)

Register registers SQS handlers with the provided app.

Jump to

Keyboard shortcuts

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