Рекомендации по использованию аутентифицированных докеров для проприетарного программного обеспечения
Я руковожу компанией по разработке программного обеспечения с открытым ядром как «инди-хакер». Некоторые пользователи бесплатно загружают версию с открытым исходным кодом, некоторые платят за расширенную версию, и им необходимо пройти аутентификацию, прежде чем они смогут получить доступ к программному обеспечению.
Распространять образы Docker версии с открытым исходным кодом легко с помощью Docker Hub.
Теперь я хотел бы распространять и платную версию.
Есть ли способ генерировать токены доступа для каждого клиента, чтобы получать «платный доступ» и, возможно, сообщать, кто и когда какое изображение извлек?
Спасибо :)
1 ответ
В основном вам нужны решения о том, как распространять коммерческое программное обеспечение через образы контейнеров.
Таким образом, есть несколько концепций и философий о том, как этого добиться.
С помощью Docker Hub вы можете создавать токены или приглашать своего клиента в качестве пользователя в свою команду, но это требует определенных затрат и масштабируется только до определенного предела.
Рекомендуемое для вас решение от Docker — присоединиться к программе Docker Verified Publisher (DVP) и публично распространять свое программное обеспечение через Docker Hub с основной целью увеличения аудитории ваших разработчиков. Судя по вашему вопросу и вашему продукту, я предполагаю, что это не то, что вы ищете.
Другим решением может быть размещение образа программного обеспечения в реестр вашего клиента. Хотя это звучит как разумное решение, на его пути возникает множество проблем с масштабируемостью, таких как контроль доступа, управление пользователями и реестры в частных сетях.
Вероятно, лучшим решением в вашей ситуации будет размещение выделенного экземпляра реестра контейнеров. Обратите внимание, что реестры контейнеров не одинаковы, поэтому выберите реестр контейнеров, дружественный к независимым поставщикам программного обеспечения, чтобы программно управлять реестром контейнеров и создавать учетные записи пользователей или генерировать токены доступа на основе статуса подписки или оплаты.
Интерфейс с системой управления подписками/платежами, CRM, ERP через API является обязательным в таком сценарии. Помимо вышеперечисленного, есть и другие аспекты, которые могут быть полезны, например собственный домен, очевидный веб-интерфейс и возможности аудита.
Если вы хотите углубиться в эту тему , есть статья о распространении коммерческого программного обеспечения через образы контейнеров с помощью Harbor, в которой подробно описаны мельчайшие детали.