Вчера на мероприятии Open Source Summit Europe было объявлено о принятии в некоммерческую организацию Cloud Native Computing Foundation (CNCF) двух новых Open Source-проектов, нацеленных на безопасность обновления программного обеспечения и распространения контейнеров: Notary и TUF.
Notary — это созданный компанией Docker проект, состоящий из клиента и сервера и предназначенный для подписи и верификации содержимого образов контейнеров (с помощью специальных метаданных). Он основан на наработках The Update Framework (TUF) — спецификации и подключаемой библиотеки, призванной обеспечивать безопасность (защиту от «многих известных атак») в различных системах, обновляющих софт.
Оригинальная версия фреймворка TUF написана на языке Python, но позже была реализована и на других языках программирования (включая Go, Ruby и Haskell). Notary называется «одной из самых зрелых реализаций спецификации TUF»; код этого проекта написан на языке Go и распространяется на GitHub на условиях свободной лицензии Apache License 2.0. Среди примеров программного обеспечения, уже использующего Notary, упоминаются Docker Content Trust и все подкоманды «docker trust», реестр контейнеров Quay от CoreOS, утилита PAL от CloudFlare, а также LinuxKit. Notary и TUF стали 13-м и 14-м проектами в CNCF соответственно.
Днём ранее организация CNCF объявила о присоединении к ней 30 новых компаний-участников. Среди новых серебряных членов организации значатся Buoyant, ContainerShip, Giant Swarm, GitLab, Morgan Stanley, Platform9 и Qualcomm, а участников сообщества пользователей (End User Community) — GitHub, Kuelap, Reddit, The New York Times Company, The Wikimedia Foundation, Zendesk.
Microsoft разрабатывает Open Source-проект Napa.js, представляющий собой многопоточную среду исполнения (runtime) для JavaScript, совместимую с Node.js.
Проект Napa.js зародился в Microsoft для реализации производительных сервисов в поисковой системе Bing. Эта исполняемая среда основана на JavaScript-движке V8 и является многопоточной (в основе реализации — концепция «зон», в которых определяются политики и исполняется код), что позволяет исполнять код в разных изолированных V8 и обеспечивать взаимодействие между ними. Проект доступен как модуль для Node.js, устанавливаемый через NPM, или как отдельный процесс на хосте без зависимости от Node.js. В Napa.js предусмотрены API для переноса объектов и синхронизации между потоками в JavaScript, а также для подключения логирования, метрик и распределителя памяти.
Исходный код Napa.js написан на языке C++, а также используются компоненты на TypeScript и JavaScript. Проект распространяется через GitHub на условиях свободной лицензии MIT. Последний релиз — версия 0.1.4, выпущенная на прошлой неделе.