source code: py/dome/README.md

Dome User Guide

Dome: The Factory Server Management Console

Introduction to Dome

Dome is our new factory management console. On the factory server side, we have different projects responsible for different parts before: Shopfloor, Umpire, Instalog, etc. They all have their own ways to manage, and require knowledge of the command line interface. Therefore, Dome was born: management console for all things in just one place, and best of all, it’s GUI. In the future, you no longer need to set up Shopfloor, Umpire, or Instalog independently. You set up Dome, and let Dome help you finish all the tasks for you.

Prerequisite

  1. You need Docker installed on the target computer. Read Factory Server for more details.

  2. Dome is a web-based program, if you want to use it on the same Linux machine running Dome, you’ll need the desktop environment. Run following commands to install the desktop environment and Chromium browser:

    sudo apt-get install ubuntu-desktop chromium-browser
    

Installation

Dome is one of the component bundled in Chrome OS Factory Server package, so please follow the steps in Factory Server to deploy and install Dome.

Access Dome Web User Interface

Open your browser to port 8000 of the Dome server, and you should see the welcome page. For example, if you’re using the same machine and had the desktop environment set up, open the browser to http://localhost:8000.

The default login credential is admin / test0000. The password can be changed by running command ./cros_docker.sh passwd.

Note: using Chrome/Chromium is highly recommended. If you want to use other browsers such as Firefox, you’ll have to make sure the timeout setting is long enough or you’re likely to get an timeout error when uploading bundle files since they’re normally very large.

Using Dome

TBD.

How to Enable HTTPS on DOME (Factory Server)

Because Dome is open source, we cannot provide the private key on source code. If you want to enable HTTPS on DOME, you can use your certificate files.

Here’s a brief instruction to enable HTTPS:

  • Create a ssl.conf file under /cros_docker/dome folder.

  • Modify this ssl.conf file, you need to add these configurations:

    listen  443 ssl;
    
    ssl_certificate  /var/db/factory/dome/nginx/certificate.crt;
    ssl_certificate_key  /var/db/factory/dome/nginx/private.key;
    
  • Put your certificate.crt and private.key files into /cros_docker/dome/nginx folder.

  • Run setup/cros_docker.sh run.

  • Now you can visit to https://localhost:8001.

How to Enable HTTPS on Umpire

Here’s a brief instruction to enable HTTPS on Umpire side:

  • Create a protocol.json file under /cros_docker/dome folder.

  • Modify this protocol.json file. If you want to use HTTPS on Umpire side, add the json string like following:

    {
      "use_https": true
    }
    
  • Put your selfsigned.crt and selfsigned.key files into /cros_docker/dome folder. Note: Please use selfsigned.crt and selfsigned.key as the filename.

  • Run setup/cros_docker.sh run.

  • For the first time we change from HTTP to HTTPS, we need to delete all umpire projects and create them again for now.


Run E2E Testing of Dome

  1. Run following command under py/dome to run the e2e test.

    make e2e-test