Skip to content

Commit 25fef23

Browse files
committed
Show resolved semantic versions in the renderStatus
Signed-off-by: Aravindhan Ayyanathan <aravindhan.a@est.tech>
1 parent ddb4d5d commit 25fef23

8 files changed

Lines changed: 29 additions & 32 deletions

File tree

e2e/testdata/fn-render/basicpipeline-semver/.expected/diff.patch

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
diff --git a/Kptfile b/Kptfile
2-
index 2336da4..c1090e8 100644
2+
index 2336da4..ca2bcea 100644
33
--- a/Kptfile
44
+++ b/Kptfile
55
@@ -2,13 +2,34 @@ apiVersion: kpt.dev/v1
@@ -27,14 +27,14 @@ index 2336da4..c1090e8 100644
2727
+ reason: RenderSuccess
2828
+ renderStatus:
2929
+ mutationSteps:
30-
+ - image: ghcr.io/kptdev/krm-functions-catalog/set-namespace
30+
+ - image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.4.3
3131
+ exitCode: 0
3232
+ results:
3333
+ - message: namespace [default] updated to "staging", 1 value(s) changed
3434
+ severity: info
3535
+ - message: all `depends-on` annotations are up-to-date. no `namespace` changed
3636
+ severity: info
37-
+ - image: ghcr.io/kptdev/krm-functions-catalog/set-labels
37+
+ - image: ghcr.io/kptdev/krm-functions-catalog/set-labels:v0.2.4
3838
+ exitCode: 0
3939
+ results:
4040
+ - message: set 4 labels in total

e2e/testdata/fn-render/krm-check-exclude-kustomize/.expected/diff.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
diff --git a/Kptfile b/Kptfile
2-
index 2985a1a..1cc880e 100644
2+
index 2985a1a..30b4376 100644
33
--- a/Kptfile
44
+++ b/Kptfile
55
@@ -2,8 +2,19 @@ apiVersion: kpt.dev/v1
@@ -20,7 +20,7 @@ index 2985a1a..1cc880e 100644
2020
+ reason: RenderSuccess
2121
+ renderStatus:
2222
+ mutationSteps:
23-
+ - image: set-labels:v0.1.5
23+
+ - image: ghcr.io/kptdev/krm-functions-catalog/set-labels:v0.1.5
2424
+ exitCode: 0
2525
diff --git a/kustomization.yaml b/kustomization.yaml
2626
index f3f0207..6c517af 100644

e2e/testdata/fn-render/short-image-path/.expected/diff.patch

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
diff --git a/Kptfile b/Kptfile
2-
index d4e5935..0759cb0 100644
2+
index d4e5935..24022da 100644
33
--- a/Kptfile
44
+++ b/Kptfile
55
@@ -2,6 +2,9 @@ apiVersion: kpt.dev/v1
@@ -23,9 +23,9 @@ index d4e5935..0759cb0 100644
2323
+ reason: RenderSuccess
2424
+ renderStatus:
2525
+ mutationSteps:
26-
+ - image: set-namespace:v0.2.0
26+
+ - image: ghcr.io/kptdev/krm-functions-catalog/set-namespace:v0.2.0
2727
+ exitCode: 0
28-
+ - image: set-labels:v0.1.5
28+
+ - image: ghcr.io/kptdev/krm-functions-catalog/set-labels:v0.1.5
2929
+ exitCode: 0
3030
diff --git a/resources.yaml b/resources.yaml
3131
index f2eec52..84cfb26 100644

internal/fnruntime/container.go

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@ type ContainerFn struct {
8080

8181
// Image is the container image to run
8282
Image string
83-
Tag string
8483
// ImagePullPolicy controls the image pulling behavior.
8584
ImagePullPolicy runneroptions.ImagePullPolicy
8685
// Container function will be killed after this timeour.
@@ -152,21 +151,6 @@ func (f *ContainerFn) Run(reader io.Reader, writer io.Writer) error {
152151
return err
153152
}
154153

155-
if f.Tag != "" {
156-
tagResolver := &TagResolver{
157-
lister: &RegClientLister{
158-
client: regclient.New(
159-
regclient.WithUserAgent(UserAgent),
160-
regclient.WithDockerCreds(),
161-
),
162-
},
163-
}
164-
f.Image, err = tagResolver.ResolveFunctionImage(f.Ctx, f.Image, f.Tag)
165-
if err != nil {
166-
return err
167-
}
168-
}
169-
170154
switch runtime {
171155
case Podman:
172156
return f.runCLI(reader, writer, podmanBin, filterPodmanCLIOutput)

internal/fnruntime/runner.go

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import (
3535
"github.com/kptdev/kpt/pkg/lib/errors"
3636
"github.com/kptdev/kpt/pkg/lib/runneroptions"
3737
"github.com/kptdev/kpt/pkg/printer"
38+
"github.com/regclient/regclient"
3839
"sigs.k8s.io/kustomize/kyaml/filesys"
3940
"sigs.k8s.io/kustomize/kyaml/fn/framework"
4041
"sigs.k8s.io/kustomize/kyaml/fn/runtime/runtimeutil"
@@ -63,6 +64,21 @@ func NewRunner(
6364
return nil, err
6465
}
6566
f.Image = img
67+
68+
if f.Tag != "" {
69+
tagResolver := &TagResolver{
70+
lister: &RegClientLister{
71+
client: regclient.New(
72+
regclient.WithUserAgent(UserAgent),
73+
regclient.WithDockerCreds(),
74+
),
75+
},
76+
}
77+
f.Image, err = tagResolver.ResolveFunctionImage(ctx, f.Image, f.Tag)
78+
if err != nil {
79+
return nil, err
80+
}
81+
}
6682
}
6783

6884
fnResult := &fnresult.Result{
@@ -106,7 +122,6 @@ func NewRunner(
106122
} else {
107123
cfn := &ContainerFn{
108124
Image: f.Image,
109-
Tag: f.Tag,
110125
ImagePullPolicy: opts.ImagePullPolicy,
111126
Perm: ContainerFnPermission{
112127
AllowNetwork: opts.AllowNetwork,

internal/util/render/executor.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -982,18 +982,17 @@ func fnChain(ctx context.Context, hctx *hydrationContext, pkgPath types.UniquePa
982982
for i := range fns {
983983
var err error
984984
var runner *fnruntime.FunctionRunner
985-
function := fns[i]
986985
displayResourceCount := false
987-
if len(function.Selectors) > 0 || len(function.Exclusions) > 0 {
986+
if len(fns[i].Selectors) > 0 || len(fns[i].Exclusions) > 0 {
988987
displayResourceCount = true
989988
}
990-
if function.Exec != "" && !hctx.runnerOptions.AllowExec {
989+
if fns[i].Exec != "" && !hctx.runnerOptions.AllowExec {
991990
return nil, i, errAllowedExecNotSpecified
992991
}
993992
opts := hctx.runnerOptions
994993
opts.SetPkgPathAnnotation = true
995994
opts.DisplayResourceCount = displayResourceCount
996-
runner, err = fnruntime.NewRunner(ctx, hctx.fileSystem, &function, pkgPath, hctx.fnResults, opts, hctx.runtime)
995+
runner, err = fnruntime.NewRunner(ctx, hctx.fileSystem, &fns[i], pkgPath, hctx.fnResults, opts, hctx.runtime)
997996
if err != nil {
998997
return nil, i, err
999998
}

pkg/api/kptfile/v1/types.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -437,8 +437,8 @@ type PipelineStepResult struct {
437437

438438
// ResultItem mirrors framework.Result with only the fields needed for Kptfile status.
439439
type ResultItem struct {
440-
Message string `yaml:"message,omitempty" json:"message,omitempty"`
441-
Severity string `yaml:"severity,omitempty" json:"severity,omitempty"`
440+
Message string `yaml:"message,omitempty" json:"message,omitempty"`
441+
Severity string `yaml:"severity,omitempty" json:"severity,omitempty"`
442442
ResourceRef *ResourceRef `yaml:"resourceRef,omitempty" json:"resourceRef,omitempty"`
443443
Field *FieldRef `yaml:"field,omitempty" json:"field,omitempty"`
444444
File *FileRef `yaml:"file,omitempty" json:"file,omitempty"`

pkg/test/runner/runner.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,6 @@ func (r *Runner) runFnEval() error {
171171
return fmt.Errorf("failed to prepare package: %w", err)
172172
}
173173

174-
175174
err = r.runSetupScript(pkgPath)
176175
if err != nil {
177176
return err

0 commit comments

Comments
 (0)