{"id":20677543,"url":"https://github.com/rightech/ric-edge","last_synced_at":"2025-04-19T20:58:16.791Z","repository":{"id":53785902,"uuid":"209719346","full_name":"Rightech/ric-edge","owner":"Rightech","description":"Rightech IoT Edge computing services","archived":false,"fork":false,"pushed_at":"2024-02-22T10:12:22.000Z","size":6127,"stargazers_count":10,"open_issues_count":5,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-15T00:11:59.254Z","etag":null,"topics":["ble","edge","iot","modbus","opc-ua","rightech","snmp"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Rightech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2019-09-20T06:19:48.000Z","updated_at":"2025-03-21T16:08:46.000Z","dependencies_parsed_at":"2024-06-20T10:23:20.508Z","dependency_job_id":"a735dd9e-0ea4-4bde-ac12-dca5124c92f5","html_url":"https://github.com/Rightech/ric-edge","commit_stats":null,"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rightech%2Fric-edge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rightech%2Fric-edge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rightech%2Fric-edge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rightech%2Fric-edge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rightech","download_url":"https://codeload.github.com/Rightech/ric-edge/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249800325,"owners_count":21327034,"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":["ble","edge","iot","modbus","opc-ua","rightech","snmp"],"created_at":"2024-11-16T21:16:14.687Z","updated_at":"2025-04-19T20:58:16.724Z","avatar_url":"https://github.com/Rightech.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ric-edge\n\n[![Build Status](https://github.com/Rightech/ric-edge/workflows/Build%20and%20release/badge.svg)](https://github.com/Rightech/ric-edge/actions?query=workflow%3A%22Build+and+release%22)\n[![GitHub release](https://img.shields.io/github/v/release/Rightech/ric-edge?include_prereleases)](https://github.com/Rightech/ric-edge/releases/tag/v0.8.6)\n\n## config\n\nYou can use `config.toml` file to configure core and connectors or specify path via `-config` option.\n\nYou can generate minimal required config with\n\n```bash\n$ ./core-\u003cos\u003e-\u003carch\u003e -min-config\n```\n\nMinimal configuration\n\n```toml\n[core]\n    id = \"\" # id of edge\n\n    [core.cloud]\n    # cloud jwt access token\n    # minimal scope should be\n    #\n    # GET models/:id\n    # GET objects/:id\n    token = \"\"\n\n    [core.mqtt]\n    cert_file = \"\" # mqtt certificate file path\n    key_path = \"\" # mqtt key file path\n```\n\nAlso you can generate configuration with default values\n\n```bash\n$ ./core-\u003cos\u003e-\u003carch\u003e -default-config\n```\n\nDefault configuration\n\n```toml\nlog_level = \"info\"\nlog_format = \"text\" # output log format (you can use text or json)\nws_port = 9000\ncheck_updates = true\nauto_download_updates = false  # if true service will download update and exit\n\n[core]\n    id = \"\" # id of edge\n    rpc_timeout = \"1m\" # how long core should wait response from connector before return timeout error\n\n    [core.db]\n    path = \"storage.db\"\n    clean_state = false # should internal state be cleaned on start or not\n\n    [core.cloud]\n    url = \"https://dev.rightech.io/api/v1\"\n    # cloud jwt access token\n    # minimal scope should be\n    #\n    # GET models/:id\n    # GET objects/:id\n    token = \"\"\n\n    [core.mqtt]\n    # if cert_file and key_path provided core will be use tls connection\n    # in this case make sure your url start with tls://\n    url = \"tls://dev.rightech.io:8883\"\n    cert_file = \"\" # mqtt certificate file path\n    key_path = \"\" # mqtt key file path\n\n[modbus]\n    mode = \"tcp\" # rtu and ascii also supported\n    addr = \"localhost:8000\"  # if mode = rtu or ascii there is should be path\n\n[opcua]\n    endpoint = \"opc.tcp://localhost:4840\"\n    encryption = \"Basic256Sha256\"   # required for encrypted servers only, \"Basic256Sha\", \"Basic256\", \"Basic128Rsa15\" supported\n    mode = \"SignAndEncrypt\"         # required for encrypted servers only, \"None\", \"Sign\", \"SignAndEncrypt\" supported\n    server_cert = \"cert.pem\"        # required for encrypted servers only, path to .pem certificate\n    server_key = \"key.pem\"          # required for encrypted servers only, path to .pem key\n\n[snmp]\n    host_port=\"localhost:161\"\n    community=\"public\"            # community string, required for v2c only\n    version=\"2c\"                  # version of SNMP (\"2c\" or \"3\")\n    mode = \"authPriv\"             # mode of encryption (\"authPriv\", \"authNoPriv\", \"NoauthNoPriv\"), required for v3 only\n    auth_protocol = \"MD5\"         # \"MD5\" and \"SHA\" supported, required for v3 only (if necessary)\n    auth_key = \"\"                 # required for v3 only (if necessary)\n    priv_protocol = \"DES\"         # \"DES\" and \"AES\" supported, required for v3 only (if necessary)\n    priv_key = \"\"                 # required for v3 only (if necessary)\n    security_name = \"\"            # required for v3 only\n```\n\n## build\n\nTo build all services run\n\n```bash\n$ make build_all\n```\n\nalso you can build specific service\n\n```bash\n$ make build_core\n```\n\nbuild results will be placed at `build` folder\n\n## run\n\nTo run core service use\n\n```bash\n$ make run_core\n```\n\nTo run connectors (modbus connector example)\n\n```bash\n$ make run_modbus\n```\n\nSee [init](/init) folder for systemd services.\n\n## dev\n\n### dev env\n\nYou can find some development helpers at tools dir.\n\nTo run helper docker containers execute\n\n```bash\n$ make dev_env\n```\n\nTo stop\n\n```bash\n$ make stop_env\n```\n\nAnd to remove\n\n```bash\n$ make rm_env\n```\n\n### git hooks\n\nIt is useful to place validate-license script to pre-commit hook. To do this run\n\n```bash\n$ ln -f scripts/validate-license.sh .git/hooks/pre-commit\n```\n\nAlso you can run it manual by\n\n```bash\n$ make validate\n```\n\n### bumpversion\n\nTo prepare releases we use [bumpversion](https://pypi.org/project/bumpversion).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frightech%2Fric-edge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frightech%2Fric-edge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frightech%2Fric-edge/lists"}