some more info
This commit is contained in:
parent
7e890ddf21
commit
b34e434917
@ -1,7 +1,30 @@
|
|||||||
|
Citadel Realms
|
||||||
|
==============
|
||||||
|
|
||||||
|
In Citadel applications are installed into and run from spaces called Realms. Realms
|
||||||
|
are implemented internally as systemd-nspawn containers but you don't need to know
|
||||||
|
this because the `realms` command-line tool manages creating and launching containers
|
||||||
|
for you.
|
||||||
|
|
||||||
|
|
||||||
|
### Application Images
|
||||||
|
|
||||||
|
The root filesystem for realms are called Application Images, but we usually just call them
|
||||||
|
appimgs. We have created a framework for constructing these images from Debian based distributions
|
||||||
|
which we use to build the default appimg that we provide, but we
|
||||||
|
also encourage users to experiment with building their own images.
|
||||||
|
|
||||||
|
#### Tree Application Images
|
||||||
|
|
||||||
|
Tree images are the only type of application image which is currently implemented for realms.
|
||||||
|
|
||||||
|
The rootfs is a tree of files on the filesystem, and also it is a btrfs subvolume.
|
||||||
|
|
||||||
|
#### Block Application Images
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## `default` realm
|
### `default` realm
|
||||||
|
|
||||||
One realm is always selected to be the `default` realm. The default realm
|
One realm is always selected to be the `default` realm. The default realm
|
||||||
starts automatically when the system boots. The `realms` utility can be used
|
starts automatically when the system boots. The `realms` utility can be used
|
||||||
@ -17,7 +40,7 @@ the symlink `/realm/default.realm` to point to a different realm instance direct
|
|||||||
citadel:~# realms default
|
citadel:~# realms default
|
||||||
Default Realm: project
|
Default Realm: project
|
||||||
|
|
||||||
## `current` realm
|
### `current` realm
|
||||||
|
|
||||||
If any realms are running, then one realm is always the `current` realm. The current
|
If any realms are running, then one realm is always the `current` realm. The current
|
||||||
realm is a realm that is being monitored by the `citadel-desktopd` daemon. This
|
realm is a realm that is being monitored by the `citadel-desktopd` daemon. This
|
||||||
@ -32,7 +55,7 @@ started by gnome-shell will run in the `current` realm.
|
|||||||
citadel:~# realms
|
citadel:~# realms
|
||||||
Current Realm: main
|
Current Realm: main
|
||||||
|
|
||||||
## Realms base directory layout
|
### Realms base directory layout
|
||||||
|
|
||||||
The realms base directory is stored on the storage partition at `/storage/realms` and is bind mounted to `/realms` on the root filesystem for convenience.
|
The realms base directory is stored on the storage partition at `/storage/realms` and is bind mounted to `/realms` on the root filesystem for convenience.
|
||||||
|
|
||||||
@ -45,23 +68,23 @@ The realms base directory is stored on the storage partition at `/storage/realms
|
|||||||
/realm-project
|
/realm-project
|
||||||
/realm-testing
|
/realm-testing
|
||||||
|
|
||||||
### `/realms/config` file
|
#### `/realms/config` file
|
||||||
|
|
||||||
This file is a template of the configuration file for individual realms. When a new realm is created this file in copied into the new realm instance directory. By modifying this file, the default configuration for new realm instances can be changed.
|
This file is a template of the configuration file for individual realms. When a new realm is created this file in copied into the new realm instance directory. By modifying this file, the default configuration for new realm instances can be changed.
|
||||||
|
|
||||||
### `/realms/Shared` directory
|
#### `/realms/Shared` directory
|
||||||
|
|
||||||
This directory is bind mounted to `/home/user/Shared` of each running realm that has the option `use-shared-dir` enabled. It's a convenient way to move files between different realms and between citadel and realms.
|
This directory is bind mounted to `/home/user/Shared` of each running realm that has the option `use-shared-dir` enabled. It's a convenient way to move files between different realms and between citadel and realms.
|
||||||
|
|
||||||
### `/realms/skel` directory
|
#### `/realms/skel` directory
|
||||||
|
|
||||||
Files which are added to this directory will be copied into the home directory of any newly created realm. The directory is copied as a tree of files and may contain subdirectories.
|
Files which are added to this directory will be copied into the home directory of any newly created realm. The directory is copied as a tree of files and may contain subdirectories.
|
||||||
|
|
||||||
### `/realms/default.realm`
|
#### `/realms/default.realm`
|
||||||
|
|
||||||
A symlink which points to a realm instance directory of the default realm. The default realm is the realm which starts when the system is booted.
|
A symlink which points to a realm instance directory of the default realm. The default realm is the realm which starts when the system is booted.
|
||||||
|
|
||||||
### `/realms/realm-$name`
|
#### `/realms/realm-$name`
|
||||||
|
|
||||||
This is a realm instance directory, for a realm with $name as the realm name.
|
This is a realm instance directory, for a realm with $name as the realm name.
|
||||||
|
|
||||||
@ -75,7 +98,7 @@ This is a realm instance directory, for a realm with $name as the realm name.
|
|||||||
* `/rootfs` : btrfs subvolume clone (snapshot) of an application image.
|
* `/rootfs` : btrfs subvolume clone (snapshot) of an application image.
|
||||||
|
|
||||||
|
|
||||||
### Realm instance directory layout
|
#### Realm instance directory layout
|
||||||
|
|
||||||
/realm-main
|
/realm-main
|
||||||
config
|
config
|
||||||
|
Loading…
Reference in New Issue
Block a user