Releases: redhat-best-practices-for-k8s/certsuite-claim
Releases · redhat-best-practices-for-k8s/certsuite-claim
Update go.mod dependencies
Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.6.1 to 1.7.0. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](https://github.com/stretchr/testify/compare/v1.6.1...v1.7.0) Signed-off-by: dependabot[bot] <support@github.com>
Change naming convention from redhat-nfvpe to test-network-function
Change naming from redhat-nfvpe to test-network-function Signed-off-by: Ryan Goulding <rgouldin@redhat.com>
Initial Release of the Claim Definition and Go Bindings
This release introduces the claim.json.schema
definition, a definition of a test-network-function
claim based on JSON Schema Draft 07. Additionally, this release includes a Go client binding, which can be used to populate a claim.
Fix compilation errors
Fix compile issues in the schema and rev the version Signed-off-by: Ryan Goulding <rgouldin@redhat.com>
Updated claim-schema descriptions
Manually add version tag Versions became mismatched between schema and Go module. Re-align them appropriately. Signed-off-by: Ryan Goulding <rgouldin@redhat.com>
Incorporate claim-schema feedback and update descriptions.
Add info pertaining to the choice of a single tnf version Signed-off-by: Ryan Goulding <rgouldin@redhat.com>
Incorporate claim-schema feedback and updates
claim-schema changes per meeting Several changes to claim-schema.json were brought up during the team meeting earlier. As such, the changes were made, and a corresponding GoLang binding was generated. The generator was severely improved to allow remapping properties at an arbitrary depth. Hitherto, this was impossible, and would consistently break the generator. Additionally, it was discovered that the auto-generator wasn't automatically attributing a license to the client binding. This was changed, and is configurable through generated-license-header.txt. Tests were modified to ensure this is working properly. Signed-off-by: Ryan Goulding <rgouldin@redhat.com>
First public pre-release
Add GPL-v2.0 or later license and license headers Add in the "markdown" version of GPL-v2.0 license, as well as license headers for GPL-v2.0-or-later to all files. Signed-off-by: Ryan Goulding <rgouldin@redhat.com>
Initial GoLang Client Bindings
GoLang Language Client Bindings (#3) The whole idea of abstracting `claim-schema.json` using JSON Schema was to support several client languages. Since `test-network-function` is written in GoLang, a GoLang language client (or schema language binding) is needed to use the Schema. https://github.com/a-h/generate provides a means for generating GoLang structs and their corresponding MarshallJSON(...) and UnmarshallJSON(...) interface implementations for arbitrary JSON Schemas. The generator does a great job, but failed to provide a few pieces of flexibility. Namely, a-h's `generate` blindly maps JSON Schema `object` types to GoLang structs. Since GoLang is strongly typed, this makes sense for the majority of use cases. However, since we do not own the schema for some parts of our claim (i.e., junit results, lshw output, etc.), we actually want to force GoLang to accept arbitrary JSON input. Thus, an internal generator was added to reconfigure certain property types. Generated code is automatically tested, although the testing is somewhat limited by the fact that a-h's `generate` sometimes emits non-testable code. That is fine, as performance is not a concern here, and the compiler is likely smart enough to elide un-callable code. Finally, several Makefile targets were abstracted to: 1) generate/install the GoLang language binding based on `json-schema.json`. 2) run `gofmt` 3) run `go lint` 4) build the client 5) run test cases against the built client. To update the GoLang language bindings, just run `make`. Signed-off-by: Ryan Goulding <rgouldin@redhat.com>
Initial GoLang Client Bindings
GoLang Language Client Bindings The whole idea of abstracting `claim-schema.json` using JSON Schema was to support several client languages. Since `test-network-function` is written in GoLang, a GoLang language client (or schema language binding) is needed to use the Schema. https://github.com/a-h/generate provides a means for generating GoLang structs and their corresponding MarshallJSON(...) and UnmarshallJSON(...) interface implementations for arbitrary JSON Schemas. The generator does a great job, but failed to provide a few pieces of flexibility. Namely, a-h's `generate` blindly maps JSON Schema `object` types to GoLang structs. Since GoLang is strongly typed, this makes sense for the majority of use cases. However, since we do not own the schema for some parts of our claim (i.e., junit results, lshw output, etc.), we actually want to force GoLang to accept arbitrary JSON input. Thus, an internal generator was added to reconfigure certain property types. Generated code is automatically tested, although the testing is somewhat limited by the fact that a-h's `generate` sometimes emits non-testable code. That is fine, as performance is not a concern here, and the compiler is likely smart enough to elide un-callable code. Finally, several Makefile targets were abstracted to: 1) generate/install the GoLang language binding based on `json-schema.json`. 2) run `gofmt` 3) run `go lint` 4) build the client 5) run test cases against the built client. To update the GoLang language bindings, just run `make`. Signed-off-by: Ryan Goulding <rgouldin@redhat.com>