Fully implement local and container MRVA

This commit is contained in:
Nicolas Will
2024-06-17 13:16:24 +02:00
parent ef7552c43f
commit e0cbc01d21
43 changed files with 1700 additions and 1137 deletions

29
pkg/common/jobspec.go Normal file
View File

@@ -0,0 +1,29 @@
package common
import (
"encoding/base64"
"encoding/json"
)
// EncodeJobSpec encodes a JobSpec into a base64-encoded string.
func EncodeJobSpec(jobSpec JobSpec) (string, error) {
data, err := json.Marshal(jobSpec)
if err != nil {
return "", err
}
return base64.URLEncoding.EncodeToString(data), nil
}
// DecodeJobSpec decodes a base64-encoded string into a JobSpec.
func DecodeJobSpec(encoded string) (JobSpec, error) {
data, err := base64.URLEncoding.DecodeString(encoded)
if err != nil {
return JobSpec{}, err
}
var jobSpec JobSpec
err = json.Unmarshal(data, &jobSpec)
if err != nil {
return JobSpec{}, err
}
return jobSpec, nil
}