{"id":23478382,"url":"https://github.com/opennms/opennms-cloud-plugin","last_synced_at":"2026-03-05T17:18:51.228Z","repository":{"id":37926941,"uuid":"454929583","full_name":"OpenNMS/opennms-cloud-plugin","owner":"OpenNMS","description":null,"archived":false,"fork":false,"pushed_at":"2024-04-29T22:56:50.000Z","size":1973,"stargazers_count":4,"open_issues_count":8,"forks_count":1,"subscribers_count":13,"default_branch":"main","last_synced_at":"2024-04-29T23:48:02.560Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenNMS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-02T20:44:53.000Z","updated_at":"2023-01-26T16:27:20.000Z","dependencies_parsed_at":"2024-04-29T23:45:30.081Z","dependency_job_id":"ad21746a-18e3-475f-89c7-cdfb73fa5c8e","html_url":"https://github.com/OpenNMS/opennms-cloud-plugin","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNMS%2Fopennms-cloud-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNMS%2Fopennms-cloud-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNMS%2Fopennms-cloud-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNMS%2Fopennms-cloud-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenNMS","download_url":"https://codeload.github.com/OpenNMS/opennms-cloud-plugin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231143172,"owners_count":18334357,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-24T19:19:08.658Z","updated_at":"2026-03-05T17:18:51.180Z","avatar_url":"https://github.com/OpenNMS.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenNMS Cloud Plugin\n[![CircleCI](https://circleci.com/gh/OpenNMS/opennms-cloud-plugin.svg?style=svg)](https://circleci.com/gh/OpenNMS/opennms-cloud-plugin)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=OpenNMS_opennms-cloud-plugin\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=OpenNMS_opennms-cloud-plugin)\n\nThe OpenNMS Cloud Plugin enables OpenNMS to store data in the cloud.\nInitially it will provide storage for time series data (tsaas).\n\n# Installation\n## Prerequisites\n### OpenNMS System\nThe cloud plugin requires an [OpenNMS installation](https://docs.opennms.com/horizon/latest/deployment/core/getting-started.html).\n\n### System Id\nThe default system id of older OpenNMS installations is '00000000-0000-0000-0000-000000000000'.\nIt is advisable to change it to a true UUID.\nThis will allow to distinguish different systems in the cloud logs.\n\nTo change the system id into a UID execute this sql against your database:\n```\nCREATE EXTENSION pgcrypto;\nUPDATE monitoringsystems SET id=gen_random_uuid () WHERE id = '00000000-0000-0000-0000-000000000000' AND type='OpenNMS' AND location='Default';\n```\n\n## Installation and Initialization\n###\n### Install\nStop OpenNMS.\n\nThe plugin is as `deb` and `rpm` archives available.\nInstall with your favorite package manager:\n\n`apt-get install opennms-plugin-cloud-core`\n\nor\n\n`apt-get install opennms-plugin-cloud-sentinel`\n\n### Enabling Timeseries Integration Layer (TSS)\nTSS needs to be activated in order to use the plugin for sending time series data.\nTherefore set `org.opennms.timeseries.strategy=integration` in `[opennms.home]/etc/opennms.properties`\nFor more details on TSS and its configuration see [here](https://docs.opennms.com/horizon/latest/deployment/time-series-storage/timeseries/ts-integration-layer.html).\n\nStart OpenNMS.\n\n### Initialization\nBefore the Cloud Plugin can be used with the OpenNMS Cloud it needs to be initialized.\nIn order to start the initialization process you need to obtain an access key for your organisation.\n\nTODO: Link to cloud portal where to get access key \n\n#### Via Web Interface\nOnce you have the access key you can enter it into the cloud plugin configuration page within OpenNMS.\n\n#### Via Karaf Shell\nAn alternative is to use the command line in the Karaf shell:\n```\nopennms-cloud:init \u003caccess token\u003e\n```\n\n# Verify / Monitoring\n\n## Health Check\nCheck the cloud status with:\n```\nopennms:health-check\n```\n\n# Development\n## Build and Install\nBuild and install the plugin into your local Maven repository using:\n```\nmvn clean install\n```\n\nInstall into OpenNMS via Karaf shell:\n```\nfeature:repo-add mvn:org.opennms.plugins.cloud/karaf-features/1.0.0/xml\n```\n\nfor Core (OpenNMS main system):\n```\nfeature:install opennms-plugin-cloud-core\n```\n\nfor Sentinel:\n```\nfeature:install opennms-plugin-cloud-sentinel\n```\n\nCheck if it was properly installed and started:\n```\nfeature:list | grep opennms-plugin-cloud\n```\nwe expect it to say: _Started_\n\n\n## Configuration\n### Configuration Properties\nThe initial properties should be good to go.\nBut for development purposes it is possible to change properties via Karaf shell:\n\n```\nconfig:edit org.opennms.plugins.cloud\n```\nTLS configuration to PAS.\nUsed for the init process (get client certificates):\n```\nproperty-set pas.tls.host access-test.staging.nonprod.dataservice.opennms.com \nproperty-set pas.tls.port 443\nproperty-set pas.tls.security TLS\n```\n\nMTLS configuration to PAS.\nUsed for the configuration process (get enabled services, get access token):\n```\nproperty-set pas.mtls.host authenticate.access-test.staging.nonprod.dataservice.opennms.com \nproperty-set pas.mtls.port 443 \nproperty-set pas.mtls.security MTLS\n```\n\nIf using a self signed cert you can set the truststore.\nThis is the actual trust store as a string, not a file path.\nExample: https://github.com/OpenNMS/opennms-cloud-plugin/blob/jira/DC-342/it-test/src/test/java/org/opennms/plugins/cloud/tsaas/EndToEndIT.java#L143\n```\nproperty-set grpc.truststore\n```\n\nSpecific settings for TSaaS:\n```\nproperty-set tsaas.batchSize 1000 \nproperty-set tsaas.maxBatchWaitTimeInMilliSeconds 5000\n```\n\n```\nconfig:update\n```\n\n### Initialization Sequence\n1. The Cloud Plugin contacts PAS (Platform Access Service) to obtain certificates for MTLS.\n   From now on all communication is MTLS secured.\n2. The Cloud Plugin retrieves all enabled services from PAS.\n3. A JWT token is received from PAS.\n4. All enabled services are configured and enabled in OpenNMS.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopennms%2Fopennms-cloud-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopennms%2Fopennms-cloud-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopennms%2Fopennms-cloud-plugin/lists"}