Build distroless package for better security, smaller size, speed and more
@imaffe y travaille déjà.
Depuis le 24/10/2022.
Évaluation
Cette issue n'a pas encore été évaluée.
Description
As proofed in practice and documented in https://github.com/streamnative/function-mesh/issues/371
there are sometimes (often!) security problems in a container/package whose origin is not the software one build, but in the software which is also situated in this container.
In most cases, there is no use case for this additional software.
This is where the idea of distroless containers comes in and "free" your software:
- for better security
- fewer bugs
- smaller packages
- a faster build process
- a faster check process (e.g. security scans for CVEs and CWEs)
- faster, cheaper and less annoying development process, because of less noise to understand and fix
- faster spin-up / faster dynamic scaling on load
- less demanding for needed infrastructure = less cost for infrastructure to run on
- ...
Traditional, this approach is somehow strenuous to implement and associated with restrictions.
But it looks like 2 new tools makes it pretty easy and straight forward:
good overview on distroless containers
https://dev.to/dansiviter/distroless-alpine-ci8
and
https://blog.chainguard.dev/minimal-container-images-towards-a-more-secure-future/
see last paragraph for how it works
the tools:
source to abk:
https://github.com/chainguard-dev/melange
abk to oci:
https://github.com/chainguard-dev/apko
to debug distroless containers:
official: https://kubernetes.io/docs/concepts/workloads/pods/ephemeral-containers/
detail flow: https://iximiuz.com/en/posts/kubernetes-ephemeral-containers/
- Langage dominant
- Go
- Étoiles
- 228
- Forks
- 30
- Merge moyen
- 2 j 8 h
- PR mergées (30 j)
- 2
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Propose un modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de streamnative/function-mesh
-
support `BatchingConfig` for Function and SourcePeut-être à nouveau libre @freeznet l’a pris il y a 468 jours, et aucune pull request n’est ouverte. Ouverte
streamnative/function-mesh#811 · 1 personne assignée ·
-
Difficulté 2/5 Une demi-journée Accessibilité débutants 45/100
streamnative/function-mesh#806 ·
-
upgrade `autoscaler/vertical-pod-autoscaler` to v1.3.0Peut-être à nouveau libre @jiangpengcheng l’a pris il y a 554 jours, et aucune pull request n’est ouverte. Ouverte
streamnative/function-mesh#801 · 1 personne assignée ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
streamnative/function-mesh#796 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 25/100
streamnative/function-mesh#769 ·
Toutes les issues de streamnative/function-mesh
Issues similaires
-
Action Required: Fix Renovate ConfigurationPeut-être pris @thompson-tomo l’a pris aujourd’hui. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 78/100
open-telemetry/opentelemetry-collector#16170 ·
Les mainteneurs répondent en général sous 1 jour
-
automation awf compiler specifications
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
state:triage-needed
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 80/100
puppe1990/amarra-cais#342 ·
Les mainteneurs répondent en général sous 1 jour
-
replay: a run cancelled during environment setup is logged as an ERROR (Instrument drops the cancellation)Peut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour