Skip to content

Releases: redhat-best-practices-for-k8s/certsuite-claim

Update go.mod dependencies

30 Mar 17:50
Compare
Choose a tag to compare
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

17 Mar 16:48
Compare
Choose a tag to compare
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

15 Dec 19:46
e1e2c66
Compare
Choose a tag to compare

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

08 Dec 02:06
Compare
Choose a tag to compare
Pre-release
Fix compile issues in the schema and rev the version

Signed-off-by: Ryan Goulding <rgouldin@redhat.com>

Updated claim-schema descriptions

08 Dec 01:48
Compare
Choose a tag to compare
Pre-release
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.

03 Dec 17:04
Compare
Choose a tag to compare
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

12 Nov 16:51
Compare
Choose a tag to compare
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

09 Nov 15:41
Compare
Choose a tag to compare
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

30 Oct 20:01
62c9320
Compare
Choose a tag to compare
Pre-release
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

30 Oct 19:57
Compare
Choose a tag to compare
Pre-release
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>