{"id":14966999,"url":"https://github.com/golemfactory/ansible-role-ya-provider","last_synced_at":"2026-03-01T16:31:06.864Z","repository":{"id":43320780,"uuid":"399722738","full_name":"golemfactory/ansible-role-ya-provider","owner":"golemfactory","description":null,"archived":false,"fork":false,"pushed_at":"2024-08-22T07:52:42.000Z","size":69,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-05T06:31:43.338Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/golemfactory.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2021-08-25T07:04:28.000Z","updated_at":"2024-08-22T07:52:46.000Z","dependencies_parsed_at":"2024-09-14T03:59:15.888Z","dependency_job_id":null,"html_url":"https://github.com/golemfactory/ansible-role-ya-provider","commit_stats":{"total_commits":49,"total_committers":6,"mean_commits":8.166666666666666,"dds":0.2857142857142857,"last_synced_commit":"68a95177ad7d9a0e928ddaf14f3dc0fc61f2567b"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/golemfactory/ansible-role-ya-provider","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golemfactory%2Fansible-role-ya-provider","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golemfactory%2Fansible-role-ya-provider/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golemfactory%2Fansible-role-ya-provider/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golemfactory%2Fansible-role-ya-provider/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/golemfactory","download_url":"https://codeload.github.com/golemfactory/ansible-role-ya-provider/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/golemfactory%2Fansible-role-ya-provider/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29974745,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T16:18:32.386Z","status":"ssl_error","status_checked_at":"2026-03-01T16:18:04.258Z","response_time":124,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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-09-24T13:37:16.551Z","updated_at":"2026-03-01T16:31:06.808Z","avatar_url":"https://github.com/golemfactory.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ya-provider\n\nIt installs [yagna](https://github.com/golemfactory/yagna/) provider with [wasi](https://github.com/golemfactory/ya-runtime-wasi/) and [vm](https://github.com/golemfactory/ya-runtime-vm/) runtimes.\n\nServices are installed withouth using root as systemd user services, running as `ansible_user`.\n\nTasks that require root are in separate file `tasks/system_setup.yml`.\n\n\n## Requirements\n\n### Systemd\n\nTarget system must use systemd \u003e= 230.\n\nIt's possible to use older systemd version, but user lingering must be manually enabled with `sudo loginctl enable-linger username`.\n\n\n### KVM\n\nVM runtime requires access to `/dev/kvm` and working acceleration. Required steps to configure access are in `tasks/system_setup.yml`.\n\nNote: It's possible to disable vm runtime, by removing it from `ya_provider_presets_active`.\n\n\n## Role Variables\n\n### defaults\n\nReleases:\n- `ya_provider_yagna_package_prefix`: What name of yagna release package file starts with.\n- `ya_provider_yagna_version`: Tag of yagna release.\n- `ya_provider_yagna_url`: Url to yagna release tarball. For testing purposes can be changed to `file://` path.\n- `ya_provider_wasi_version`: Tag of wasi runtime release.\n- `ya_provider_wasi_url`: Url to wasi runtime release tarball.\n- `ya_provider_vm_version`: Tag of vm runtime release.\n- `ya_provider_vm_url`: Url to wasi runtime tarball.\n- `ya_provider_installer_resources_version`: Tag of ya-installer-resources release.\n- `ya_provider_installer_resources_url`: Url to ya-installer-resources tarball.\n- `ya_provider_add_installer_resources`: Enables installing ya-installer-resources.\n\nPromtail:\n- `ya_provider_use_promtail`: Enables usage of promtail [boolean].\n- `ya_provider_promtail_version`: Tag of loki/promtail release.\n- `ya_provider_promtail_url`: Url to promtail release zip.\n- `ya_provider_loki_url`: Url where promtail should send logs. If promtail is enabled, it must be set to something.\n\nCommon:\n- `ya_provider_dir`: Directory, where all config and runtime files are kept.\n\nYagna config:\n- `ya_provider_gsb_url`: Address, where yagna should listen for GSB connections.\n- `ya_provider_yagna_api_url`: Address, where yagna should listen for API connections.\n- `ya_provider_net_bind_ip`: IP Address, where yagna should listen for P2P connections.\n- `ya_provider_net_bind_port`: Port number, where yagna should listen for P2P connections.\n- `ya_provider_rust_log`: Log level.\n\nYa-provider config:\n- `ya_provider_name`: Your fancy name for others in the network to see.\n- `ya_provider_subnet`: Subnet. See [provider tutorial](https://handbook.golem.network/provider-tutorials/provider-tutorial).\n- `ya_provider_payment_network_group`: Payment network group: `testnet` or `mainnet`.\n- `ya_provider_hardware`: How much resources should yagna use. If not specified, yagna uses internal logic to pick some sane defaults. Format: `{cpu_threads: int, mem_gib: int, storage_gib: int}`.\n- `ya_provider_presets_active`: List of runtimes to install.\n- `ya_provider_presets_usage_coeffs`: Pricing. See [provider docs # Offer formulation](https://github.com/golemfactory/yagna/tree/master/agent/provider#offer-formulation). Format: `{cpu: float [GLM/sec], duration: float [GLM/sec], initial: float [GLM]}`.\n- `ya_provider_account`: Address to collect income to. Format: `\"0x...\"` (quotes around \"0x...\" are important, because otherwise ansible converts it into decimal number). Optional, although encouraged, when running on mainnet payment network.\n\nStopping (`tasks/stop.yml`):\n- `ya_provider_stop_purge`: Purge yagna datadir [boolean].\n\n\n### vars\n\n- `ya_provider_releases_dir`: Directory for unpacking release binaries.\n- `ya_provider_unit_name`: Systemd unit name for yagna service.\n- `ya_provider_yagna_dir`: Path to unpacked yagna binaries.\n- `ya_provider_resources_dir`: Directory for unpacking installer resources.\n- `ya_provider_net_bind_url`: Address, where yagna should listen for P2P connections.\n- `ya_provider_promtail_dir`: Directory with unpacked promtail binary.\n- `ya_provider_promtail_bin`: Path to promtail binary.\n\n\n## Dependencies\n\nNone\n\n\n## Example Playbook\n\n    - hosts: all\n      tasks:\n        # only this uses \"become\" for privilege escalation\n        - import_role:\n            name: golemfactory.ya_provider\n            tasks_from: system_setup\n\n    - hosts: all\n      vars:\n        ya_provider_name: Your fancy name\n        ya_provider_subnet: public-beta\n        ya_provider_payment_network_group: mainnet\n        ya_provider_hardware:\n          cpu_threads: 4\n          mem_gib: 2\n          storage_gib: 10\n        ya_provider_presets_usage_coeffs:\n          cpu: 0.0001\n          duration: 0.00005\n          initial: 0.0\n        ya_provider_account: \"0xYourEthereumAddress\"\n      roles:\n         - golemfactory.ya_provider\n\n\n## License\n\nGPL-3.0-or-later\n\n\n## Author Information\n\n[Golem Network](https://golem.network/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgolemfactory%2Fansible-role-ya-provider","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgolemfactory%2Fansible-role-ya-provider","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgolemfactory%2Fansible-role-ya-provider/lists"}