Showing
11 changed files
with
519 additions
and
0 deletions
.gitignore
0 → 100644
.kitchen.yml
0 → 100644
| 1 | +--- | ||
| 2 | +driver: | ||
| 3 | + name: ec2 | ||
| 4 | + aws_ssh_key_id: cfe_stg_20160222 | ||
| 5 | + security_group_ids: ["sg-7f6fda18"] | ||
| 6 | + region: us-west-2 | ||
| 7 | + availability_zone: b | ||
| 8 | + subnet_id: subnet-d530d8b1 | ||
| 9 | + instance_type: t2.micro | ||
| 10 | + associate_public_ip: true | ||
| 11 | + require_chef_omnibus: 12.12.15 | ||
| 12 | + shared_credentials_profile: earth | ||
| 13 | + | ||
| 14 | +provisioner: | ||
| 15 | + name: chef_zero | ||
| 16 | + | ||
| 17 | +platforms: | ||
| 18 | + - name: ubuntu-14.04 | ||
| 19 | + driver: | ||
| 20 | + image_id: ami-d732f0b7 | ||
| 21 | + transport: | ||
| 22 | + username: ubuntu | ||
| 23 | + ssh_key: ~/.ssh/cfe_stg_20160222.pem | ||
| 24 | + | ||
| 25 | +suites: | ||
| 26 | + - name: default | ||
| 27 | + run_list: | ||
| 28 | + - recipe[cfe-simple-iptables::default] | ||
| 29 | + attributes: |
CHANGELOG.md
0 → 100644
Gemfile
0 → 100644
LICENSE
0 → 100644
| 1 | + Apache License | ||
| 2 | + Version 2.0, January 2004 | ||
| 3 | + http://www.apache.org/licenses/ | ||
| 4 | + | ||
| 5 | + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION | ||
| 6 | + | ||
| 7 | + 1. Definitions. | ||
| 8 | + | ||
| 9 | + "License" shall mean the terms and conditions for use, reproduction, | ||
| 10 | + and distribution as defined by Sections 1 through 9 of this document. | ||
| 11 | + | ||
| 12 | + "Licensor" shall mean the copyright owner or entity authorized by | ||
| 13 | + the copyright owner that is granting the License. | ||
| 14 | + | ||
| 15 | + "Legal Entity" shall mean the union of the acting entity and all | ||
| 16 | + other entities that control, are controlled by, or are under common | ||
| 17 | + control with that entity. For the purposes of this definition, | ||
| 18 | + "control" means (i) the power, direct or indirect, to cause the | ||
| 19 | + direction or management of such entity, whether by contract or | ||
| 20 | + otherwise, or (ii) ownership of fifty percent (50%) or more of the | ||
| 21 | + outstanding shares, or (iii) beneficial ownership of such entity. | ||
| 22 | + | ||
| 23 | + "You" (or "Your") shall mean an individual or Legal Entity | ||
| 24 | + exercising permissions granted by this License. | ||
| 25 | + | ||
| 26 | + "Source" form shall mean the preferred form for making modifications, | ||
| 27 | + including but not limited to software source code, documentation | ||
| 28 | + source, and configuration files. | ||
| 29 | + | ||
| 30 | + "Object" form shall mean any form resulting from mechanical | ||
| 31 | + transformation or translation of a Source form, including but | ||
| 32 | + not limited to compiled object code, generated documentation, | ||
| 33 | + and conversions to other media types. | ||
| 34 | + | ||
| 35 | + "Work" shall mean the work of authorship, whether in Source or | ||
| 36 | + Object form, made available under the License, as indicated by a | ||
| 37 | + copyright notice that is included in or attached to the work | ||
| 38 | + (an example is provided in the Appendix below). | ||
| 39 | + | ||
| 40 | + "Derivative Works" shall mean any work, whether in Source or Object | ||
| 41 | + form, that is based on (or derived from) the Work and for which the | ||
| 42 | + editorial revisions, annotations, elaborations, or other modifications | ||
| 43 | + represent, as a whole, an original work of authorship. For the purposes | ||
| 44 | + of this License, Derivative Works shall not include works that remain | ||
| 45 | + separable from, or merely link (or bind by name) to the interfaces of, | ||
| 46 | + the Work and Derivative Works thereof. | ||
| 47 | + | ||
| 48 | + "Contribution" shall mean any work of authorship, including | ||
| 49 | + the original version of the Work and any modifications or additions | ||
| 50 | + to that Work or Derivative Works thereof, that is intentionally | ||
| 51 | + submitted to Licensor for inclusion in the Work by the copyright owner | ||
| 52 | + or by an individual or Legal Entity authorized to submit on behalf of | ||
| 53 | + the copyright owner. For the purposes of this definition, "submitted" | ||
| 54 | + means any form of electronic, verbal, or written communication sent | ||
| 55 | + to the Licensor or its representatives, including but not limited to | ||
| 56 | + communication on electronic mailing lists, source code control systems, | ||
| 57 | + and issue tracking systems that are managed by, or on behalf of, the | ||
| 58 | + Licensor for the purpose of discussing and improving the Work, but | ||
| 59 | + excluding communication that is conspicuously marked or otherwise | ||
| 60 | + designated in writing by the copyright owner as "Not a Contribution." | ||
| 61 | + | ||
| 62 | + "Contributor" shall mean Licensor and any individual or Legal Entity | ||
| 63 | + on behalf of whom a Contribution has been received by Licensor and | ||
| 64 | + subsequently incorporated within the Work. | ||
| 65 | + | ||
| 66 | + 2. Grant of Copyright License. Subject to the terms and conditions of | ||
| 67 | + this License, each Contributor hereby grants to You a perpetual, | ||
| 68 | + worldwide, non-exclusive, no-charge, royalty-free, irrevocable | ||
| 69 | + copyright license to reproduce, prepare Derivative Works of, | ||
| 70 | + publicly display, publicly perform, sublicense, and distribute the | ||
| 71 | + Work and such Derivative Works in Source or Object form. | ||
| 72 | + | ||
| 73 | + 3. Grant of Patent License. Subject to the terms and conditions of | ||
| 74 | + this License, each Contributor hereby grants to You a perpetual, | ||
| 75 | + worldwide, non-exclusive, no-charge, royalty-free, irrevocable | ||
| 76 | + (except as stated in this section) patent license to make, have made, | ||
| 77 | + use, offer to sell, sell, import, and otherwise transfer the Work, | ||
| 78 | + where such license applies only to those patent claims licensable | ||
| 79 | + by such Contributor that are necessarily infringed by their | ||
| 80 | + Contribution(s) alone or by combination of their Contribution(s) | ||
| 81 | + with the Work to which such Contribution(s) was submitted. If You | ||
| 82 | + institute patent litigation against any entity (including a | ||
| 83 | + cross-claim or counterclaim in a lawsuit) alleging that the Work | ||
| 84 | + or a Contribution incorporated within the Work constitutes direct | ||
| 85 | + or contributory patent infringement, then any patent licenses | ||
| 86 | + granted to You under this License for that Work shall terminate | ||
| 87 | + as of the date such litigation is filed. | ||
| 88 | + | ||
| 89 | + 4. Redistribution. You may reproduce and distribute copies of the | ||
| 90 | + Work or Derivative Works thereof in any medium, with or without | ||
| 91 | + modifications, and in Source or Object form, provided that You | ||
| 92 | + meet the following conditions: | ||
| 93 | + | ||
| 94 | + (a) You must give any other recipients of the Work or | ||
| 95 | + Derivative Works a copy of this License; and | ||
| 96 | + | ||
| 97 | + (b) You must cause any modified files to carry prominent notices | ||
| 98 | + stating that You changed the files; and | ||
| 99 | + | ||
| 100 | + (c) You must retain, in the Source form of any Derivative Works | ||
| 101 | + that You distribute, all copyright, patent, trademark, and | ||
| 102 | + attribution notices from the Source form of the Work, | ||
| 103 | + excluding those notices that do not pertain to any part of | ||
| 104 | + the Derivative Works; and | ||
| 105 | + | ||
| 106 | + (d) If the Work includes a "NOTICE" text file as part of its | ||
| 107 | + distribution, then any Derivative Works that You distribute must | ||
| 108 | + include a readable copy of the attribution notices contained | ||
| 109 | + within such NOTICE file, excluding those notices that do not | ||
| 110 | + pertain to any part of the Derivative Works, in at least one | ||
| 111 | + of the following places: within a NOTICE text file distributed | ||
| 112 | + as part of the Derivative Works; within the Source form or | ||
| 113 | + documentation, if provided along with the Derivative Works; or, | ||
| 114 | + within a display generated by the Derivative Works, if and | ||
| 115 | + wherever such third-party notices normally appear. The contents | ||
| 116 | + of the NOTICE file are for informational purposes only and | ||
| 117 | + do not modify the License. You may add Your own attribution | ||
| 118 | + notices within Derivative Works that You distribute, alongside | ||
| 119 | + or as an addendum to the NOTICE text from the Work, provided | ||
| 120 | + that such additional attribution notices cannot be construed | ||
| 121 | + as modifying the License. | ||
| 122 | + | ||
| 123 | + You may add Your own copyright statement to Your modifications and | ||
| 124 | + may provide additional or different license terms and conditions | ||
| 125 | + for use, reproduction, or distribution of Your modifications, or | ||
| 126 | + for any such Derivative Works as a whole, provided Your use, | ||
| 127 | + reproduction, and distribution of the Work otherwise complies with | ||
| 128 | + the conditions stated in this License. | ||
| 129 | + | ||
| 130 | + 5. Submission of Contributions. Unless You explicitly state otherwise, | ||
| 131 | + any Contribution intentionally submitted for inclusion in the Work | ||
| 132 | + by You to the Licensor shall be under the terms and conditions of | ||
| 133 | + this License, without any additional terms or conditions. | ||
| 134 | + Notwithstanding the above, nothing herein shall supersede or modify | ||
| 135 | + the terms of any separate license agreement you may have executed | ||
| 136 | + with Licensor regarding such Contributions. | ||
| 137 | + | ||
| 138 | + 6. Trademarks. This License does not grant permission to use the trade | ||
| 139 | + names, trademarks, service marks, or product names of the Licensor, | ||
| 140 | + origin of the Work and reproducing the content of the NOTICE file. | ||
| 141 | + | ||
| 142 | + 7. Disclaimer of Warranty. Unless required by applicable law or | ||
| 143 | + agreed to in writing, Licensor provides the Work (and each | ||
| 144 | + Contributor provides its Contributions) on an "AS IS" BASIS, | ||
| 145 | + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or | ||
| 146 | + implied, including, without limitation, any warranties or conditions | ||
| 147 | + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A | ||
| 148 | + PARTICULAR PURPOSE. You are solely responsible for determining the | ||
| 149 | + appropriateness of using or redistributing the Work and assume any | ||
| 150 | + risks associated with Your exercise of permissions under this License. | ||
| 151 | + | ||
| 152 | + 8. Limitation of Liability. In no event and under no legal theory, | ||
| 153 | + whether in tort (including negligence), contract, or otherwise, | ||
| 154 | + unless required by applicable law (such as deliberate and grossly | ||
| 155 | + negligent acts) or agreed to in writing, shall any Contributor be | ||
| 156 | + liable to You for damages, including any direct, indirect, special, | ||
| 157 | + incidental, or consequential damages of any character arising as a | ||
| 158 | + result of this License or out of the use or inability to use the | ||
| 159 | + Work (including but not limited to damages for loss of goodwill, | ||
| 160 | + work stoppage, computer failure or malfunction, or any and all | ||
| 161 | + other commercial damages or losses), even if such Contributor | ||
| 162 | + has been advised of the possibility of such damages. | ||
| 163 | + | ||
| 164 | + 9. Accepting Warranty or Additional Liability. While redistributing | ||
| 165 | + the Work or Derivative Works thereof, You may choose to offer, | ||
| 166 | + and charge a fee for, acceptance of support, warranty, indemnity, | ||
| 167 | + or other liability obligations and/or rights consistent with this | ||
| 168 | + License. However, in accepting such obligations, You may act only | ||
| 169 | + on Your own behalf and on Your sole responsibility, not on behalf | ||
| 170 | + of any other Contributor, and only if You agree to indemnify, | ||
| 171 | + defend, and hold each Contributor harmless for any liability | ||
| 172 | + incurred by, or claims asserted against, such Contributor by reason | ||
| 173 | + of your accepting any such warranty or additional liability. | ||
| 174 | + | ||
| 175 | + END OF TERMS AND CONDITIONS | ||
| 176 | + | ||
| 177 | + APPENDIX: How to apply the Apache License to your work. | ||
| 178 | + | ||
| 179 | + To apply the Apache License to your work, attach the following | ||
| 180 | + boilerplate notice, with the fields enclosed by brackets "{}" | ||
| 181 | + replaced with your own identifying information. (Don't include | ||
| 182 | + the brackets!) The text should be enclosed in the appropriate | ||
| 183 | + comment syntax for the file format. We also recommend that a | ||
| 184 | + file or class name and description of purpose be included on the | ||
| 185 | + same "printed page" as the copyright notice for easier | ||
| 186 | + identification within third-party archives. | ||
| 187 | + | ||
| 188 | + Copyright 2016, Chromedia Far East, Inc. | ||
| 189 | + | ||
| 190 | + Licensed under the Apache License, Version 2.0 (the "License"); | ||
| 191 | + you may not use this file except in compliance with the License. | ||
| 192 | + You may obtain a copy of the License at | ||
| 193 | + | ||
| 194 | + http://www.apache.org/licenses/LICENSE-2.0 | ||
| 195 | + | ||
| 196 | + Unless required by applicable law or agreed to in writing, software | ||
| 197 | + distributed under the License is distributed on an "AS IS" BASIS, | ||
| 198 | + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| 199 | + See the License for the specific language governing permissions and | ||
| 200 | + limitations under the License. |
README.md
0 → 100644
| 1 | +# cfe-simple-iptables-cookbook | ||
| 2 | + | ||
| 3 | +Just a wrapper around [`simple_iptables`](https://supermarket.chef.io/cookbooks/simple_iptables) to lessen typing. | ||
| 4 | + | ||
| 5 | +## Supported Platforms | ||
| 6 | + | ||
| 7 | +The cookbook `simple_iptables` supports the most common Linux distros. | ||
| 8 | + | ||
| 9 | +## Attributes | ||
| 10 | + | ||
| 11 | +<table> | ||
| 12 | + <tr> | ||
| 13 | + <th>Key</th> | ||
| 14 | + <th>Type</th> | ||
| 15 | + <th>Description</th> | ||
| 16 | + <th>Default</th> | ||
| 17 | + </tr> | ||
| 18 | + <tr> | ||
| 19 | + <td><tt>['cfe-simple-iptables']['filter']</tt></td> | ||
| 20 | + <td>Array</td> | ||
| 21 | + <td>Array of hashes that designate the rules to be added to table 'filter'</td> | ||
| 22 | + <td><tt>[]</tt></td> | ||
| 23 | + </tr> | ||
| 24 | + <tr> | ||
| 25 | + <td><tt>['cfe-simple-iptables']['nat']</tt></td> | ||
| 26 | + <td>Array</td> | ||
| 27 | + <td>Array of hashes that designate the rules to be added to table 'nat'</td> | ||
| 28 | + <td><tt>[]</tt></td> | ||
| 29 | + </tr> | ||
| 30 | + <tr> | ||
| 31 | + <td><tt>['cfe-simple-iptables']['mangle']</tt></td> | ||
| 32 | + <td>Array</td> | ||
| 33 | + <td>Array of hashes that designate the rules to be added to table 'mangle'</td> | ||
| 34 | + <td><tt>[]</tt></td> | ||
| 35 | + </tr> | ||
| 36 | + <tr> | ||
| 37 | + <td><tt>['cfe-simple-iptables']['raw']</tt></td> | ||
| 38 | + <td>Array</td> | ||
| 39 | + <td>Array of hashes that designate the rules to be added to table 'raw'</td> | ||
| 40 | + <td><tt>[]</tt></td> | ||
| 41 | + </tr> | ||
| 42 | +</table> | ||
| 43 | + | ||
| 44 | +## Usage | ||
| 45 | + | ||
| 46 | +### cfe-simple-iptables::default | ||
| 47 | + | ||
| 48 | +Each element in the array attributes above is a hash with the following keys: | ||
| 49 | +``` | ||
| 50 | + :name # Mandatory. Must not be the chain name. | ||
| 51 | + :jump # Defaults to 'ACCEPT' | ||
| 52 | + :chain # Defaults to 'INPUT' | ||
| 53 | + :direction # Defaults to the value of :chain | ||
| 54 | + :rule # Defaults to '' | ||
| 55 | + :weight # Defaults to 50 | ||
| 56 | +``` | ||
| 57 | + | ||
| 58 | +Each of the above keys correspond to a similarly-named attribute in the `simple_iptables_rule` LWRP provided by the `simple_iptables` cookbook. This LWRP will then be called for each of those hashes. | ||
| 59 | + | ||
| 60 | +The hash keys can also be shortened to just their first letters. For example: | ||
| 61 | +``` | ||
| 62 | +default['cfe-simple-iptables']['filter'] = [ | ||
| 63 | + { | ||
| 64 | + :n => 'http', | ||
| 65 | + :r => ['--proto tcp --dport 80', '--proto tcp --dport 443'], | ||
| 66 | + :w => 20 | ||
| 67 | + } | ||
| 68 | +] | ||
| 69 | +``` | ||
| 70 | + | ||
| 71 | +After setting proper node attributes, include `cfe-simple-iptables` in your node's `run_list`: | ||
| 72 | + | ||
| 73 | +```json | ||
| 74 | +{ | ||
| 75 | + "run_list": [ | ||
| 76 | + "recipe[cfe-simple-iptables::default]" | ||
| 77 | + ] | ||
| 78 | +} | ||
| 79 | +``` | ||
| 80 | + | ||
| 81 | +## License and Authors | ||
| 82 | + | ||
| 83 | +Author:: Earth U. (<sysadmin @ chromedia.com>) |
attributes/default.rb
0 → 100644
| 1 | +# | ||
| 2 | +# Author:: Earth U (<sysadmin @ chromedia.com>) | ||
| 3 | +# Cookbook Name:: cfe-simple-iptables | ||
| 4 | +# Attribute:: default | ||
| 5 | +# | ||
| 6 | +# Copyright (C) 2016, Chromedia Far East, Inc. | ||
| 7 | +# | ||
| 8 | +# Licensed under the Apache License, Version 2.0 (the "License"); | ||
| 9 | +# you may not use this file except in compliance with the License. | ||
| 10 | +# You may obtain a copy of the License at | ||
| 11 | +# | ||
| 12 | +# http://www.apache.org/licenses/LICENSE-2.0 | ||
| 13 | +# | ||
| 14 | +# Unless required by applicable law or agreed to in writing, software | ||
| 15 | +# distributed under the License is distributed on an "AS IS" BASIS, | ||
| 16 | +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| 17 | +# See the License for the specific language governing permissions and | ||
| 18 | +# limitations under the License. | ||
| 19 | +# | ||
| 20 | + | ||
| 21 | +default['cfe-simple-iptables']['filter'] = [] | ||
| 22 | +default['cfe-simple-iptables']['nat'] = [] | ||
| 23 | +default['cfe-simple-iptables']['mangle'] = [] | ||
| 24 | +default['cfe-simple-iptables']['raw'] = [] |
chefignore
0 → 100644
| 1 | +# Put files/directories that should be ignored in this file when uploading | ||
| 2 | +# or sharing to the community site. | ||
| 3 | +# Lines that start with '# ' are comments. | ||
| 4 | + | ||
| 5 | +# OS generated files # | ||
| 6 | +###################### | ||
| 7 | +.DS_Store | ||
| 8 | +Icon? | ||
| 9 | +nohup.out | ||
| 10 | +ehthumbs.db | ||
| 11 | +Thumbs.db | ||
| 12 | + | ||
| 13 | +# SASS # | ||
| 14 | +######## | ||
| 15 | +.sass-cache | ||
| 16 | + | ||
| 17 | +# EDITORS # | ||
| 18 | +########### | ||
| 19 | +\#* | ||
| 20 | +.#* | ||
| 21 | +*~ | ||
| 22 | +*.sw[a-z] | ||
| 23 | +*.bak | ||
| 24 | +REVISION | ||
| 25 | +TAGS* | ||
| 26 | +tmtags | ||
| 27 | +*_flymake.* | ||
| 28 | +*_flymake | ||
| 29 | +*.tmproj | ||
| 30 | +.project | ||
| 31 | +.settings | ||
| 32 | +mkmf.log | ||
| 33 | + | ||
| 34 | +## COMPILED ## | ||
| 35 | +############## | ||
| 36 | +a.out | ||
| 37 | +*.o | ||
| 38 | +*.pyc | ||
| 39 | +*.so | ||
| 40 | +*.com | ||
| 41 | +*.class | ||
| 42 | +*.dll | ||
| 43 | +*.exe | ||
| 44 | +*/rdoc/ | ||
| 45 | + | ||
| 46 | +# Testing # | ||
| 47 | +########### | ||
| 48 | +.watchr | ||
| 49 | +.rspec | ||
| 50 | +spec/* | ||
| 51 | +spec/fixtures/* | ||
| 52 | +test/* | ||
| 53 | +features/* | ||
| 54 | +Guardfile | ||
| 55 | +Procfile | ||
| 56 | + | ||
| 57 | +# SCM # | ||
| 58 | +####### | ||
| 59 | +.git | ||
| 60 | +*/.git | ||
| 61 | +.gitignore | ||
| 62 | +.gitmodules | ||
| 63 | +.gitconfig | ||
| 64 | +.gitattributes | ||
| 65 | +.svn | ||
| 66 | +*/.bzr/* | ||
| 67 | +*/.hg/* | ||
| 68 | +*/.svn/* | ||
| 69 | + | ||
| 70 | +# Berkshelf # | ||
| 71 | +############# | ||
| 72 | +cookbooks/* | ||
| 73 | +tmp | ||
| 74 | + | ||
| 75 | +# Cookbooks # | ||
| 76 | +############# | ||
| 77 | +CONTRIBUTING | ||
| 78 | +CHANGELOG* | ||
| 79 | + | ||
| 80 | +# Strainer # | ||
| 81 | +############ | ||
| 82 | +Colanderfile | ||
| 83 | +Strainerfile | ||
| 84 | +.colander | ||
| 85 | +.strainer | ||
| 86 | + | ||
| 87 | +# Vagrant # | ||
| 88 | +########### | ||
| 89 | +.vagrant | ||
| 90 | +Vagrantfile | ||
| 91 | + | ||
| 92 | +# Travis # | ||
| 93 | +########## | ||
| 94 | +.travis.yml |
metadata.rb
0 → 100644
| 1 | +name 'cfe-simple-iptables' | ||
| 2 | +maintainer 'Chromedia Far East, Inc.' | ||
| 3 | +maintainer_email 'sysadmin@chromedia.com' | ||
| 4 | +license 'Apache License' | ||
| 5 | +description 'Simplifies setup of local iptables in Chromedia' | ||
| 6 | +long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) | ||
| 7 | +version '0.1.0' | ||
| 8 | + | ||
| 9 | +depends 'simple_iptables', '~> 0.7.5' |
recipes/default.rb
0 → 100644
| 1 | +# | ||
| 2 | +# Author:: Earth U (<sysadmin @ chromedia.com>) | ||
| 3 | +# Cookbook Name:: cfe-simple-iptables | ||
| 4 | +# Recipe:: default | ||
| 5 | +# | ||
| 6 | +# Copyright (C) 2016, Chromedia Far East, Inc. | ||
| 7 | +# | ||
| 8 | +# Licensed under the Apache License, Version 2.0 (the "License"); | ||
| 9 | +# you may not use this file except in compliance with the License. | ||
| 10 | +# You may obtain a copy of the License at | ||
| 11 | +# | ||
| 12 | +# http://www.apache.org/licenses/LICENSE-2.0 | ||
| 13 | +# | ||
| 14 | +# Unless required by applicable law or agreed to in writing, software | ||
| 15 | +# distributed under the License is distributed on an "AS IS" BASIS, | ||
| 16 | +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| 17 | +# See the License for the specific language governing permissions and | ||
| 18 | +# limitations under the License. | ||
| 19 | +# | ||
| 20 | + | ||
| 21 | +include_recipe 'simple_iptables' | ||
| 22 | + | ||
| 23 | +def form_rules(tablex) | ||
| 24 | + node[cookbook_name][tablex].each do |e| | ||
| 25 | + n = e[:name] || e[:n] | ||
| 26 | + j = e[:jump] || ( e[:j] || 'ACCEPT' ) | ||
| 27 | + c = e[:chain] || ( e[:c] || 'INPUT' ) | ||
| 28 | + d = e[:direction] || ( e[:d] || c ) | ||
| 29 | + r = e[:rule] || ( e[:r] || '' ) | ||
| 30 | + w = e[:weight] || ( e[:w] || 50 ) | ||
| 31 | + | ||
| 32 | + simple_iptables_rule n do | ||
| 33 | + table tablex | ||
| 34 | + jump j | ||
| 35 | + chain c | ||
| 36 | + direction d | ||
| 37 | + rule r | ||
| 38 | + weight w | ||
| 39 | + end | ||
| 40 | + end | ||
| 41 | +end | ||
| 42 | + | ||
| 43 | +form_rules 'filter' | ||
| 44 | +form_rules 'nat' | ||
| 45 | +form_rules 'mangle' | ||
| 46 | +form_rules 'raw' |