snapd

module
v0.0.0-...-ab92e14 Latest Latest
Warning

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

Go to latest
Published: Dec 18, 2024 License: GPL-3.0

README

Snapcraft

Welcome to snapd

This is the code repository for snapd, the background service that manages and maintains installed snaps.

Snaps are app packages for desktop, cloud and IoT that update automatically, are easy to install, secure, cross-platform and dependency-free. They're being used on millions of Linux systems every day.

Alongside its various service and management functions, snapd:

  • provides the snap command that's used to install and remove snaps and interact with the wider snap ecosystem
  • implements the confinement policies that isolate snaps from the base system and from each other
  • governs the interfaces that allow snaps to access specific system resources outside of their confinement

For general details, including installation and Getting started guides, head over to our Snap documentation. If you're looking for something to install, such as Spotify or Visual Studio Code, take a look at the Snap Store. And if you want to build your own snaps, start with our Creating a snap documentation.

Get involved

This is an open source project and we warmly welcome community contributions, suggestions, and constructive feedback. If you're interested in contributing, please take a look at our Code of Conduct first.

Get in touch

We're friendly! We have a community forum at https://forum.snapcraft.io where we discuss feature plans, development news, issues, updates and troubleshooting. You can chat in realtime with the snapd team and our wider community on the #snappy IRC channel on libera chat.

For news and updates, follow us on Twitter and on Facebook.

Project status

Service Status
Github Actions Build Status
GoReport Go Report Card
Codecov codecov

Directories

Path Synopsis
Package asserts implements snappy assertions and a database abstraction for managing and holding them.
Package asserts implements snappy assertions and a database abstraction for managing and holding them.
assertstest
Package assertstest provides helpers for testing code that involves assertions.
Package assertstest provides helpers for testing code that involves assertions.
info
info produces information about assertions to include in /usr/lib/snapd/info.
info produces information about assertions to include in /usr/lib/snapd/info.
signtool
Package signtool offers tooling to sign assertions.
Package signtool offers tooling to sign assertions.
snapasserts
Package snapasserts offers helpers to handle snap related assertions and their checking for installation.
Package snapasserts offers helpers to handle snap related assertions and their checking for installation.
sysdb
Package sysdb supports the system-wide assertion database with ways to open it and to manage the trusted set of assertions founding it.
Package sysdb supports the system-wide assertion database with ways to open it and to manage the trusted set of assertions founding it.
systestkeys
Package systestkeys defines trusted assertions and keys to use in tests.
Package systestkeys defines trusted assertions and keys to use in tests.
efi
Package efi supports reading EFI variables.
Package efi supports reading EFI variables.
clientutil
Package clientutil offers utilities to turn snap.Info and related structs into client structs and to work with the latter.
Package clientutil offers utilities to turn snap.Info and related structs into client structs and to work with the latter.
cmd
snap-recovery-chooser
The `snap-recovery-chooser` acts as a proxy between the chooser UI process and the actual snapd daemon.
The `snap-recovery-chooser` acts as a proxy between the chooser UI process and the actual snapd daemon.
snaplock
Package snaplock offers per-snap locking also used by snap-confine.
Package snaplock offers per-snap locking also used by snap-confine.
snaplock/runinhibit
Package runinhibit contains operations for establishing, removing and querying snap run inhibition lock.
Package runinhibit contains operations for establishing, removing and querying snap run inhibition lock.
netplantest
netplantest provides a fake implementation of the netplan dbus API for testing.
netplantest provides a fake implementation of the netplan dbus API for testing.
desktop
notification
Package notification implements bindings to FDO D-Bus notification specification, version 1.2, as documented at https://developer.gnome.org/notification-spec/ and GTK notification API.
Package notification implements bindings to FDO D-Bus notification specification, version 1.2, as documented at https://developer.gnome.org/notification-spec/ and GTK notification API.
preseed
Package preseed provides functions for preseeding of classic and UC20 systems.
Package preseed provides functions for preseeding of classic and UC20 systems.
apparmor
Package apparmor contains primitives for working with apparmor.
Package apparmor contains primitives for working with apparmor.
dbus
Package dbus implements interaction between snappy and dbus.
Package dbus implements interaction between snappy and dbus.
kmod
Package kmod implements a backend which loads kernel modules on behalf of interfaces.
Package kmod implements a backend which loads kernel modules on behalf of interfaces.
mount
Package mount implements mounts that get mapped into the snap
Package mount implements mounts that get mapped into the snap
policy
Package policy implements the declaration based policy checks for connecting or permitting installation of snaps based on their slots and plugs.
Package policy implements the declaration based policy checks for connecting or permitting installation of snaps based on their slots and plugs.
polkit
Package polkit implements interaction between snapd and polkit.
Package polkit implements interaction between snapd and polkit.
prompting
Package prompting provides common types and functions related to AppArmor prompting.
Package prompting provides common types and functions related to AppArmor prompting.
prompting/errors
The errors package defines common error types which are used across the prompting subsystems, along with constructors for specific errors based on those broader types.
The errors package defines common error types which are used across the prompting subsystems, along with constructors for specific errors based on those broader types.
prompting/internal/maxidmmap
Package maxidmmap provides a type for working with atomically unique prompting-related IDs, backed by a memory mapped file.
Package maxidmmap provides a type for working with atomically unique prompting-related IDs, backed by a memory mapped file.
prompting/patterns
Package patterns provides types and functions for working with path patterns for request rules related to AppArmor Prompting.
Package patterns provides types and functions for working with path patterns for request rules related to AppArmor Prompting.
prompting/requestprompts
Package requestrules provides support for holding outstanding request prompts for AppArmor prompting.
Package requestrules provides support for holding outstanding request prompts for AppArmor prompting.
prompting/requestrules
Package requestrules provides support for storing request rules for AppArmor prompting.
Package requestrules provides support for storing request rules for AppArmor prompting.
seccomp
Package seccomp implements integration between snapd and snap-confine around seccomp.
Package seccomp implements integration between snapd and snap-confine around seccomp.
systemd
Package systemd implements integration between snappy interfaces and arbitrary systemd units that may be required for "oneshot" style tasks.
Package systemd implements integration between snappy interfaces and arbitrary systemd units that may be required for "oneshot" style tasks.
udev
Package udev implements integration between snapd, udev and snap-confine around tagging character and block devices so that they can be accessed by applications.
Package udev implements integration between snapd, udev and snap-confine around tagging character and block devices so that they can be accessed by applications.
fde
package fde implements helper used by low level parts like secboot in snap-bootstrap and high level parts like DeviceManager in snapd.
package fde implements helper used by low level parts like secboot in snap-bootstrap and high level parts like DeviceManager in snapd.
Package metautil takes care of basic details of working with snap metadata formats.
Package metautil takes care of basic details of working with snap metadata formats.
Package osutil offers utilities related to the operating system or i/o, mainly for files, filesystems and mounts, and also users and processes.
Package osutil offers utilities related to the operating system or i/o, mainly for files, filesystems and mounts, and also users and processes.
epoll
Package epoll contains a thin wrapper around the epoll(7) facility.
Package epoll contains a thin wrapper around the epoll(7) facility.
inotify
Package inotify implements a wrapper for the Linux inotify system.
Package inotify implements a wrapper for the Linux inotify system.
mount/libmount
Package libmount contains validation logic for user-level mount options typically handled by libmount.
Package libmount contains validation logic for user-level mount options typically handled by libmount.
sys
Package overlord implements the overall control of a snappy system.
Package overlord implements the overall control of a snappy system.
assertstate
Package assertstate implements the manager and state aspects responsible for the enforcement of assertions in the system and manages the system-wide assertion database.
Package assertstate implements the manager and state aspects responsible for the enforcement of assertions in the system and manages the system-wide assertion database.
cmdstate
Package cmdstate implements a overlord.StateManager that excutes arbitrary commands as tasks.
Package cmdstate implements a overlord.StateManager that excutes arbitrary commands as tasks.
configstate
Package configstate implements the manager and state aspects responsible for the configuration of snaps.
Package configstate implements the manager and state aspects responsible for the configuration of snaps.
devicestate
Package devicestate implements the manager and state aspects responsible for the device identity and policies.
Package devicestate implements the manager and state aspects responsible for the device identity and policies.
devicestate/internal
Package internal (of devicestate) provides functions to access and set the device state for use only by devicestate, for convenience they are also exposed via devicestatetest for use in tests.
Package internal (of devicestate) provides functions to access and set the device state for use only by devicestate, for convenience they are also exposed via devicestatetest for use in tests.
hookstate
Package hookstate implements the manager and state aspects responsible for the running of hooks.
Package hookstate implements the manager and state aspects responsible for the running of hooks.
hookstate/ctlcmd
Package ctlcmd contains the various snapctl subcommands.
Package ctlcmd contains the various snapctl subcommands.
ifacestate
Package ifacestate implements the manager and state aspects responsible for the maintenance of interfaces the system.
Package ifacestate implements the manager and state aspects responsible for the maintenance of interfaces the system.
ifacestate/schema
Package schema holds structs for reading and writing interface-related state data.
Package schema holds structs for reading and writing interface-related state data.
install
Package install implements installation logic details for UC20+ systems.
Package install implements installation logic details for UC20+ systems.
restart
Package restart implements requesting restarts from any part of the code that has access to state.
Package restart implements requesting restarts from any part of the code that has access to state.
snapstate
Package snapstate implements the manager and state aspects responsible for the installation and removal of snaps.
Package snapstate implements the manager and state aspects responsible for the installation and removal of snaps.
snapstate/backend
Package backend implements the low-level primitives to manage the snaps and their installation on disk.
Package backend implements the low-level primitives to manage the snaps and their installation on disk.
snapstate/policy
Package policy implements fine grained decision-making for snapstate
Package policy implements fine grained decision-making for snapstate
snapstate/sequence
Package sequence contains types representing a sequence of snap revisions (with components) that describe current and past states of the snap in the system.
Package sequence contains types representing a sequence of snap revisions (with components) that describe current and past states of the snap in the system.
state
Package state implements the representation of system state.
Package state implements the representation of system state.
storecontext
Package storecontext supplies a pluggable implementation of store.DeviceAndAuthContext.
Package storecontext supplies a pluggable implementation of store.DeviceAndAuthContext.
Package randutil initialises properly random value generation and exposes a streamlined set of functions for it, including for crypto random tokens.
Package randutil initialises properly random value generation and exposes a streamlined set of functions for it, including for crypto random tokens.
Package sandbox offers streamlined interfaces for the sandboxing primitives from the system for snapd use.
Package sandbox offers streamlined interfaces for the sandboxing primitives from the system for snapd use.
apparmor/notify
Package notify implements high-level notify interface to a subset of AppArmor features
Package notify implements high-level notify interface to a subset of AppArmor features
apparmor/notify/listener
Package listener implements a high-level interface to the apparmor notification mechanism.
Package listener implements a high-level interface to the apparmor notification mechanism.
Package seed implements loading and validating of seed data.
Package seed implements loading and validating of seed data.
internal
Package internal (of seed) provides types and helpers used internally by both seed and seed/seedwriter.
Package internal (of seed) provides types and helpers used internally by both seed and seed/seedwriter.
seedwriter
Package seedwrite implements writing image seeds.
Package seedwrite implements writing image seeds.
naming
Package naming implements naming constraints and concepts for snaps and their elements.
Package naming implements naming constraints and concepts for snaps and their elements.
quota
Package quota defines state structures for resource quota groups for snaps.
Package quota defines state structures for resource quota groups for snaps.
snaptest
Package snaptest contains helper functions for mocking snaps.
Package snaptest contains helper functions for mocking snaps.
Package snapdenv presents common environment (and related) options for snapd components.
Package snapdenv presents common environment (and related) options for snapd components.
Package snapdtool exposes version and related information, supports re-execution and inter-tool lookup/execution across all snapd tools.
Package snapdtool exposes version and related information, supports re-execution and inter-tool lookup/execution across all snapd tools.
Package store has support to use the Ubuntu Store for querying and downloading of snaps, and the related services.
Package store has support to use the Ubuntu Store for querying and downloading of snaps, and the related services.
auto-generated, DO NOT EDIT!
auto-generated, DO NOT EDIT!
shlex
Package shlex implements a simple lexer which splits input in to tokens using shell-style rules for quoting and commenting.
Package shlex implements a simple lexer which splits input in to tokens using shell-style rules for quoting and commenting.
tests
lib
lib/gendeveloper1
The “gendeveloper1” tool can be used generate model assertions for use in tests.
The “gendeveloper1” tool can be used generate model assertions for use in tests.
Package testtime provides a mocked version of time.Timer for use in tests.
Package testtime provides a mocked version of time.Timer for use in tests.
usersession
xdgopenproxy
Package xdgopenproxy provides a client for snap userd's xdg-open D-Bus proxy
Package xdgopenproxy provides a client for snap userd's xdg-open D-Bus proxy
Package wrappers is used to generate wrappers and service units and also desktop files for snap applications.
Package wrappers is used to generate wrappers and service units and also desktop files for snap applications.

Jump to

Keyboard shortcuts

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