2 dépôts
Techniques for improving container startup scripts to ensure correct signal handling and process identity.
Distinct from Container Entrypoint Execution: Focuses on optimization of the transition from entrypoint to process, not just the execution of the entrypoint.
Explore 2 awesome GitHub repositories matching devops & infrastructure · Entrypoint Optimizations. Refine with filters or upvote what's useful.
gosu est un commutateur d'identité utilisateur basé sur Go et un wrapper de processus conçu pour exécuter des commandes sous une identité d'utilisateur et de groupe spécifique. Il fonctionne comme un binaire léger pour changer les identités d'utilisateur et transférer les signaux avant d'exécuter un processus cible. L'outil se concentre sur l'optimisation du point d'entrée des conteneurs et la gestion des utilisateurs au sein des conteneurs Docker. Il permet l'exécution de processus en tant qu'utilisateurs non root tout en garantissant que les signaux du système d'exploitation atteignent le processus enfant et que la commande cible est établie comme processus principal. L'utilitaire gère le changement d'identité de processus Linux et l'exécution de processus privilégiés. Il utilise des appels système pour le changement d'identité et fournit l'héritage de flux standard pour connecter le processus cible aux flux d'entrée et de sortie existants.
Optimizes container entrypoints to avoid PID 1 signal forwarding issues common with shell wrappers.
Ce projet est une collection de bonnes pratiques et de templates curés pour créer des images Docker sécurisées, stables et prêtes pour la production. Il fournit des standards pour l'optimisation des images OCI et un guide pour implémenter des configurations conformes aux standards de l'industrie dans les environnements de conteneurs. Le dépôt propose des modèles spécifiques pour le durcissement de la sécurité, comme l'implémentation de l'exécution par un utilisateur non-root avec des ID statiques pour empêcher l'élévation de privilèges sur l'hôte. Il fournit également des templates structurels pour les builds multi-étapes afin de séparer les dépendances de build de l'environnement d'exécution final. Des capacités supplémentaires couvrent la gestion des processus de conteneurs en utilisant des systèmes init légers pour gérer les signaux système et empêcher les processus zombies. Le projet inclut également des méthodes pour assurer la reproductibilité des builds via des images de base versionnées et des configurations réseau pour résoudre les échecs DNS sur les runtimes Linux et macOS hérités.
Optimizes container startup scripts to provide better ergonomics for passing command-line arguments.