operatingsystem

package
v0.0.0-...-938295d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 15, 2024 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FileContents

type FileContents string

FileContents represents the contents of a file.

type KernelPackage

type KernelPackage struct {
	// OperatingSystem is the name of the Operating System that this KernelPackage belongs to.
	OperatingSystem string
	// Name is the name of the KernelPackage from the Operating System's perspective.
	Name string
	// KernelRelease is the value to mock as the output of `uname -r`.
	KernelRelease string
	// KernelVersion is the value to mock as the output of `uname -v`.
	KernelVersion string
	// KernelMachine is the value to mock as the output of `uname -m`.
	KernelMachine string
	// OSRelease is the file contents to use as the mock of `/etc/os-release`.
	OSRelease FileContents
	// KernelConfiguration is the volume to mount as `/host/lib/modules/`.
	KernelConfiguration Volume
	// KernelSources is the volume to mount as `/usr/src/`.
	KernelSources Volume
}

KernelPackage represents the required inputs for build a Falco Driver for a Kernel Package.

func (*KernelPackage) ProbeName

func (kp *KernelPackage) ProbeName() string

ProbeName returns the ProbeName expected by Falco. interpreted from: https://github.com/falcosecurity/falco/blob/0.29.1/scripts/falco-driver-loader#L449

func (*KernelPackage) Validate

func (kp *KernelPackage) Validate() error

Validate checks that the probeName contains the given operatingSystem

type OperatingSystem

type OperatingSystem interface {
	// GetName returns a unique string name for the implementation of this interface.
	GetName() string
	// GetKernelPackageNames returns a list of all available Kernel Package names.
	GetKernelPackageNames() ([]string, error)
	// GetKernelPackageByName returns a "hydrated" KernelPackage for the given Kernel Package name.
	// "hydrated" means that the values are retrieved, so this function should perform the fetching of Kernel Sources, etc. for a KernelPackage
	// and is the only place to return errors for those processes.
	GetKernelPackageByName(name string) (*KernelPackage, error)
}

OperatingSystem abstracts the implementation of determining which kernel packages are available and the retrieval of them for an Operating System.

type Volume

type Volume string

Volume represents a reference to a Volume (structured collection of files).

Directories

Path Synopsis
cos

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL