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 |
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
-
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 Ankaios_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