github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/cmd/imageserver/README.md (about) 1 # imageserver 2 The *imageserver* daemon serves images and objects for the **Dominator** system. 3 4 ## Status page 5 The *imageserver* provides a web interface on port `6971` which provides a 6 status page, links to built-in dashboards and access to performance metrics and 7 logs. If *imageserver* is running on host `myhost` then the URL of the main 8 status page is `http://myhost:6971/`. An RPC over HTTP interface is also 9 provided over the same port. 10 11 12 ## Startup 13 *Imageserver* is started at boot time, usually by one of the provided 14 [init scripts](../../init.d/). The *imageserver* process is baby-sat by the init 15 script; if the process dies the init script will re-start it. It may be stopped 16 with the command: 17 18 ``` 19 service imageserver stop 20 ``` 21 22 which also kills the baby-sitting init script. It may be started with the 23 comand: 24 25 ``` 26 service imageserver start 27 ``` 28 29 There are many command-line flags which may change the behaviour of 30 *imageserver* but many have defaults which should be adequate for most 31 deployments. Built-in help is available with the command: 32 33 ``` 34 imageserver -h 35 ``` 36 37 ### Key configuration parameters 38 The init script reads configuration parameters from the 39 `/etc/default/imageserver` file. The following is the minimum likely set of 40 parameters that will need to be configured. 41 42 If `ARCHIVE_MODE` is set to `true` then the *imageserver* will ignore all 43 **delete** operations, effectively turning it into an archiver (backup). 44 45 The `IMAGE_DIR` variable specifies the directory where images are stored. It is 46 recommended to specify a directory on a file-system with plenty of free space. 47 48 The `IMAGE_SERVER_HOSTNAME` variable specifies another *imageserver* which will 49 serve as the source of image updates. This may be used to configure simple, fast 50 and secure image replication between *imageservers*. If this variable is unset 51 then the *imageserver* is a master/standalone server 52 53 The `OBJECT_DIR` variable specifies the directory where objects are stored. It 54 is recommended to specify a directory on a file-system with plenty of free 55 space. 56 57 The `USERNAME` variable specifies the username that *imageserver* should run as. 58 Since *imageserver* does not need root privileges, the init script runs 59 *imageserver* as this user. 60 61 ## Security 62 RPC access is restricted using TLS client authentication. *Imageserver* expects 63 a root certificate in the file `/etc/ssl/CA.pem` which it trusts to sign 64 certificates which grant access. It also requires a certificate and key which 65 grant it the ability to **get** images and objects from another imageserver. 66 These should be in the files `/etc/ssl/imageserver/cert.pem` and 67 `/etc/ssl/imageserver/key.pem`, respectively. 68 69 ## Control 70 The *[imagetool](../imagetool/README.md)* utility may be used to add, delete, 71 get and compare images. It is the most important utility in the **Dominator** 72 system.