From 2fe5d7e070a7f2e1ff1450f8a4264d8f987bd2f8 Mon Sep 17 00:00:00 2001 From: Mihai Vultur Date: Mon, 10 Apr 2017 13:17:34 +0000 Subject: [PATCH] Docs: Add README.md, CHANGELOG.md, LICENSE files --- CHANGELOG.md | 22 ++ DevOpsVPC.png | Bin 0 -> 91623 bytes LICENSE | 674 ++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 156 ++++++++++++ 4 files changed, 852 insertions(+) create mode 100644 CHANGELOG.md create mode 100644 DevOpsVPC.png create mode 100644 LICENSE create mode 100644 README.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..aad73e6 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,22 @@ +Copyright (c) 2017-Preset Mihai Vultur, All Rights Reserved. + +CHANGELOG +========= +## en_infra_aws + +This file is used to list changes made in each version of the `en_infra_aws` project. + +### Version 0.1.0 +Initial implementation of the AWS VPC using terraform. +VPC + - Public subnet + - Private subnet + - Separate security groups for public and private subnet + - Uploaded public ssh-key to be used for connecting to EC2 instances + - NAT instance assigned to the public subnet + - Test Instance assigned to the private subnet + - Working NAT + +TO DO: +Refactoring + diff --git a/DevOpsVPC.png b/DevOpsVPC.png new file mode 100644 index 0000000000000000000000000000000000000000..9f9be470f0c86a9924e73c32f2dc77a67024f7c0 GIT binary patch literal 91623 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 + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {one line to give the program's name and a brief idea of what it does.} + Copyright (C) {year} {name of author} + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + {project} Copyright (C) {year} {fullname} + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/README.md b/README.md new file mode 100644 index 0000000..0dcae8e --- /dev/null +++ b/README.md @@ -0,0 +1,156 @@ +[//]: # (Describe the project's purpose.) + +## en_infra_aws - Terraform + +The `en_infra_aws` project goal is to automate the configuration of the AWS infrastructure used by our DevOps team. +This project uses Terraform to accomplish this goal. + +[//]: # (TOC.) + +- [About this project](#en_infra_aws---terraform) +- [What is terraform](#what-is-terraform) +- [Diagram for the infra created by this project](#diagram-for-the-infra-created-by-this-project) +- [Programming languages used](#programming-languages-used-hcl) +- [Supported Cloud Providers by this project](#supported-cloud-providers-by-this-project) +- [Dependencies](#dependencies) +- [Prerequisites](#prerequisites) +- [Exposed configuration](#exposed-configuration) + - [VPC creation related](#vpc-creation-related) + - [Networking related](#networking-related) + - [Security related](#security-related) + - [Instances related](#instances-related) + - [Other variables](#other-variables) +- [Usage](#usage) + - [Inspect the infrastructure](#make-plan) + - [Apply changes](#make-apply) + - [Destroy managed infrastructure](#make-destroy) + - [Info about infrastructure state](#make-info) + - [Get modules](#make-get) +- [License](#license-and-authors) + +[//]: # (Describe the technology used.) + +## What is terraform + +[Terraform][1] provides a common configuration to launch infrastructure from physical to cloud providers. + +Simple file based configuration gives you a single view of your entire infrastructure. + + +## Diagram for the Infra created by this project +![AWS Cloud Diagram](https://raw.githubusercontent.com/xxmitsu/en_infra_aws/master/DevOpsVPC.png) + +[//]: # (Identify programming languages used.) +## Programming languages used: HCL +* [HCL][2] is a structured configuration language that is both human and machine friendly (fully JSON compatible). +* [GNU Make Syntax][3]. We are using make with a set of rules to help us initiate the required terraform steps for the infrastructure automation. + +[//]: # (Identify supported Cloud Providers.) + +## Supported Cloud Providers by this project +|Cloud Provider | Implemented automation of the following resources | +|:--------:|:--------| +| `AWS` |
  • `VPC`
  • `Networking`: (Subnets, Routes, IGW, Security Groups)
  • ssh-key-upload
  • `NAT EC2` instance with `EIP`
| + +[//]: # (List Project dependencie.) + +## Dependencies +|Dependency |Comments | +|:---------|:----------| +| `terraform` | This project was developed and tested using `Terraform v0.9.2` | +| `make` | `Makefile` helper file was developed and tested using `GNU Make 3.82` | + + +[//]: # (List Project Prerequisites.) +## Prerequisites +You need to specify credentials profile in `~/.aws/credentials` by `aws configure --profile default` option. Terraform will use those credentials. +```bash +$ cat ~/.aws/credentials +[default] +aws_access_key_id = someSecretKey +aws_secret_access_key = someSecretPassKey +``` + +You need to install terraform by downloading the [appropriate package][4] for your operating system then extract the zip archive.
+Terraform runs as a single binary named terraform. + +## Exposed configuration +Project's data that can vary from one environment to another was exposed using variables in the `infrastructure.conf` file. +This file is automatically loaded when invoking terraform by the `Makefile wrapper`.
+Refer to the `variables.tf` file in the `DevOpsVPC` directory for the default values. + +[//]: # (Segment attributes by environment if multiple environments are created) + +[//]: # (Copy section for multiple separated environments.) + +[//]: # (### Top Level Variables) +[//]: # (|Variable |Type |Description |Comments |) +[//]: # (|:---------|:----|:-----------|:--------|) +[//]: # (| | | | |) + +### VPC creation related +|Variable |Type |Description |Comments | +|:---------|:----|:-----------|:--------| +| `vpc_name` | *String* | Name of our `VPC`. | Mandatory | +| `aws_region` | *String* | AWS region used for our infrastructure deployment. | Optional, defaults to `us-east-1` if not specified | +| `aws_azs` | *List* | AWS Availability zones list in which to distribute subnets. | Mandatory based on the `aws_region` | + +### Networking related +|Variable |Type |Description |Comments | +|:---------|:----|:-----------|:--------| +| `vpc_cidr` | *String* | The `CIDR block` for our VPC. | Mandatory | +| `vpc_private_subnets` | *List* | List of `CIDR blocks` for our private subnets.
Must be in range of the `vpc_cidr`. | Mandatory | +| `vpc_public_subnets` | *List* | List of `CIDR blocks` for our public subnets.
Must be in range of the `vpc_cidr`. | Mandatory | +| `enable_dns_support` | *Boolean* | Should be `true` if you want to use private DNS within the VPC. | Optional, defaults to `true` | +| `enable_dns_hostnames` | *Boolean* | Should be true if you want to use private DNS within the VPC. | Optional, defaults to `true` | + +### Security related +|Variable |Type |Description |Comments | +|:---------|:----|:-----------|:--------| +| `ssh_public_key_name` | *String* | Name of the `SSH Key` that will be uploaded into AWS and used for SSH into instances. | Mandatory | +| `ssh_public_key_file` | *String* | Location for the public ssh key file on your local workstation. | Mandatory | + +### Instances related +|Variable |Type |Description |Comments | +|:---------|:----|:-----------|:--------| +| `ec2_os` | *String* | OS version that will be used to find AMI image for EC2 creation. | Mandatory | + +### Other variables +|Variable |Type |Description |Comments | +|:---------|:----|:-----------|:--------| +| `default_tags` | *Map* | A map of tags to add to all resources for audit, identification, etc. | Optional | + +--- +## **Usage** + +[//]: # (Identify the commands -- that are meant to be called by a user.) + +## Terraform commands are wrapped by the `Makefile` script. +### make plan +Will read our custom `infrastructure.conf`, process the tf files then compare the local tfstate with the remote state of the infrastructure and will tell you what needs to be done without actually doing it. + +### make apply +Will read our custom `infrastructure.conf`, will process the tf filse and send the commands to `AWS API` to provision the infrastructure. + +### make destroy +Will read our custom `infrastructure.conf`, do a `terraform plan` then `terraform destroy`.
+`**WARNING!**` This command destroys the entire `terraform controlled` infrastructure without any notice! Don't use it in production. + +### make info +Will parse the list of the `terraform state` and show a detailed human readable output so that we could inspect our infrastructure. + +### make get +Gets any modules prior to using them. + + +--- +## **License and Authors** + +Maintainer: 'Mihai Vultur'
+License: 'GPL v3'
+ + +[1]: http://www.terraform.io/ "Terraform" +[2]: https://github.com/hashicorp/hcl "HCL" +[3]: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html "Make" +[4]: https://www.terraform.io/downloads.html "Download Terraform"