5 dépôts
Mechanisms to restrict which modules are loaded into the runtime environment based on specific criteria.
Distinct from Pluggable Module Loading: Distinct from Pluggable Module Loading by focusing on filtering/blocking specific packages rather than the general loading mechanism.
Explore 5 awesome GitHub repositories matching software engineering & architecture · Module Loading Filters. Refine with filters or upvote what's useful.
deployd est un framework d'API en temps réel et un backend MongoDB en tant que service qui permet la création d'interfaces réseau synchronisant les données et les événements entre les clients et les serveurs. Il fonctionne comme un middleware d'API JavaScript qui peut être intégré aux serveurs HTTP pour fournir l'authentification, les intercepteurs de requête et des capacités en temps réel. Le projet dispose d'un tableau de bord de gestion d'API auto-hébergé pour configurer les paramètres des ressources, gérer les collections de données et surveiller l'état du serveur via une interface basée sur le web. Il inclut un moteur de synchronisation de données en temps réel qui pousse les mises à jour de base de données en direct vers les clients connectés en utilisant des sockets. Le système couvre la gestion des données backend avec validation de schéma et interrogation récursive, ainsi que des flux de travail d'authentification utilisateur qui suivent les sessions à travers les requêtes sans état et les connexions persistantes. Il fournit également des capacités pour la diffusion d'événements en temps réel, l'extension de middleware d'API personnalisée via des modules et le contrôle d'accès administratif. Le projet inclut une CLI pour amorcer de nouveaux projets et exécuter des serveurs de développement.
Allows specifying which packages to load from dependencies to prevent development tools from entering the production runtime.
Athens est un serveur proxy de modules Go et un cache de dépendances qui fournit un système de stockage persistant pour les dépendances Go. Il agit comme un miroir et un magasin de données pour assurer des environnements de build reproductibles en stockant des copies immuables de paquets externes, protégeant contre les suppressions ou pannes en amont. Le projet se distingue en servant de passerelle sécurisée pour l'hébergement de modules Go privés, utilisant des jetons d'authentification, des clés SSH et des GitHub Apps pour récupérer les dépendances depuis des systèmes de contrôle de version privés. Il permet en outre la conformité des dépendances logicielles via le filtrage de requêtes et le proxying de checksum, ce qui empêche les métadonnées de modules privés de fuiter vers des serveurs publics. Le serveur prend en charge un large éventail de backends de stockage, incluant le disque local, les bases de données NoSQL et les magasins d'objets cloud compatibles S3. Il inclut des fonctionnalités de mise en cache distribuée des dépendances avec verrouillage partagé pour éviter les téléchargements redondants à travers plusieurs instances et fournit des outils pour pré-remplir le stockage dans des environnements isolés (air-gapped). Le serveur peut être déployé via des conteneurs Docker, des charts Helm Kubernetes ou diverses plateformes cloud gérées.
Restricts which modules are retrieved using filter files and validation hooks.
Devilbox est un environnement de développement conteneurisé qui fournit une suite reproductible de serveurs web, de bases de données et de runtimes de langage gérés via une configuration unifiée. Il fonctionne comme une stack de développement local basée sur Docker pour les stacks logicielles LAMP et MEAN et comme un gestionnaire pour basculer entre différentes versions de ces services afin de correspondre aux exigences spécifiques du projet. Le système se distingue par l'automatisation de l'orchestration réseau locale. Il inclut un gestionnaire d'hôtes virtuels basé sur Docker qui mappe automatiquement les répertoires locaux à des domaines personnalisés et un orchestrateur DNS et SSL local qui gère la résolution de domaine interne et génère des certificats de confiance pour le développement HTTPS. Le projet couvre un large éventail de capacités, notamment l'administration des bases de données et des services via des interfaces web, le versionnage des runtimes de langage et l'hébergement de sites multi-projets. Il fournit également des outils pour intercepter les emails sortants, surveiller l'état des services via un tableau de bord et exécuter des chaînes d'outils de développement directement au sein des conteneurs.
Toggles specific language extensions and runtime modules on the fly using configuration variables during container startup.
dnmp est un environnement de développement web conteneurisé qui provisionne une stack LNMP complète composée de Nginx, MySQL, PHP et Redis. Il sert de système de gestion pour coordonner le routage du serveur web, les versions du runtime de langage, l'administration de base de données et le provisionnement de certificats SSL au sein de conteneurs Docker. Le projet se distingue par un gestionnaire de runtime PHP complet qui permet de basculer entre plusieurs versions de langage et de gérer les extensions dans des environnements isolés. Il inclut un gestionnaire de certificats SSL automatisé qui utilise la validation webroot pour provisionner et renouveler les certificats, ainsi qu'un gestionnaire d'hôtes virtuels Nginx pour mapper plusieurs domaines personnalisés vers un seul serveur. La surface de capacités s'étend à l'administration avancée de bases de données, incluant la comparaison de schémas, le clonage et l'analyse des logs de requêtes lentes. Il fournit également des outils d'observabilité pour le profilage des performances PHP, la visualisation des graphes d'appels de méthodes et l'audit des performances des requêtes. Des utilitaires supplémentaires couvrent le chiffrement du trafic web via HTTP/2, l'aliasing de shell mappé à l'hôte pour l'exécution CLI et le déploiement de code basé sur des webhooks.
Enables the installation and configuration of language runtime modules through environment variables during container initialization.
vm2 est un sandbox JavaScript Node.js et un virtualiseur de runtime conçu pour exécuter du code non fiable. Il fonctionne comme un évaluateur de code sécurisé et un isolateur de modules qui protège le processus hôte en créant un environnement d'exécution isolé avec un accès restreint au runtime Node.js. Le système se distingue par un framework de sécurité qui utilise le proxying d'objets et le gel profond (deep freezing) pour empêcher les scripts sandboxés de modifier le contexte global de l'hôte ou les objets partagés. Il implémente un contrôle d'accès strict aux modules en utilisant des listes d'autorisation et des restrictions de chemin pour régir quelles dépendances intégrées ou externes peuvent être chargées. Le projet couvre de larges domaines de capacités incluant la gestion des ressources, où il plafonne l'allocation de mémoire pour les buffers et impose des délais d'exécution pour empêcher les attaques par déni de service. Il fournit également des restrictions d'accès au système de fichiers et des outils pour l'interopérabilité inter-sandbox et la redirection de la sortie console. Une interface de ligne de commande est disponible pour exécuter des fichiers JavaScript directement dans l'environnement sandbox isolé.
Restricts which built-in and external Node.js modules can be imported using strict allow-lists.