Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
landlock-genprof
command
abi is deliberately standalone: it answers "what does kernel/ABI X support" from internal/landlock's verified ABI table (internal/landlock/abi.go), independent of any synthesized candidate.
|
abi is deliberately standalone: it answers "what does kernel/ABI X support" from internal/landlock's verified ABI table (internal/landlock/abi.go), independent of any synthesized candidate. |
|
internal
|
|
|
analysis
Package analysis turns observed behavior (internal/profile) into product-facing, explainable security recommendations.
|
Package analysis turns observed behavior (internal/profile) into product-facing, explainable security recommendations. |
|
association
Package association contains pure, fail-closed relationships between canonical workload targets and explicitly supplied source provenance.
|
Package association contains pure, fail-closed relationships between canonical workload targets and explicitly supplied source provenance. |
|
attempt
Package attempt persists durable custody for one governed apply execution.
|
Package attempt persists durable custody for one governed apply execution. |
|
authority
Package authority contains backend-neutral RFC-0003 authority-domain values.
|
Package authority contains backend-neutral RFC-0003 authority-domain values. |
|
evidence
Package evidence persists a training run's raw tracer.Event stream to and from a canonical JSON document — the artifact `trace --events-out` writes and `synthesize --events-file` reads, sitting one stage earlier than internal/exporter/landlockjson's Candidate documents (see docs/cli-design.md: evidence -> synthesis -> verification -> ...).
|
Package evidence persists a training run's raw tracer.Event stream to and from a canonical JSON document — the artifact `trace --events-out` writes and `synthesize --events-file` reads, sitting one stage earlier than internal/exporter/landlockjson's Candidate documents (see docs/cli-design.md: evidence -> synthesis -> verification -> ...). |
|
exporter/capabilities
Package capabilities converts a Behavior IR (internal/profile) into a Linux capabilities fragment and serializes it to YAML.
|
Package capabilities converts a Behavior IR (internal/profile) into a Linux capabilities fragment and serializes it to YAML. |
|
exporter/junit
Package junit renders a set of pass/fail checks as JUnit XML — the format nearly every CI dashboard (Jenkins, GitLab, GitHub Actions test reporters) already knows how to render as a per-check pass/fail table, so `diff --output junit` plugs into existing pipelines instead of asking every consumer to parse this project's own text output (docs/cli-design.md, Phase 3 — CI/CD integration).
|
Package junit renders a set of pass/fail checks as JUnit XML — the format nearly every CI dashboard (Jenkins, GitLab, GitHub Actions test reporters) already knows how to render as a per-check pass/fail table, so `diff --output junit` plugs into existing pipelines instead of asking every consumer to parse this project's own text output (docs/cli-design.md, Phase 3 — CI/CD integration). |
|
exporter/landlockjson
Package landlockjson converts a landlock.Candidate to and from a canonical JSON document — the second consumer of internal/landlock, proving its output is genuinely format-independent rather than implicitly PodLock-shaped (see docs/landlock-kernel-extraction.md's Phase 3).
|
Package landlockjson converts a landlock.Candidate to and from a canonical JSON document — the second consumer of internal/landlock, proving its output is genuinely format-independent rather than implicitly PodLock-shaped (see docs/landlock-kernel-extraction.md's Phase 3). |
|
exporter/networkpolicy
Package networkpolicy converts a Behavior IR (internal/profile) into a Kubernetes NetworkPolicy and serializes it to YAML.
|
Package networkpolicy converts a Behavior IR (internal/profile) into a Kubernetes NetworkPolicy and serializes it to YAML. |
|
exporter/podlock
Package podlock converts a Behavior IR (internal/profile) into the PodLock format (pkg/podlock) and serializes it to YAML.
|
Package podlock converts a Behavior IR (internal/profile) into the PodLock format (pkg/podlock) and serializes it to YAML. |
|
exporter/report
Package report renders a Behavior IR (internal/profile) into a single Markdown review artifact combining all four observed domains (filesystem, network, syscalls, capabilities) for one human review pass, instead of the four-to-five separate files the other exporters each produce on their own.
|
Package report renders a Behavior IR (internal/profile) into a single Markdown review artifact combining all four observed domains (filesystem, network, syscalls, capabilities) for one human review pass, instead of the four-to-five separate files the other exporters each produce on their own. |
|
exporter/sarif
Package sarif renders a verification pass's findings as a SARIF 2.1.0 log (https://docs.oasis-open.org/sarif/sarif/v2.1.0/) — the format GitHub Code Scanning and most CI dashboards already know how to annotate, so `verify --output sarif` plugs into existing pipelines instead of asking every consumer to parse this project's own text output (docs/cli-design.md, Phase 3 — CI/CD integration).
|
Package sarif renders a verification pass's findings as a SARIF 2.1.0 log (https://docs.oasis-open.org/sarif/sarif/v2.1.0/) — the format GitHub Code Scanning and most CI dashboards already know how to annotate, so `verify --output sarif` plugs into existing pipelines instead of asking every consumer to parse this project's own text output (docs/cli-design.md, Phase 3 — CI/CD integration). |
|
exporter/seccomp
Package seccomp converts a Behavior IR (internal/profile) into a seccomp profile (pkg/seccomp) and serializes it to JSON.
|
Package seccomp converts a Behavior IR (internal/profile) into a seccomp profile (pkg/seccomp) and serializes it to JSON. |
|
exporter/securitycontext
Package securitycontext composes a Behavior IR (internal/profile) and a reference to a separately-generated seccomp profile into a Kubernetes corev1.SecurityContext fragment, and serializes it to YAML.
|
Package securitycontext composes a Behavior IR (internal/profile) and a reference to a separately-generated seccomp profile into a Kubernetes corev1.SecurityContext fragment, and serializes it to YAML. |
|
exporter/spo
Package spo converts a Behavior IR (internal/profile) into a security-profiles-operator (SPO) SeccompProfile custom resource (pkg/spo) and serializes it to YAML.
|
Package spo converts a Behavior IR (internal/profile) into a security-profiles-operator (SPO) SeccompProfile custom resource (pkg/spo) and serializes it to YAML. |
|
history
Package history persists a training target's observed accesses across multiple `trace --history` runs, in a TrainingHistory custom resource (see internal/history/store.go), so Confidence can finally be computed the way internal/profile.Confidence's own doc comment already describes it: "seen across how many distinct training runs" — not the single-run seenCount proxy internal/policy.confidenceFor computes for lack of any persisted state (see docs/policy-synthesis.md's "Confidence: a deliberately provisional heuristic").
|
Package history persists a training target's observed accesses across multiple `trace --history` runs, in a TrainingHistory custom resource (see internal/history/store.go), so Confidence can finally be computed the way internal/profile.Confidence's own doc comment already describes it: "seen across how many distinct training runs" — not the single-run seenCount proxy internal/policy.confidenceFor computes for lack of any persisted state (see docs/policy-synthesis.md's "Confidence: a deliberately provisional heuristic"). |
|
k8s
Package k8s locates and prepares the target pod for a training run (namespace/pod/container resolution, checking the RBAC permissions the tracer needs).
|
Package k8s locates and prepares the target pod for a training run (namespace/pod/container resolution, checking the RBAC permissions the tracer needs). |
|
landlock
Package landlock is a narrow, filesystem-only synthesis kernel: observed path accesses in, a reviewable, evidence-backed rule candidate out — nothing else.
|
Package landlock is a narrow, filesystem-only synthesis kernel: observed path accesses in, a reviewable, evidence-backed rule candidate out — nothing else. |
|
observation
Package observation provides a minimal, policy-neutral normalized runtime observation value derived from tracer.Event.
|
Package observation provides a minimal, policy-neutral normalized runtime observation value derived from tracer.Event. |
|
policy
Package policy aggregates tracing events (internal/tracer) into a Behavior IR (internal/profile) — one FileAccess per directory, not per file, to avoid overfitting on overly specific paths.
|
Package policy aggregates tracing events (internal/tracer) into a Behavior IR (internal/profile) — one FileAccess per directory, not per file, to avoid overfitting on overly specific paths. |
|
profile
Package profile defines the Behavior IR (intermediate representation): the internal, technology-neutral description of what a workload was observed doing, independent of any specific output format (PodLock, Kubernetes NetworkPolicy, Cilium, ...).
|
Package profile defines the Behavior IR (intermediate representation): the internal, technology-neutral description of what a workload was observed doing, independent of any specific output format (PodLock, Kubernetes NetworkPolicy, Cilium, ...). |
|
projection
Package projection builds bounded, read-only security-state projections.
|
Package projection builds bounded, read-only security-state projections. |
|
proposal
Package proposal persists a training run's generated multi-domain profile as a SecurityProfileProposal custom resource (see internal/proposal/store.go), so it can be reviewed via kubectl/GitOps instead of only as local files.
|
Package proposal persists a training run's generated multi-domain profile as a SecurityProfileProposal custom resource (see internal/proposal/store.go), so it can be reviewed via kubectl/GitOps instead of only as local files. |
|
spobackend
Package spobackend is the single place this project knows anything about security-profiles-operator's API shape.
|
Package spobackend is the single place this project knows anything about security-profiles-operator's API shape. |
|
spoimport
Package spoimport implements docs/adr/0008: importing a security-profiles-operator SeccompProfile as DERIVED POLICY.
|
Package spoimport implements docs/adr/0008: importing a security-profiles-operator SeccompProfile as DERIVED POLICY. |
|
tracer
Package tracer captures a pod's syscall events during a training run, building on the existing Inspektor Gadget gadgets (trace_open, trace_tcp, trace_bind, trace_exec) rather than writing eBPF programs from scratch.
|
Package tracer captures a pod's syscall events during a training run, building on the existing Inspektor Gadget gadgets (trace_open, trace_tcp, trace_bind, trace_exec) rather than writing eBPF programs from scratch. |
|
workload
Package workload provides the bounded, read-only workload discovery model used by the future Cluster Workbench.
|
Package workload provides the bounded, read-only workload discovery model used by the future Cluster Workbench. |
|
pkg
|
|
|
podlock
Package podlock defines the Go types matching the LandlockProfile CRD schema of the PodLock project (github.com/flavio/podlock, Kubewarden ecosystem), so that landlock-genprof generates profiles that are directly usable without further transformation.
|
Package podlock defines the Go types matching the LandlockProfile CRD schema of the PodLock project (github.com/flavio/podlock, Kubewarden ecosystem), so that landlock-genprof generates profiles that are directly usable without further transformation. |
|
seccomp
Package seccomp defines the Go types matching the standard OCI runtime- spec / Kubernetes "localhost" seccomp profile JSON format (see https://kubernetes.io/docs/tutorials/security/seccomp/), so that landlock-genprof generates a profile directly usable without further transformation — same reasoning as pkg/podlock, and confirmed against the exact shape Inspektor Gadget's own advise_seccomp gadget produces (gadgets/advise_seccomp/README.mdx, vendored SDK v0.54.1): this schema is small and stable enough that a hand-rolled type is safer than pulling in a dependency for it.
|
Package seccomp defines the Go types matching the standard OCI runtime- spec / Kubernetes "localhost" seccomp profile JSON format (see https://kubernetes.io/docs/tutorials/security/seccomp/), so that landlock-genprof generates a profile directly usable without further transformation — same reasoning as pkg/podlock, and confirmed against the exact shape Inspektor Gadget's own advise_seccomp gadget produces (gadgets/advise_seccomp/README.mdx, vendored SDK v0.54.1): this schema is small and stable enough that a hand-rolled type is safer than pulling in a dependency for it. |
|
spo
Package spo defines the Go types matching the SeccompProfile CRD schema of security-profiles-operator (SPO, github.com/kubernetes-sigs/security-profiles-operator), so landlock-genprof can generate a SeccompProfile directly usable without further transformation — same reasoning pkg/podlock already documents for PodLock's own CRD.
|
Package spo defines the Go types matching the SeccompProfile CRD schema of security-profiles-operator (SPO, github.com/kubernetes-sigs/security-profiles-operator), so landlock-genprof can generate a SeccompProfile directly usable without further transformation — same reasoning pkg/podlock already documents for PodLock's own CRD. |
|
test
|
|
|
e2e/podlock-image-pin
command
|
Click to show internal directories.
Click to hide internal directories.
