Skip to content

Latest commit

 

History

History
104 lines (73 loc) · 3.79 KB

README.md

File metadata and controls

104 lines (73 loc) · 3.79 KB

Ankaios Dashboard

The Ankaios Dashboard ist the ui interface for Eclipse Ankaios project. It offers insights into a running ankaios cluster, allows for modification/deletion/creation of workloads and offers a dependency graph for easier understanding of the interdependencies between workloads. If you didn't use the Ankaios CLI commands so far, the dashboard is a powerful tool to understand the functionality of ankaios. Furthermore, if you are running into any issues during the execution of your ankaios workloads, it is a good starting point to start debugging, especially for finding workloads that are missing but other workloads are depending on.

The ankaios dashboard is started as a workload within the ankaios cluster. More Info on how to get started may be found in the next chapter.

Dashboard version Tested with Ankaios
v0.1, v0.1.1 v0.3
v0.2 v0.4
v0.3, v0.3.1 v0.5

Architecture

How to use the dashboard out of the box?

Add the following entry to your startupState.yaml for ankaios and you are ready to go.

apiVersion: v0.1
workloads:
  Ankaios_Dashboard:
    runtime: podman
    agent: agent_A
    restart: true
    updateStrategy: AT_LEAST_ONCE
    accessRights:
      allow: []
      deny: []
    restartPolicy: NEVER 
    dependencies:
    runtimeConfig: |
       image: ghcr.io/felixmoelders/ankaios-dashboard:latest
       commandOptions: ["-p", "5001:5001"]
    controlInterfaceAccess:
        allowRules:
          - type: StateRule
            operation: ReadWrite
            filterMask:
              - "desiredState"
              - "workloadStates"

Call the dashboard via localhost:5001. If you want to use the dashboard with a password, then add the PASSWORD environment variable for the dashboard e.g. commandOptions: ["-p", "5001:5001", "-e", "PASSWORD=admin"]

  • User: admin
  • Password: admin

How to build and run the dashboard during development?

  1. Open the project in VS Code Dev Container, with the provided configuration.

  2. Build and run the dashboard:

    ./run_dashboard.sh

    The Ankaios executables are provided by the dev container under the default path Installation instructions. If you want to use another version, you can specify an alternative Ankaios executable path like the following:

    ANK_BIN_DIR=/absolute/path/to/ankaios/executables ./run_dashboard.sh

    In case you get errors like DNS lookup error your are probably within a VPN that restricts access to some DNS servers. To workaround that problem caused by buildah you need to specify a DNS server that should be used like:

    ./run_dashboard.sh --dns=<IP address of DNS server>
  3. Open an additional terminal in the dev container and run the following shell command to see the logs of the example workload:

    podman logs -f $(podman ps -a | grep Ankaios_Dashboard | awk '{print $1}')

Use the protobuf definition in python

Execute the following command in the dev container:

protoc --python_out=/workspaces/ankaios-dashboard/app/ --proto_path=/tmp/ankaios/api/proto/ ankaios.proto && touch /workspaces/ankaios-dashboard/app/__init__.py

Ankaios logs

Run the following command to see the Ankaios server logs:

tail -f /tmp/ankaios-server.log

Run the following command to see the Ankaios agent logs:

tail -f /tmp/ankaios-agent_A.log