Skip to content

feat: support flintlock v0.16.0 - #12

Merged
richardcase merged 2 commits into
mainfrom
latest_flintlock
Oct 26, 2026
Merged

richardcase merged 2 commits into
mainfrom
latest_flintlock

Conversation

@richardcase

Copy link
Copy Markdown
Member

Summary

After this change, the 3 modules build with flintlock v0.16.0.

The flintlock repository does not tag the api and client submodules. Thus the modules use the pseudo-version of the v0.16.0 commit (ae2417facf95).

Changes

client

  • Set the flintlock api and client modules to the v0.16.0 commit.
  • Set the module to Go 1.26. Go 1.26 is necessary for the flintlock api module of v0.16.0.
  • Add the ServerInfo method to the client. The MicroVMClient interface of v0.16.0 has this method.

types/microvm

  • Add the AllowGuestAgent field to VMSpec. When this field is true, flintlock attaches a vsock device for the guest-agent.
  • Add the CPUConfig field to VMSpec. CPUConfig has the FeaturesToEnable and KVMCapabilitiesToDisable fields.
  • Make the deepcopy code again with controller-gen v0.23.0.

services/microvm

  • Set the module to Go 1.26 and to the v0.16.0 flintlock modules.
  • Set the controller-pkg client and types modules to commit 13bd81e.
  • Send the AllowGuestAgent and CPUConfig fields to the flintlock API. Add tests for the new fields.

Build and CI

  • Set controller-gen to v0.23.0 in the Makefile. Remove the -compat=1.19 flag from go mod tidy.
  • Set CI to Go 1.26.x. Set the checkout and setup-go actions to v4 and v5.

Notes

  • The client uses grpc.Dial. grpc 1.84 shows this function as deprecated. grpc will keep this function in all 1.x versions. This change does not replace it.
  • make all does not operate before this change and after this change. The fmt-% rule has a mocks-% prerequisite. There is no mocks-% rule.
  • Other code that implements the client.Client interface must add a ServerInfo method. The interface includes the flintlock MicroVMClient interface.

Tests

  • go build, go vet, and go mod tidy give no errors for the 3 modules.
  • go test ./... in services/microvm gives no errors. The test suite has 4 new cases for the new fields.

Set the flintlock api and client modules to the v0.16.0 commit
(ae2417facf95). Set the client module to Go 1.26. Add the ServerInfo
method to the client. The MicroVMClient interface of v0.16.0 has this
method.

Add the AllowGuestAgent and CPUConfig fields to the VMSpec type.
CPUConfig has the FeaturesToEnable and KVMCapabilitiesToDisable fields.
Make the deepcopy code again with controller-gen.

Set controller-gen to v0.23.0 and set CI to Go 1.26.x.
Set the microvm service to Go 1.26 and to the v0.16.0 flintlock api and
client modules. Set the controller-pkg client and types modules to
commit 13bd81e.

Send the AllowGuestAgent and CPUConfig fields to the flintlock API. Add
tests for the new fields.
@richardcase
richardcase merged commit f0cc821 into main Oct 26, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant