{"id":25306574,"url":"https://github.com/cbartram/hearthhub-file-manager","last_synced_at":"2026-01-12T02:48:25.706Z","repository":{"id":273750934,"uuid":"920755320","full_name":"cbartram/hearthhub-file-manager","owner":"cbartram","description":"A service which downloads and installs Valheim plugins to a shared volume for the dedicated server.","archived":false,"fork":false,"pushed_at":"2025-03-05T19:53:29.000Z","size":146,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-08T08:44:48.439Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/cbartram.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":"2025-01-22T18:05:49.000Z","updated_at":"2025-03-05T19:53:32.000Z","dependencies_parsed_at":"2025-01-22T19:27:46.042Z","dependency_job_id":"0bc2e571-2bab-4f49-8384-1a0c89898eae","html_url":"https://github.com/cbartram/hearthhub-file-manager","commit_stats":null,"previous_names":["cbartram/hearthhub-plugin-manager","cbartram/hearthhub-file-manager"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cbartram%2Fhearthhub-file-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cbartram%2Fhearthhub-file-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cbartram%2Fhearthhub-file-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cbartram%2Fhearthhub-file-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cbartram","download_url":"https://codeload.github.com/cbartram/hearthhub-file-manager/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247604607,"owners_count":20965456,"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":[],"created_at":"2025-02-13T10:35:40.976Z","updated_at":"2026-01-12T02:48:25.667Z","avatar_url":"https://github.com/cbartram.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HearthHub File Manager\nA kubernetes `Job` which downloads and installs \u0026 uninstalls Valheim plugins, world files, and configuration to/from a shared volume for \nthe dedicated server to load and use.\n\nThis job has 3 parts:\n\n- Scale down existing replicas of the server\n- Pull the necessary file(s) from S3\n- Write/Remove the files from a given directory on the PVC.\n\n## Arguments\n\nThe file manager takes the following arguments:\n\n| Arg Name        | Arg Type | Description                                                                                                                                 | Example Usage                             |\n|-----------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------|\n| `discord_id`    | `string` | The users discord ID                                                                                                                        | `-discord_id \"123456789012345678\"`        |\n| `refresh_token` | `string` | The users refresh token                                                                                                                     | `-refresh_token \"abc123xyz456\"`           |\n| `prefix`        | `string` | S3 prefix name including the extension. Example: `file.zip`                                                                                 | `-prefix \"/mods/general/ValheimPlus.zip\"` |\n| `destination`   | `string` | PVC volume destination. This path does NOT need to include the file name as it will be parsed from the prefix automatically.                | `-destination \"/valheim/BepInEx/plugins\"` |\n| `archive`       | `string` | If the file being downloaded is an archive and needs unpacked. For delete op's the archive will be used to determine which files to remove. | `-archive \"true\"`                         |\n| `op`            | `string` | Operation to perform, either `\"write\"` or `\"delete\"`                                                                                        | `-op \"write\"`                             |\n\nAll arguments are required.\n\n## Building\n\nYou can build the application locally using: `go build -o main .` and run with `./main -discord_id \"foo\" -refresh_token \"bar\" ...`. \nThis is designed to function as a Kubernetes `Job`. See [HearthHub Kube API's](https://github.com/cbartram/hearthhub-kube-api) file_handler route\nfor an example of the `Job` manifest.\n\n## Docker Build\n\nTo build with docker run the following replacing the `0.0.1` tag with your desired tag:\n\n```shell\n./build.sh 0.0.1\n```\n\n## Testing\n\nRun unit tests for this software with:\n\n```shell\ngo test ./... -v\n```\n\nTo generate coverage reports run:\n\n```shell\ngo test -coverprofile=coverage.out ./...\ngo tool cover -html=coverage.out\n```\n\n## Built With\n\n- [Kubernetes](https://kubernetes.io) - Container orchestration platform\n- [Helm](https://helm.sh) - Manages Kubernetes deployments\n- [Docker](https://docker.io/) - Container build tool\n\n## Contributing\n\nPlease read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code\nof conduct, and the process for submitting pull requests to us.\n\n## Versioning\n\nWe use [Semantic Versioning](http://semver.org/) for versioning. For the versions\navailable, see the [tags on this\nrepository](https://github.com/cbartran/hearthhub-mod-api/tags).\n\n## Authors\n\n- **cbartram** - *Initial work* - [cbartram](https://github.com/cbartram)\n\n## License\n\nThis project is licensed under the [CC0 1.0 Universal](LICENSE)\nCreative Commons License - see the [LICENSE.md](LICENSE) file for\ndetails","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcbartram%2Fhearthhub-file-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcbartram%2Fhearthhub-file-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcbartram%2Fhearthhub-file-manager/lists"}