{"id":21424970,"url":"https://github.com/jacksoncage/salt-workstation","last_synced_at":"2025-07-14T08:32:03.486Z","repository":{"id":150324478,"uuid":"47883637","full_name":"jacksoncage/salt-workstation","owner":"jacksoncage","description":"Salt configuration for my workstation","archived":false,"fork":false,"pushed_at":"2017-03-05T18:58:10.000Z","size":116,"stargazers_count":7,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-08T05:45:12.347Z","etag":null,"topics":["desktop","masterless","salt-configuration","salt-minion","saltstack","workstations"],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/jacksoncage.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":"2015-12-12T15:37:36.000Z","updated_at":"2024-04-08T14:33:29.000Z","dependencies_parsed_at":"2023-05-04T19:48:51.043Z","dependency_job_id":null,"html_url":"https://github.com/jacksoncage/salt-workstation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jacksoncage/salt-workstation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacksoncage%2Fsalt-workstation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacksoncage%2Fsalt-workstation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacksoncage%2Fsalt-workstation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacksoncage%2Fsalt-workstation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jacksoncage","download_url":"https://codeload.github.com/jacksoncage/salt-workstation/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacksoncage%2Fsalt-workstation/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265262626,"owners_count":23736433,"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":["desktop","masterless","salt-configuration","salt-minion","saltstack","workstations"],"created_at":"2024-11-22T21:25:59.447Z","updated_at":"2025-07-14T08:32:03.478Z","avatar_url":"https://github.com/jacksoncage.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"Salt configuration for workstations\n============\n[![Build Status](https://travis-ci.org/jacksoncage/salt-workstation.svg)](https://travis-ci.org/jacksoncage/salt-workstation)\n\nSalt configuration for configure and setup my current workstation. Optimized for my current setup which is a Thinkpad X220 running debian jessie.\n\nInfluenced by [linux-salted](https://github.com/TTimo/linux-salted) and [yourlabs salt formulas testing](http://blog.yourlabs.org/post/118987515453/testing-saltstack-formulas-on-travis-ci), dotfiles are influenced/copied from [Jessie Frazelle](https://github.com/jessfraz/dotfiles).\n\n### Setup and apply\n\n#### Automatic\n\nCheckout this repo and run the included install script which will run all manual steps.\n\n```\nmake install\nmake apply\n```\n\n\n#### Manual\n\n\n##### 1. Install salt-minion\n\n```\ncurl -L https://bootstrap.saltstack.com -o install_salt.sh\nsudo sh install_salt.sh\n```\n\n##### 2. Set salt to run masterless\n\nTo instruct the minion to not look for a master, the file_client configuration option needs to be set in the minion configuration file.\n\nIn `/ect/salt/minion` set `file_client: local`\n\n```\n echo \"master: localhost \\\nfile_client: local\" \u003e /etc/salt/minion\n```\n\n*NOTE: When running Salt in masterless mode, do not run the salt-minion daemon. Otherwise, it will attempt to connect to a master and fail. The salt-call command stands on its own and does not need the salt-minion daemon.*\n\n#### 3. Apply state\n\nNow you ready to apply states or configure the entire system with a highstate.\n\n```\nsalt-call --local state.highstate -l debug\n```\n\nyou can also apply each state individual\n\n```\nsalt-call --local state.sls base -l debug\n```\n\n### Testing\n\nThis command will apply highstate on localhost with the example pillar.\n\n```\nsalt-call state.highstate --local --retcode-passthrough --file-root=$(pwd)/state --pillar-root=$(pwd)/pillar -l debug\n```\n\n#### inside a container\n\n```\ndocker run --rm -it \\\n  --name=thinkpad \\\n  -h thinkpad \\\n  -e SALT_NAME=thinkpad \\\n  -e SALT_USE=minion \\\n  -v `pwd`/:/srv/salt:rw \\\n  -v /etc/localtime:/etc/localtime \\\n  quay.io/jacksoncage/salt\n  salt-call state.highstate \\\n  --local --retcode-passthrough \\\n  --file-root=$(pwd)/state \\\n  --pillar-root=$(pwd)/pillar\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacksoncage%2Fsalt-workstation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjacksoncage%2Fsalt-workstation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacksoncage%2Fsalt-workstation/lists"}