{"id":20219636,"url":"https://github.com/jamesread/jwr-soe-ansible","last_synced_at":"2026-02-06T10:37:31.047Z","repository":{"id":67915981,"uuid":"179861703","full_name":"jamesread/jwr-soe-ansible","owner":"jamesread","description":"Common roles for my environments.","archived":false,"fork":false,"pushed_at":"2024-11-10T23:37:31.000Z","size":206,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-05T00:45:38.558Z","etag":null,"topics":["sysadmin"],"latest_commit_sha":null,"homepage":"https://galaxy.ansible.com/jamesread/soe/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jamesread.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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-04-06T16:59:20.000Z","updated_at":"2024-11-10T23:37:24.000Z","dependencies_parsed_at":"2024-11-01T17:29:58.681Z","dependency_job_id":"bf3a2363-61d3-4512-8479-0634abf20e95","html_url":"https://github.com/jamesread/jwr-soe-ansible","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesread%2Fjwr-soe-ansible","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesread%2Fjwr-soe-ansible/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesread%2Fjwr-soe-ansible/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesread%2Fjwr-soe-ansible/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jamesread","download_url":"https://codeload.github.com/jamesread/jwr-soe-ansible/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248248915,"owners_count":21072251,"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":["sysadmin"],"created_at":"2024-11-14T06:43:12.793Z","updated_at":"2026-02-06T10:37:25.292Z","avatar_url":"https://github.com/jamesread.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# jamesread.soe Ansible Collection (jwr-soe-ansible)\n\nAn Ansible [collection](https://docs.ansible.com/ansible/latest/user_guide/collections_using.html) of roles for [James Read's](http://jread.com/) (JWR) [Standard Operating Environment](https://en.wikipedia.org/wiki/Standard_Operating_Environment) (SOE).\n\nThis is published on Ansible Galaxy as [jamesread.soe](https://galaxy.ansible.com/jamesread/soe).\n\n## Roles\n\n### infra layer\n\n* Nothing here yet\n\n### machine layer\n\n*  jamesread.soe.[machine_i3](roles/machine_i3) - Install i3wm.\n*  jamesread.soe.[machine_jenkins_slave](roles/machine_jenkins_slave) - Installs a Jenkins slave.\n*  jamesread.soe.[machine_k8s](roles/machine_k8s) - Install a k8s node (could be a control/worker).\n*  jamesread.soe.[machine_kiosk](roles/machine_kiosk) - My heads up display (kiosk)\n*  jamesread.soe.[machine_podman](roles/machine_podman) - Installs podman.\n*  jamesread.soe.[machine_sysadmin_utils](roles/machine_sysadmin_utils) - Various utils used for sysadmins.\n*  jamesread.soe.[machine_wol](roles/machine_wol) - Enable Wake on LAN.\n*  jamesread.soe.[machine_workstation](roles/machine_workstation) - My desktop workstation\n\n### workload layer\n\n*  jamesread.soe.[podman_dashboard](roles/podman_dashboard) - Installs a Dashboard container.\n*  jamesread.soe.[podman_efk](roles/podman_efk) - Installs a EFK stack.\n*  jamesread.soe.[podman_grafana](roles/podman_grafana) - Installs a Grafana container.\n*  jamesread.soe.[podman_loki](roles/podman_loki) - Install loki as a podman container.\n*  jamesread.soe.[podman_openhab](roles/podman_openhab) - Installs a OpenHAB container.\n*  jamesread.soe.[podman_prom_gcal_exporter](roles/podman_prom_gcal_exporter) - Installs a Google Calendar Prometheus exporter.\n*  jamesread.soe.[podman_prom_gmail_exporter](roles/podman_prom_gmail_exporter) - Installs a gmail exporter container.\n*  jamesread.soe.[podman_prometheus](roles/podman_prometheus) - Installs a Prometheus container.\n*  jamesread.soe.[podman_promtail](roles/podman_promtail) - Installs a promtail container.\n*  jamesread.soe.[podman_traefik](roles/podman_traefik) - Installs a traefik container.\n*  jamesread.soe.[systemd_service_apachephp](roles/systemd_service_apachephp) - Installs httpd.\n*  jamesread.soe.[systemd_service_condor](roles/systemd_service_condor) - Installs condor as a service.\n*  jamesread.soe.[systemd_service_filebeat](roles/systemd_service_filebeat) - Installs a filebeat service.\n*  jamesread.soe.[systemd_service_haproxy](roles/systemd_service_haproxy) - Installs haproxy as a service.\n*  jamesread.soe.[systemd_service_jenkins](roles/systemd_service_jenkins) - Installs jenkins as a service.\n*  jamesread.soe.[systemd_service_journalbeat](roles/systemd_service_journalbeat) - Installs a journalbeat systemd service.\n*  jamesread.soe.[systemd_service_kvmlibvirt](roles/systemd_service_kvmlibvirt) - Installs kvm, libvirt and essential virt tools.\n\n### misc layer\n\n*  jamesread.soe.[common](roles/common) - Common/baseline config. Prometheus node exporter, sshd, SMART, etc.\n*  jamesread.soe.[libvirt_vm](roles/libvirt_vm) - Creates a libvirtvm.\n\n## Usage\n\nInstall the collection like this\n\n    ansible-galaxy collection install jamesread.soe\n\nCreate a playbook like this\n\n```yaml\n#!/usr/bin/env ansible-playbook\n\n- hosts:\n\t- all\n  roles:\n\t- name: jamesread.soe.common\n\t  myVar: foobar\n```\n\n## Principles\n\n* Separation of data (mostly config files) and reusable code (roles).\n* Separation of layers (ie, containers should not depend on an OS thing)\n\n## Layers\n\n1. Infra: (nothing here yet)\n2. OS Configuration (Physical/Virtual machine) - `machine_`\n3. OS Apps: `systemd_service_*`\n4. OS Containers: `podman_*`\n\n## Notes\n\nNo `site.yml`. I started off with this, but honestly have no idea where it's\nsupposed to fit if you're trying to promote role re-use and separation of\ndata/code.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamesread%2Fjwr-soe-ansible","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjamesread%2Fjwr-soe-ansible","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamesread%2Fjwr-soe-ansible/lists"}