@@ -26,6 +26,7 @@ const DEFAULT_DEV_VERSION = "dev"
26
26
var CURRENT_VERSION = DEFAULT_DEV_VERSION
27
27
28
28
// loaded is the final result of all processing stages:
29
+ // TODO: remove or update this summary
29
30
// 1. jpath.Resolve: Consruct import paths
30
31
// 2. parseSpec: load spec.json
31
32
// 3. evalJsonnet: evaluate Jsonnet to JSON
@@ -88,18 +89,7 @@ func load(path string, opts Opts) (*loaded, error) {
88
89
}, nil
89
90
}
90
91
91
- // eval runs all processing stages describe at the Processed type apart from
92
- // post-processing, thus returning the raw Jsonnet result.
93
- func eval (path string , opts jsonnet.Opts ) (raw interface {}, env * v1alpha1.Config , err error ) {
94
- raw , env , err = evalJsonnet (path , opts )
95
- if err != nil {
96
- return nil , nil , errors .Wrap (err , "evaluating jsonnet" )
97
- }
98
-
99
- return raw , env , nil
100
- }
101
-
102
- // parseEnv parses the `spec.json` of the environment and returns a
92
+ // parseSpec parses the `spec.json` of the environment and returns a
103
93
// *kubernetes.Kubernetes from it
104
94
func parseSpec (path string ) (* v1alpha1.Config , error ) {
105
95
_ , baseDir , rootDir , err := jpath .Resolve (path )
@@ -128,8 +118,8 @@ func parseSpec(path string) (*v1alpha1.Config, error) {
128
118
return config , nil
129
119
}
130
120
131
- // evalJsonnet evaluates the jsonnet environment at the given path
132
- func evalJsonnet (path string , opts jsonnet.Opts ) (interface {}, * v1alpha1.Config , error ) {
121
+ // eval evaluates the jsonnet environment at the given path
122
+ func eval (path string , opts jsonnet.Opts ) (interface {}, * v1alpha1.Config , error ) {
133
123
var hasSpec bool
134
124
specEnv , err := parseSpec (path )
135
125
if err != nil {
@@ -162,23 +152,23 @@ func evalJsonnet(path string, opts jsonnet.Opts) (interface{}, *v1alpha1.Config,
162
152
evalScript := fmt .Sprintf ("(import '%s').%s" , entrypoint , opts .EvalPattern )
163
153
raw , err = jsonnet .Evaluate (entrypoint , evalScript , opts )
164
154
if err != nil {
165
- return nil , nil , err
155
+ return nil , nil , errors . Wrap ( err , "evaluating jsonnet" )
166
156
}
167
157
} else {
168
158
raw , err = jsonnet .EvaluateFile (entrypoint , opts )
169
159
if err != nil {
170
- return nil , nil , err
160
+ return nil , nil , errors . Wrap ( err , "evaluating jsonnet" )
171
161
}
172
162
}
173
163
174
164
var data interface {}
175
165
if err := json .Unmarshal ([]byte (raw ), & data ); err != nil {
176
- return nil , nil , err
166
+ return nil , nil , errors . Wrap ( err , "unmarshalling data" )
177
167
}
178
168
179
169
if opts .EvalPattern != "" {
180
170
// EvalPattern has no affinity with an environment, behave as jsonnet interpreter
181
- return data , nil , err
171
+ return data , nil , nil
182
172
}
183
173
184
174
var env * v1alpha1.Config
@@ -189,7 +179,7 @@ func evalJsonnet(path string, opts jsonnet.Opts) (interface{}, *v1alpha1.Config,
189
179
// multiple envs currently unsupported
190
180
default :
191
181
if err := json .Unmarshal ([]byte (raw ), & env ); err != nil {
192
- return nil , nil , err
182
+ return nil , nil , errors . Wrap ( err , "unmarshalling into v1alpha1.Config" )
193
183
}
194
184
}
195
185
0 commit comments