{"id":25451385,"url":"https://github.com/bagtoad/arc-log-collection-scripts","last_synced_at":"2025-05-16T10:35:31.004Z","repository":{"id":233628992,"uuid":"786595261","full_name":"BagToad/arc-log-collection-scripts","owner":"BagToad","description":"Shell scripts to dump diagnostic information and logs from your Actions Runner Controller deployment.","archived":false,"fork":false,"pushed_at":"2024-04-17T12:24:11.000Z","size":14,"stargazers_count":6,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-17T22:28:43.448Z","etag":null,"topics":["actions","actions-runner","actions-runner-controller"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/BagToad.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":"2024-04-14T23:14:39.000Z","updated_at":"2024-07-15T19:42:10.000Z","dependencies_parsed_at":"2024-04-17T00:26:53.712Z","dependency_job_id":"f28ec8d1-cb86-4633-900c-8b1a87bd2e13","html_url":"https://github.com/BagToad/arc-log-collection-scripts","commit_stats":null,"previous_names":["bagtoad/arc-log-collection-scripts"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BagToad%2Farc-log-collection-scripts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BagToad%2Farc-log-collection-scripts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BagToad%2Farc-log-collection-scripts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BagToad%2Farc-log-collection-scripts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BagToad","download_url":"https://codeload.github.com/BagToad/arc-log-collection-scripts/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254513430,"owners_count":22083562,"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":["actions","actions-runner","actions-runner-controller"],"created_at":"2025-02-17T22:25:06.512Z","updated_at":"2025-05-16T10:35:30.984Z","avatar_url":"https://github.com/BagToad.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ARC Log Collection Scripts\n\nARC Log Collection Scripts is a collection of Shell scripts to dump diagnostic information and logs from your [Actions Runner Controller](https://github.com/actions/actions-runner-controller) deployment. \n\n- [`bundle.sh`](bundle.sh) collects logs from the ARC components and runner pods.\n- [`runner-monitor.sh`](runner-monitor.sh) monitors and collects logs from the runner pods until the monitor script is killed.\n\n## Anatomy of the ARC Log Bundle\n\nA key output of the ARC log bundle is the `bundle.md` file, which contains a summary of the ARC deployment, metrics, and logs from _ALL_ pods, including non-ARC pods.\n\nThe ARC Log Bundle consists of the following components:\n\n- 📂 arc-bundle-logs\n    - 📂 helm_info\n        - 📂 `[PODNAME]`\\_NS\\_`[NAMESPACE]`_all.yaml\n        - 📂 `[PODNAME]`\\_NS\\_`[NAMESPACE]`_values.yaml\n    - 📂 pod_logs\n        - 📂 `[PODNAME]`\\_NS\\_`[NAMESPACE]`.log\n        - 📂 `[PODNAME]`\\_NS\\_`[NAMESPACE]`\\_meta.txt\n        - 📂 `[PODNAME]`\\_NS\\_`[NAMESPACE]`\\_meta.yaml\n    - 📂 kubectl-events.log\n    - 📂 bundle.md\n\n## Anatomy of the Runner Monitor Log Directory\n\nThe Runner Monitor Log Directory consists of the following components:\n\n- 📂 runner-pod-logs\n    - 📂 `[PODNAME]`\\_NS\\_`[NAMESPACE]`\\_runner.log\n    - 📂 `[PODNAME]`\\_NS\\_`[NAMESPACE]`\\_runner_meta.txt\n    - 📂 `[PODNAME]`\\_NS\\_`[NAMESPACE]`\\_runner_meta.yaml\n\n## Privacy\n\nThe ARC bundle logs collect logs from _ALL_ pods, including non-ARC pods, in your ARC deployment because [GitHub recommends deploying ARC in a dedicated cluster](https://docs.github.com/en/enterprise-cloud@latest/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/deploying-runner-scale-sets-with-actions-runner-controller#deploying-a-runner-scale-set). \n\nIf you have deployed ARC in a shared cluster, the logs may contain sensitive information from other workloads. It is your responsiblity to review the logs before sharing them with others, including GitHub. \n\nEfforts are made to sanitize sensitive information from the logs, such as removing `github_token` and `github_app_private_key` from the Helm configuration output. \n\nIt is your responsibility to review the logs before sharing them with others, including GitHub. Redact any sensitive information. If manual redaction is not reasonable, delete pod logs containing sensitive information. \n\n## Getting Started\n\n### Prerequisites\n\nA BASH shell with the `kubectl`, `helm`, `jq`, and other standard Linux utilities installed.\n\n### Usage\n\n1. Clone the repository:\n\n```shell\ngit clone https://github.com/BagToad/arc-log-collection-scripts.git\n```\n\n2. Navigate to the directory where you've cloned the repository:\n\n```shell\ncd arc-log-collection-scripts\n```\n\nRun the desired scripts:\n\n```shell\n# Generate an ARC log bundle snapshot.\n./bundle.sh\n\n# Generate logs for runner pods only. \n./runner_monitor.sh\n# CTRL+C when finished monitoring.\n```\n\n## Examples\n\n```shell\n./bundle.sh -p 0 -d 0 -r 0         #Disable polling for ephemeralrunner pods and do not tail runner pod logs.\n./bundle.sh -p 10 -d 5 -r 60       #Run the script with an ephemeralrunner poll count of 10, delay of 5 seconds, and runner pod log tail timeout of 60 seconds\n```\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Contributing and Support\n\nPull requests are welcome. For major changes, please open an issue first to discuss your change.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbagtoad%2Farc-log-collection-scripts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbagtoad%2Farc-log-collection-scripts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbagtoad%2Farc-log-collection-scripts/lists"}