Running the platform UI locally¶
Prerequisites¶
You should have a running Metalk8s cluster somewhere
You should have installed the dependencies locally with
cd ui; npm install
Procedure¶
Connect to the boostrap node of your cluster, and execute the following command as root:
python - <<EOF
import subprocess
import json
output = subprocess.check_output([
'salt-call', 'pillar.get', 'metalk8s', '--out', 'json'
])
pillar = json.loads(output)['local']
output = subprocess.check_output([
'salt-call', 'grains.get', 'metalk8s:control_plane_ip', '--out', 'json'
])
control_plane_ip = json.loads(output)['local']
ui_conf = {
'url': 'https://{}:6443'.format(control_plane_ip),
'url_salt': 'https://{salt[ip]}:{salt[ports][api]}'.format(
salt=pillar['endpoints']['salt-master']
),
'url_prometheus': 'http://{prom[ip]}:{prom[ports][web][node_port]}'.format(
prom=pillar['endpoints']['prometheus']
),
}
print(json.dumps(ui_conf, indent=4))
EOF
Copy the output into
ui/public/config.json
.Run the UI with
cd ui; npm run start