{"id":15602527,"url":"https://github.com/trfore/ansible-role-jsvc","last_synced_at":"2026-03-15T20:50:32.179Z","repository":{"id":155612582,"uuid":"625643555","full_name":"trfore/ansible-role-jsvc","owner":"trfore","description":"Ansible role for compiling Apache Commons Daemon, jsvc, on RedHat/CentOS and Debian/Ubuntu ","archived":false,"fork":false,"pushed_at":"2025-06-01T02:42:33.000Z","size":526,"stargazers_count":2,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-01T12:36:18.842Z","etag":null,"topics":["ansible-role","apache-commons-daemon","homelab","jsvc"],"latest_commit_sha":null,"homepage":"https://galaxy.ansible.com/ui/standalone/roles/trfore/jsvc/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trfore.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-04-09T18:39:53.000Z","updated_at":"2025-05-18T13:22:02.000Z","dependencies_parsed_at":"2024-03-31T17:39:52.097Z","dependency_job_id":"e62e59aa-e52e-48be-b20b-4dfd7468fe38","html_url":"https://github.com/trfore/ansible-role-jsvc","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/trfore/ansible-role-jsvc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trfore%2Fansible-role-jsvc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trfore%2Fansible-role-jsvc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trfore%2Fansible-role-jsvc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trfore%2Fansible-role-jsvc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trfore","download_url":"https://codeload.github.com/trfore/ansible-role-jsvc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trfore%2Fansible-role-jsvc/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267288876,"owners_count":24064723,"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","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["ansible-role","apache-commons-daemon","homelab","jsvc"],"created_at":"2024-10-03T02:41:49.410Z","updated_at":"2026-03-15T20:50:27.126Z","avatar_url":"https://github.com/trfore.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ansible Role: jsvc\n\n[![CI](https://github.com/trfore/ansible-role-jsvc/actions/workflows/ci.yml/badge.svg)](https://github.com/trfore/ansible-role-jsvc/actions/workflows/ci.yml)\n[![CD](https://github.com/trfore/ansible-role-jsvc/actions/workflows/cd.yml/badge.svg)](https://github.com/trfore/ansible-role-jsvc/actions/workflows/cd.yml)\n\nCompile the Apache Commons Daemon, aka `jsvc`, on RedHat/CentOS and Debian/Ubuntu.\n\nThis role downloads and compiles the latest source code from [Apache Commons (link)](https://dlcdn.apache.org/commons/daemon/source/),\nand copies the binary to `/usr/bin/`. Optionally, it will remove the JDK and source code directory.\n\nIf you would like to manually download the source code to your Ansible control host, download the **native-src**,\n`commons-daemon-*.*.*-native-src.tar.gz`, to your `files` directory and set the following two variables in your\nplaybook:\n\n- `jsvc_tar_src: commons-daemon-*.*.*-native-src.tar.gz`\n- `jsvc_tar_src_remote: false`\n\n## Install the Role\n\nYou can install this role with the Ansible Galaxy CLI:\n\n```bash\nansible-galaxy role install trfore.jsvc\n```\n\nYou can also include it in a `requirements.yml` file and install it with `ansible-galaxy install -r requirements.yml`,\nusing the format:\n\n```yaml\n---\nroles:\n  - trfore.jsvc\n```\n\n## Tested Platforms\n\n- `ansible-core` 2.16, 2.17 \u0026 2.18\n- `python` 3.10 \u0026 3.11\n- CentOS Stream 9\n- Debian 11\n- Ubuntu 22.04 \u0026 24.04\n\n## Requirements\n\nNone\n\n## Role Variables\n\nAvailable variables are listed below, along with default values (see `defaults/main.yml`):\n\n| Variable                | Default                       | Description                                                                         | Required  |\n| ----------------------- | ----------------------------- | ----------------------------------------------------------------------------------- | --------- |\n| jsvc_src_version        | `1.4.0`                       | Apache Commons' Daemon latest release                                               | No        |\n| jsvc_tar_src            | URL                           | Apache Commons' Daemon **native** source tar file, URL or relative path             | No        |\n| jsvc_tar_hash           | URL                           | Apache Commons' Daemon **native** source tar hash file                              | No        |\n| jsvc_tar_src_remote     | `true`                        | Boolean, `true` if downloading from URL                                             | No        |\n| jsvc_tar_dir            | `/var/tmp`                    | Temporary directory on the target host for extracting and compiling the source code | No        |\n| jsvc_tar_folder         | Automatic                     | Determined from the `jsvc_tar_src` variable                                         | Automatic |\n| jsvc_build_dependencies | `[\"autoconf\", \"make\", \"gcc\"]` | Packages for compiling the source code                                              | No        |\n| jsvc_remove_jdk         | `false`                       | Boolean, uninstall the Java JDK after build                                         | No        |\n| jsvc_remove_tar_folder  | `false`                       | Boolean, remove the source code temporary directory on the target host              | No        |\n\nOS specific variables are listed below, along with default values (see `vars/main.yml`):\n\n| Variable       | Default                        | Description       | Required |\n| -------------- | ------------------------------ | ----------------- | -------- |\n| jsvc_build_jdk | `openjdk-17-jdk-headless`      | Java JDK (Debian) | No       |\n| jsvc_build_jdk | `java-17-openjdk-devel.x86_64` | Java JDK (RHEL)   | No       |\n\n## Dependencies\n\nNone\n\n## Example Playbook\n\n```yaml\n- hosts: servers\n  become: true\n  roles:\n    - name: Compile jsvc binary\n      role: trfore.jsvc\n```\n\n- If you manually download the tar file \u0026 wish to remove the JDK and source dir.\n\n```yaml\n- hosts: servers\n  become: true\n  vars:\n    jsvc_tar_src: commons-daemon-1.4.0-native-src.tar.gz\n    jsvc_tar_src_remote: false\n    jsvc_remove_jdk: true\n    jsvc_remove_tar_folder: true\n  roles:\n    - name: Compile jsvc binary\n      role: trfore.jsvc\n```\n\n## License\n\nThis Ansible role is MIT.\n\nApache Commons Daemon (JSVC) is Apache License 2.0, for additional information see: \u003chttps://www.apache.org/licenses/\u003e.\n\n## Author Information\n\nTaylor Fore (\u003chttps://github.com/trfore\u003e)\n\n## Related Roles \u0026 Playbooks\n\n| Github                         | Ansible Galaxy           |\n| ------------------------------ | ------------------------ |\n| [ansible-role-jsvc]            | [trfore.jsvc]            |\n| [ansible-role-mongodb-install] | [trfore.mongodb_install] |\n| [ansible-role-omada-install]   | [trfore.omada_install]   |\n\n## References\n\n- [RHEL: OpenJDK Life Cycle and Support Policy]\n\n### Apache Commons Daemon / jsvc\n\n- [Commons-Daemon]\n- [Commons-Daemon Archive]\n- [Commons-Daemon Issue Tracker]\n- [GitHub: Commons-Daemon]\n\n[ansible-role-jsvc]: https://github.com/trfore/ansible-role-jsvc\n[ansible-role-mongodb-install]: https://github.com/trfore/ansible-role-mongodb-install\n[ansible-role-omada-install]: https://github.com/trfore/ansible-role-omada-install\n[Commons-Daemon Archive]: https://archive.apache.org/dist/commons/daemon/\n[Commons-Daemon Issue Tracker]: https://issues.apache.org/jira/browse/DAEMON-*?jql=project%20%3D%20DAEMON\n[Commons-Daemon]: https://commons.apache.org/proper/commons-daemon/jsvc.html\n[GitHub: Commons-Daemon]: https://github.com/apache/commons-daemon\n[RHEL: OpenJDK Life Cycle and Support Policy]: https://access.redhat.com/articles/1299013\n[trfore.jsvc]: https://galaxy.ansible.com/trfore/jsvc\n[trfore.mongodb_install]: https://galaxy.ansible.com/trfore/mongodb_install\n[trfore.omada_install]: https://galaxy.ansible.com/trfore/omada_install\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrfore%2Fansible-role-jsvc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrfore%2Fansible-role-jsvc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrfore%2Fansible-role-jsvc/lists"}