DodoApp: Individually configure dev-vm code-server, ssh, vpn

Refactor openPortMap handling a bit.

Change-Id: I2ea4d4c9b090f2791700149dda6cc8dcd8ab6820
diff --git a/core/installer/app.go b/core/installer/app.go
index f8e6d6f..f830455 100644
--- a/core/installer/app.go
+++ b/core/installer/app.go
@@ -13,6 +13,7 @@
 	"cuelang.org/go/cue"
 	"cuelang.org/go/cue/build"
 	"cuelang.org/go/cue/cuecontext"
+	"cuelang.org/go/cue/errors"
 	"cuelang.org/go/cue/load"
 	cueyaml "cuelang.org/go/encoding/yaml"
 	helmv2 "github.com/fluxcd/helm-controller/api/v2"
@@ -342,7 +343,7 @@
 	d := ctx.CompileBytes(buf.Bytes())
 	res := a.cfg.Unify(d).Eval()
 	if err := res.Err(); err != nil {
-		return rendered{}, err
+		return rendered{}, fmt.Errorf(errors.Details(err, nil))
 	}
 	if err := res.Validate(); err != nil {
 		return rendered{}, err