introduce RuntimeVersion for code to check container runtime supports required features

Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
This commit is contained in:
Nicolas De Loof 2023-11-20 11:45:16 +01:00
parent cb01186c2b
commit 7cb1f8baf2
No known key found for this signature in database
GPG Key ID: 9858809D6F8F6E7E

View File

@ -295,5 +295,22 @@ func (s *composeService) isSWarmEnabled(ctx context.Context) (bool, error) {
}
})
return swarmEnabled.val, swarmEnabled.err
}
var runtimeVersion = struct {
once sync.Once
val string
err error
}{}
func (s *composeService) RuntimeVersion(ctx context.Context) (string, error) {
runtimeVersion.once.Do(func() {
version, err := s.dockerCli.Client().ServerVersion(ctx)
if err != nil {
runtimeVersion.err = err
}
runtimeVersion.val = version.APIVersion
})
return runtimeVersion.val, runtimeVersion.err
}