cloudformation

package
v0.19.1237 Latest Latest
Warning

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

Go to latest
Published: Oct 9, 2026 License: AGPL-3.0 Imports: 35 Imported by: 0

Documentation

Index

Constants

View Source
const TagKeyRunnerAssumable = "runner.nuon.co/assumable"

TagKeyRunnerAssumable marks an IAM role that the runner is permitted to assume. The runner instance role's identity policy scopes sts:AssumeRole with an iam:ResourceTag condition on this key, so it is a cross-repo contract with nuonco/aws-cloudformation-templates: renaming it here without releasing a matching runner template revokes the runner's access.

Variables

View Source
var AWSCustomStacksOnlyContractParams = []string{"VPC", "CIDRBlock", "RunnerSubnet", "PublicSubnets", "PrivateSubnets"}

AWSCustomStacksOnlyContractParams are the frozen top-level parameter names the custom-stacks-only template always declares, standing in for the VPC/runner nested stack outputs that don't exist in this mode.

View Source
var ReservedParamNames = []string{"ClusterName", "Namespaces", "NuonInstallID", "NuonAppID", "NuonOrgID"}

these parameter values should never be provided by the customer. these are always provided by nuon. as a result, if they are specified as input Params, we ensure the values are configurable only by us by excluding them from the Parameters for the nested stack.

Functions

func CustomNestedStackS3Key added in v0.19.793

func CustomNestedStackS3Key(orgID, appID, contentsHash, templateURL string) string

CustomNestedStackS3Key returns the S3 object key for a custom nested stack template.

func CustomNestedStackTemplateURL added in v0.19.793

func CustomNestedStackTemplateURL(baseURL, orgID, appID, contentsHash, templateURL string) string

CustomNestedStackTemplateURL returns the full S3 HTTPS URL for the template.

func ExtractAndStripCustomStacksInputParameters added in v0.19.1159

func ExtractAndStripCustomStacksInputParameters(tmpl *cloudformation.Template) map[string]map[string]string

ExtractAndStripCustomStacksInputParameters pulls the hoisted-parameter mapping getAWSCustomStacksOnlyTemplate attaches to Template.Metadata and removes it so it never reaches the deployed JSON.

func SplitCustomStacksOnlyOutputs added in v0.19.1159

func SplitCustomStacksOnlyOutputs(flatOutputs map[string]string, stackNames []string) map[string]map[string]map[string]string

SplitCustomStacksOnlyOutputs reconstructs { "<stack_name>": { "outputs": { "<key>": value } } } from the flat output map a deployed custom-stacks-only stack returns.

func UploadCustomNestedStackTemplates added in v0.19.1214

func UploadCustomNestedStackTemplates(ctx context.Context, uploader BlobUploader, baseURL string, stackConfig *app.AppStackConfig) error

UploadCustomNestedStackTemplates uploads each custom nested stack's contents and rewrites the slice in place with the resulting hash, source URL, and ready status. Keys are content addressed, so repeating a partially completed run is safe.

Types

type BlobUploader added in v0.19.1214

type BlobUploader interface {
	UploadBlob(ctx context.Context, blob []byte, key string) error
}

BlobUploader writes a template body to a key in the stack template bucket.

type Params

type Params struct {
	fx.In

	Cfg *internal.Config
}

type Templates

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

func NewTemplates

func NewTemplates(params Params) *Templates

func (*Templates) Template

func (t *Templates) Template(inputs *stacks.TemplateInput) (*cloudformation.Template, string, error)

Jump to

Keyboard shortcuts

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