Commit 176f1a4d6ac1841f366d2cdddbf820907ba0bdaa
1 parent
d512c2e310
Small typo and grammar correction in modules doc
Showing 1 changed file with 2 additions and 2 deletions Inline Diff
docs/modules.md
# Writing Puppet modules for Boxen | 1 | 1 | # Writing Puppet modules for Boxen | |
2 | 2 | |||
Writing Puppet modules for Boxen is easy. | 3 | 3 | Writing Puppet modules for Boxen is easy. | |
4 | 4 | |||
## Tooling | 5 | 5 | ## Tooling | |
6 | 6 | |||
* Always use Bundler | 7 | 7 | * Always use Bundler | |
* Always use librarian-puppet | 8 | 8 | * Always use librarian-puppet | |
* Always use puppet-lint | 9 | 9 | * Always use puppet-lint | |
* Always use rspec-puppet | 10 | 10 | * Always use rspec-puppet | |
11 | 11 | |||
## Directory structure | 12 | 12 | ## Directory structure | |
13 | 13 | |||
We follow Puppet's recommended structure very closely. | 14 | 14 | We follow Puppet's recommended structure very closely. | |
Here's the directory structure from the boxen Puppet module: | 15 | 15 | Here's the directory structure from the boxen Puppet module: | |
16 | 16 | |||
``` | 17 | 17 | ``` | |
├── Gemfile | 18 | 18 | ├── Gemfile | |
├── Gemfile.lock | 19 | 19 | ├── Gemfile.lock | |
├── README.md | 20 | 20 | ├── README.md | |
├── files | 21 | 21 | ├── files | |
│ ├── README.md | 22 | 22 | │ ├── README.md | |
│ └── gemrc | 23 | 23 | │ └── gemrc | |
├── lib | 24 | 24 | ├── lib | |
│ ├── facter | 25 | 25 | │ ├── facter | |
│ │ ├── boxen.rb | 26 | 26 | │ │ ├── boxen.rb | |
│ │ └── root_encrypted.rb | 27 | 27 | │ │ └── root_encrypted.rb | |
│ └── puppet | 28 | 28 | │ └── puppet | |
│ ├── parser | 29 | 29 | │ ├── parser | |
│ │ └── functions | 30 | 30 | │ │ └── functions | |
│ │ ├── file_exists.rb | 31 | 31 | │ │ ├── file_exists.rb | |
│ │ ├── include_all_projects.rb | 32 | 32 | │ │ ├── include_all_projects.rb | |
│ │ └── include_projects_from_boxen_cli.rb | 33 | 33 | │ │ └── include_projects_from_boxen_cli.rb | |
│ ├── provider | 34 | 34 | │ ├── provider | |
│ │ ├── package | 35 | 35 | │ │ ├── package | |
│ │ │ ├── compressed_app.rb | 36 | 36 | │ │ │ ├── compressed_app.rb | |
│ │ │ ├── hax.rb | 37 | 37 | │ │ │ ├── hax.rb | |
│ │ │ └── homebrew.rb | 38 | 38 | │ │ │ └── homebrew.rb | |
│ │ ├── repository | 39 | 39 | │ │ ├── repository | |
│ │ │ └── git.rb | 40 | 40 | │ │ │ └── git.rb | |
│ │ └── service | 41 | 41 | │ │ └── service | |
│ │ └── ghlaunchd.rb | 42 | 42 | │ │ └── ghlaunchd.rb | |
│ └── type | 43 | 43 | │ └── type | |
│ └── repository.rb | 44 | 44 | │ └── repository.rb | |
├── manifests | 45 | 45 | ├── manifests | |
│ ├── bin.pp | 46 | 46 | │ ├── bin.pp | |
│ ├── config.pp | 47 | 47 | │ ├── config.pp | |
│ ├── development | 48 | 48 | │ ├── development | |
│ │ └── project.pp | 49 | 49 | │ │ └── project.pp | |
│ ├── development.pp | 50 | 50 | │ ├── development.pp | |
│ ├── environment.pp | 51 | 51 | │ ├── environment.pp | |
│ ├── gemrc.pp | 52 | 52 | │ ├── gemrc.pp | |
│ ├── janitor.pp | 53 | 53 | │ ├── janitor.pp | |
│ ├── osx_defaults.pp | 54 | 54 | │ ├── osx_defaults.pp | |
│ ├── personal.pp | 55 | 55 | │ ├── personal.pp | |
│ ├── profile.pp | 56 | 56 | │ ├── profile.pp | |
│ ├── project.pp | 57 | 57 | │ ├── project.pp | |
│ ├── repo.pp | 58 | 58 | │ ├── repo.pp | |
│ ├── security.pp | 59 | 59 | │ ├── security.pp | |
│ ├── sudoers.pp | 60 | 60 | │ ├── sudoers.pp | |
│ └── zipped_widget.pp | 61 | 61 | │ └── zipped_widget.pp | |
├── script | 62 | 62 | ├── script | |
│ ├── bootstrap | 63 | 63 | │ ├── bootstrap | |
│ ├── cibuild | 64 | 64 | │ ├── cibuild | |
│ ├── lint | 65 | 65 | │ ├── lint | |
│ ├── specs | 66 | 66 | │ ├── specs | |
│ └── syntax | 67 | 67 | │ └── syntax | |
├── spec | 68 | 68 | ├── spec | |
│ ├── classes | 69 | 69 | │ ├── classes | |
│ │ ├── bin_spec.rb | 70 | 70 | │ │ ├── bin_spec.rb | |
│ │ └── environment_spec.rb | 71 | 71 | │ │ └── environment_spec.rb | |
│ ├── fixtures | 72 | 72 | │ ├── fixtures | |
│ │ ├── Puppetfile | 73 | 73 | │ │ ├── Puppetfile | |
│ │ ├── Puppetfile.lock | 74 | 74 | │ │ ├── Puppetfile.lock | |
│ │ ├── manifests | 75 | 75 | │ │ ├── manifests | |
│ │ │ └── site.pp | 76 | 76 | │ │ │ └── site.pp | |
│ │ └── modules | 77 | 77 | │ │ └── modules | |
│ │ ├── boxen | 78 | 78 | │ │ ├── boxen | |
│ │ │ ├── files -> ../../../../files | 79 | 79 | │ │ │ ├── files -> ../../../../files | |
│ │ │ ├── lib -> ../../../../lib | 80 | 80 | │ │ │ ├── lib -> ../../../../lib | |
│ │ │ ├── manifests -> ../../../../manifests | 81 | 81 | │ │ │ ├── manifests -> ../../../../manifests | |
│ │ │ └── templates -> ../../../../templates | 82 | 82 | │ │ │ └── templates -> ../../../../templates | |
│ │ └── projects | 83 | 83 | │ │ └── projects | |
│ │ └── manifests | 84 | 84 | │ │ └── manifests | |
│ │ └── test.pp | 85 | 85 | │ │ └── test.pp | |
│ ├── spec_helper.rb | 86 | 86 | │ ├── spec_helper.rb | |
│ └── unit | 87 | 87 | │ └── unit | |
│ └── puppet | 88 | 88 | │ └── puppet | |
│ └── type | 89 | 89 | │ └── type | |
│ └── repository_spec.rb | 90 | 90 | │ └── repository_spec.rb | |
└── templates | 91 | 91 | └── templates | |
├── config.sh.erb | 92 | 92 | ├── config.sh.erb | |
├── env.sh.erb | 93 | 93 | ├── env.sh.erb | |
└── gh_creds.sh.erb | 94 | 94 | └── gh_creds.sh.erb | |
``` | 95 | 95 | ``` | |
96 | 96 | |||
Of note, we do not use things like `rake` to drive specs. | 97 | 97 | Of note, we do not use things like `rake` to drive specs. | |
Instead, we bias towards simple, portable shell scripts that can be consumed | 98 | 98 | Instead, we bias towards simple, portable shell scripts that can be consumed | |
by other shell scripts. | 99 | 99 | by other shell scripts. | |
100 | 100 | |||
## Facts and variables | 101 | 101 | ## Facts and variables | |
102 | 102 |