Verwalten der Agentenkonfiguration mithilfe von Git
Sie können die Konfigurationen der Agenten mithilfe von verwalten Git.
Die Git -basierten Konfigurationsmanagementfunktionen sind optional. Wenn Sie bereits über andere Mittel zur Bereitstellung dateibasierter Konfigurationen für den Host-Agent verfügen, wie z. B. Ansible Terraform, Chef oder Puppet, benötigen Sie Git wahrscheinlich keine konfigurationsbasierte Konfigurationsverwaltung.
Hinweise:
- Die Git -basierten Konfigurationsmanagementfunktionen sind ab der Host-Agent-Bootstrap-Version verfügbar
1.2.11. - Die Bootstrap-Version des
1.2.12Host-Agenten bietet nun Unterstützung fürHTTP/HTTPSdie Basisauthentifizierung.
Der Host-Agent kann seine Konfigurationen aus einem Git Remote-Repository abrufen. Alle Konfigurationen, die in der Dokumentation zur Host-Agent-Konfiguration beschrieben werden, können über verwaltet Git werden. Einige Host-Agent-Konfigurationen erfordern einen Neustart des Host-Agents, bevor sie wirksam werden (die Dokumentation erläutert diese Anforderung im entsprechenden Abschnitt).
Verwendung von Git-basiertem Konfigurationsmanagement
Der Instana-Host-Agent wird mit Standardkonfigurationen ausgeliefert, die Sie in den meisten Produktionsszenarien nicht ändern müssen.
Funktionen wie dynamisches Version Pinning, die Backend-Konfigurationen des Host-Agenten (insbesondere bei Verwendung mehrerer Backends ), Geheimnisse und Host-Tags profitieren jedoch erheblich von einer zentralisierten Versionskontrolle, mit der Sie eine Konfiguration einmalig festlegen und auf Host-Agenten übertragen können, die in gesamten Landschaften oder Umgebungen bereitgestellt sind.
Der Instana-Host-Agent verfügt über einen integrierten Git Client, der Konfigurationen aus einem von Ihnen betriebenen Remote-Repository abrufen kann. Wenn der Host-Agent ein lokales Git Repository in seinem *instanaAgentDir*/etc/ Verzeichnis entdeckt, aktiviert er automatisch seine Git -basierten Konfigurationsmanagementfunktionen und sucht im lokalen Repository nach einem Git Remote namens configuration. Beim Start aktualisiert der Host-Agent sein lokales Repository basierend auf den im Remote-Repository verfügbaren Daten. Weitere Informationen zum Konfigurationsaktualisierungsprozess finden Sie im Abschnitt „Konfigurationsaktualisierungen “.
Die Anforderungen für die Einrichtung Ihres Git Repositorys sind im Abschnitt „Voraussetzungen“ beschrieben.
Voraussetzungen
Für das Git-basierte Konfigurationsmanagement sind keine lokalen Git-Clients und keine anderen Tools erforderlich. Der Host-Agent benötigt Zugriff auf das konfigurierte Git Remote-Repository. Dieser Zugriff umfasst die Netzwerkverbindung und Git die Authentifizierung:
Das System, auf dem das Git Remote-Repository gehostet wird, muss über eine Netzwerkverbindung vom Host-Agenten aus erreichbar sein. Das System muss den Zugriff auf der Grundlage des Git Transportprotokolls ermöglichen. Derzeit unterstützt der Host-Agent die HTTPHTTPS Transportprotokolle und. Außerdem müssen die entsprechenden Ports geöffnet sein.
Ab Agent-Bootstrap-Version wird
1.2.12dieHTTP/HTTPSBasisauthentifizierung unterstützt. Die UmgebungsvariablenINSTANA_GIT_REMOTE_USERNAMEundINSTANA_GIT_REMOTE_PASSWORDkönnen zum Festlegen von Zugriffsberechtigungsnachweisen verwendet werden.
Einrichtung
Selbst signierte Zertifikate
Wenn Sie das Git Repository selbst hosten, können Sie ein selbstsigniertes Zertifikat verwenden. Damit der Agent eine sichere Verbindung zu einem Git Repository herstellen kann, müssen Sie das selbstsignierte Zertifikat in den Java-Truststore importieren. Weitere Informationen finden Sie unter Selbstsignierte Zertifikate.
Authentifizierung mit.netrc-Datei
Der Zugriff auf ein Git Repository kann autorisiert werden, indem eine .netrc Datei verwendet wird, um das Passwort oder den Zugriffstoken bereitzustellen. .netrc ist weit verbreitet und Details dazu finden Sie auf der .netrc-Manpage.
Sie können die .netrc Datei im Home-Verzeichnis des Benutzers (z. B. root) konfigurieren, auf dem der Instana-Host-Agent ausgeführt wird. Siehe die folgende .netrc Beispieldatei für das github.com Repository:
machine github.com
login oauth2
password <access_token>
Git Repository-Struktur
Im Repository Git müssen Sie dieselbe Verzeichnisstruktur wie in haben *instanaAgentDir*/etc. Wenn Sie beispielsweise Daten aus der Git Datei mit dem Namen configuration-mysql.yamlabrufen möchten, muss diese Datei im Git Verzeichnis mit dem Namen instana abgelegt sein (d. h. die Datei instana/configuration-mysql.yaml). Andernfalls wird die Datei beim Abruf aus dem Git Repository am falschen Speicherort auf dem Server abgelegt und vom Instana-Host-Agent nicht verwendet.
Die folgende Abbildung zeigt die Beispielstruktur eines Git Repositorys:
repository-root/
├── instana/
│ ├── configuration-mysql.yaml
│ └── com.instana.agent.main.config.UpdateManager.cfg
└── org.ops4j.pax.url.mvn.cfg
Mit systemd
Bei Verwendung von systemd lassen sich die zusätzlichen Parameter am einfachsten über eine Drop-in-Datei festlegen. Um den Pfad zum Drop-in-Verzeichnis anzuzeigen, führen Sie den folgenden Befehl aus:
systemctl status instana-agent
Die Dateien in diesem Verzeichnis müssen die Dateiendung haben .conf, andernfalls werden die Dateien ignoriert.
- Erstellen Sie eine neue Datei im
/etc/systemd/system/instana-agent.service.d/Verzeichnis mit der Erweiterung.conf, z. B.git-configuration-environments.conf. - Fügen Sie der Datei folgenden Inhalt hinzu:
[Service] Environment=INSTANA_GIT_REMOTE_BRANCH=<branch> Environment=INSTANA_GIT_REMOTE_REPOSITORY=<repository_url> Environment=INSTANA_GIT_REMOTE_USERNAME=<username> Environment=INSTANA_GIT_REMOTE_PASSWORD=<access_token> ``` **Notes:** - Replace *<branch>* with the name of the remote branch that the Instana host agent connects to. - Replace *<repository_url>* with the URL of the remote Git repository; for example, `https://github.com/<your_account>/<your_repo>.git`. - Replace *<username>* with a username or access token (for basic authentication). If you are using a `.netrc` file or a public repository, you can remove the whole line `Environment=INSTANA_GIT_REMOTE_USERNAME=<username>`. - Replace *<access_token>* with an access token. If you are using an access token as username (basic authentication), a `.netrc` file, or a public repository, you can remove the whole line `Environment=INSTANA_GIT_REMOTE_PASSWORD=<access_token>`.
Nachdem Sie eine Drop-In-Datei hinzugefügt oder geändert haben, führen Sie die folgenden Schritte aus:
- Laden Sie die Drop-in-Dateien neu, indem Sie den Befehl systemctl daemon-reload ausführen.
- Starten Sie den Instana-Host-Agent neu, indem Sie den Befehl systemctl restart instana-agent ausführen.
Mit Umgebungsvariablen
Wenn Sie die folgenden Umgebungsvariablen festgelegt haben, überprüft der Host-Agent beim Start, ob das lokale Git Repository im *instanaAgentDir*/etc/ Ordner vorhanden ist. Wenn das lokale Git Repository nicht vorhanden ist, erstellt der Host-Agent ein lokales Repository, das mit dem Remote-Repository verbunden ist.
Wenn der Instana-Agent direkt auf einem Host ausgeführt wird, müssen die folgenden Umgebungsvariablen auf dem Host festgelegt werden. Wenn der Host-Agent in einer containerisierten Umgebung ausgeführt wird, legen Sie die Variablen auf Containerebene fest.
| Umgebungsvariable | Beschreibung |
|---|---|
INSTANA_GIT_REMOTE_REPOSITORY |
Das URL des Remote-Repositorys Git; zum Beispiel. https://github.com/<your_account>/<your_repo>.git |
INSTANA_GIT_REMOTE_BRANCH |
Der Name des Remote-Zweigs, dem der Instana-Host-Agent folgen soll; zum Beispiel main |
INSTANA_GIT_REMOTE_USERNAME |
Optional: Der Benutzername oder das Zugriffstoken, das bei der Basisauthentifizierung verwendet werden soll (siehe Hinweis nach dieser Tabelle) |
INSTANA_GIT_REMOTE_PASSWORD |
Optional: Das Passwort, das bei der Basisauthentifizierung verwendet werden soll (siehe Hinweis nach dieser Tabelle) |
INSTANA_GIT_REMOTE_USERNAME. Dadurch wird sichergestellt, dass die Basisauthentifizierung ohne Benutzernamen korrekt konfiguriert ist.Mit dem Einzeiler-Befehl
Siehe die -g, -b, -u und -p Optionen in der OneLiner Dokumentation, die den INSTANA_GIT_REMOTE_REPOSITORYUmgebungsvariablen INSTANA_GIT_REMOTE_PASSWORD , INSTANA_GIT_REMOTE_BRANCH, INSTANA_GIT_REMOTE_USERNAME und für die zugeordnet Umweltmethode sind.
Die folgende Tabelle zeigt die Zuordnung zwischen den Umgebungsvariablen und den Parametern des Einzeiler-Befehls:
| Umgebungsvariable | Parameter des Einzeiler-Befehls |
|---|---|
INSTANA_GIT_REMOTE_REPOSITORY |
-g = (optional, erforderlich, wenn -b festgelegt ist) |
INSTANA_GIT_REMOTE_BRANCH |
-b = (optional, erforderlich, wenn -g festgelegt ist) |
INSTANA_GIT_REMOTE_USERNAME |
-u = (optional, erforderlich, wenn -p festgelegt ist) |
INSTANA_GIT_REMOTE_PASSWORD |
-p = (optional) |
Mit Docker-Images
Die Schritte sind im Wesentlichen dieselben wie bei der Umgebungsmethode, indem die INSTANA_GIT_REMOTE_REPOSITORYUmgebungsvariablen INSTANA_GIT_REMOTE_PASSWORD , INSTANA_GIT_REMOTE_BRANCH, INSTANA_GIT_REMOTE_USERNAME und zum Docker Container hinzugefügt werden.
Das folgende Codebeispiel enthält beispielsweise die Parameter, die zum Starten des Host-Agenten in einem Container erforderlich sind, sowie die erforderlichen Git Parameter zum Aktivieren der Git -basierten Konfigurationsverwaltung:
# Please enter proper values for all --env arguments.
docker run \
--detach \
--name instana-agent \
--volume /var/run:/var/run \
--volume /run:/run \
--volume /dev:/dev:ro \
--volume /sys:/sys:ro \
--volume /var/log:/var/log:ro \
--privileged \
--net=host \
--pid=host \
--env="INSTANA_AGENT_ENDPOINT=" \
--env="INSTANA_AGENT_ENDPOINT_PORT=" \
--env="INSTANA_AGENT_KEY=" \
--env="INSTANA_DOWNLOAD_KEY=" \
--env="INSTANA_AGENT_ZONE=" \
--env="INSTANA_GIT_REMOTE_BRANCH=" \
--env="INSTANA_GIT_REMOTE_PASSWORD=" \
--env="INSTANA_GIT_REMOTE_REPOSITORY=" \
--env="INSTANA_GIT_REMOTE_USERNAME=" \
icr.io/instana/agent
Mit dem Agent Management Dashboard
Die Git -basierte Konfigurationsverwaltung kann im Abschnitt „Konfigurationsverwaltung“ auf dem Dashboard „Agentenverwaltung“ eingerichtet werden.
.git Suffix an das Ende der Adresse INSTANA_GIT_REMOTE_REPOSITORY anhängen, z. B. https://github.com/<your_account>/<your_repo>.git. Darüber hinaus können Sie zur Konfiguration der Basisauthentifizierung für den Zugriff auf das Git Repository eine .netrc Datei verwenden. Weitere Informationen finden Sie unter Authentifizierung mit der.netrc-Datei.Mit der API
Die Git -basierte Konfigurationsverwaltung kann mithilfe der API initialisiert und konfiguriert werden, wie im Host
Agent Abschnitt der Web-REST-API-Dokumentation beschrieben.
Manuelle Konfiguration
Eine manuelle Einrichtung besteht aus der Initialisierung eines Git Repositorys im *instanaAgentDir*/etc/ Ordner und dem Hinzufügen einer remote mit dem Namen configuration.
Der Host-Agent ruft den lokalen main Zweig unter Verwendung des konfigurierten Tracking-Zweigs aus dem configuration Remote-Zweig ab. Es gibt mehrere Möglichkeiten, das Git-Repository zu konfigurieren, und Sie können frei wählen, was am besten zu Ihrer Konfiguration passt.
Mit der folgenden Konfiguration können Sie beispielsweise den Host-Agenten Konfigurationen aus dem main Zweig des configuration Remotes abrufen:
etc> git init
etc> git remote add -m main -t main configuration <git-repository-url>
etc> git fetch configuration
etc> git checkout -f -b main --track configuration/main
Mit dem folgenden Beispiel können Sie die Konfigurationen aus dem my-configurations Zweig im configuration Remote abrufen:
etc> git init
etc> git remote add -m main -t my-configurations configuration <git-repository-url>
etc> git fetch configuration
etc> git checkout -f -b main --track configuration/my-configurations
Mögliche <git-repository-url> Formate sind in der offiziellen Dokumentation zu Git URLs beschrieben.
Konfigurationsaktualisierungen
Der Host-Agent ruft Konfigurationsaktualisierungen aus dem Remote-Repository ab:
- Beim Start oder Neustart.
- Über das Agent
rebootManagement Dashboard initiiert. - Durch eine Konfigurationsänderung über das Agent Management Dashboard.
- Über die Web-API, wie im
Host AgentAbschnitt beschrieben, und die darauf basierenden Integrationen wie die Aktion GitHub „Update Agent “.
Das Git -basierte Konfigurationsmanagement arbeitet auf dem lokalen main Zweig und aktualisiert diesen mit der Version des konfigurierten Remote-Tracking-Zweigs. Wenn kein Tracking-Zweig konfiguriert ist, wird eine Fehlermeldung zur Protokolldatei des Host-Agenten hinzugefügt. Solange keine weiteren Konfigurationsaktualisierungen durchgeführt werden, setzt der Agent seine Überwachung unter Verwendung der aktuellen Konfigurationen fort.
Lokale Änderungen werden nicht erwartet und bei Updates verworfen. Nicht verfolgte Dateien werden von der Git -basierten Konfigurationsverwaltung berührt, sodass zunächst nicht alle Dateien zum Repository hinzugefügt werden müssen.
Aktualisierungen durch Verwendung von Git Hooks auslösen
Git Hooks sind Programme, die Sie im .git/hooks Verzeichnis des Repositorys ablegen können und die zu verschiedenen Zeitpunkten im Lebenszyklus Ihres Git Repositorys ausgelöst werden. Git bietet viele verschiedene Hooks, und der post-update Hook eignet sich am besten für die Integration in die Git -basierte Konfigurationsverwaltung von Host-Agenten.
Das GitOps-Demo Repository stellt einen Gitpost-update Beispiel-Hook bereit, der die Aktualisierung der Host-Agenten auslöst, sobald ein Zweig im Repository aktualisiert wird.
Sie sehen, dass die erwartete Ausgabe des Skripts an Ihren Git Client zurückgesendet wird, nachdem Sie einen Push ausgelöst haben:
$ gitops-test# git push origin HEAD:main
[detached HEAD 9632c09] origin
1 file changed, 1 insertion(+), 1 deletion(-)
Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 12 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 376 bytes | 376.00 KiB/s, done.
Total 4 (delta 1), reused 0 (delta 0)
remote: GitOps update: Triggering the configuration update of agents matching the following query: 'entity.zone:"test"' ... OK
699ada9..9632c09 HEAD -> main
Aktualisierungen durch die Verwendung von GitHub Update Action
Mit GitHub der Instana-Aktion für GitOps können Sie die Remote-Funktion der Host-Agenten ganz einfach über die Web-API von Instana auslösen.
Das GitOps-Demo Repository zeigt, wie Sie ein Repository einrichten, GitHub um Ihre Host-Agent-Konfigurationen zu verwalten, und wie Sie die Aktualisierungen automatisch auslösen können, indem Sie die GitHub Instana-Aktion für verwenden GitOps.
Beispiel
Privates GitHub-Repository
GitHub Unterstützt HTTPS die Authentifizierung mithilfe von Tokens, die vom Host-Agenten wie in diesem Abschnitt beschrieben verwendet werden können.
Um ein GitHub Repository zu verwenden, müssen Sie zunächst einen persönlichen Zugriffstoken erstellen. Einzelheiten dazu finden Sie auf der Dokumentationsseite Erstellen GitHub eines persönlichen Zugriffstokens. Das Token benötigt nur Leseberechtigungen für den Zugriff auf das Repository.
GitHub erwartet, dass das Token als Benutzername HTTPS für die Basisauthentifizierung mit einem leeren Passwort bereitgestellt wird. Daher kann der Host-Agent so konfiguriert werden, dass er die Basisauthentifizierung HTTPS für GitHub Repositorys verwendet, indem die folgenden Umgebungsvariablen gesetzt werden:
INSTANA_GIT_REMOTE_REPOSITORY='https://github.com/<user/organization>/<repository>.git
INSTANA_GIT_REMOTE_BRANCH='<branch>'
INSTANA_GIT_REMOTE_USERNAME='<token>'
INSTANA_GIT_REMOTE_PASSWORD=''
Beachten Sie, dass das gleiche Prinzip des leeren Passworts und des persönlichen Tokens als Benutzername auch bei den anderen Möglichkeiten zur Konfiguration des Host-Agenten für die Git -basierte Konfigurationsverwaltung gilt. Eine Übersicht über die möglichen Konfigurationsansätze finden Sie im Abschnitt „Einrichtung “.
Steuerung von Agenten-Updates mit Git
Sie können mehrere Methoden verwenden, um die Versionsaktualisierungen für den Host-Agenten zu steuern, der in Ihren Produktionsumgebungen bereitgestellt wird. Wenn Sie statische Agenten verwenden, müssen Sie den Host-Agenten nach Bedarf manuell aktualisieren. Wenn Sie dynamische Agenten verwenden, können Sie die Updates so konfigurieren, dass Sie Update-Intervalle, festgelegte Versionen usw. festlegen können. Weitere Informationen finden Sie unter Konfigurieren von Updates für dynamische Host-Agenten. Wenn keine Konfiguration angegeben ist, werden Updates automatisch täglich auf den dynamischen Agenten angewendet. Wenn Sie eine strengere Kontrolle über die Versionsaktualisierungen des Host-Agenten benötigen, können Sie zusätzlich eine Kombination aus dynamischer Agent-Versionsfixierung und Git -basierter Konfigurationsverwaltung verwenden. Wenn Sie über eine Testumgebung verfügen, können Sie die Agent-Bereitstellungen in einem produktionsähnlichen Szenario testen, bevor Sie das Update in der Produktion anwenden.
Steuerung Kubernetes von Agenten-Updates
Sie können Argo CD verwenden, um die Aktualisierungen der Kubernetes dynamischen Agenten zu steuern und zu verwalten. Mit diesem Ansatz können Sie die Version des Agenten durch Setzen einer Umgebungsvariablen festlegen.
Sie können die Umgebungsvariable mithilfe einer benutzerdefinierten Ressource für Operator-Installationen und der values.yaml Datei für Helm Chart-Installationen festlegen.
Argo CD überwacht bestimmte Zweige des Repositorys und wendet alle neuen Änderungen automatisch auf den Cluster an. Durch die Verwendung dieses Ansatzes zur Konfiguration der Updates erhalten Sie eine präzise Kontrolle darüber, wann Updates angewendet werden. Sie können die Updates so planen, dass sie außerhalb der Spitzenzeiten installiert werden, anstatt sie automatisch auszuführen. Darüber hinaus bietet Ihnen diese Konfiguration die Flexibilität, die genaue Version des verwendeten Agenten anzugeben.
Ein Beispiel und Anweisungen zur Implementierung des Workflows, in dem die Agent-Versionsfestlegung mit der Argo CD-Integration kombiniert wird, finden Sie im Repository instana/argocd-demo.
Im Beispiel enthält das Repository den main Zweig für das Fixieren der Version in Produktionsclustern und den test Zweig für das Fixieren der Version in Testumgebungen. Dementsprechend ist test für den Zweig eine neuere Agent-Version festgelegt. Der Zweck dieser Konfiguration besteht darin, alle neuen Versionen in Testclustern zu testen, bevor die Agent-Version in Produktionscluster übernommen wird. Informationen darüber, wie Sie mit Mend Renovate die Erstellung neuer Pull-Anfragen für die test Branches main und automatisieren können, wenn die neue Version verfügbar ist, finden Sie im nächsten Abschnitt.
Steuerung der Host-Agent-Updates
Ein Beispiel für die Implementierung des Workflows, in dem die Agent-Versionsfestlegung mit einer Git -basierten Konfigurationsverwaltung kombiniert wird, finden Sie im Repository instana/gitops-demo.
Dieses Beispiel-Repository verwendet GitHub als Repository-Hosting-Dienst, Mend Renovate für die Automatisierung von Abhängigkeitsaktualisierungen und GitHub Actions für das Senden von Anfragen an das Instana-Backend. Sie können alle diese Dienste durch Dienste Ihrer Wahl ersetzen. Stellen Sie sicher, dass Sie die folgenden Anforderungen erfüllen, um einen Git -basierten Update-Flow zu implementieren:
Git als Quellcode-Repository-Format
Automatisierung zum Senden einer HTTP Anfrage an das Instana-Backend bei Konfigurationsänderungen
Sie können hier jede Automatisierung Ihrer Wahl verwenden. Stellen Sie jedoch sicher, dass die Version in
instana/com.instana.agent.bootstrap.AgentBootstrap.cfgaktualisiert ist und Sie für verschiedene Umgebungen unterschiedliche Branches verwenden.
Das Repository enthält den main Zweig, der den aktuellen Status der Agent-Produktionsbereitstellungen verfolgt, und den test Zweig, der die Agent-Testumgebung darstellt.
Mend Renovate ist so konfiguriert, dass es das Repository „instana/agent-updates“ auf neue Tags überwacht und diese Tags mit der Version in der instana/com.instana.agent.bootstrap.AgentBootstrap.cfg Konfigurationsdatei vergleicht. Wenn ein neues Tag im instana/agent-updates Repository erkannt wird, erstellt Mend Renovate einen Zweig basierend auf dem test Zweig und erhebt eine GitHub Pull-Anfrage, um die Änderungen zur Konfigurationsdatei auf dem test Zweig hinzuzufügen. Sie können eine Vielzahl von Optionen nutzen, die Renovate bietet, beispielsweise um Updates nur einmal pro Woche zu planen oder bestimmte GitHub Handles den Pull-Anfragen für die manuelle Genehmigung zuzuweisen. Wenn ein Pull-Request in den test Branch gemergt wird, führt GitHub Actions einen Workflow aus, um das konfigurierte Instana-Backend zu benachrichtigen. Anschließend sendet das Instana-Backend einen Befehl zum Neustart des Agenten an alle Agenten, die den bestimmten Zonen- und Tag-Beschränkungen der Testumgebung entsprechen.
Zusätzlich kopiert ein zweiter Workflow die aktuelle instana/com.instana.agent.bootstrap.AgentBootstrap.cfg Datei aus dem test Branch in einen neuen Feature-Branch und öffnet einen Pull-Request für den main Branch, wodurch die Übertragung der Agent-Version aus der Testumgebung in die Produktion sichergestellt wird.
Nachdem die Änderungen in einer produktionsähnlichen Umgebung validiert wurden, können Sie die Änderungen in den main Zweig einfügen. Beim Zusammenführen führt Actions einen GitHub Workflow aus, um eine Aktualisierungsanforderung an das Instana-Backend für alle Agenten zu senden, die mit der Produktion verbunden sind.
Siehe die folgende Beispielkonfiguration:
# This field specifies which version set of components should be used by the agent;
# its value must be a valid tag from https://github.com/instana/agent-updates/tags
# version = <tag>
# renovate: datasource=github-tags depName=instana/agent-updates versioning=loose
version = 2024.09.02.0634
# This field controls which set of components is used by the agent at runtime.
productName = ${env:INSTANA_PRODUCT_NAME}
origin = package dynamic