Module holochain_types::app
source · 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
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.
App “roles” correspond to cell entries in the AppManifest.
The DNA portion of an app role
Description of an app “role” defined by this app.
Roles get filled according to the provisioning rules, as well as by
potential runtime clones.
The answer to the question:
“how do we concretely assign DNAs to the open roles of this App?”
Includes the DNAs selected to fill the roles and the details of the role assignments.
Arguments to specify the clone cell to be archived.
The arguments to create a clone of an existing cell.
Arguments to delete archived clone cells of an app.
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.
Information needed to specify a DNA as part of an App
A collection of DnaHashes paired with an AgentPubKey and an app id
An app which has been installed.
An installed app is merely its collection of “roles”, associated with an ID.
The common data between apps of any status
Data about an installed Cell.
The instructions on how to get the DNA to be registered
An active app
An app which is either Paused or Disabled, i.e. not Running
The instructions on how to update coordinators for a dna file.
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
The status of an installed app.
A declaration of the side effects of a particular AppStatusTransition.
The AppStatus without the reasons.
Represents a state transition operation from one state to another
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
Ways of specifying a clone cell.
The source of coordinators to be installed, either as binary data, or from a path
The reason for an app being in a Disabled state.
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.
The reason for an app being in a Paused state.
NB: there is no way to manually pause an app.
The various reasons for why an App is not in the Running state.
Functions
This function is called in places where it will be necessary to rework that
area after use_existing has been implemented
Type Definitions
Specifies remote, local, or bundled location of DNA
The unique identifier for an installed app in this conductor
A map from InstalledAppId -> InstalledApp
Argumtents to specify the clone cell to be restored.