Build distroless package for better security, smaller size, speed and more
@imaffe arbeitet bereits daran.
Seit 24.10.2022.
Bewertung
Dieses Issue wurde noch nicht bewertet.
Beschreibung
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/
- Vorherrschende Sprache
- Go
- Sterne
- 228
- Forks
- 30
- Ø Merge
- 2 T. 8 Std.
- Gemergte PRs (30 T.)
- 2
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus streamnative/function-mesh
-
support `BatchingConfig` for Function and SourceEvtl. wieder frei @freeznet hat das vor 465 Tagen übernommen, und es ist kein Pull Request offen. Offen
streamnative/function-mesh#811 · 1 zugewiesene Person ·
-
Schwierigkeit 2/5 Ein halber Tag Anfängerfreundlichkeit 45/100
streamnative/function-mesh#806 ·
-
upgrade `autoscaler/vertical-pod-autoscaler` to v1.3.0Evtl. wieder frei @jiangpengcheng hat das vor 550 Tagen übernommen, und es ist kein Pull Request offen. Offen
streamnative/function-mesh#801 · 1 zugewiesene Person ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
streamnative/function-mesh#796 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 25/100
streamnative/function-mesh#769 ·
Alle Issues in streamnative/function-mesh
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
prime-radiant-inc/evener#4223 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
open-telemetry/opentelemetry-go-compile-instrumentation#1467 ·
Maintainer antworten meist innerhalb von 3 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
yetone/magpie#1490 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
a:bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 80/100
gotify/server#1068 · 1 Reaktion ·
Maintainer antworten meist innerhalb von 2 Tagen