Generated empty messages without proto.Clone
.
#69
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR partially fixes #27.
The
resource.Quantity
proto message is generated from a go struct through thego-to-protobuf
k8s tool. This creates two problems:Quantity
go struct has unexported fields, which is not cloneable through reflection, butskycfg
usesproto.Clone
to create empty messages. This problem is fixed in this PR by creating empty messages throughreflect.New
instead.skycfg
uses tags to extract field names. As a result, skycfg doesn’t not recognizeresource.Quantity(string = "1000m")
. To resolve this, you'll need to replacek8s.io/apimachinery
ingo.mod
with my fork, which adds protobuf tags to theQuantity
go struct:where k8s_version can be 1.14, 1.15, 1.16 or 1.17. I'll post a PR to upstream this change.