Skip to content

The Ankaios Dashboard is deployed as a workload within an Ankaios Cluster and allows for debugging, workload creation/config/deletion and more.

License

Notifications You must be signed in to change notification settings

FelixMoelders/ankaios-dashboard

Repository files navigation

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

About

The Ankaios Dashboard is deployed as a workload within an Ankaios Cluster and allows for debugging, workload creation/config/deletion and more.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors