{"id":14965389,"url":"https://github.com/joelkle/puppet-salt","last_synced_at":"2025-09-02T17:13:30.159Z","repository":{"id":45650513,"uuid":"210866947","full_name":"JoelKle/puppet-salt","owner":"JoelKle","description":"Puppet module to manage the SaltStack ( salt-minion / salt-master / salt-api / salt-pepper )","archived":false,"fork":false,"pushed_at":"2023-06-26T18:53:07.000Z","size":47,"stargazers_count":4,"open_issues_count":2,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-21T12:13:29.505Z","etag":null,"topics":["puppet","saltstack"],"latest_commit_sha":null,"homepage":null,"language":"Puppet","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/JoelKle.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":"2019-09-25T14:34:27.000Z","updated_at":"2021-12-02T16:18:30.000Z","dependencies_parsed_at":"2024-09-02T17:41:42.335Z","dependency_job_id":"b08a4feb-1e70-4e63-bcac-ac34ddc64691","html_url":"https://github.com/JoelKle/puppet-salt","commit_stats":{"total_commits":21,"total_committers":4,"mean_commits":5.25,"dds":0.1428571428571429,"last_synced_commit":"ede53bc2dd8adf1b13edf276edf2208f9eb41524"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/JoelKle/puppet-salt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoelKle%2Fpuppet-salt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoelKle%2Fpuppet-salt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoelKle%2Fpuppet-salt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoelKle%2Fpuppet-salt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JoelKle","download_url":"https://codeload.github.com/JoelKle/puppet-salt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoelKle%2Fpuppet-salt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273318274,"owners_count":25084165,"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-09-02T02:00:09.530Z","response_time":77,"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","saltstack"],"created_at":"2024-09-24T13:34:40.591Z","updated_at":"2025-09-02T17:13:30.132Z","avatar_url":"https://github.com/JoelKle.png","language":"Puppet","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e **PRs are welcome :)**\n\u003e\n\u003e Due to a new job I have only limited posibilities to test this module\n\n# Salt Puppet Module\n\n#### Table of Contents\n\n- [Salt Puppet Module](#salt-puppet-module)\n      - [Table of Contents](#table-of-contents)\n  - [Module description](#module-description)\n  - [Setup](#setup)\n    - [What Salt affects](#what-salt-affects)\n  - [Usage](#usage)\n    - [Manage Salt minion / master / api / syndic](#manage-salt-minion--master--api--syndic)\n      - [Basic setup](#basic-setup)\n      - [Install specific Salt version](#install-specific-salt-version)\n        - [Pin to Major release](#pin-to-major-release)\n        - [Pin to Minor release](#pin-to-minor-release)\n      - [Install additional packages needed for Salt](#install-additional-packages-needed-for-salt)\n    - [Manage Salt Pepper](#manage-salt-pepper)\n  - [Reference](#reference)\n  - [Limitations](#limitations)\n\n## Module description\n\nThe `salt` module installs, configures, and maintains your SaltStack.\n\nIt follows the new **Puppet 4 code style guides** (no params.pp class -\u003e data dir). Furthermore all parameters are **fully configurable over Hiera**.\n\nThis module is only compatible with Puppet 5.5.8+\n\n## Setup\n\n### What Salt affects\n\nIt can manage\n* salt-minion\n* salt-master\n* salt-api\n* salt-syndic\n* salt-pepper\n\nIt will manage\n* salt repo\n\n## Usage\n\nFor every part to install, minion, master, api, syndic and pepper there is a extra class you'll have to call.\n\n### Manage Salt minion / master / api / syndic\n\nThe classes for the minion, master, api and syndic are mostly the same.\n\nThe following example shows how to manage a Salt master. **You can use the same examples to manage the minion, api or syndic.** The minion, api and syndic have the same parameters.\n\nAny other parameters are documented in the [REFERENCE.md](REFERENCE.md)\n\n#### Basic setup\n\nInclude the `salt::master` class:\n```puppet\ninclude salt::master\n```\n\nSet some configuration parameters:\n```yaml\nsalt::master::configs:\n  log_level: info\n  fileserver_backend:\n    - roots\n```\nYou can copy the YAML structure from your existing config file and paste it here. It will paste the YAML as is into the config file.\n\nPer default the deep merging for all hashes is enabled (including the configs hash).\n\nYou could also use the `salt::master::config::create` resource to append some config parameter:\n```puppet\nsalt::master::config::create { 'append logging config':\n  data   =\u003e {\n    'log_level' =\u003e 'info',\n  },\n}\n```\n\n#### Install specific Salt version\n\nYou can disable the management of the repo:\n```yaml\nsalt::master::repo_manage: false\n```\n\n##### Pin to Major release\n\n```yaml\nsalt::master::package_release: \"major\"\nsalt::master::package_release_version: \"3002\"\n```\n* Installs the package repo for the release given with `salt::master::package_release_version`\n\n##### Pin to Minor release\n\n```yaml\nsalt::master::package_release: \"minor\"\nsalt::master::package_release_version: \"3002.1\"\nsalt::master::package_ensure: \"%{lookup('salt::master::package_release')}+ds-1\"\n```\n* Installs the package repo for the release given with `salt::master::package_release_version`\n* Installs the Salt master package in the version given with `salt::master::package_ensure`\n\n#### Install additional packages needed for Salt\n\n```yaml\nsalt::master::additional_packages:\n  - git\n  - python3-pygit2\n```\nThis is for example to use the gitfs backend in the Salt master config.\n\nMore information, what you can set in `salt::master::additional_packages` visit: https://forge.puppet.com/puppetlabs/stdlib/5.2.0/readme#ensure_packages\n\n\n### Manage Salt Pepper\n\nPepper contains a Python library and CLI scripts for accessing a remote salt-api instance. Official repo ist [here](https://github.com/saltstack/pepper)\n\nThe Pepper Puppet module creates per default the file `/etc/profile.d/saltstack-pepper.sh`. In this file you can set variables that should be available as exported variables in your login shell. Per default it will set the `PEPPERRC` environment variable to set the path of the Pepper config file.\n```yaml\nsalt::pepper::environment_dir: /etc/profile.d\nsalt::pepper::environment_file: \"%{lookup('salt::pepper::environment_dir')}/saltstack-pepper.sh\"\nsalt::pepper::environments:\n  - \"export PEPPERRC='%{lookup('salt::pepper::config_file')}'\"\n```\n\nIf you don't want to create and set environment variables, set `salt::pepper::environments` to undef:\n```yaml\nsalt::pepper::environments: ~\n```\n\nPer default it will install the Pepper module from pip3 (this is the official recommendation):\n```yaml\nsalt::pepper::package_ensure: 'latest'\nsalt::pepper::package_provider: pip3\n```\nYou can change the provider and the version if needed.\n\nTo configure pepper:\n```yaml\nsalt::pepper::configs:\n  main:\n    SALTAPI_URL: \"https://salt.abc.com/\"\n```\nThe .pepperrc config file needs to be in the INI format.\n\n## Reference\nSee [REFERENCE.md](REFERENCE.md)\n\n## Limitations\n\nCurrently this module only works for distros using **apt** as package manager.\n\nIf you want to use this module with any other package manager or any other distro, patch the repo.pp and open a pull request on GitHub.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoelkle%2Fpuppet-salt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoelkle%2Fpuppet-salt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoelkle%2Fpuppet-salt/lists"}