Skip to content
This repository was archived by the owner on Mar 16, 2024. It is now read-only.

Commit e692800

Browse files
authored
Merge pull request #2391 from thedadams/add-region-interpolation
Add support for acorn.region interpolation in Acornfiles
2 parents 924581d + 54a6be8 commit e692800

File tree

3 files changed

+19
-5
lines changed

3 files changed

+19
-5
lines changed

pkg/controller/controller.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,7 @@ type Controller struct {
4040
}
4141

4242
func New(ctx context.Context) (*Controller, error) {
43-
if err := crds.Create(ctx, scheme.Scheme, v1.SchemeGroupVersion); err != nil {
44-
return nil, err
45-
}
46-
if err := crds.Create(ctx, scheme.Scheme, adminv1.SchemeGroupVersion); err != nil {
43+
if err := crds.Create(ctx, scheme.Scheme, v1.SchemeGroupVersion, adminv1.SchemeGroupVersion); err != nil {
4744
return nil, err
4845
}
4946

pkg/jobs/jobs.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
v1 "github.com/acorn-io/runtime/pkg/apis/internal.acorn.io/v1"
1212
"github.com/acorn-io/runtime/pkg/appdefinition"
1313
"github.com/acorn-io/runtime/pkg/encryption/nacl"
14+
"github.com/acorn-io/z"
1415
corev1 "k8s.io/api/core/v1"
1516
apierror "k8s.io/apimachinery/pkg/api/errors"
1617
"k8s.io/utils/strings/slices"
@@ -138,7 +139,7 @@ func GetEvent(jobName string, appInstance *v1.AppInstance) string {
138139
if !appInstance.DeletionTimestamp.IsZero() {
139140
return "delete"
140141
}
141-
if appInstance.Spec.Stop != nil && *appInstance.Spec.Stop {
142+
if z.Dereference(appInstance.Spec.Stop) {
142143
return "stop"
143144
}
144145
if (appInstance.Generation <= 1 || slices.Contains(appInstance.Status.AppSpec.Jobs[jobName].Events, "create")) && !appInstance.Status.AppStatus.Jobs[jobName].CreateEventSucceeded {

pkg/secrets/interpolation.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,19 @@ func (i *Interpolator) GetProjectName() (string, error) {
241241
return name, nil
242242
}
243243

244+
func (i *Interpolator) GetRegion() (string, error) {
245+
if region := i.app.GetRegion(); region != "" {
246+
return region, nil
247+
}
248+
249+
project := &v1.ProjectInstance{}
250+
if err := i.client.Get(i.ctx, router.Key("", i.app.Namespace), project); err != nil {
251+
return "", err
252+
}
253+
254+
return project.Status.DefaultRegion, nil
255+
}
256+
244257
func (i *Interpolator) resolveApp(keyName string) (string, bool, error) {
245258
switch strings.ToLower(keyName) {
246259
case "name":
@@ -270,6 +283,9 @@ func (i *Interpolator) resolveApp(keyName string) (string, bool, error) {
270283
case "externalid":
271284
externalID, err := i.getExternalID()
272285
return externalID, true, err
286+
case "region":
287+
region, err := i.GetRegion()
288+
return region, true, err
273289
}
274290
return "", false, nil
275291
}

0 commit comments

Comments
 (0)