plancontext: use helpers to determine if CUE value is secret/fs/service
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
This commit is contained in:
@@ -11,8 +11,8 @@ import (
|
||||
"github.com/spf13/viper"
|
||||
"go.dagger.io/dagger/client"
|
||||
"go.dagger.io/dagger/compiler"
|
||||
"go.dagger.io/dagger/plancontext"
|
||||
"go.dagger.io/dagger/state"
|
||||
"go.dagger.io/dagger/stdlib"
|
||||
)
|
||||
|
||||
func CurrentProject(ctx context.Context) *state.Project {
|
||||
@@ -86,16 +86,17 @@ func CurrentEnvironmentState(ctx context.Context, project *state.Project) *state
|
||||
|
||||
// FormatValue returns the String representation of the cue value
|
||||
func FormatValue(val *compiler.Value) string {
|
||||
if val.HasAttr("artifact") {
|
||||
switch {
|
||||
case val.HasAttr("artifact"):
|
||||
return "dagger.#Artifact"
|
||||
case plancontext.IsSecretValue(val):
|
||||
return "dagger.#Secret"
|
||||
case plancontext.IsFSValue(val):
|
||||
return "dagger.#FS"
|
||||
case plancontext.IsServiceValue(val):
|
||||
return "dagger.#Service"
|
||||
}
|
||||
|
||||
if val.LookupPath(cue.MakePath(
|
||||
cue.Hid("_secret", stdlib.PackageName),
|
||||
cue.Str("id"),
|
||||
)).Exists() {
|
||||
return "dagger.#Secret"
|
||||
}
|
||||
if val.IsConcreteR() != nil {
|
||||
return val.IncompleteKind().String()
|
||||
}
|
||||
|
@@ -10,6 +10,7 @@ import (
|
||||
"go.dagger.io/dagger/cmd/dagger/logger"
|
||||
"go.dagger.io/dagger/compiler"
|
||||
"go.dagger.io/dagger/environment"
|
||||
"go.dagger.io/dagger/plancontext"
|
||||
"go.dagger.io/dagger/solver"
|
||||
"go.dagger.io/dagger/state"
|
||||
|
||||
@@ -61,15 +62,15 @@ var listCmd = &cobra.Command{
|
||||
_, hasDefault := inp.Default()
|
||||
|
||||
switch {
|
||||
case env.Context().Secrets.Contains(inp):
|
||||
case plancontext.IsSecretValue(inp):
|
||||
if _, err := env.Context().Secrets.FromValue(inp); err != nil {
|
||||
isConcrete = false
|
||||
}
|
||||
case env.Context().FS.Contains(inp):
|
||||
case plancontext.IsFSValue(inp):
|
||||
if _, err := env.Context().FS.FromValue(inp); err != nil {
|
||||
isConcrete = false
|
||||
}
|
||||
case env.Context().Services.Contains(inp):
|
||||
case plancontext.IsServiceValue(inp):
|
||||
if _, err := env.Context().Services.FromValue(inp); err != nil {
|
||||
isConcrete = false
|
||||
}
|
||||
|
@@ -13,6 +13,7 @@ import (
|
||||
"go.dagger.io/dagger/compiler"
|
||||
"go.dagger.io/dagger/environment"
|
||||
"go.dagger.io/dagger/plan"
|
||||
"go.dagger.io/dagger/plancontext"
|
||||
"go.dagger.io/dagger/solver"
|
||||
"golang.org/x/term"
|
||||
|
||||
@@ -142,15 +143,15 @@ func checkInputs(ctx context.Context, env *environment.Environment) error {
|
||||
for _, i := range inputs {
|
||||
isConcrete := (i.IsConcreteR(cue.Optional(true)) == nil)
|
||||
switch {
|
||||
case env.Context().Secrets.Contains(i):
|
||||
case plancontext.IsSecretValue(i):
|
||||
if _, err := env.Context().Secrets.FromValue(i); err != nil {
|
||||
isConcrete = false
|
||||
}
|
||||
case env.Context().FS.Contains(i):
|
||||
case plancontext.IsFSValue(i):
|
||||
if _, err := env.Context().FS.FromValue(i); err != nil {
|
||||
isConcrete = false
|
||||
}
|
||||
case env.Context().Services.Contains(i):
|
||||
case plancontext.IsServiceValue(i):
|
||||
if _, err := env.Context().Services.FromValue(i); err != nil {
|
||||
isConcrete = false
|
||||
}
|
||||
|
Reference in New Issue
Block a user