{"id":28765134,"url":"https://github.com/indiependente/pveidmapper","last_synced_at":"2025-08-15T18:45:36.383Z","repository":{"id":295673633,"uuid":"990837915","full_name":"indiependente/pveidmapper","owner":"indiependente","description":"PVE UID/GID mapper for LXC","archived":false,"fork":false,"pushed_at":"2025-05-26T19:14:31.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-28T18:53:27.506Z","etag":null,"topics":["gid","lxc","proxmox","uid"],"latest_commit_sha":null,"homepage":"","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/indiependente.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,"zenodo":null}},"created_at":"2025-05-26T18:04:33.000Z","updated_at":"2025-05-26T19:14:34.000Z","dependencies_parsed_at":"2025-05-26T20:19:08.333Z","dependency_job_id":"9d0ce654-999b-4ca3-938b-ea919808479b","html_url":"https://github.com/indiependente/pveidmapper","commit_stats":null,"previous_names":["indiependente/pveidmapper"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/indiependente/pveidmapper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indiependente%2Fpveidmapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indiependente%2Fpveidmapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indiependente%2Fpveidmapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indiependente%2Fpveidmapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/indiependente","download_url":"https://codeload.github.com/indiependente/pveidmapper/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indiependente%2Fpveidmapper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270616226,"owners_count":24617107,"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-08-15T02:00:12.559Z","response_time":110,"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":["gid","lxc","proxmox","uid"],"created_at":"2025-06-17T10:30:47.169Z","updated_at":"2025-08-15T18:45:36.359Z","avatar_url":"https://github.com/indiependente.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Go Report Card](https://goreportcard.com/badge/github.com/indiependente/pveidmapper)](https://goreportcard.com/report/github.com/indiependente/pveidmapper)\n[![Workflow Status](https://github.com/indiependente/pveidmapper/workflows/ci/badge.svg)](https://github.com/indiependente/pveidmapper/actions)\n\n# PVE ID Mapper\n\nA command-line tool for managing UID/GID mappings in Proxmox VE LXC containers. This tool helps generate the necessary configuration for both the container and the host system to properly map user and group IDs.\n\n## Installation\n\n### Using Go Install\n\n```bash\ngo install github.com/indiependente/pveidmapper@latest\n```\n\n### Building from Source\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/indiependente/pveidmapper.git\ncd pveidmapper\n```\n\n2. Build and install:\n```bash\nmake install\n```\n\n## Usage\n\nThe tool provides a `map` command to create ID mappings:\n\n```bash\npveidmapper map -i \u003cmapping\u003e\n```\n\n### Mapping Format\n\nThe mapping format is:\n```\ncontaineruid[:containergid][=hostuid[:hostgid]]\n```\n\n### Examples\n\n1. Map a single UID:\n```bash\npveidmapper map -i 1000=1000\n```\n\n2. Map both UID and GID:\n```bash\npveidmapper map -i 1000:1000\n```\nOutput:\n```\n# Add to /etc/pve/lxc/\u003ccontainer_id\u003e.conf:\nlxc.idmap: u 0 100000 1000\nlxc.idmap: u 1000 1000 1\nlxc.idmap: u 1001 101001 64535\nlxc.idmap: g 0 100000 1000\nlxc.idmap: g 1000 1000 1\nlxc.idmap: g 1001 101001 64535\n\n# Add to /etc/subuid:\nroot:1000:1\n\n# Add to /etc/subgid:\nroot:1000:1\n```\n\n3. Map multiple IDs:\n```bash\npveidmapper map -i 1000=1000 -i 1001=1001\n```\n\n### Configuration Files\n\nThe tool generates configuration that needs to be added to three different files:\n\n1. Container configuration file:\n   - Path: `/etc/pve/lxc/\u003ccontainer_id\u003e.conf`\n   - Replace `\u003ccontainer_id\u003e` with your actual container ID\n   - Add the `lxc.idmap` lines to this file\n\n2. User ID mappings:\n   - Path: `/etc/subuid`\n   - Add the `root:UID:1` lines to this file\n\n3. Group ID mappings:\n   - Path: `/etc/subgid`\n   - Add the `root:GID:1` lines to this file\n\n## Development\n\n### Prerequisites\n\n- Go 1.21 or later\n- Make (optional, for using the Makefile)\n- golangci-lint (for code quality checks)\n\n### Common Tasks\n\n- Build the binary:\n```bash\nmake build\n```\n\n- Install the tool:\n```bash\nmake install\n```\n\n- Run tests:\n```bash\nmake test\n```\n\n- Run linter:\n```bash\nmake lint\n```\n\n- Run linter with auto-fix:\n```bash\nmake lint-fix\n```\n\n- Update dependencies:\n```bash\nmake update\n```\n\n### Code Quality\n\nThis project uses golangci-lint for code quality checks. The configuration can be found in `.golangci.yml`. The linter checks for:\n\n- Code style and formatting\n- Common programming mistakes\n- Potential bugs\n- Security issues\n- Performance issues\n- Code complexity\n- Duplicate code\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Findiependente%2Fpveidmapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Findiependente%2Fpveidmapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Findiependente%2Fpveidmapper/lists"}