{"id":15687446,"url":"https://github.com/danielparks/puppet-golang","last_synced_at":"2025-05-07T14:25:54.647Z","repository":{"id":47755852,"uuid":"148588209","full_name":"danielparks/puppet-golang","owner":"danielparks","description":"Simple yet flexible Go installations with Puppet","archived":false,"fork":false,"pushed_at":"2025-03-02T19:48:52.000Z","size":262,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-07T14:25:50.511Z","etag":null,"topics":["go","golang","puppet"],"latest_commit_sha":null,"homepage":"https://forge.puppet.com/modules/dp/golang","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danielparks.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2018-09-13T05:47:50.000Z","updated_at":"2025-03-02T19:48:56.000Z","dependencies_parsed_at":"2023-12-02T02:29:19.128Z","dependency_job_id":"29097941-f04f-4066-8d49-9c32613fa05a","html_url":"https://github.com/danielparks/puppet-golang","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielparks%2Fpuppet-golang","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielparks%2Fpuppet-golang/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielparks%2Fpuppet-golang/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielparks%2Fpuppet-golang/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danielparks","download_url":"https://codeload.github.com/danielparks/puppet-golang/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252893780,"owners_count":21820869,"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":["go","golang","puppet"],"created_at":"2024-10-03T17:48:37.835Z","updated_at":"2025-05-07T14:25:54.624Z","avatar_url":"https://github.com/danielparks.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Simple yet flexible Go installations\n\nThis [Puppet][] module has sane defaults to keep a standard installation simple,\nbut is flexible enough to support automatic updates, multiple installations of\ndiferent versions, and running [Puppet as a non-root user][non-root].\n\n[Puppet]: https://github.com/puppetlabs/puppet\n[non-root]: #running-puppet-as-a-non-root-user\n\n## Usage\n\n### Standard, single install\n\nThe [`golang` class][`golang`] installs Go under `/usr/local/go/`, and symlinks\nthe binaries into `/usr/local/bin/`.\n\n``` puppet\ninclude golang\n```\n\nBy default it installs the latest version but never upgrades it after the\ninitial installation. You can set it to automatically upgrade by passing\n`latest` to [`ensure`][$golang::ensure], either with [hiera][]\n(`golang::ensure: latest`), or with a class declaration:\n\n``` puppet\nclass { 'golang':\n  ensure =\u003e latest,\n}\n```\n\nYou may force it to install a specific version by passing it to\n[`ensure`][$golang::ensure]:\n\n``` puppet\nclass { 'golang':\n  ensure =\u003e '1.19.1',\n}\n```\n\nOf course, you can also use [`ensure`][$golang::ensure] to uninstall Go:\n\n``` puppet\nclass { 'golang':\n  ensure =\u003e absent,\n}\n```\n\n### Multiple installs\n\nYou can install Go in other places and as other users using the\n[`golang::installation`][] defined type, and you can link its binaries into\na `bin` directory with [`golang::linked_binaries`][]:\n\n``` puppet\ngolang::installation { '/home/user/go-1.19.1':\n  ensure =\u003e '1.19.1',\n  owner  =\u003e 'user',\n  group  =\u003e 'user',\n}\n\ngolang::linked_binaries { '/home/user/go-1.19.1':\n  into_bin =\u003e '/home/user/bin',\n}\n```\n\nTo install the latest version, set [`ensure =\u003e latest`][$g::i::ensure] on\n[`golang::installation`][]. To remove the installation or symlinks, just use\n`ensure =\u003e absent`.\n\n### Running Puppet as a non-root user\n\nYou can use the defined types to install Go even when running as a non-root\nuser. [`owner`][$g::i::owner] and [`group`][$g::i::group] default to the user\nand group running Puppet:\n\n``` puppet\ngolang::installation { '/home/me/go':\n  ensure =\u003e latest,\n}\n\ngolang::linked_binaries { '/home/me/go':\n  into_bin =\u003e '/home/me/bin',\n}\n```\n\n## Limitations\n\nThis does not support Windows.\n\n## Development status\n\nThis is stable. I have no features planned for the future, though I’m open to\n[suggestions][issues].\n\nI will occasionally make 0.0.1 releases to keep this updated with the latest\nversion of [PDK][].\n\n## Reference\n\nThere is specific documentation for individual parameters in [REFERENCE.md][].\nThat file is generated with:\n\n```\npdk bundle exec puppet strings generate --format markdown\n```\n\n[`golang`]: REFERENCE.md#golang\n[$golang::ensure]: REFERENCE.md#-golang--ensure\n[`golang::installation`]: REFERENCE.md#golang--installation\n[$g::i::ensure]: REFERENCE.md#-golang--installation--ensure\n[$g::i::owner]: REFERENCE.md#-golang--installation--owner\n[$g::i::group]: REFERENCE.md#-golang--installation--group\n[`golang::linked_binaries`]: REFERENCE.md#golang--linked_binaries\n[hiera]: https://puppet.com/docs/puppet/latest/hiera.html\n[issues]: https://github.com/danielparks/puppet-golang/issues\n[PDK]: https://github.com/puppetlabs/pdk\n[REFERENCE.md]: REFERENCE.md\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielparks%2Fpuppet-golang","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanielparks%2Fpuppet-golang","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielparks%2Fpuppet-golang/lists"}