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.
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
tags:
- key: ankaios
value: dashboard
runtimeConfig: |
image: ghcr.io/felixmoelders/ankaios-dashboard:latest
commandOptions: ["-p", "5001:5001", "-e", "PASSWORD=admin"]
Call the dashboard via localhost:5001. The login credentials are by default
- User: admin
- Password: admin
Open the project in VS Code Dev Container, with the provided configuration.
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>
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 ank_dashboard | awk '{print $1}')
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
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