I’m upgrading a non-profit project to Directus 12 using an Open Innovation Grant license. Because v12 is heavily restricted by default, I need to use the license during development. According to their docs I should do so:
For example, an Open Innovation Grant license supports up to 5
activations, intended to cover the distinct environments of a single
project (such as local, dev, staging, and production).
It seems like each time I start the container or a when the e2e tests are running on the CI one activation is used up, even though the NODE_ENV in the dev container is set to development.
I reached out via their licensing contact form but was just brushed off and told to re-read the docs page. Has anyone found a workaround for handling the license limits with ephemeral containers or CI pipelines?
btw. login with Github is broken…
Thanks for your reply.
– RobinPUBLIC_URLand the key we received is always the same fordev,testingandprod, but it seems like it still counts as an activation, every time we run the tests. > I would indeed suggest to read the docs but also check the community forum, there is discussions about this topic there as well. I'm happy to read it again, if you point me to the part, where I can learn about how to use the new licensing during development and testing. How do I need to set up Directus in a e2e testing environment which is Docker based?I think that what you see is related to what is mentioned by james in this thread where I also asked some questions about how things work in regard to the license: https://community.directus.com/t/everything-v12-upgrades-new-features-and-mscl-license/2237/11?u=jogchum They key here seems "Each activation is a binding of your project identifier (derived from the database) and your configured PUBLIC_URL.". So I assume that next to the license and public_url there is another value controlling this and I suspect that would be the project_id field in the directus_settings table. Perhaps that helps
– jogchumAlso interesting for your comment on the e2e testing (ci workflows I suppose), James said " I'm aware fully ephemeral/CI-style cases don't fit the current model well, and we're working on a solution".
– jogchumLastly, the docs do not go into the nitty gritty on how to use it for more DTAP like setups. It does state that you could (should) deactivate a key for an instance before destroying it. But that does not really help you in CI like environments (there is no API for it as far as I know). So perhaps my tip on project_id can help you, and as Directus also mentions at more places: you can ask for more instances on your OIG.
– jogchumThanks for all the details. Well we would need a very high number of OIG activations, because it seems for everytime we rebuild the dev container or run the tests an activation is used. For now we are stuck in Directus 11. Don't understand me wrong, I know developing and maintaining something like Directus isn't cheap and the venture captialists want to be fed, at the other hand dealing with this in my spare time for a non-profit organization isn't fun.
– Robin