From 76a3483d0fb1ac303fe62dbd54db1d7df4ef66a5 Mon Sep 17 00:00:00 2001 From: Universe Ops Date: Fri, 16 Jan 2026 11:47:37 +0300 Subject: [PATCH 1/2] support baseDnsZone for lambda --- pkg/clouds/aws/aws_lambda.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/clouds/aws/aws_lambda.go b/pkg/clouds/aws/aws_lambda.go index b34b03db..b0fa29ce 100644 --- a/pkg/clouds/aws/aws_lambda.go +++ b/pkg/clouds/aws/aws_lambda.go @@ -25,6 +25,10 @@ func (l *LambdaInput) Uses() []string { return l.StackConfig.Uses } +func (l *LambdaInput) OverriddenBaseZone() string { + return l.StackConfig.BaseDnsZone +} + func ToAwsLambdaConfig(tpl any, stackCfg *api.StackConfigSingleImage) (any, error) { templateCfg, ok := tpl.(*TemplateConfig) if !ok { From 551889720af39076e55f2b1cf2c8563d990619f0 Mon Sep 17 00:00:00 2001 From: Universe Ops Date: Tue, 20 Jan 2026 13:53:53 +0300 Subject: [PATCH 2/2] support dependencies for lambda --- pkg/api/client.go | 31 ++++++++++++++++--------------- pkg/clouds/aws/aws_lambda.go | 4 ++++ 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/pkg/api/client.go b/pkg/api/client.go index 8b2dfe58..c7708d71 100644 --- a/pkg/api/client.go +++ b/pkg/api/client.go @@ -121,21 +121,22 @@ type ContainerImageBuild struct { } type StackConfigSingleImage struct { - Image *ContainerImage `json:"image" yaml:"image"` - Domain string `json:"domain" yaml:"domain"` - BaseDnsZone string `json:"baseDnsZone" yaml:"baseDnsZone"` // only necessary if differs from parent stack - Env map[string]string `json:"env" yaml:"env"` - Secrets map[string]string `json:"secrets" yaml:"secrets"` - Min int `yaml:"min" json:"min"` - Max int `yaml:"max" json:"max"` - Version string `json:"version" yaml:"version"` // only when need to forcefully redeploy (e.g. aws secrets) - Timeout *int `json:"timeout" yaml:"timeout"` - BasePath string `json:"basePath" yaml:"basePath"` // base path where API will listen on (e.g. for aws apigateway -> lambda integration) - MaxMemory *int `json:"maxMemory" yaml:"maxMemory"` // max memory to use for container - MaxEphemeralStorage *int `json:"maxEphemeralStorage" yaml:"maxEphemeralStorage"` // max ephemeral storage in MB - Uses []string `json:"uses" yaml:"uses"` - StaticEgressIP *bool `json:"staticEgressIP" yaml:"staticEgressIP"` // when need to provision NAT with fixed egress IP address (e.g. AWS Lambda with static IP) - CloudExtras *any `json:"cloudExtras" yaml:"cloudExtras"` // when need to specify additional extra config for the specific cloud (e.g. AWS extra roles) + Image *ContainerImage `json:"image" yaml:"image"` + Domain string `json:"domain" yaml:"domain"` + BaseDnsZone string `json:"baseDnsZone" yaml:"baseDnsZone"` // only necessary if differs from parent stack + Env map[string]string `json:"env" yaml:"env"` + Secrets map[string]string `json:"secrets" yaml:"secrets"` + Min int `yaml:"min" json:"min"` + Max int `yaml:"max" json:"max"` + Version string `json:"version" yaml:"version"` // only when need to forcefully redeploy (e.g. aws secrets) + Timeout *int `json:"timeout" yaml:"timeout"` + BasePath string `json:"basePath" yaml:"basePath"` // base path where API will listen on (e.g. for aws apigateway -> lambda integration) + MaxMemory *int `json:"maxMemory" yaml:"maxMemory"` // max memory to use for container + MaxEphemeralStorage *int `json:"maxEphemeralStorage" yaml:"maxEphemeralStorage"` // max ephemeral storage in MB + Uses []string `json:"uses" yaml:"uses"` + StaticEgressIP *bool `json:"staticEgressIP" yaml:"staticEgressIP"` // when need to provision NAT with fixed egress IP address (e.g. AWS Lambda with static IP) + CloudExtras *any `json:"cloudExtras" yaml:"cloudExtras"` // when need to specify additional extra config for the specific cloud (e.g. AWS extra roles) + Dependencies []StackConfigDependencyResource `json:"dependencies,omitempty" yaml:"dependencies,omitempty"` // when service wants to use resources from another service } type TextVolume struct { diff --git a/pkg/clouds/aws/aws_lambda.go b/pkg/clouds/aws/aws_lambda.go index b0fa29ce..0f7f534d 100644 --- a/pkg/clouds/aws/aws_lambda.go +++ b/pkg/clouds/aws/aws_lambda.go @@ -25,6 +25,10 @@ func (l *LambdaInput) Uses() []string { return l.StackConfig.Uses } +func (l *LambdaInput) DependsOnResources() []api.StackConfigDependencyResource { + return l.StackConfig.Dependencies +} + func (l *LambdaInput) OverriddenBaseZone() string { return l.StackConfig.BaseDnsZone }