Detta är ett verktyg som frågar aktiva instanser i en miljö efter applikationsinformation såsom version, men där kan även finnas annan intressant information som VM-information, java-version, upptid, etc. Informationen används sedan för att uppdatera en confluence-sida.
VersionVisualizer konfigureras med hjälp av en yaml-fil som innehåller information för confluence (vilken sida och inloggningsuppgifter), loggning samt vilka instanser som skall tillfrågas och hur informationen skall tolkas.
Här är ett exempel på en konfiguration som läser två vp-noder i dev-miljön.
--- confluence_settings: url: https://skl-tp.atlassian.net/wiki/ username: <confluence_username> password: <secret_password_or_api_token> pageid: <numeric_pageid> log_config: version: 1 formatters: simple: format: '%(asctime)s - %(name)s - %(levelname)s - %(message)s' handlers: formatter: simple stream: ext://sys.stdout loggers: VersionVisualizer: level: INFO handlers: [ console ] propagate: no node_settings: # VP Dev 2 noder - cfg: parser: JsonInfoUpdater url_template: "http://ind-{env}-{cluster}{nr}.ind1.sth.basefarm.net:{port}/{status_uri}" status_uri: status cluster: vp port: 8080 env: dtjp nodes: 2 response_map: name: Name version: Version javaVersion: JavaVersion
för att återanvända delar av en konfiguration så kan advancerade yaml-funktioner som referens-variabler användas, se en skarp settings.yaml längst ner för exempel.
installation
VersionVisualizer (VV) är skrivet för python 3.8 (och senare) och distribueras i form av en whl som kan installeras med pip. det kan vara bra att installera VersionVisualizer tillsamman med dess beroenden i en virtuel python-miljö, en sk venv. följande steg används då:
# skapa venv sudo python3 -mvenv /path/to/installdir # ändra ägandeskap för miljön till användaren som skall köra vv sudo chown vvuser -r /path/to/installdir # bli användaren i fråga sudo su - vvuser # gå till och aktivera miljön cd /path/to/installdir source ./bin/activate # installera VV python -mpip install --upgrade /path/to/wheels/VersionVisualizer_NTjP-1.0-py3-none-any.whl #kör VV python -mVersionVisualizer --settings /path/to/settings.yaml