Market
This chapter covers the Market menu: download software packages for this host from GitHub, or upload a package yourself, and then deploy it.
1. What the market is
The market holds software packages signed by keelOS (.kimg files), of two kinds:
- Packages that deploy as a VM: keelNAS (a small NAS), keelAuth (the office account server) and keelMGR (the manager). Each package can be deployed once or several times.
- Application templates: the templates used by New application in kcell. Each template is one very small package.
Note: keelOS accepts only packages signed with its own key. Packages from elsewhere and incomplete downloads are rejected. Packages are stored on a storage pool, so with no pool the page says "No storage pool yet: packages are stored on a pool, create one on the Storage page first", see Storage.
Open Market in the left menu.
The cards at the top have Refresh (read the catalogue on GitHub again) and Upload a package (see §4). If the catalogue cannot be read (for example there is no network), the page says it cannot read the catalogue; packages already on this host still work.
2. Package cards: download and deploy
Each package has a card. On the left are the name, a description, the Latest version (with size) and the version On this host (click Delete to remove it from this host). A test build badge marks test versions.
On the right is what you can do:
- Download: fetch the package from GitHub to this host. While it downloads you see progress and Cancel. When a newer version exists the button becomes Download the new version, and a newer version badge appears.
- Deploy: appears once the package is on this host (needs an account with host write permission). It creates a VM from the package. Deploy as many as you need; the card shows how many are deployed. If you clicked Download, the deploy dialog opens by itself when the download finishes.
- Open: once something is deployed, jumps to its menu page (keelNAS goes to the keelNAS page, keelAuth to the Accounts page).
If a deployed instance is older than the package, the card says how many can be upgraded; click it to go to the right page and upgrade.
What each package deploys:
| Package | Deploy dialog | After deploying |
|---|---|---|
| keelNAS | Deploy a keelNAS: name, version, network, memory, data disk size | See NAS |
| keelAuth | Deploy a keelAuth: version, address on the network (fixed address or DHCP), name (DNS). keel creates the first administrator; the password is shown once, so write it down | See Accounts, Tokens and Permissions |
| keelMGR | Make a manager: version, address. The first user's password is likewise shown once | The manager's pages are described in keelMGR's own documentation |
3. Application templates
The Application templates card is at the bottom of the page, with one row per template: icon, title, description, and the Latest and On this host versions.
- Install downloads the template (a few KB). Once it is on this host and a newer version exists, the button becomes Update, and Delete appears beside it.
- An installed template package replaces the built-in template of the same name only if it is newer than the one in the current keelOS. Delete the package and the built-in template is back. Applications already created from it keep running.
- If this keelOS cannot use a template package (too new, or damaged), the row says so and gives the reason.
These templates are used in New application in kcell.
4. Upload a package
When there is no network, or someone gives you a package:
- Click Upload a package and choose a
.kimgfile. - The page shows the upload progress in percent. When it is done it says the package is now on this host, and it appears in the On this host column of its card.
- If the page says the file is not a valid package (the download may be incomplete), the file is incomplete or not signed by keelOS. Download it again and upload again.
Rejected files are listed at the bottom of the page under Files that are not taken, with the reason, and you can Delete them.
Note: Downloading and uploading need an account with the
image:writepermission. Read-only accounts can only look.