{"id":23637127,"url":"https://github.com/yannh/r10k-go","last_synced_at":"2025-08-31T13:30:30.112Z","repository":{"id":43043103,"uuid":"94441531","full_name":"yannh/r10k-go","owner":"yannh","description":"Fast \u0026 resilient Puppet module deployments","archived":false,"fork":false,"pushed_at":"2018-01-14T20:55:09.000Z","size":321,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-25T19:48:50.411Z","etag":null,"topics":["puppet","r10k"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yannh.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}},"created_at":"2017-06-15T13:21:35.000Z","updated_at":"2024-05-31T05:50:11.000Z","dependencies_parsed_at":"2022-08-29T00:40:11.801Z","dependency_job_id":null,"html_url":"https://github.com/yannh/r10k-go","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yannh/r10k-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yannh%2Fr10k-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yannh%2Fr10k-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yannh%2Fr10k-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yannh%2Fr10k-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yannh","download_url":"https://codeload.github.com/yannh/r10k-go/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yannh%2Fr10k-go/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272988224,"owners_count":25026955,"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-31T02:00:09.071Z","response_time":79,"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":["puppet","r10k"],"created_at":"2024-12-28T06:39:10.248Z","updated_at":"2025-08-31T13:30:29.690Z","avatar_url":"https://github.com/yannh.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# r10k-go - Fast \u0026amp; resilient Puppet module deployments  [![Build Status](https://travis-ci.org/yannh/r10k-go.svg?branch=master)](https://travis-ci.org/yannh/r10k-go) [![Go Report card](https://goreportcard.com/badge/github.com/yannh/r10k-go)](https://goreportcard.com/report/github.com/yannh/r10k-go)\n\nWARNING: Under heavy development. Not ready for wide use.\n\nDeployments using r10k/librarian on large Puppetfiles (\u003e100 modules) can end up taking a very long time, and sometimes fail. The goal of this project is to parallelize module download, and retry failed downloads a few times before giving up.\n\nIt tries to improve on https://github.com/xorpaul/g10k/ by limitting the number of downloads than can run in parallel, trying to be closer to the behaviour of r10k/librarian, and implementing a retry mechanism.\n\n```\nr10k-go\n\nUsage:\n  r10k-go puppetfile install [--moduledir=\u003cPATH\u003e] [--no-deps] [--puppetfile=\u003cPUPPETFILE\u003e] [--workers=\u003cn\u003e]\n  r10k-go puppetfile check [--puppetfile=\u003cPUPPETFILE\u003e]\n  r10k-go deploy environment \u003cenv\u003e... [--workers=\u003cn\u003e]\n  r10k-go deploy module \u003cmodule\u003e... [--environment=\u003cenv\u003e] [--workers=\u003cn\u003e]\n  r10k-go version\n  r10k-go -h | --help\n  r10k-go --version\n\nOptions:\n  -h --help                   Show this screen.\n  --modulesPath=\u003cPATH\u003e        Path to the modules folder\n  --no-deps                   Skip downloading modules dependencies\n  --puppetFile=\u003cPUPPETFILE\u003e   Path to the modules folder\n  --version                   Displays the version.\n  --workers=\u003cn\u003e               Number of modules to download in parallel\n```\n\n## What works\n\nThe following Puppetfile should download correctly:\n\n```\nforge \"https://forgeapi.puppetlabs.com\"\n\nmod 'puppetlabs-razor'\nmod 'puppetlabs-ntp', \"0.0.3\"\n\nmod 'puppetlabs-apt',\n  :git =\u003e \"git://github.com/puppetlabs/puppetlabs-apt.git\"\n\nmod 'puppetlabs-stdlib',\n  :git =\u003e \"git://github.com/puppetlabs/puppetlabs-stdlib.git\",\n  :install_path =\u003e \"test_install_path\"\n\nmod 'puppetlabs-apache', '0.6.0',\n  :github_tarball =\u003e 'puppetlabs/puppetlabs-apache'\n```\n\nA cache is maintained in .cache, git worktrees are used to deploy git repository to limit disk usage.\n\n## Not yet implemented\n\n* Complex version requirements for forge modules (can only give a specific version) - although only librarian respects this.\n* r10k deploy display\n* r10k puppetfile purge\n* SVN or local sources\n* probably a lot more...\n\n## How to build\n\nGiven a correctly setup Go environment, you can go get r10k-go and use the makefile to build it.\n\n```\n~/$ go get github.com/yannh/r10k-go\n~/$ cd ~/go/src/github.com/yannh/r10k-go/\n~/go/src/github.com/yannh/r10k-go$ make\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyannh%2Fr10k-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyannh%2Fr10k-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyannh%2Fr10k-go/lists"}