{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":720935118,"defaultBranch":"main","name":"ansible-pikvm","ownerLogin":"bbeaudoin","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-11-20T02:14:09.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/2881993?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1700446460.0","currentOid":""},"activityList":{"items":[{"before":"c73c456981dd725479efaedf2b71ad88780b9ba0","after":"19ffdbfd5e125a7df0e6efa49c4c921b7c5215a6","ref":"refs/heads/main","pushedAt":"2024-01-03T02:08:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Minor change: Added `override.gpio.title` to allow naming the GPIO menu.","shortMessageHtmlLink":"Minor change: Added override.gpio.title to allow naming the GPIO menu."}},{"before":"ceb11adeaa429f57ecc825ea8bf60b775896fa04","after":"c73c456981dd725479efaedf2b71ad88780b9ba0","ref":"refs/heads/main","pushedAt":"2024-01-02T01:37:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Completed firewalld template and comments in group_vars/all.\n\nI've decided it's best to leave the default services (ssh, dhcpv6, http, https), ports, and protocols (20000-40000/udp) open. The same conditions must exist for firewalld to be installed, configured, and enabled. The `firewalld` package must be in the `package_list` and `firewall_config` must be defined, even if empty.","shortMessageHtmlLink":"Completed firewalld template and comments in group_vars/all."}},{"before":"d398869d110f780a5454218c13bd5876cf170205","after":"ceb11adeaa429f57ecc825ea8bf60b775896fa04","ref":"refs/heads/main","pushedAt":"2024-01-01T22:41:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Split out most tasks into include files. Added missing `.gitignore` line.\n\nAll of the role tasks have bene split out from main.yml and grouped according to tags. There is an interplay between overrides and sudoers that I haven't functionally split yet so security also includes the override tasks. Note there is an order dependency, some security tasks depend on package tasks so some care was taken to ensure tasks were included in the proper order.","shortMessageHtmlLink":"Split out most tasks into include files. Added missing .gitignore l…"}},{"before":"b752ad1613430f14e52a06279210a0632e020f72","after":"d398869d110f780a5454218c13bd5876cf170205","ref":"refs/heads/main","pushedAt":"2024-01-01T21:52:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Support for Ansible builder and content navigator.\n\nThis is a tough one to describe. There's a few extra steps for working with awx, Ansible Automation Platform, and ansible-navigator that needed to be addressed. Normally I would only use the CLI but someone mentioned they only use awx which implied an execution environment to me so I refreshed myself on how this worked and added configurations under `builder/`.\n\nAs a minor update, the overrides were separated into its own task file and `pikvm9.yml` was added to the `host_vars/` as I soldered the headers on a Raspberry Pi Zero 2 W to use for further validation. Minor changes were made to `ansible.cfg` to include galaxy configuration and `.gitignore` was updated to prevent the build context and ansible-navigator logs and runs from being committed by mistake. As a precaution, `galaxy-token` is also excluded should it be present.","shortMessageHtmlLink":"Support for Ansible builder and content navigator."}},{"before":"821e3d7df87f686ef8c3dd49d4999abf63d8fe44","after":"b752ad1613430f14e52a06279210a0632e020f72","ref":"refs/heads/main","pushedAt":"2023-12-30T15:25:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Corrected template bug where kvmd.view.table was not rendered if ports aren't named.","shortMessageHtmlLink":"Corrected template bug where kvmd.view.table was not rendered if port…"}},{"before":"9dda7d0b646539d92cfc379b1499be68a974457c","after":"821e3d7df87f686ef8c3dd49d4999abf63d8fe44","ref":"refs/heads/main","pushedAt":"2023-12-29T18:36:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Added command buttons. Automatically set sudoers based on command needs.\n\nThough I'd been using TESmart and ezCoo longer than Techno Tim (https://technotim.live/posts/pikvm-at-scale/), there were a few things that I wasn't doing myself:\n\n1. Wake on Lan (https://docs.pikvm.org/gpio/?h=wake#wake-on-lan)\n2. PiKVM Commands (https://docs.pikvm.org/gpio/?h=wake#cmd)\n\nIn an earlier commit, I added Wake on Lan and, based on what Techno Tim was doing, I added support for multiple addresses but I opted not to name them. Instead I opted for an ordered list without names, for simplicity, while honing my Jinja templating skills.\n\nOne thing I wanted to address was `/etc/sudoers.d/ansible-kvmd`. I was creating the file automatically based on a variable that wasn't tied to the override commands. Not just that, it was done improperly (only the last command was included). So I decided to improve on it and ensure, if no commands were specified, the sudoers file was removed for security.\n\nThe commands require a name, command, and confirm boolean (true or false).\n\nA couple notes, for composing the sudoers I used the search filter, not knowing kvmd would add '/' to prevent using shell built-in commands. This will match `sudo` or `/usr/bin/sudo` at the beginning so I've left it. Another note, a command like `sudo reboot` should not permit additional arguments but `sudo systemctl restart kvmd` specifies all arguments, adding `\"\"` is situational depending on the number of array elements. This can, therefore, be made \"safer\" but is trustworthy enough.","shortMessageHtmlLink":"Added command buttons. Automatically set sudoers based on command needs."}},{"before":"d99bd6abf1cfbcd14ed239706206cb83e86ef973","after":"9dda7d0b646539d92cfc379b1499be68a974457c","ref":"refs/heads/main","pushedAt":"2023-12-29T00:45:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Fixed examples in readme. Changed schema (again) and expanded yaml.","shortMessageHtmlLink":"Fixed examples in readme. Changed schema (again) and expanded yaml."}},{"before":"3d6669c8cc348055f6f162701ae0a0b27234f2e7","after":"d99bd6abf1cfbcd14ed239706206cb83e86ef973","ref":"refs/heads/main","pushedAt":"2023-12-27T00:19:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Update README.md\n\nUpdated some wording and added some usage examples based on the current capabilities of the playbook/role.","shortMessageHtmlLink":"Update README.md"}},{"before":"19a248eedaeb4f7dafb93150d3cfd60d890c501c","after":"3d6669c8cc348055f6f162701ae0a0b27234f2e7","ref":"refs/heads/main","pushedAt":"2023-12-24T15:24:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Add notes to myself about possible schema changes","shortMessageHtmlLink":"Add notes to myself about possible schema changes"}},{"before":"1e980dd065821969036cff9076f8b06cc65c52ac","after":"19a248eedaeb4f7dafb93150d3cfd60d890c501c","ref":"refs/heads/main","pushedAt":"2023-12-24T14:43:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Indicate placeholders and compact vs. traditional YAML\n\nIf this breaks my PiKVM due to lack of quoting on the more complete YAML syntax defining Wake on LAN then I'll fix once tested, after I get home.","shortMessageHtmlLink":"Indicate placeholders and compact vs. traditional YAML"}},{"before":"d33d22cf1076116f8c9010dbf3cf0887cc1b360f","after":"1e980dd065821969036cff9076f8b06cc65c52ac","ref":"refs/heads/main","pushedAt":"2023-12-24T04:38:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Minor update to readme","shortMessageHtmlLink":"Minor update to readme"}},{"before":"f8b50181180c0463ec7955227aa3164f68e090fc","after":"d33d22cf1076116f8c9010dbf3cf0887cc1b360f","ref":"refs/heads/main","pushedAt":"2023-12-23T05:14:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Another minor commit, addresses for hosts 2 and 6 got swapped.","shortMessageHtmlLink":"Another minor commit, addresses for hosts 2 and 6 got swapped."}},{"before":"feb5c7bc684e6cc7056f734577a336c76e1d6c46","after":"f8b50181180c0463ec7955227aa3164f68e090fc","ref":"refs/heads/main","pushedAt":"2023-12-23T05:11:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Fixed MAC address order for my pikvm1 host WoL list.","shortMessageHtmlLink":"Fixed MAC address order for my pikvm1 host WoL list."}},{"before":"acee1ee596c471bab47b2ebe870e4051333095ef","after":"feb5c7bc684e6cc7056f734577a336c76e1d6c46","ref":"refs/heads/main","pushedAt":"2023-12-23T04:56:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Added schema for per-port names and wake on lan\n\nThis was a difficult change. I wanted the generated file to lint cleanly so it couldn't exceed 80 lines (this rule could be ignored but I'd prefer to keep things clean). There was also getting the driver, scheme, and lines to properly match. Another annoying issuee, while `ansible-lint` doesn't mind quoting, `ansible-lint --write` will remove quoting around the MAC addresses in the host_vars file which is not ideal, the colons break things.\n\nUltimately I'm happy to see it working, this is the first time I've set up WoL because it seemed too hard to want to deal with before but I've confirmed it's working as expected, though my list of which system is \"host1\" seems to be outdated so I'll need to correct my host_vars later.","shortMessageHtmlLink":"Added schema for per-port names and wake on lan"}},{"before":"ba6a9ea3d5dfbc2b172994f15cf9902e6b639c60","after":"acee1ee596c471bab47b2ebe870e4051333095ef","ref":"refs/heads/main","pushedAt":"2023-12-22T20:45:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Added `lstrip_blocks: true` to fix spaces in templates\n\nI thought I'd be able to manage this with `{%-` but it's a pain with the number of unintended consequences. A friend was convinced nothing needed to be done with templates but I digress, without at least being implicit about whiteplace handling in both Ansible and Jinja, it's an mitigated mess. Thankfully, I didn't have to left-shift everything, just update the play.\n\nWith the change, the override.yaml now cleanly lints. I even caught an off-by-one error where a label or comment might have indicated a higher index number with `(loop.index + 1)` in a printf statement. That's been fixed as well.","shortMessageHtmlLink":"Added lstrip_blocks: true to fix spaces in templates"}},{"before":"45fade6673ce4ae2efe037268feba89e4d8b0393","after":"ba6a9ea3d5dfbc2b172994f15cf9902e6b639c60","ref":"refs/heads/main","pushedAt":"2023-12-22T18:11:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Improvements to the override template and tags\n\nHostname was tagged with override so removed that. Considered whether baseline is a useful tag due to overlap and it may be useful to apply some non-critical configuration so keeping it for the moment.\n\nThe override template has switched to human-based indexing (rather than 0, it starts with 1 now) to make the yaml easier to understand. After ruling out other syntax errors, the names changed from \"server00_led\", etc. to \"ezcoo1_led1\" matching the driver name given to reference the driver definition for ezcoo (similar for tesmart, etc.). This is much easier to read.\n\nGetting rid of some of the space characters in empty lines has negative results on the rest of the yaml document so the override will complain (give warnings) about extra spaces at end-of-line, it did take too long to debug so I'm ignoring it at the moment as I risk breaking things for myself and others before spending holiday time with my parents.","shortMessageHtmlLink":"Improvements to the override template and tags"}},{"before":"02b378388d66f91831d96b5d205e08205999c921","after":"45fade6673ce4ae2efe037268feba89e4d8b0393","ref":"refs/heads/main","pushedAt":"2023-12-22T16:59:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"More declarative, better tags, improved firewall and package handling.\n\nSudo rules should only be added when needed and defined so, this is now a list that should be moved to the inventory for hosts that need to add extra permissions to use things like a \"Reboot\" or \"Restart kvmd\" option to the UI. The firewall configuration now depends on both a configuration being defined and the package in the package_list.\n\nSpeaking of the package_list, it may be necessary for a host to either extend or replace the group_packages so both now use a single definition with the host_vars overriding the group_vars completely. The tag for package management is now singular \"package\" to match the other tags.\n\nNote, the Jinja template for overrides has extra lines and spaces, this should be cleaned up but it parses properly, just doesn't lint cleanly, and I'm afraid of spending another 2-hours debugging spacing so I'm avoiding it to get improvements out now.","shortMessageHtmlLink":"More declarative, better tags, improved firewall and package handling."}},{"before":"b60b7601f9ba9ce46fc221d1e009ed65e639cf40","after":"02b378388d66f91831d96b5d205e08205999c921","ref":"refs/heads/main","pushedAt":"2023-12-20T05:01:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Fixed ansible-lint reported issues.","shortMessageHtmlLink":"Fixed ansible-lint reported issues."}},{"before":"9afcceadfd1cf3b32467a61c123ddea9b4b53e8b","after":"b60b7601f9ba9ce46fc221d1e009ed65e639cf40","ref":"refs/heads/main","pushedAt":"2023-12-20T04:59:13.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Added support multi-level KVM switches. Renamed role and tags.\n\nThe major change here is multi-level KVM switches is supported. I had planned on using \"switch0_button0\" but was troubleshooting the table generation, turns out it was an issue with the spacing in the Jinja template. How to use the index to get the current loop iteration had multiple conflicting sources but found a good source, considering 1-based indexing for readability.\n\nConceptually having two 4-port switches behind a 2-port switch isn't technically hard, if there are enough ports and one knows which USB device index for the device, one can switch all three independently. In theory, the 256 limit of TESmart KVM switches could be easily reached easily with this configuration with 17 switch definitions (16*16 ports) though the UI might not be able to really scale to that. However, having a 4-port ezCoo with multiple 4-port ezCoo switches looks like it would fit just fine.","shortMessageHtmlLink":"Added support multi-level KVM switches. Renamed role and tags."}},{"before":"2b9623ccc8d5d379e81c2ac2c1e18a60ce216427","after":"9afcceadfd1cf3b32467a61c123ddea9b4b53e8b","ref":"refs/heads/main","pushedAt":"2023-12-19T04:38:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Transition playbook to role and fix task blocking\n\nMajor set of changes. This has changed quite a bit from a simple playbook to configure PiKVM into more of a role with tasks and task lists, blocking, templates, etc. Overall it would have made sense to start this as a role to begin with rather than as just a playbook. The blocking has been fixed and the ansible_lint errors have all been addressed.\n\nMore importantly, the playbook still appears to work the way it should!","shortMessageHtmlLink":"Transition playbook to role and fix task blocking"}},{"before":"508332c029f9ac8d559483629f294a68d3534b62","after":"2b9623ccc8d5d379e81c2ac2c1e18a60ce216427","ref":"refs/heads/main","pushedAt":"2023-12-19T02:42:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Physically tested the old 2-port ezCoo and changed \"hosts\" to \"host_list\"\n\nThe bookshelf lab was originally a 2-port ezCoo USB 3.0 switch and this lab never had more than 2 machines. That said, I had swapped out the 2-port switch with the 4-port switch to make sure it arrived in working order and never reconfigured it back.\n\nThe extra variable \"hosts\" is also an Ansible reserved word so, changing the override for the host list to \"host_list\" made sense. Rather than switching all devices to read-write for a long playbook execution, I'm being safer and faster updating only the host(s) I need to update and leaving the rest untouched.\n\nEspecially if I'm not sure my code is working. I accidentally scrambled the root password on all of the hosts. This gets saved to a file but I'm using SSH public key authentication so all I had to do was put the right password in the files and re-run the playbook. That said, I would have rather run that on one host rather than all 7 defined hosts, so I spent less time waiting for the playbook to fix everything.\n\nIt's possible to have some tasks run only when certain tags are specified. I'll probably implement that when I get some spare time, Ansible tends to be a bit slow. That's fine when it's running in the background, not so good when I haven't touched a task, I don't need to run it again to test it, but I'm waiting on it to complete anyway to verify no changes are needed.","shortMessageHtmlLink":"Physically tested the old 2-port ezCoo and changed \"hosts\" to \"host_l…"}},{"before":"d7f37399320db1d04fdb85cc40e727920561d5ac","after":"508332c029f9ac8d559483629f294a68d3534b62","ref":"refs/heads/main","pushedAt":"2023-12-18T04:29:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Replaced port_range with size and added defaults\n\nSome of the devices represented by specific drivers do have vendor or acceptable defaults, such as TESMart's host being set to 192.168.1.10, the port being set to 5000. The ezCoo defaults come from default Linux (udev rules) for the /dev/ttyUSB0 default device and PiKVM meanings associated with protocols 1 and 2.\n\nIf a default is used, a comment \"# Default for \" will be added after the setting.\n\nThis is everything I needed to complete my core configurations. There's been some cleanup of the templates to make them more usable, some comments added to code, I've updated two of my host configurations, pikvm1 and pikvm3, and made it easier to run the test playbook that generates test configurations in the local /tmp/ directory based on the inventory_hostname.","shortMessageHtmlLink":"Replaced port_range with size and added defaults"}},{"before":"40a977e1d65261434b9d82b1d520894f823c33e5","after":"d7f37399320db1d04fdb85cc40e727920561d5ac","ref":"refs/heads/main","pushedAt":"2023-12-17T22:12:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Update to the override.yaml template\n\nThere are some inconsistencies with syntax and possibly errors I've made over time so the header was no longer rendering, I just hadn't noticed for a while and it's no longer in the docs. Looking at examples, it seems whe \"scheme | label\" should be quoted. I decided to build numbering into the labels rather than relying on name. I also added a generic default label with \"Server %2d\" and made all names and labels optional using conditionals or defaults.\n\nSome work to add janus and HID overrides are technically in the override.yaml template, though I have only been testing the switch portion. There are other potential things that can be enumerated and features I had in an earlier version of my ezCoo switch config that doesn't currently exist in the template.\n\nHopefully I won't change names again, I've shared links to the project and templates but things may still change out of necessity or to keep things working as expected.","shortMessageHtmlLink":"Update to the override.yaml template"}},{"before":"211ec71f64cb63db8ddf7a39e7edbe1fc40f67be","after":"40a977e1d65261434b9d82b1d520894f823c33e5","ref":"refs/heads/main","pushedAt":"2023-12-17T17:56:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Templated overrides. Fixed firewall for WebRTC.\n\nOverall the templating was a success. 9 lines can fully generate override configuration for both the TESmart and ezCoo KVM switches, both protocols of ezcoo and supporting the 2, 4, 8, and 16-port models using a number range. The firewall was missing the UDP port range for Janus and WebRTC, I noticed this while testing the switch and added the port range. I stubbed out the firewall config in the group_vars for all hosts and updated the comments there, the public.xml template currently doesn't use this yet.\n\nNote, at present if any of the variables are undefined for the overrides that aren't checked, the overrides won't be generated and the recovery behavior is to unnecessarily reboot PiKVM. Worse, the registered handlers will reboot them again if the packages haven't been updated. The same reboot occured if the firewall rules were changed because of a variable change, that has been fixed.","shortMessageHtmlLink":"Templated overrides. Fixed firewall for WebRTC."}},{"before":"d3a2b4ffdfed8e07111e836d4104c5014dd3d772","after":"211ec71f64cb63db8ddf7a39e7edbe1fc40f67be","ref":"refs/heads/main","pushedAt":"2023-12-17T15:30:16.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Update README.md\n\nMoved some of the important documentation higher up on the page, revised warnings to be more clear as to what level of risk the playbooks have, high level overview appears sooner, and out of scope items are now listed in the readme.","shortMessageHtmlLink":"Update README.md"}},{"before":"f916eb1e4777118f1d51ceabf7bd2523b0780992","after":"d3a2b4ffdfed8e07111e836d4104c5014dd3d772","ref":"refs/heads/main","pushedAt":"2023-12-17T15:16:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Update README.md\n\nMoved some of the important documentation higher up on the page, revised warnings to be more clear as to what level of risk the playbooks have, high level overview appears sooner, and out of scope items are now listed in the readme.","shortMessageHtmlLink":"Update README.md"}},{"before":"02354630fc0eb491d5037f6b893d6d85fd11df23","after":"f916eb1e4777118f1d51ceabf7bd2523b0780992","ref":"refs/heads/main","pushedAt":"2023-12-17T06:40:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Create LICENSE\n\nDetermined that this will be maintained and published with the GNU General Public LIcense, v3.\r\n\r\nThis is not retroactive to previous commits or to code I did not write which was licensed to me but could not be relicensed under these terms and is freely licensed and available elsewhere but not critical to this project. While the majority of this code is mine, some compatible code was removed because it no longer fit with the goals. The dynamic inventory code which remained after my edits were under a compatible license that permits relicensing under the GPL with its attribution still intact.\r\n\r\nPrior to me licensing this code, there were no terms that unambiguously permitted downloading, copying, modifying, or distributing. That does not make that code any more or less free, it is the license here that extends those rights to the current and future versions to others.","shortMessageHtmlLink":"Create LICENSE"}},{"before":"604d8ff073b1a6c33a91aaf074bc47f88889a58d","after":"02354630fc0eb491d5037f6b893d6d85fd11df23","ref":"refs/heads/main","pushedAt":"2023-12-17T06:06:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Update README.md\n\nMore updated documentation to match the current version of the code. I'll be slowing down on documentation so that I can try to hit my coding goals before the spring semester.","shortMessageHtmlLink":"Update README.md"}},{"before":"42fa55109fda212f722c9d5f8b8038fb10fb2748","after":"604d8ff073b1a6c33a91aaf074bc47f88889a58d","ref":"refs/heads/main","pushedAt":"2023-12-17T03:08:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Removed comments from the sample override.yaml files leaving only the purpose and a link to the style. While they may be republished under the GNU General Public License v3.0, as the YAML doesn't match match the linting and these should be recreated as Jinja2 templates, the comments aren't helpful here.","shortMessageHtmlLink":"Removed comments from the sample override.yaml files leaving only the…"}},{"before":"c5439b1de81ffae4b7197f6ce2a59a7fd70da5a6","after":"42fa55109fda212f722c9d5f8b8038fb10fb2748","ref":"refs/heads/main","pushedAt":"2023-12-17T03:00:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bbeaudoin","name":"Brian Beaudoin","path":"/bbeaudoin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2881993?s=80&v=4"},"commit":{"message":"Ensured all files that were added in the last commit are included, they may have been omitted by accident. If users need the CyberPower MIB, it is recommended to download the latest from https://www.cyberpowersystems.com/products/software/mib-files/ and set the \"cyberpower_mib\" to the local path where the extracted MIB may be found, either at the group (all hosts) or at the individual host level. The new recovery task tends to reboot hosts on Internet failures during package updates rather than anything a reboot might help with, considering changing the blocking so it only reboots when the root filesystem is left read-write rather than where reboots are unlikely to help.","shortMessageHtmlLink":"Ensured all files that were added in the last commit are included, th…"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAD1m-kUAA","startCursor":null,"endCursor":null}},"title":"Activity · bbeaudoin/ansible-pikvm"}