Module holochain_types::app[][src]

Expand description

Everything to do with App (hApp) installation and uninstallation

An App is a essentially a collection of Cells which are intended to be available for a particular Holochain use-case, such as a microservice used by some UI in a broader application.

Each Cell maintains its own identity separate from any App. Access to Cells can be shared between different Apps.

Modules

Normalized, validated representation of the App Manifest.

Structs

An active app

A bundle of an AppManifest and collection of DNAs

Version 1 of the App manifest schema

Builder for AppManifestV1.

Version 1 of the App manifest schema

Builder for AppManifestV1.

Normalized, validated representation of the App Manifest.

Cell “slots” correspond to cell entries in the AppManifest.

The DNA portion of an app slot

Description of an app “slot” defined by this app. Slots get filled according to the provisioning rules, as well as by potential runtime clones.

The result of running Cell resolution

The instructions on how to get the DNA to be registered

Representation of all DNAs and Cells available in a given context. When given a DnaVersionSpec, a particular DNA can be selected from this gamut.

We don’t have any notion of DNA versioning other than the hash, but this is a placeholder to indicate the need for it in the future and to start using it in public interfaces.

Defines a criterion for a DNA version to match against.

An app which has either never been activated, or has been deactivated.

An AppBundle along with an AgentPubKey and optional InstalledAppId

Information needed to specify a Dna as part of an App

A collection of DnaHashes paired with an AgentPubKey and an app id

The common data between apps of any status

InstalledCellDeprecated

Data about an installed Cell. It’s deprecated because it is not used in the new installation scheme using AppBundles.

The instructions on how to get the DNA to be registered

Enums

Errors occurring while installing an AppBundle

The possible locations of an AppBundle

Container struct which uses the manifest_version field to determine which manifest version to deserialize to.

Rules to determine if and how a Cell will be created for this Dna

Rules to determine if and how a Cell will be created for this Dna

Uninhabitable placeholder

Specifies what step should be taken to provision a cell while installing an App

Possible results of Cell resolution

The possible reasons for an app being deactivated

Possible results of DNA resolution

The source of the DNA to be installed, either as binary data, or from a path

Allow the DNA version to be specified as a single hash, rather than a singleton list. Just a convenience.

An app which has been installed. An installed app is merely its collection of “slots”, associated with an ID.

The information in an InstalledApp which is not captured by InstalledAppCommon

Functions

This function is called in places where it will be necessary to rework that area after use_existing has been implemented

Type Definitions

CellNickDeprecated

A friendly (nick)name used by UIs to refer to the Cells which make up the app

A map from InstalledAppId -> InactiveApp

Specifies remote, local, or bundled location of DNA

The unique identifier for an installed app in this conductor

A map from InstalledAppId -> ActiveApp

Identifier for an AppSlot