Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using a licencse file on client CI #122

Open
BotellaA opened this issue May 10, 2021 · 3 comments
Open

Using a licencse file on client CI #122

BotellaA opened this issue May 10, 2021 · 3 comments

Comments

@BotellaA
Copy link
Contributor

I would like to know if there is a way to provide a license file to a client, so he could use it on a third party CI, like Github Actions.

We could generate a license without any PC information but this unrestricted license file should not be given to a client.... Do you see a way to lock or control the usage on a third party CI?

Thanks for your help

@gcontini
Copy link
Member

Hi Arnaud,
The original idea was to detect the virtualization environment the CI use and some VM parameters: eg, your demo application can only run on Google Cloud with less than XX of ram and less than X cpu. That's the best i can think of. Another idea could be a timer: your application can only run for xx minutes (time of the tests) then it stops...

The VM detection code is already there, but i couldn't complete the verification part, and seems my plan to work on it are to be further postponed.
A first plain implementation shouldn't be that difficult: add the parameters into the license generator and verify against them in the library...
BR
Gabriele

@BotellaA
Copy link
Contributor Author

Thanks for the reply.
What is missing for the verifcation part? The specifications for each CI?

@gcontini
Copy link
Member

Hi Arnaud,
The class ExecutionEnvironment has already an enum to return wihch cloud provider you are executing in.
The license generator should be able to generate a license limiting to a cloud provider (eg.add one line into the license file like:
cloud-provider=GCP )
in LicenseVerifier::verify_limits read the line above (it's in the m_limits map in FullLicenseInfo) and if present validate it with the current value from ExecutionEnvironment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants