https://github.com/puppetlabs/bolt-project
Example Bolt project directory
https://github.com/puppetlabs/bolt-project
Last synced: 5 months ago
JSON representation
Example Bolt project directory
- Host: GitHub
- URL: https://github.com/puppetlabs/bolt-project
- Owner: puppetlabs
- Created: 2019-05-07T21:30:34.000Z (about 6 years ago)
- Default Branch: main
- Last Pushed: 2020-11-30T17:37:27.000Z (over 4 years ago)
- Last Synced: 2025-01-30T00:23:41.931Z (5 months ago)
- Language: Pascal
- Size: 11.7 KB
- Stars: 4
- Watchers: 76
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# Skeleton Bolt project directory
Bolt is a Ruby command-line tool for executing commands, scripts, and tasks on remote systems using SSH and WinRM.
* Executes commands on remote *nix and Windows systems*.
* Distributes and execute scripts, such as Bash, PowerShell, Python.
* Scales to more than 1000 concurrent connections.
* Supports industry standard protocols (SSH/SCP, WinRM/PSRP) and authentication methods (password, publickey).> Installing bolt from a gem is not recommended since core modules will not be available. Please [install bolt](https://puppet.com/docs/bolt/latest/bolt_installing.md) as a package
This repository is an example skeleton Bolt project. A Bolt project contains all of the configuration, code, and data loaded by Bolt. Read about [Bolt projects](https://puppet.com/docs/bolt/latest/projects.html) to learn more.
## Directory structure
```
├── .modules
├── bolt-project.yaml
├── data
│ └── common.yaml
├── hiera.yaml
├── inventory.yaml
├── modules
├── Puppetfile
├── README.md
├── manifests
│ └── init.pp
├── plans
│ └── init.pp
└── tasks
├── init.json
└── init.sh
```
### bolt-project.yaml
The `bolt-project.yaml` file sets configuration options in the context of the bolt project. [bolt-project.yaml reference](https://puppet.com/docs/bolt/latest/bolt_project_reference.html)### data
The `data` directory is the default location to add `hiera` data for the project. [Hiera reference](https://puppet.com/docs/bolt/latest/applying_manifest_blocks.html#concept-4446)### hiera.yaml
The default location for hiera configuration. [Hiera configuration reference](https://puppet.com/docs/puppet/latest/hiera_config_yaml_5.html)### inventory.yaml
The `inventory.yaml` file contains information about targets. You can group targets and define connection configuration. [inventory.yaml reference](https://puppet.com/docs/bolt/latest/inventory_file.html)### Puppetfile
The `Puppetfile` acts as a lock file for modules listed in `bolt-project.yaml`. Bolt generates a
Puppetfile each time you modify your modules with a Bolt command. Do not edit the Puppetfile
directly. Instead, use Bolt commands to manage your modules, and rely on Bolt to manage the
Puppetfile.### .modules
This is where modules defined in `bolt-project.yaml` are installed.### modules
The `modules` directory contains project-specific `Bolt` modules, such as custom modules under
development.### manifests
The `manifests` directory is used for Puppet manifest code that may be applied with Bolt.### plans
The `plans` directory contains plans. [Plans reference](https://puppet.com/docs/bolt/latest/plans.html)### tasks
The `tasks` directory contains tasks. [Tasks reference](https://puppet.com/docs/bolt/latest/tasks.html)## Getting Help
* [#bolt on Slack](https://slack.puppet.com/) - Join the Bolt developers and community