75 changed files with 0 additions and 4758 deletions
@ -1 +0,0 @@ |
|||||
Subproject commit 1f7e6b9525bf44cb111d2bd27f3b975fd3b60828 |
|
@ -1,71 +0,0 @@ |
|||||
# INSTALL |
|
||||
|
|
||||
## Clone repo |
|
||||
|
|
||||
|
|
||||
git clone https://git.swarmlab.io:3000/swarmlab/swarmlab-sec.git |
|
||||
|
|
||||
|
|
||||
|
|
||||
## create a directory structure as shown below |
|
||||
|
|
||||
> Copy files from install Directory |
|
||||
|
|
||||
``` |
|
||||
/ <----- *Note* |
|
||||
├── etc |
|
||||
│ ├── bash_completion.d |
|
||||
│ │ └── swarmlab-mpi-autocompletion.sh |
|
||||
│ └── profile.d |
|
||||
│ └── swarmlab-mpi.sh |
|
||||
└── usr |
|
||||
└── share |
|
||||
└── swarmlab.io |
|
||||
└── mpi |
|
||||
├── commands |
|
||||
├── LICENSE |
|
||||
├── project |
|
||||
│ └── mpi_hello_world.c |
|
||||
├── ssh |
|
||||
│ ├── id_rsa |
|
||||
│ └── id_rsa.pub |
|
||||
└── swarmlab-mpi |
|
||||
``` |
|
||||
|
|
||||
**sudo chmod +x -R /usr/share/swarmlab.io** |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
## Add the following lines to the end of /home/user_account/_.bashrc file |
|
||||
|
|
||||
``` |
|
||||
if [ -d /etc/profile.d ]; then |
|
||||
for i in /etc/profile.d/*.sh; do |
|
||||
if [ -r $i ]; then |
|
||||
. $i |
|
||||
fi |
|
||||
done |
|
||||
unset i |
|
||||
fi |
|
||||
|
|
||||
|
|
||||
# enable programmable completion features (you don't need to enable |
|
||||
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile |
|
||||
# sources /etc/bash.bashrc). |
|
||||
if ! shopt -oq posix; then |
|
||||
if [ -f /usr/share/bash-completion/bash_completion ]; then |
|
||||
. /usr/share/bash-completion/bash_completion |
|
||||
elif [ -f /etc/bash_completion ]; then |
|
||||
. /etc/bash_completion |
|
||||
fi |
|
||||
fi |
|
||||
``` |
|
||||
|
|
||||
# Install Docker and Compose |
|
||||
|
|
||||
See http://docs.swarmlab.io/SwarmLab-HowTos/labs/Howtos/docker/install.adoc.html |
|
||||
|
|
||||
|
|
||||
Ready :-) |
|
||||
|
|
@ -1,614 +0,0 @@ |
|||||
GNU AFFERO GENERAL PUBLIC LICENSE |
|
||||
|
|
||||
Version 3, 19 November 2007 |
|
||||
|
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http s ://fsf.org/> |
|
||||
|
|
||||
Everyone is permitted to copy and distribute verbatim copies of this license |
|
||||
document, but changing it is not allowed. |
|
||||
|
|
||||
Preamble |
|
||||
|
|
||||
The GNU Affero General Public License is a free, copyleft license for software |
|
||||
and other kinds of works, specifically designed to ensure cooperation with |
|
||||
the community in the case of network server software. |
|
||||
|
|
||||
The licenses for most software and other practical works are designed to take |
|
||||
away your freedom to share and change the works. By contrast, our General |
|
||||
Public Licenses are 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. |
|
||||
|
|
||||
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. |
|
||||
|
|
||||
Developers that use our General Public Licenses protect your rights with two |
|
||||
steps: (1) assert copyright on the software, and (2) offer you this License |
|
||||
which gives you legal permission to copy, distribute and/or modify the software. |
|
||||
|
|
||||
A secondary benefit of defending all users' freedom is that improvements made |
|
||||
in alternate versions of the program, if they receive widespread use, become |
|
||||
available for other developers to incorporate. Many developers of free software |
|
||||
are heartened and encouraged by the resulting cooperation. However, in the |
|
||||
case of software used on network servers, this result may fail to come about. |
|
||||
The GNU General Public License permits making a modified version and letting |
|
||||
the public access it on a server without ever releasing its source code to |
|
||||
the public. |
|
||||
|
|
||||
The GNU Affero General Public License is designed specifically to ensure that, |
|
||||
in such cases, the modified source code becomes available to the community. |
|
||||
It requires the operator of a network server to provide the source code of |
|
||||
the modified version running there to the users of that server. Therefore, |
|
||||
public use of a modified version, on a publicly accessible server, gives the |
|
||||
public access to the source code of the modified version. |
|
||||
|
|
||||
An older license, called the Affero General Public License and published by |
|
||||
Affero, was designed to accomplish similar goals. This is a different license, |
|
||||
not a version of the Affero GPL, but Affero has released a new version of |
|
||||
the Affero GPL which permits relicensing under this license. |
|
||||
|
|
||||
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 Affero 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 s ue 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. Remote Network Interaction; Use with the GNU General Public License. |
|
||||
|
|
||||
Notwithstanding any other provision of this License, if you modify the Program, |
|
||||
your modified version must prominently offer all users interacting with it |
|
||||
remotely through a computer network (if your version supports such interaction) |
|
||||
an opportunity to receive the Corresponding Source of your version by providing |
|
||||
access to the Corresponding Source from a network server at no charge, through |
|
||||
some standard or customary means of facilitating copying of software. This |
|
||||
Corresponding Source shall include the Corresponding Source for any work covered |
|
||||
by version 3 of the GNU General Public License that is incorporated pursuant |
|
||||
to the following paragraph. |
|
||||
|
|
||||
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 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 work with which it is combined will remain |
|
||||
governed by version 3 of the GNU General Public License. |
|
||||
|
|
||||
14. Revised Versions of this License. |
|
||||
|
|
||||
The Free Software Foundation may publish revised and/or new versions of the |
|
||||
GNU Affero 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 Affero 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 Affero 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 Affero 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 Affero 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 Affero General Public License for more |
|
||||
details. |
|
||||
|
|
||||
You should have received a copy of the GNU Affero General Public License along |
|
||||
with this program. If not, see <http s ://www.gnu.org/licenses/>. |
|
||||
|
|
||||
Also add information on how to contact you by electronic and paper mail. |
|
||||
|
|
||||
If your software can interact with users remotely through a computer network, |
|
||||
you should also make sure that it provides a way for users to get its source. |
|
||||
For example, if your program is a web application, its interface could display |
|
||||
a "Source" link that leads users to an archive of the code. There are many |
|
||||
ways you could offer source, and different solutions will be better for different |
|
||||
programs; see section 13 for the specific requirements. |
|
||||
|
|
||||
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 AGPL, see <http |
|
||||
s ://www.gnu.org/licenses/>. |
|
@ -1,27 +0,0 @@ |
|||||
SEC SwarmLab.io |
|
||||
==================== |
|
||||
|
|
||||
Orchestrate a Swarmlab SEC cluster: |
|
||||
|
|
||||
+ Using Docker Compose to replicate production environment on single Docker host |
|
||||
|
|
||||
|
|
||||
# Single-host with Docker Compose |
|
||||
|
|
||||
See INSTALL |
|
||||
|
|
||||
|
|
||||
Relevant files: |
|
||||
|
|
||||
``` |
|
||||
Project |
|
||||
├── Dockerfile # Image specification |
|
||||
├── project # Sample program source code |
|
||||
│ └── hello_world.c |
|
||||
├── ssh # keys for accessing |
|
||||
│ ├── id_rsa # (could generate your own) |
|
||||
│ └── id_rsa.pub |
|
||||
├── .env # General configuration |
|
||||
├── docker-compose.yml # Container orchestration |
|
||||
└── swarmlab-mpi # Commands wrapper ultility |
|
||||
``` |
|
@ -1,30 +0,0 @@ |
|||||
#/usr/bin/env bash |
|
||||
_sec() |
|
||||
{ |
|
||||
local commands_number=${DOTHIS_COMPLETION_COMMANDS_NUMBER:-50} |
|
||||
local IFS=$'\n' |
|
||||
local suggestions=($(compgen -W "$(cat $1 | sed 's/\t//')" -- "${COMP_WORDS[1]}")) |
|
||||
local sug=1 |
|
||||
if [ "${#suggestions[@]}" == "$sug" ]; then |
|
||||
local number="${suggestions[0]/%\ */}" |
|
||||
COMPREPLY=("$number") |
|
||||
else |
|
||||
for i in "${!suggestions[@]}"; do |
|
||||
suggestions[$i]="$(printf '%*s' "-$COLUMNS" "${suggestions[$i]}")" |
|
||||
done |
|
||||
|
|
||||
COMPREPLY=("${suggestions[@]}") |
|
||||
fi |
|
||||
} |
|
||||
_sec_completions() |
|
||||
{ |
|
||||
local LAB_files=${LAB_PATH} |
|
||||
if [ "${#COMP_WORDS[@]}" == "2" ] && [ "${#COMP_WORDS[@]}" != "3" ]; then |
|
||||
local file2="/usr/share/swarmlab.io/sec/commands" |
|
||||
_sec "$file2" 1 |
|
||||
fi |
|
||||
|
|
||||
|
|
||||
} |
|
||||
complete -F _sec_completions swarmlab-sec |
|
||||
|
|
@ -1 +0,0 @@ |
|||||
export PATH=$PATH:/usr/share/swarmlab.io/sec |
|
@ -1,127 +0,0 @@ |
|||||
# ~/.bashrc: executed by bash(1) for non-login shells. |
|
||||
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) |
|
||||
# for examples |
|
||||
|
|
||||
# If not running interactively, don't do anything |
|
||||
case $- in |
|
||||
*i*) ;; |
|
||||
*) return;; |
|
||||
esac |
|
||||
|
|
||||
# don't put duplicate lines or lines starting with space in the history. |
|
||||
# See bash(1) for more options |
|
||||
HISTCONTROL=ignoreboth |
|
||||
|
|
||||
# append to the history file, don't overwrite it |
|
||||
shopt -s histappend |
|
||||
|
|
||||
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) |
|
||||
HISTSIZE=1000 |
|
||||
HISTFILESIZE=2000 |
|
||||
|
|
||||
# check the window size after each command and, if necessary, |
|
||||
# update the values of LINES and COLUMNS. |
|
||||
shopt -s checkwinsize |
|
||||
|
|
||||
# If set, the pattern "**" used in a pathname expansion context will |
|
||||
# match all files and zero or more directories and subdirectories. |
|
||||
#shopt -s globstar |
|
||||
|
|
||||
# make less more friendly for non-text input files, see lesspipe(1) |
|
||||
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" |
|
||||
|
|
||||
# set variable identifying the chroot you work in (used in the prompt below) |
|
||||
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then |
|
||||
debian_chroot=$(cat /etc/debian_chroot) |
|
||||
fi |
|
||||
|
|
||||
# set a fancy prompt (non-color, unless we know we "want" color) |
|
||||
case "$TERM" in |
|
||||
xterm-color|*-256color) color_prompt=yes;; |
|
||||
esac |
|
||||
|
|
||||
# uncomment for a colored prompt, if the terminal has the capability; turned |
|
||||
# off by default to not distract the user: the focus in a terminal window |
|
||||
# should be on the output of commands, not on the prompt |
|
||||
#force_color_prompt=yes |
|
||||
|
|
||||
if [ -n "$force_color_prompt" ]; then |
|
||||
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then |
|
||||
# We have color support; assume it's compliant with Ecma-48 |
|
||||
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such |
|
||||
# a case would tend to support setf rather than setaf.) |
|
||||
color_prompt=yes |
|
||||
else |
|
||||
color_prompt= |
|
||||
fi |
|
||||
fi |
|
||||
|
|
||||
if [ "$color_prompt" = yes ]; then |
|
||||
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' |
|
||||
else |
|
||||
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' |
|
||||
fi |
|
||||
unset color_prompt force_color_prompt |
|
||||
|
|
||||
# If this is an xterm set the title to user@host:dir |
|
||||
case "$TERM" in |
|
||||
xterm*|rxvt*) |
|
||||
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" |
|
||||
;; |
|
||||
*) |
|
||||
;; |
|
||||
esac |
|
||||
|
|
||||
# enable color support of ls and also add handy aliases |
|
||||
if [ -x /usr/bin/dircolors ]; then |
|
||||
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" |
|
||||
alias ls='ls --color=auto' |
|
||||
#alias dir='dir --color=auto' |
|
||||
#alias vdir='vdir --color=auto' |
|
||||
|
|
||||
alias grep='grep --color=auto' |
|
||||
alias fgrep='fgrep --color=auto' |
|
||||
alias egrep='egrep --color=auto' |
|
||||
fi |
|
||||
|
|
||||
# colored GCC warnings and errors |
|
||||
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' |
|
||||
|
|
||||
# some more ls aliases |
|
||||
alias ll='ls -alF' |
|
||||
alias la='ls -A' |
|
||||
alias l='ls -CF' |
|
||||
|
|
||||
# Add an "alert" alias for long running commands. Use like so: |
|
||||
# sleep 10; alert |
|
||||
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' |
|
||||
|
|
||||
# Alias definitions. |
|
||||
# You may want to put all your additions into a separate file like |
|
||||
# ~/.bash_aliases, instead of adding them here directly. |
|
||||
# See /usr/share/doc/bash-doc/examples in the bash-doc package. |
|
||||
|
|
||||
if [ -f ~/.bash_aliases ]; then |
|
||||
. ~/.bash_aliases |
|
||||
fi |
|
||||
|
|
||||
if [ -d /etc/profile.d ]; then |
|
||||
for i in /etc/profile.d/*.sh; do |
|
||||
if [ -r $i ]; then |
|
||||
. $i |
|
||||
fi |
|
||||
done |
|
||||
unset i |
|
||||
fi |
|
||||
|
|
||||
|
|
||||
# enable programmable completion features (you don't need to enable |
|
||||
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile |
|
||||
# sources /etc/bash.bashrc). |
|
||||
if ! shopt -oq posix; then |
|
||||
if [ -f /usr/share/bash-completion/bash_completion ]; then |
|
||||
. /usr/share/bash-completion/bash_completion |
|
||||
elif [ -f /etc/bash_completion ]; then |
|
||||
. /etc/bash_completion |
|
||||
fi |
|
||||
fi |
|
@ -1,4 +0,0 @@ |
|||||
REGISTRY_ADDR=localhost |
|
||||
REGISTRY_PORT=5000 |
|
||||
IMAGE_NAME=sec |
|
||||
SSH_PORT=2222 |
|
@ -1,15 +0,0 @@ |
|||||
map <C-e> :NERDTreeToggle<CR> |
|
||||
|
|
||||
autocmd BufNewFile,BufRead *.vue,*.js set syntax=verilog tabstop=2|set shiftwidth=2|set noexpandtab autoindent |
|
||||
augroup remember_folds |
|
||||
autocmd! |
|
||||
autocmd BufWinLeave * mkview |
|
||||
autocmd BufWinEnter * silent! loadview |
|
||||
augroup END |
|
||||
" Useful for my Quick Notes feature in my tmuxrc |
|
||||
augroup QuickNotes |
|
||||
au BufWrite,VimLeave NOTES.otl mkview |
|
||||
au BufRead NOTES.otl silent loadview |
|
||||
augroup END |
|
||||
set swapfile |
|
||||
set dir=~/tmp |
|
@ -1,614 +0,0 @@ |
|||||
GNU AFFERO GENERAL PUBLIC LICENSE |
|
||||
|
|
||||
Version 3, 19 November 2007 |
|
||||
|
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http s ://fsf.org/> |
|
||||
|
|
||||
Everyone is permitted to copy and distribute verbatim copies of this license |
|
||||
document, but changing it is not allowed. |
|
||||
|
|
||||
Preamble |
|
||||
|
|
||||
The GNU Affero General Public License is a free, copyleft license for software |
|
||||
and other kinds of works, specifically designed to ensure cooperation with |
|
||||
the community in the case of network server software. |
|
||||
|
|
||||
The licenses for most software and other practical works are designed to take |
|
||||
away your freedom to share and change the works. By contrast, our General |
|
||||
Public Licenses are 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. |
|
||||
|
|
||||
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. |
|
||||
|
|
||||
Developers that use our General Public Licenses protect your rights with two |
|
||||
steps: (1) assert copyright on the software, and (2) offer you this License |
|
||||
which gives you legal permission to copy, distribute and/or modify the software. |
|
||||
|
|
||||
A secondary benefit of defending all users' freedom is that improvements made |
|
||||
in alternate versions of the program, if they receive widespread use, become |
|
||||
available for other developers to incorporate. Many developers of free software |
|
||||
are heartened and encouraged by the resulting cooperation. However, in the |
|
||||
case of software used on network servers, this result may fail to come about. |
|
||||
The GNU General Public License permits making a modified version and letting |
|
||||
the public access it on a server without ever releasing its source code to |
|
||||
the public. |
|
||||
|
|
||||
The GNU Affero General Public License is designed specifically to ensure that, |
|
||||
in such cases, the modified source code becomes available to the community. |
|
||||
It requires the operator of a network server to provide the source code of |
|
||||
the modified version running there to the users of that server. Therefore, |
|
||||
public use of a modified version, on a publicly accessible server, gives the |
|
||||
public access to the source code of the modified version. |
|
||||
|
|
||||
An older license, called the Affero General Public License and published by |
|
||||
Affero, was designed to accomplish similar goals. This is a different license, |
|
||||
not a version of the Affero GPL, but Affero has released a new version of |
|
||||
the Affero GPL which permits relicensing under this license. |
|
||||
|
|
||||
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 Affero 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 s ue 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. Remote Network Interaction; Use with the GNU General Public License. |
|
||||
|
|
||||
Notwithstanding any other provision of this License, if you modify the Program, |
|
||||
your modified version must prominently offer all users interacting with it |
|
||||
remotely through a computer network (if your version supports such interaction) |
|
||||
an opportunity to receive the Corresponding Source of your version by providing |
|
||||
access to the Corresponding Source from a network server at no charge, through |
|
||||
some standard or customary means of facilitating copying of software. This |
|
||||
Corresponding Source shall include the Corresponding Source for any work covered |
|
||||
by version 3 of the GNU General Public License that is incorporated pursuant |
|
||||
to the following paragraph. |
|
||||
|
|
||||
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 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 work with which it is combined will remain |
|
||||
governed by version 3 of the GNU General Public License. |
|
||||
|
|
||||
14. Revised Versions of this License. |
|
||||
|
|
||||
The Free Software Foundation may publish revised and/or new versions of the |
|
||||
GNU Affero 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 Affero 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 Affero 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 Affero 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 Affero 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 Affero General Public License for more |
|
||||
details. |
|
||||
|
|
||||
You should have received a copy of the GNU Affero General Public License along |
|
||||
with this program. If not, see <http s ://www.gnu.org/licenses/>. |
|
||||
|
|
||||
Also add information on how to contact you by electronic and paper mail. |
|
||||
|
|
||||
If your software can interact with users remotely through a computer network, |
|
||||
you should also make sure that it provides a way for users to get its source. |
|
||||
For example, if your program is a web application, its interface could display |
|
||||
a "Source" link that leads users to an archive of the code. There are many |
|
||||
ways you could offer source, and different solutions will be better for different |
|
||||
programs; see section 13 for the specific requirements. |
|
||||
|
|
||||
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 AGPL, see <http |
|
||||
s ://www.gnu.org/licenses/>. |
|
@ -1 +0,0 @@ |
|||||
ROOT_PASSWORD="pass" |
|
@ -1,11 +0,0 @@ |
|||||
#!/bin/sh |
|
||||
|
|
||||
hosts=$(get_hosts) |
|
||||
printf "%s" "$hosts" > "$1" |
|
||||
|
|
||||
while sleep 2 |
|
||||
do |
|
||||
current_hosts=$(get_hosts) |
|
||||
[ "$hosts" != "$current_hosts" ] && printf "%s" "$current_hosts" > "$1" |
|
||||
hosts=$current_hosts |
|
||||
done |
|
@ -1,13 +0,0 @@ |
|||||
create create project (swarmlab-sec create) |
|
||||
up start swarmlab-sec (swarmlab-sec up size=10) |
|
||||
scale resize swarmlab-sec (swarmlab-sec scale size=30) |
|
||||
reload rebuild image (swarmlab-sec reload size=15) |
|
||||
login login swarmlab-sec (swarmlab-sec login) |
|
||||
exec execute command (swarmlab-sec exec [SHELL COMMAND]) |
|
||||
down stop swarmlab-sec (swarmlab-sec down) |
|
||||
clean clean project (swarmlab-sec clean) |
|
||||
list show instances (swarmlab-sec list) |
|
||||
help show help (swarmlab-sec help) |
|
||||
|
|
||||
|
|
||||
|
|
@ -1,8 +0,0 @@ |
|||||
#!/bin/sh |
|
||||
|
|
||||
# Include the variables that store the Docker service names |
|
||||
# shellcheck disable=SC1091 |
|
||||
. /etc/opt/service_names |
|
||||
|
|
||||
( netstat -t | grep ESTABLISHED | awk '{print $5}' | grep "$MPI_WORKER_SERVICE_NAME" | cut -d: -f1 \ |
|
||||
& getent hosts "$MPI_MASTER_SERVICE_NAME" | cut -d' ' -f1 ) | sort -u |
|
@ -1,74 +0,0 @@ |
|||||
#! /usr/bin/env sh |
|
||||
|
|
||||
start_dir=$(pwd) |
|
||||
bin_string="export PATH=\"${PATH}:${HOME}/.vimpkg/bin\"" |
|
||||
|
|
||||
# Download the apt-vim files |
|
||||
curl -fSsLo ${HOME}/apt-vim/apt-vim --create-dirs \ |
|
||||
https://raw.githubusercontent.com/egalpin/apt-vim/master/apt-vim |
|
||||
|
|
||||
curl -fSsLo ${HOME}/apt-vim/vim_config.json \ |
|
||||
https://raw.githubusercontent.com/egalpin/apt-vim/master/vim_config.json |
|
||||
|
|
||||
# Add vimrc if there isn't one already |
|
||||
[ -f ${HOME}/.vimrc ] || touch ${HOME}/.vimrc |
|
||||
|
|
||||
# Make sure vimrc is using pathogen |
|
||||
if [ $(grep -c "execute pathogen#infect()" ${HOME}/.vimrc) -eq 0 ]; then |
|
||||
echo "execute pathogen#infect()" >> ${HOME}/.vimrc |
|
||||
fi |
|
||||
if [ $(grep -c "call pathogen#helptags()" ${HOME}/.vimrc) -eq 0 ]; then |
|
||||
echo "call pathogen#helptags()" >> ${HOME}/.vimrc |
|
||||
fi |
|
||||
|
|
||||
# Update path for executing shell |
|
||||
eval "$bin_string" |
|
||||
|
|
||||
added_to_profile=false |
|
||||
already_present=false |
|
||||
for rc in bashrc zshrc bash_profile; do |
|
||||
if [ -s "$HOME/.$rc" ]; then |
|
||||
if grep -q "$bin_string" "$HOME/.$rc"; then |
|
||||
already_present=true |
|
||||
else |
|
||||
printf "\n$bin_string\n" >> "$HOME/.$rc" |
|
||||
printf "== Added apt-vim PATH to '~/.$rc'\n" |
|
||||
added_to_profile=true |
|
||||
fi |
|
||||
fi |
|
||||
done |
|
||||
|
|
||||
# Execute apt-vim init |
|
||||
cd ${HOME}/apt-vim |
|
||||
python - <<EOF |
|
||||
import imp, os |
|
||||
print('apt-vim setup starting') |
|
||||
HOME = os.path.expanduser("~") |
|
||||
APT_VIM_DIR = os.path.abspath(os.path.join(HOME, 'apt-vim')) |
|
||||
SCRIPT_ROOT_DIR = os.path.abspath(os.path.join(HOME, '.vimpkg')) |
|
||||
BIN_DIR = os.path.abspath(os.path.join(SCRIPT_ROOT_DIR, 'bin')) |
|
||||
os.environ['PATH'] += os.pathsep + BIN_DIR |
|
||||
os.chdir(APT_VIM_DIR) |
|
||||
|
|
||||
aptvim = imp.load_source("aptvim", "./apt-vim") |
|
||||
av = aptvim.aptvim(ASSUME_YES=True, VIM_CONFIG='', INSTALL_TARGET='') |
|
||||
av.first_run() |
|
||||
av.handle_install(None, None, None) |
|
||||
EOF |
|
||||
python_result=$? |
|
||||
|
|
||||
cd $start_dir |
|
||||
|
|
||||
echo |
|
||||
if [ "$python_result" -ne 0 ]; then |
|
||||
echo "== Error:" |
|
||||
echo " Installation failed." |
|
||||
elif [ "$added_to_profile" = false ] && [ "$already_present" = false ]; then |
|
||||
echo "== Error:" |
|
||||
echo " Found no profile to add apt-vim PATH to." |
|
||||
echo " Add the following line to your shell profile and source it to install manually:" |
|
||||
printf " $bin_string\n" |
|
||||
else |
|
||||
echo "== apt-vim installation succeeded! Run 'source ~/.bashrc || source ~/.bash_profile' or 'source ~/.zshrc'" |
|
||||
echo " to access the executable script." |
|
||||
fi |
|
@ -1 +0,0 @@ |
|||||
echo "Hello World" |
|
@ -1,72 +0,0 @@ |
|||||
#!/bin/sh |
|
||||
|
|
||||
ROLE="undefined" |
|
||||
MPI_MASTER_SERVICE_NAME="sec_master" |
|
||||
MPI_WORKER_SERVICE_NAME="sec_worker" |
|
||||
HOSTNAMES="/etc/nethosts" |
|
||||
|
|
||||
####################### |
|
||||
# ARGUMENTS PARSER |
|
||||
|
|
||||
while [ "$1" != "" ]; |
|
||||
do |
|
||||
PARAM=$(echo "$1" | awk -F= '{print $1}') |
|
||||
VALUE=$(echo "$1" | awk -F= '{print $2}') |
|
||||
|
|
||||
case $PARAM in |
|
||||
role) |
|
||||
[ "$VALUE" ] && ROLE=$VALUE |
|
||||
;; |
|
||||
|
|
||||
sec_master_service_name) |
|
||||
[ "$VALUE" ] && MPI_MASTER_SERVICE_NAME=$VALUE |
|
||||
;; |
|
||||
|
|
||||
sec_worker_service_name) |
|
||||
[ "$VALUE" ] && MPI_WORKER_SERVICE_NAME=$VALUE |
|
||||
;; |
|
||||
*) |
|
||||
echo "ERROR: unknown parameter \"$PARAM\"" |
|
||||
exit 1 |
|
||||
;; |
|
||||
esac |
|
||||
shift |
|
||||
done |
|
||||
|
|
||||
|
|
||||
|
|
||||
cat > /etc/opt/service_names <<- EOF |
|
||||
MPI_MASTER_SERVICE_NAME=${MPI_MASTER_SERVICE_NAME} |
|
||||
MPI_WORKER_SERVICE_NAME=${MPI_WORKER_SERVICE_NAME} |
|
||||
EOF |
|
||||
|
|
||||
case $ROLE in |
|
||||
"master") |
|
||||
|
|
||||
# Auto update default host file in background and dumb all output |
|
||||
auto_update_hosts "${HOSTNAMES}" > /dev/null 2>&1 & |
|
||||
|
|
||||
# Start ssh server |
|
||||
/usr/sbin/sshd -D |
|
||||
;; |
|
||||
|
|
||||
|
|
||||
"worker") |
|
||||
|
|
||||
# Start ssh server in background |
|
||||
/usr/sbin/sshd -D & |
|
||||
|
|
||||
# Keep trying to connect to master node and stay there indefinitely so that master node can see |
|
||||
# the connected hosts that are ready for MPI work |
|
||||
while sleep 1 |
|
||||
do |
|
||||
# shellcheck disable=SC2086 |
|
||||
ssh -T -o "StrictHostKeyChecking no" \ |
|
||||
-i "${USER_HOME}/.ssh/id_rsa" \ |
|
||||
${USER}@${MPI_MASTER_SERVICE_NAME} \ |
|
||||
"tail -f /dev/null" |
|
||||
done |
|
||||
;; |
|
||||
*) |
|
||||
echo 'role argument only accepts "master" or "worker"' |
|
||||
esac |
|
@ -1,6 +0,0 @@ |
|||||
### Comments, comments, and more comments. |
|
||||
# |
|
||||
#ZONE INTERFACE BROADCAST OPTIONS |
|
||||
# |
|
||||
net eth0 detect tcpflags,nosmurfs |
|
||||
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE |
|
@ -1,11 +0,0 @@ |
|||||
### Comments, comments, and more comments. |
|
||||
#SOURCE DEST POLICY LOG LEVEL LIMIT:BURST |
|
||||
# |
|
||||
net fw ACCEPT |
|
||||
fw net ACCEPT |
|
||||
|
|
||||
net all DROP |
|
||||
|
|
||||
# THE FOLLOWING POLICY MUST BE LAST |
|
||||
all all REJECT info |
|
||||
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE |
|
@ -1,11 +0,0 @@ |
|||||
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/ |
|
||||
# PORT PORT(S) DEST LIMIT GROUP |
|
||||
#ACCEPT net fw tcp 80 |
|
||||
#ACCEPT fw net tcp 80 |
|
||||
#ACCEPT net fw udp 53 |
|
||||
#ACCEPT fw net udp 53 |
|
||||
#REJECT net fw udp 53 |
|
||||
#REJECT fw net udp 53 |
|
||||
#ACCEPT net:14.15.16.112/27 fw icmp 8 |
|
||||
|
|
||||
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE |
|
@ -1,6 +0,0 @@ |
|||||
### Comments, comments, and more comments. |
|
||||
#ZONE TYPE OPTIONS IN OUT |
|
||||
# OPTIONS OPTIONS |
|
||||
fw firewall |
|
||||
net ipv4 |
|
||||
#LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE |
|
@ -1,27 +0,0 @@ |
|||||
-----BEGIN RSA PRIVATE KEY----- |
|
||||
MIIEpQIBAAKCAQEAoKG1DtjMXHDJfF59Y5nO7Yl38fkjRL1LQhF7RZKbGScWBNIW |
|
||||
foAS0wrd3wUnd5YMtIeiBj98H+V8IEn0ChAAxGfHXqqmmYlU6ABESINob+h70Bnm |
|
||||
UwiRbRnA64o3d9+cz2T8YLf+1p7///Z8LA8U+7rS+kvKvtYCQ9llDAxtbe39CxCs |
|
||||
2HASam3U6VArq9SdSqph5MudBaYhaxx4V8VDdXEhG2pimlh8e7zdPZ8AYbYLLDhq |
|
||||
Ytd+wn9azLXPQ3w/vC+Pn4taUBYnlERDY45vaVsPdnR+ao9ckMLUS6EwJVQmgMzB |
|
||||
2yyNCbPQYvRPL0rxoGstfCmmjY3EzOh6kEA6wwIDAQABAoIBAHqrAxnTdj0h5LyV |
|
||||
bCwjyWKdGHwxRj24UUCjGQCIdOlAcBA+X+863yVLpyQpS3qHnCxBZ/pdgOza02/V |
|
||||
CgilL/DNT/N7Xr7hoXWKvpqhv5+2atcA8GN4p5YplKpLYxCoM5guBo3V9UbxJY7T |
|
||||
LQB4hA25HmUGfE5AIHqwCfqpgufvIO1enhe1Vh/6l1FJqJuNj2pBGeXOyOMV95GN |
|
||||
xC5/BVytJIx2Rts5qtwpt5iPE3pKdsrWc71qACxk3dG8h9OZnuE3vuCg/Wp8jdwk |
|
||||
NHZ6nWlt0BbST3wN0pyTp6cqtZ0qqfSpZCVRegeQW5ENR9NaigDX6RADKRnms46J |
|
||||
ziDSZAECgYEA0WBDY47CA9Ej0Y2zBcV3x03cznSnxr7BVty32xbnNgxGF5jNUDdU |
|
||||
E2JwJs86sV75VV0fpgrbN45lBV/2ImefrPr4kJAIL2J4eyVdOTTT/DO9Tuw6NP8R |
|
||||
AYMZOzOlgFjx3arnjlOK5AicFseWFCXvezuAMPcGpImgw7xHHM3RcFcCgYEAxGa2 |
|
||||
T+J119HWf15kN7bx5RaUl9J4DvvE5oHtA7zsMPO2fRpfwXAb8yKwIXfZ7186frPb |
|
||||
jo3ZQykcPuJ3MldvTWEuUhY5W1HSF1sBJOPZHuRfQicv8Uj4Y1kWltQf4Ikb3Uyh |
|
||||
T0fZJul4HkPAo/Q65zIAtJ9tWukAP/lmnwO9VXUCgYEAiY62F4WmH/3ai4WOFX+b |
|
||||
5xxXsmhgBiozOc8/F7jfZNoBfuVMFqSTHz0wM784b2nXY+cPsPY2+jQaWMKoIgh0 |
|
||||
lqA4iDmotwD56OYubjQwBeU0PdLjlwfw805fWE7hMAa/uQPcp9xpRtIFQs4T4t7d |
|
||||
jNgVq5XQDm/BaHedPOZX8HcCgYEAuKpu31vqO7wUt/vTtUMx3JpHqxz9P/FgqPAf |
|
||||
H/WiC0EMJEMJKAO2c/z4qO9dHiJnCL0qQraDQw/DfClJtC7b+2DVwd8dnQyowscR |
|
||||
o1MNUmueWcAo5vEag6c/gx/+vQuOBJ1JyxaeSmUZSTOhTUeVns64NRz2IJWWY5Cn |
|
||||
+fn1KwUCgYEAjYYeQX/W+2r8SFipPQQi/36EqLPwko58C/sbJR0gySP6El7hNQRt |
|
||||
Sdmd9hfMXRR+VCZWmmzb6T4fc80XxteI9eANkZ7xhNuQe11EDvPqmc9WSF0s+l1T |
|
||||
eQnkt+an7Qv2prDSU6d1KlOrOuCXU8IhbkuffvRSYXwK9T79bTG8iIQ= |
|
||||
-----END RSA PRIVATE KEY----- |
|
@ -1 +0,0 @@ |
|||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCgobUO2MxccMl8Xn1jmc7tiXfx+SNEvUtCEXtFkpsZJxYE0hZ+gBLTCt3fBSd3lgy0h6IGP3wf5XwgSfQKEADEZ8deqqaZiVToAERIg2hv6HvQGeZTCJFtGcDrijd335zPZPxgt/7Wnv//9nwsDxT7utL6S8q+1gJD2WUMDG1t7f0LEKzYcBJqbdTpUCur1J1KqmHky50FpiFrHHhXxUN1cSEbamKaWHx7vN09nwBhtgssOGpi137Cf1rMtc9DfD+8L4+fi1pQFieURENjjm9pWw92dH5qj1yQwtRLoTAlVCaAzMHbLI0Js9Bi9E8vSvGgay18KaaNjcTM6HqQQDrD nlknguyen@NN-Ubuntu |
|
@ -1,738 +0,0 @@ |
|||||
#!/bin/bash |
|
||||
|
|
||||
# The MIT License (MIT) |
|
||||
# |
|
||||
# rootApostolos@swarmlab.io |
|
||||
# |
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy |
|
||||
# of this software and associated documentation files (the "Software"), to deal |
|
||||
# in the Software without restriction, including without limitation the rights |
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|
||||
# copies of the Software, and to permit persons to whom the Software is |
|
||||
# furnished to do so, subject to the following conditions: |
|
||||
# |
|
||||
# The above copyright notice and this permission notice shall be included in all |
|
||||
# copies or substantial portions of the Software. |
|
||||
# |
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
|
||||
# SOFTWARE. |
|
||||
|
|
||||
# Origin: https://github.com/NLKNguyen/alpine-mpich |
|
||||
|
|
||||
set -e |
|
||||
|
|
||||
DOCKERuser="docker" |
|
||||
PACKAGES=" net-tools curl tcpdump shorewall sudo vim nmap dnsutils iputils-ping iptables wget python " |
|
||||
APTPARAM=" --no-install-recommends " |
|
||||
IMAGE_local="sec" |
|
||||
HYBRID_NETWORK="hybrid-sec" |
|
||||
# dont edit |
|
||||
IMAGE_origin="ubuntu:18.04" |
|
||||
bootstrap="sec_bootstrap" |
|
||||
hostnames="auto_update_hosts" |
|
||||
hostnames_get="get_hosts" |
|
||||
# shellcheck disable=SC1091 |
|
||||
#. ./.env |
|
||||
|
|
||||
|
|
||||
# ----------------------------------------------- |
|
||||
# |
|
||||
# Find Source path of swarmlab.io script |
|
||||
# |
|
||||
# ---------------------------------------------- |
|
||||
|
|
||||
|
|
||||
SOURCE="${BASH_SOURCE[0]}" |
|
||||
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink |
|
||||
DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )" |
|
||||
SOURCE="$(readlink "$SOURCE")" |
|
||||
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located |
|
||||
done |
|
||||
DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )" |
|
||||
|
|
||||
|
|
||||
# ----------------------------------------------- |
|
||||
# |
|
||||
# Load Default config swarmlab.io |
|
||||
# |
|
||||
# ---------------------------------------------- |
|
||||
|
|
||||
|
|
||||
#. $DIR/.env |
|
||||
|
|
||||
|
|
||||
# ----------------------------------------------- |
|
||||
# |
|
||||
# Find Working dir |
|
||||
# |
|
||||
# ---------------------------------------------- |
|
||||
|
|
||||
|
|
||||
Wdir=$(pwd) |
|
||||
|
|
||||
. $Wdir/.env |
|
||||
|
|
||||
create_dockerfile () |
|
||||
{ |
|
||||
. $Wdir/ROOT_PASSWORD |
|
||||
if [ -d "$Wdir/project" ]; then |
|
||||
# ----------------------------------------------- |
|
||||
# |
|
||||
# create Dockerfile |
|
||||
# |
|
||||
# ---------------------------------------------- |
|
||||
|
|
||||
rm -f $Wdir/out.log 2> /dev/null |
|
||||
|
|
||||
error="Error:"; |
|
||||
IMAGE=$(docker inspect --type=image $REGISTRY_ADDR:$REGISTRY_PORT/$IMAGE_NAME:latest 2>&1 | tee $Wdir/out.log) |
|
||||
if search=$(grep "$error" $Wdir/out.log) |
|
||||
then |
|
||||
echo "" |
|
||||
echo ">>> Load Origin " |
|
||||
cat << EOF > $Wdir/Dockerfile |
|
||||
FROM $IMAGE_origin |
|
||||
# |
|
||||
USER root |
|
||||
RUN export DEBIAN_FRONTEND=noninteractive && \ |
|
||||
apt-get update && apt-get $APTPARAM install -y openssh-server $PACKAGES |
|
||||
RUN apt-get autoremove --purge && apt clean |
|
||||
RUN rm -rf /var/lib/apt/lists/* |
|
||||
RUN mkdir -p /var/run/sshd |
|
||||
RUN echo 'root:$ROOT_PASSWORD' | chpasswd |
|
||||
RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config |
|
||||
# |
|
||||
# SSH login fix. Otherwise user is kicked off after login |
|
||||
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd |
|
||||
# |
|
||||
ENV NOTVISIBLE "in users profile" |
|
||||
RUN echo "export VISIBLE=now" >> /etc/profile |
|
||||
#RUN wget -k https://raw.githubusercontent.com/egalpin/apt-vim/master/install.sh |
|
||||
# |
|
||||
# |
|
||||
# |
|
||||
COPY $bootstrap /usr/bin |
|
||||
COPY $hostnames_get /usr/bin |
|
||||
COPY $hostnames /usr/bin |
|
||||
RUN mkdir -p /etc/shorewall |
|
||||
COPY shorewall /etc/shorewall |
|
||||
RUN mkdir -p /project |
|
||||
RUN mkdir -p /etc/opt |
|
||||
WORKDIR /project |
|
||||
COPY install-vim-plugin.sh . |
|
||||
#RUN bash ./install-vim-plugin.sh |
|
||||
#RUN apt-vim install -y https://github.com/scrooloose/nerdtree.git |
|
||||
RUN grep -qw ^docker /etc/passwd || useradd -m docker && echo "docker:docker" | chpasswd && adduser docker sudo |
|
||||
COPY .vimrc /home/docker |
|
||||
USER docker |
|
||||
EOF |
|
||||
else |
|
||||
echo ">>> Load Local " |
|
||||
cat << EOF > $Wdir/Dockerfile |
|
||||
FROM localhost:5000/$IMAGE_local |
|
||||
# |
|
||||
USER root |
|
||||
RUN export DEBIAN_FRONTEND=noninteractive && \ |
|
||||
apt-get update && apt-get $APTPARAM install -y openssh-server $PACKAGES |
|
||||
RUN apt-get autoremove --purge && apt clean |
|
||||
RUN rm -rf /var/lib/apt/lists/* |
|
||||
RUN mkdir -p /var/run/sshd |
|
||||
RUN echo 'root:$ROOT_PASSWORD' | chpasswd |
|
||||
RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config |
|
||||
# |
|
||||
# SSH login fix. Otherwise user is kicked off after login |
|
||||
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd |
|
||||
# |
|
||||
ENV NOTVISIBLE "in users profile" |
|
||||
RUN echo "export VISIBLE=now" >> /etc/profile |
|
||||
#RUN wget -k https://raw.githubusercontent.com/egalpin/apt-vim/master/install.sh |
|
||||
# |
|
||||
# |
|
||||
# |
|
||||
COPY $bootstrap /usr/bin |
|
||||
COPY $hostnames_get /usr/bin |
|
||||
COPY $hostnames /usr/bin |
|
||||
RUN mkdir -p /etc/shorewall |
|
||||
COPY shorewall /etc/shorewall |
|
||||
RUN mkdir -p /etc/opt |
|
||||
RUN mkdir -p /project |
|
||||
WORKDIR /project |
|
||||
COPY install-vim-plugin.sh . |
|
||||
#RUN bash ./install-vim-plugin.sh |
|
||||
#RUN apt-vim install -y https://github.com/scrooloose/nerdtree.git |
|
||||
RUN grep -qw ^docker /etc/passwd || useradd -m docker && echo "docker:docker" | chpasswd && adduser docker sudo |
|
||||
COPY .vimrc /home/docker |
|
||||
USER docker |
|
||||
EOF |
|
||||
fi |
|
||||
else |
|
||||
echo "" |
|
||||
echo "Not in Project Directory" |
|
||||
echo "A project directory should look like this" |
|
||||
echo "" |
|
||||
|
|
||||
cat <<EOF |
|
||||
├── docker-compose.yml |
|
||||
├── Dockerfile |
|
||||
├── out.log |
|
||||
├── project |
|
||||
│ └── hello_world.sh |
|
||||
└── ssh |
|
||||
├── id_rsa |
|
||||
└── id_rsa.pub |
|
||||
EOF |
|
||||
echo "Change to your Project Directory And Try Again" |
|
||||
echo "" |
|
||||
exit 0 |
|
||||
fi |
|
||||
} |
|
||||
|
|
||||
create_project () |
|
||||
{ |
|
||||
|
|
||||
if [ "$Wdir" == "$HOME" ]; then |
|
||||
echo"" |
|
||||
echo "You are in Your Home directory" |
|
||||
echo "Please create a project directory" |
|
||||
echo "mkdir myproject; cd myproject; swarmlab-sec create" |
|
||||
echo"" |
|
||||
else |
|
||||
echo "# -----------------------------------------------" |
|
||||
echo "##### Create project #####" |
|
||||
echo "# -----------------------------------------------" |
|
||||
|
|
||||
# clean old images |
|
||||
#docker rmi $(docker images -f "dangling=true" -q) |
|
||||
|
|
||||
rm -f $Wdir/out.log 2> /dev/null |
|
||||
|
|
||||
error="Error:"; |
|
||||
IMAGE=$(docker inspect --type=image $REGISTRY_ADDR:$REGISTRY_PORT/$IMAGE_NAME:latest 2>&1 | tee $Wdir/out.log) |
|
||||
if search=$(grep "$error" $Wdir/out.log) |
|
||||
then |
|
||||
echo ">>> Load Origin " |
|
||||
cat << EOF > $Wdir/Dockerfile |
|
||||
FROM $IMAGE_origin |
|
||||
# |
|
||||
USER root |
|
||||
RUN export DEBIAN_FRONTEND=noninteractive && \ |
|
||||
apt-get update && apt-get $APTPARAM install -y openssh-server $PACKAGES |
|
||||
RUN apt-get autoremove --purge && apt clean |
|
||||
RUN rm -rf /var/lib/apt/lists/* |
|
||||
RUN mkdir -p /var/run/sshd |
|
||||
RUN echo 'root:$ROOT_PASSWORD' | chpasswd |
|
||||
RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config |
|
||||
# |
|
||||
# SSH login fix. Otherwise user is kicked off after login |
|
||||
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd |
|
||||
# |
|
||||
ENV NOTVISIBLE "in users profile" |
|
||||
RUN echo "export VISIBLE=now" >> /etc/profile |
|
||||
#RUN wget -k https://raw.githubusercontent.com/egalpin/apt-vim/master/install.sh |
|
||||
# |
|
||||
# |
|
||||
# |
|
||||
COPY $bootstrap /usr/bin |
|
||||
COPY $hostnames_get /usr/bin |
|
||||
COPY $hostnames /usr/bin |
|
||||
RUN mkdir -p /etc/shorewall |
|
||||
COPY shorewall /etc/shorewall |
|
||||
RUN mkdir -p /etc/opt |
|
||||
RUN mkdir -p /project |
|
||||
WORKDIR /project |
|
||||
COPY install-vim-plugin.sh . |
|
||||
#RUN bash ./install-vim-plugin.sh |
|
||||
#RUN apt-vim install -y https://github.com/scrooloose/nerdtree.git |
|
||||
CMD export PATH=$PATH:/project |
|
||||
RUN grep -qw ^docker /etc/passwd || useradd -m docker && echo "docker:docker" | chpasswd && adduser docker sudo |
|
||||
COPY .vimrc /home/docker |
|
||||
USER docker |
|
||||
EOF |
|
||||
else |
|
||||
echo ">>> Load Local " |
|
||||
cat << EOF > $Wdir/Dockerfile |
|
||||
FROM localhost:5000/$IMAGE_local |
|
||||
# |
|
||||
USER root |
|
||||
RUN export DEBIAN_FRONTEND=noninteractive && \ |
|
||||
apt-get update && apt-get $APTPARAM install -y openssh-server $PACKAGES |
|
||||
RUN apt-get autoremove --purge && apt clean |
|
||||
RUN rm -rf /var/lib/apt/lists/* |
|
||||
RUN mkdir -p /var/run/sshd |
|
||||
RUN echo 'root:$ROOT_PASSWORD' | chpasswd |
|
||||
RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config |
|
||||
# |
|
||||
# SSH login fix. Otherwise user is kicked off after login |
|
||||
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd |
|
||||
# |
|
||||
ENV NOTVISIBLE "in users profile" |
|
||||
RUN echo "export VISIBLE=now" >> /etc/profile |
|
||||
#RUN wget -k https://raw.githubusercontent.com/egalpin/apt-vim/master/install.sh |
|
||||
# |
|
||||
# |
|
||||
# |
|
||||
COPY $bootstrap /usr/bin |
|
||||
COPY $hostnames_get /usr/bin |
|
||||
COPY $hostnames /usr/bin |
|
||||
RUN mkdir -p /etc/shorewall |
|
||||
COPY shorewall /etc/shorewall |
|
||||
RUN mkdir -p /etc/opt |
|
||||
RUN mkdir -p /project |
|
||||
WORKDIR /project |
|
||||
COPY install-vim-plugin.sh . |
|
||||
#RUN bash ./install-vim-plugin.sh |
|
||||
#RUN apt-vim install -y https://github.com/scrooloose/nerdtree.git |
|
||||
CMD export PATH=$PATH:/project |
|
||||
RUN grep -qw ^docker /etc/passwd || useradd -m docker && echo "docker:docker" | chpasswd && adduser docker sudo |
|
||||
COPY .vimrc /home/docker |
|
||||
USER docker |
|
||||
EOF |
|
||||
fi |
|
||||
|
|
||||
|
|
||||
/bin/mkdir -p $Wdir/project |
|
||||
/bin/cp -f $DIR/project/hello_world.sh $Wdir/project |
|
||||
/bin/cp -f $DIR/$bootstrap $Wdir/$bootstrap |
|
||||
/bin/cp -f $DIR/$hostnames $Wdir/$hostnames |
|
||||
/bin/cp -f $DIR/$hostnames_get $Wdir/$hostnames_get |
|
||||
/bin/cp -f $DIR/ROOT_PASSWORD $Wdir/ROOT_PASSWORD |
|
||||
/bin/cp -rf $DIR/shorewall $Wdir/shorewall |
|
||||
/bin/cp -rf $DIR/.vimrc $Wdir/.vimrc |
|
||||
/bin/cp -rf $DIR/install-vim-plugin.sh $Wdir/install-vim-plugin.sh |
|
||||
|
|
||||
|
|
||||
cat << EOF > $Wdir/docker-compose.yml |
|
||||
version: "2" |
|
||||
|
|
||||
services: |
|
||||
registry: |
|
||||
image: registry |
|
||||
ports: |
|
||||
- "${REGISTRY_PORT}:5000" |
|
||||
|
|
||||
master: |
|
||||
image: $REGISTRY_ADDR:$REGISTRY_PORT/$IMAGE_NAME |
|
||||
privileged: true |
|
||||
cap_add: |
|
||||
- NET_ADMIN |
|
||||
user: root |
|
||||
entrypoint: ["sec_bootstrap", "role=master", "sec_master_service_name=master", "sec_worker_service_name=worker"] |
|
||||
ports: |
|
||||
- "\${SSH_PORT}:22" |
|
||||
networks: |
|
||||
- ${HYBRID_NETWORK} |
|
||||
volumes: |
|
||||
- $Wdir/project:/project |
|
||||
|
|
||||
|
|
||||
worker: |
|
||||
image: $REGISTRY_ADDR:$REGISTRY_PORT/$IMAGE_NAME |
|
||||
privileged: true |
|
||||
cap_add: |
|
||||
- NET_ADMIN |
|
||||
user: root |
|
||||
entrypoint: ["sec_bootstrap", "role=worker", "sec_master_service_name=master", "sec_worker_service_name=worker"] |
|
||||
networks: |
|
||||
- ${HYBRID_NETWORK} |
|
||||
volumes: |
|
||||
- $Wdir/project:/project |
|
||||
|
|
||||
networks: |
|
||||
${HYBRID_NETWORK}: |
|
||||
EOF |
|
||||
|
|
||||
/bin/cp -rf $DIR/ssh $Wdir |
|
||||
|
|
||||
cat <<EOF |
|
||||
|
|
||||
Project is Ready |
|
||||
├── docker-compose.yml |
|
||||
├── Dockerfile |
|
||||
├── out.log |
|
||||
├── project |
|
||||
│ └── hello_world.sh |
|
||||
└── ssh |
|
||||
├── id_rsa |
|
||||
└── id_rsa.pub |
|
||||
|
|
||||
Run: swarmlab-sec up size=5 |
|
||||
|
|
||||
or run swarmlab-sec help for USAGE |
|
||||
|
|
||||
EOF |
|
||||
|
|
||||
/bin/chmod -R 777 $Wdir |
|
||||
/bin/chown -R sec.sec $Wdir |
|
||||
|
|
||||
fi |
|
||||
} |
|
||||
|
|
||||
####################### |
|
||||
# TASK INDICATORS |
|
||||
COMMAND_UP=0 |
|
||||
COMMAND_CREATE=0 |
|
||||
COMMAND_DOWN=0 |
|
||||
COMMAND_RELOAD=0 |
|
||||
COMMAND_SCALE=0 |
|
||||
COMMAND_LOGIN=0 |
|
||||
COMMAND_EXEC=0 |
|
||||
COMMAND_LIST=0 |
|
||||
COMMAND_CLEAN=0 |
|
||||
|
|
||||
# Default values if providing empty |
|
||||
SIZE=4 |
|
||||
|
|
||||
############################################# |
|
||||
usage () |
|
||||
{ |
|
||||
echo "" |
|
||||
echo "--------------" |
|
||||
echo " SwarmLab.io " |
|
||||
echo "--------------" |
|
||||
echo "" |
|
||||
echo " USAGE: ./swarmlab-sec [COMMAND] [OPTIONS]" |
|
||||
echo "" |
|
||||
echo " Examples of [COMMAND] can be:" |
|
||||
echo " create: create swarmlab-sec " |
|
||||
echo " mkdir WORKdir; cd WORKdir; swarmlab-sec create" |
|
||||
echo "" |
|
||||
echo " up: start swarmlab-sec" |
|
||||
echo " swarmlab-sec up size=10" |
|
||||
echo "" |
|
||||
echo " scale: resize the swarmlab-sec" |
|
||||
echo " swarmlab-sec scale size=30" |
|
||||
echo "" |
|
||||
echo " reload: rebuild image and distribute to nodes" |
|
||||
echo " swarmlab-sec reload size=15" |
|
||||
echo "" |
|
||||
echo " login: login to Docker container of MPI master node for interactive usage" |
|
||||
echo " swarmlab-sec login" |
|
||||
echo "" |
|
||||
echo " exec: execute shell command at the MPI master node" |
|
||||
echo " swarmlab-sec exec [SHELL COMMAND]" |
|
||||
echo "" |
|
||||
echo " down: shutdown swarmlab-sec" |
|
||||
echo " swarmlab-sec down" |
|
||||
echo "" |
|
||||
echo " clean: remove images in the system" |
|
||||
echo " swarmlab-sec clean" |
|
||||
echo "" |
|
||||
echo " list: show running containers of swarmlab-sec" |
|
||||
echo " swarmlab-sec list" |
|
||||
echo "" |
|
||||
echo " help: show this message" |
|
||||
echo " swarmlab-sec help" |
|
||||
echo "" |
|
||||
echo " " |
|
||||
} |
|
||||
|
|
||||
HEADER=" |
|
||||
SwarmLab.io" |
|
||||
|
|
||||
clear_all () |
|
||||
{ |
|
||||
$(docker stop $(docker ps -a | grep "_master_" | awk '{print $1}')) || true |
|
||||
$(docker stop $(docker ps -a | grep "_worker_" | awk '{print $1}')) || true |
|
||||
$(docker stop $(docker ps -a | grep "_registry_" | awk '{print $1}')) || true |
|
||||
docker ps -a | grep "_registry_" | awk '{print $1}' | xargs docker container rm || true |
|
||||
docker ps -a | grep "_worker_" | awk '{print $1}' | xargs docker container rm || true |
|
||||
docker ps -a | grep "_master_" | awk '{print $1}' | xargs docker container rm || true |
|
||||
} |
|
||||
|
|
||||
down_all () |
|
||||
{ |
|
||||
printf "\\n\\n===> CLEAN UP SWARMLAB" |
|
||||
|
|
||||
printf "\\n%s\\n" "$HEADER" |
|
||||
echo "$ docker-compose down" |
|
||||
printf "\\n" |
|
||||
|
|
||||
docker-compose down |
|
||||
} |
|
||||
|
|
||||
up_registry () |
|
||||
{ |
|
||||
printf "\\n\\n===> SPIN UP REGISTRY" |
|
||||
|
|
||||
printf "\\n%s\\n" "$HEADER" |
|
||||
echo "$ docker-compose up -d registry" |
|
||||
printf "\\n" |
|
||||
|
|
||||
#docker stop swarmlab-registry || true && docker rm swarmlab-registry || true |
|
||||
docker container prune --force |
|
||||
docker-compose up --no-recreate -d registry |
|
||||
} |
|
||||
|
|
||||
generate_ssh_keys () |
|
||||
{ |
|
||||
if [ -f ssh/id_rsa ] && [ -f ssh/id_rsa.pub ]; then |
|
||||
return 0 |
|
||||
fi |
|
||||
|
|
||||
printf "\\n\\n===> GENERATE SSH KEYS \\n\\n" |
|
||||
|
|
||||
echo "$ mkdir -p ssh/ " |
|
||||
printf "\\n" |
|
||||
mkdir -p ssh/ |
|
||||
|
|
||||
echo "$ ssh-keygen -f ssh/id_rsa -t rsa -N ''" |
|
||||
printf "\\n" |
|
||||
ssh-keygen -f ssh/id_rsa -t rsa -N '' |
|
||||
} |
|
||||
|
|
||||
build_and_push_image () |
|
||||
{ |
|
||||
printf "\\n\\n===> BUILD IMAGE" |
|
||||
printf "\\n%s\\n" "$HEADER" |
|
||||
echo "$ docker build -t \"$REGISTRY_ADDR:$REGISTRY_PORT/$IMAGE_NAME\" ." |
|
||||
printf "\\n" |
|
||||
docker build -t "$REGISTRY_ADDR:$REGISTRY_PORT/$IMAGE_NAME" . |
|
||||
|
|
||||
printf "\\n" |
|
||||
|
|
||||
printf "\\n\\n===> PUSH IMAGE TO REGISTRY" |
|
||||
printf "\\n%s\\n" "$HEADER" |
|
||||
echo "$ docker push \"$REGISTRY_ADDR:$REGISTRY_PORT/$IMAGE_NAME\"" |
|
||||
printf "\\n" |
|
||||
docker push "$REGISTRY_ADDR:$REGISTRY_PORT/$IMAGE_NAME" |
|
||||
} |
|
||||
|
|
||||
up_master () |
|
||||
{ |
|
||||
printf "\\n\\n===> SPIN UP MASTER NODE" |
|
||||
printf "\\n%s\\n" "$HEADER" |
|
||||
echo "$ docker-compose up -d master" |
|
||||
printf "\\n" |
|
||||
docker-compose up -d master |
|
||||
} |
|
||||
|
|
||||
|
|
||||
up_workers () |
|
||||
{ |
|
||||
printf "\\n\\n===> SPIN UP WORKER NODES" |
|
||||
printf "\\n%s\\n" "$HEADER" |
|
||||
echo "$ docker-compose up -d worker" |
|
||||
printf "\\n" |
|
||||
docker-compose up -d worker |
|
||||
|
|
||||
printf "\\n" |
|
||||
printf "\\n%s\\n" "$HEADER" |
|
||||
|
|
||||
NUM_WORKER=$((SIZE - 1)) |
|
||||
echo "$ docker-compose scale worker=$NUM_WORKER" |
|
||||
printf "\\n" |
|
||||
docker-compose scale worker=${NUM_WORKER} |
|
||||
} |
|
||||
|
|
||||
down_master () |
|
||||
{ |
|
||||
printf "\\n\\n===> TORN DOWN MASTER NODE" |
|
||||
printf "\\n%s\\n" "$HEADER" |
|
||||
|
|
||||
echo "$ docker-compose stop master && docker-compose rm -f master" |
|
||||
printf "\\n" |
|
||||
docker-compose stop master && docker-compose rm -f master |
|
||||
} |
|
||||
|
|
||||
down_workers () |
|
||||
{ |
|
||||
printf "\\n\\n===> TORN DOWN WORKER NODES" |
|
||||
printf "\\n%s\\n" "$HEADER" |
|
||||
echo "$ docker-compose stop worker && docker-compose rm -f worker" |
|
||||
printf "\\n" |
|
||||
docker-compose stop worker && docker-compose rm -f worker |
|
||||
} |
|
||||
|
|
||||
list () |
|
||||
{ |
|
||||
printf "\\n\\n===> LIST CONTAINERS" |
|
||||
printf "\\n%s\\n" "$HEADER" |
|
||||
echo "$ docker-compose ps" |
|
||||
printf "\\n" |
|
||||
docker-compose ps |
|
||||
} |
|
||||
|
|
||||
|
|
||||
exec_on_mpi_master_container () |
|
||||
{ |
|
||||
# shellcheck disable=SC2046 |
|
||||
docker exec -it -u $DOCKERuser $(docker-compose ps | grep 'master'| awk 'NR==1{print $1}') "$@" |
|
||||
} |
|
||||
|
|
||||
prompt_ready () |
|
||||
{ |
|
||||
printf "\\n\\n===> SWARMLAB READY \\n\\n" |
|
||||
} |
|
||||
|
|
||||
show_instruction () |
|
||||
{ |
|
||||
echo ' ## . ' |
|
||||
echo ' ## ## ## == ' |
|
||||
echo ' ## ## ## ## ## === ' |
|
||||
echo ' /"""""""""""""""""\___/ === ' |
|
||||
echo ' ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~ ' |
|
||||
echo ' \______ o __/ ' |
|
||||
echo ' \ \ __/ ' |
|
||||
echo ' \____\_______/ ' |
|
||||
echo ' ' |
|
||||
echo ' Swarmlab.io Hybrid ' |
|
||||
echo '' |
|
||||
echo '==============================================================' |
|
||||
echo '' |
|
||||
|
|
||||
echo "To run SEC programs in an interative shell:" |
|
||||
echo " 1. Login to master node:" |
|
||||
echo " Using Docker through command wrapper:" |
|
||||
echo " $ swarmlab-sec login" |
|
||||
echo "" |
|
||||
echo " Or using SSH with keys through exposed port:" |
|
||||
echo " $ ssh -o \"StrictHostKeyChecking no\" -i ssh/id_rsa -p $SSH_PORT sec@localhost" |
|
||||
echo ' where [localhost] could be changed to the host IP of master node' |
|
||||
echo "" |
|
||||
echo " 2. Execute programs inside master node, for example:" |
|
||||
echo " $ sudo su" |
|
||||
echo " # apt update" |
|
||||
echo " *----------------------------------------------------*" |
|
||||
echo " | Default hostfile of connected nodes in the swarmlab |" |
|
||||
echo " | is automatically updated at /etc/opt/hosts |" |
|
||||
echo " | To obtain hostfile manually: $ get_hosts > hosts |" |
|
||||
echo " * ---------------------------------------------------*" |
|
||||
echo "" |
|
||||
echo "" |
|
||||
} |
|
||||
|
|
||||
|
|
||||
|
|
||||
############################################# |
|
||||
|
|
||||
while [ "$1" != "" ]; |
|
||||
do |
|
||||
PARAM=$(echo "$1" | awk -F= '{print $1}') |
|
||||
VALUE=$(echo "$1" | awk -F= '{print $2}') |
|
||||
|
|
||||
case $PARAM in |
|
||||
help) |
|
||||
usage |
|
||||
exit |
|
||||
;; |
|
||||
-i) |
|
||||
show_instruction |
|
||||
exit |
|
||||
;; |
|
||||
|
|
||||
login) |
|
||||
COMMAND_LOGIN=1 |
|
||||
;; |
|
||||
|
|
||||
exec) |
|
||||
COMMAND_EXEC=1 |
|
||||
shift # the rest is the shell command to run in the node |
|
||||
SHELL_COMMAND="$*" |
|
||||
break # end while loop |
|
||||
;; |
|
||||
|
|
||||
up) |
|
||||
COMMAND_UP=1 |
|
||||
;; |
|
||||
|
|
||||
create) |
|
||||
COMMAND_CREATE=1 |
|
||||
;; |
|
||||
|
|
||||
down) |
|
||||
COMMAND_DOWN=1 |
|
||||
;; |
|
||||
|
|
||||
reload) |
|
||||
COMMAND_RELOAD=1 |
|
||||
;; |
|
||||
|
|
||||
scale) |
|
||||
COMMAND_SCALE=1 |
|
||||
;; |
|
||||
|
|
||||
list) |
|
||||
COMMAND_LIST=1 |
|
||||
;; |
|
||||
|
|
||||
clean) |
|
||||
COMMAND_CLEAN=1 |
|
||||
;; |
|
||||
|
|
||||
size) |
|
||||
[ "$VALUE" ] && SIZE=$VALUE |
|
||||
;; |
|
||||
|
|
||||
*) |
|
||||
echo "ERROR: unknown parameter \"$PARAM\"" |
|
||||
usage |
|
||||
exit 1 |
|
||||
;; |
|
||||
esac |
|
||||
shift |
|
||||
done |
|
||||
|
|
||||
|
|
||||
if [ $COMMAND_UP -eq 1 ]; then |
|
||||
create_dockerfile |
|
||||
down_all |
|
||||
clear_all |
|
||||
up_registry |
|
||||
generate_ssh_keys |
|
||||
build_and_push_image |
|
||||
up_master |
|
||||
up_workers |
|
||||
|
|
||||
prompt_ready |
|
||||
show_instruction |
|
||||
|
|
||||
elif [ $COMMAND_CREATE -eq 1 ]; then |
|
||||
create_project |
|
||||
|
|
||||
elif [ $COMMAND_DOWN -eq 1 ]; then |
|
||||
down_all |
|
||||
clear_all |
|
||||
|
|
||||
elif [ $COMMAND_CLEAN -eq 1 ]; then |
|
||||
clear_all |
|
||||
|
|
||||
|
|
||||
elif [ $COMMAND_SCALE -eq 1 ]; then |
|
||||
create_dockerfile |
|
||||
down_master |
|
||||
down_workers |
|
||||
up_master |
|
||||
up_workers |
|
||||
|
|
||||
prompt_ready |
|
||||
show_instruction |
|
||||
|
|
||||
elif [ $COMMAND_RELOAD -eq 1 ]; then |
|
||||
create_dockerfile |
|
||||
down_master |
|
||||
down_workers |
|
||||
build_and_push_image |
|
||||
up_master |
|
||||
up_workers |
|
||||
|
|
||||
prompt_ready |
|
||||
show_instruction |
|
||||
|
|
||||
elif [ $COMMAND_LOGIN -eq 1 ]; then |
|
||||
exec_on_mpi_master_container /bin/bash |
|
||||
|
|
||||
elif [ $COMMAND_EXEC -eq 1 ]; then |
|
||||
create_dockerfile |
|
||||
exec_on_mpi_master_container ash -c "${SHELL_COMMAND}" |
|
||||
|
|
||||
elif [ $COMMAND_LIST -eq 1 ]; then |
|
||||
list |
|
||||
else |
|
||||
usage |
|
||||
fi |
|
||||
|
|
@ -1,5 +0,0 @@ |
|||||
|
|
||||
REGISTRY_ADDR=localhost |
|
||||
REGISTRY_PORT=5000 |
|
||||
IMAGE_NAME=swarmlab-sec |
|
||||
SSH_PORT=41915 |
|
@ -1,15 +0,0 @@ |
|||||
map <C-e> :NERDTreeToggle<CR> |
|
||||
|
|
||||
autocmd BufNewFile,BufRead *.vue,*.js set syntax=verilog tabstop=2|set shiftwidth=2|set noexpandtab autoindent |
|
||||
augroup remember_folds |
|
||||
autocmd! |
|
||||
autocmd BufWinLeave * mkview |
|
||||
autocmd BufWinEnter * silent! loadview |
|
||||
augroup END |
|
||||
" Useful for my Quick Notes feature in my tmuxrc |
|
||||
augroup QuickNotes |
|
||||
au BufWrite,VimLeave NOTES.otl mkview |
|
||||
au BufRead NOTES.otl silent loadview |
|
||||
augroup END |
|
||||
set swapfile |
|
||||
set dir=~/tmp |
|
@ -1,33 +0,0 @@ |
|||||
FROM localhost:5000/sec |
|
||||
# |
|
||||
USER root |
|
||||
RUN export DEBIAN_FRONTEND=noninteractive && apt-get update && apt-get --no-install-recommends install -y openssh-server net-tools curl tcpdump shorewall sudo vim nmap dnsutils iputils-ping iptables wget python |
|
||||
RUN apt-get autoremove --purge && apt clean |
|
||||
RUN rm -rf /var/lib/apt/lists/* |
|
||||
RUN mkdir -p /var/run/sshd |
|
||||
RUN echo 'root:pass' | chpasswd |
|
||||
RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config |
|
||||
# |
|
||||
# SSH login fix. Otherwise user is kicked off after login |
|
||||
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd |
|
||||
# |
|
||||
ENV NOTVISIBLE "in users profile" |
|
||||
RUN echo "export VISIBLE=now" >> /etc/profile |
|
||||
#RUN wget -k https://raw.githubusercontent.com/egalpin/apt-vim/master/install.sh |
|
||||
# |
|
||||
# |
|
||||
# |
|
||||
COPY sec_bootstrap /usr/bin |
|
||||
COPY get_hosts /usr/bin |
|
||||
COPY auto_update_hosts /usr/bin |
|
||||
RUN mkdir -p /etc/shorewall |
|
||||
COPY shorewall /etc/shorewall |
|
||||
RUN mkdir -p /etc/opt |
|
||||
RUN mkdir -p /project |
|
||||
WORKDIR /project |
|
||||
COPY install-vim-plugin.sh . |
|
||||
#RUN bash ./install-vim-plugin.sh |
|
||||
#RUN apt-vim install -y https://github.com/scrooloose/nerdtree.git |
|
||||
RUN grep -qw ^docker /etc/passwd || useradd -m docker && echo "docker:docker" | chpasswd && adduser docker sudo |
|
||||
COPY .vimrc /home/docker |
|
||||
USER docker |
|
@ -1 +0,0 @@ |
|||||
ROOT_PASSWORD="pass" |
|
@ -1,11 +0,0 @@ |
|||||
#!/bin/sh |
|
||||
|
|
||||
hosts=$(get_hosts) |
|
||||
printf "%s" "$hosts" > "$1" |
|
||||
|
|
||||
while sleep 2 |
|
||||
do |
|
||||
current_hosts=$(get_hosts) |
|
||||
[ "$hosts" != "$current_hosts" ] && printf "%s" "$current_hosts" > "$1" |
|
||||
hosts=$current_hosts |
|
||||
done |
|
@ -1,3 +0,0 @@ |
|||||
|
|
||||
docker stop $1 |
|
||||
docker container rm $1 |
|
@ -1,37 +0,0 @@ |
|||||
version: "2" |
|
||||
|
|
||||
services: |
|
||||
registry: |
|
||||
image: registry |
|
||||
ports: |
|
||||
- "5000:5000" |
|
||||
|
|
||||
master: |
|
||||
image: localhost:5000/sec |
|
||||
privileged: true |
|
||||
cap_add: |
|
||||
- NET_ADMIN |
|
||||
user: root |
|
||||
entrypoint: ["sec_bootstrap", "role=master", "sec_master_service_name=master", "sec_worker_service_name=worker"] |
|
||||
ports: |
|
||||
- "${SSH_PORT}:22" |
|
||||
networks: |
|
||||
- net |
|
||||
volumes: |
|
||||
- /data/appl/ok/gitversion/examples-services/swarmlab-sec/18.11/project:/project |
|
||||
|
|
||||
|
|
||||
worker: |
|
||||
image: localhost:5000/sec |
|
||||
privileged: true |
|
||||
cap_add: |
|
||||
- NET_ADMIN |
|
||||
user: root |
|
||||
entrypoint: ["sec_bootstrap", "role=worker", "sec_master_service_name=master", "sec_worker_service_name=worker"] |
|
||||
networks: |
|
||||
- net |
|
||||
volumes: |
|
||||
- /data/appl/ok/gitversion/examples-services/swarmlab-sec/18.11/project:/project |
|
||||
|
|
||||
networks: |
|
||||
net: |
|
@ -1,8 +0,0 @@ |
|||||
#!/bin/sh |
|
||||
|
|
||||
# Include the variables that store the Docker service names |
|
||||
# shellcheck disable=SC1091 |
|
||||
. /etc/opt/service_names |
|
||||
|
|
||||
( netstat -t | grep ESTABLISHED | awk '{print $5}' | grep "$MPI_WORKER_SERVICE_NAME" | cut -d: -f1 \ |
|
||||
& getent hosts "$MPI_MASTER_SERVICE_NAME" | cut -d' ' -f1 ) | sort -u |
|
@ -1,74 +0,0 @@ |
|||||
#! /usr/bin/env sh |
|
||||
|
|
||||
start_dir=$(pwd) |
|
||||
bin_string="export PATH=\"${PATH}:${HOME}/.vimpkg/bin\"" |
|
||||
|
|
||||
# Download the apt-vim files |
|
||||
curl -fSsLo ${HOME}/apt-vim/apt-vim --create-dirs \ |
|
||||
https://raw.githubusercontent.com/egalpin/apt-vim/master/apt-vim |
|
||||
|
|
||||
curl -fSsLo ${HOME}/apt-vim/vim_config.json \ |
|
||||
https://raw.githubusercontent.com/egalpin/apt-vim/master/vim_config.json |
|
||||
|
|
||||
# Add vimrc if there isn't one already |
|
||||
[ -f ${HOME}/.vimrc ] || touch ${HOME}/.vimrc |
|
||||
|
|
||||
# Make sure vimrc is using pathogen |
|
||||
if [ $(grep -c "execute pathogen#infect()" ${HOME}/.vimrc) -eq 0 ]; then |
|
||||
echo "execute pathogen#infect()" >> ${HOME}/.vimrc |
|
||||
fi |
|
||||
if [ $(grep -c "call pathogen#helptags()" ${HOME}/.vimrc) -eq 0 ]; then |
|
||||
echo "call pathogen#helptags()" >> ${HOME}/.vimrc |
|
||||
fi |
|
||||
|
|
||||
# Update path for executing shell |
|
||||
eval "$bin_string" |
|
||||
|
|
||||
added_to_profile=false |
|
||||
already_present=false |
|
||||
for rc in bashrc zshrc bash_profile; do |
|
||||
if [ -s "$HOME/.$rc" ]; then |
|
||||
if grep -q "$bin_string" "$HOME/.$rc"; then |
|
||||
already_present=true |
|
||||
else |
|
||||
printf "\n$bin_string\n" >> "$HOME/.$rc" |
|
||||
printf "== Added apt-vim PATH to '~/.$rc'\n" |
|
||||
added_to_profile=true |
|
||||
fi |
|
||||
fi |
|
||||
done |
|
||||
|
|
||||
# Execute apt-vim init |
|
||||
cd ${HOME}/apt-vim |
|
||||
python - <<EOF |
|
||||
import imp, os |
|
||||
print('apt-vim setup starting') |
|
||||
HOME = os.path.expanduser("~") |
|
||||
APT_VIM_DIR = os.path.abspath(os.path.join(HOME, 'apt-vim')) |
|
||||
SCRIPT_ROOT_DIR = os.path.abspath(os.path.join(HOME, '.vimpkg')) |
|
||||
BIN_DIR = os.path.abspath(os.path.join(SCRIPT_ROOT_DIR, 'bin')) |
|
||||
os.environ['PATH'] += os.pathsep + BIN_DIR |
|
||||
os.chdir(APT_VIM_DIR) |
|
||||
|
|
||||
aptvim = imp.load_source("aptvim", "./apt-vim") |
|
||||
av = aptvim.aptvim(ASSUME_YES=True, VIM_CONFIG='', INSTALL_TARGET='') |
|
||||
av.first_run() |
|
||||
av.handle_install(None, None, None) |
|
||||
EOF |
|
||||
python_result=$? |
|
||||
|
|
||||
cd $start_dir |
|
||||
|
|
||||
echo |
|
||||
if [ "$python_result" -ne 0 ]; then |
|
||||
echo "== Error:" |
|
||||
echo " Installation failed." |
|
||||
elif [ "$added_to_profile" = false ] && [ "$already_present" = false ]; then |
|
||||
echo "== Error:" |
|
||||
echo " Found no profile to add apt-vim PATH to." |
|
||||
echo " Add the following line to your shell profile and source it to install manually:" |
|
||||
printf " $bin_string\n" |
|
||||
else |
|
||||
echo "== apt-vim installation succeeded! Run 'source ~/.bashrc || source ~/.bash_profile' or 'source ~/.zshrc'" |
|
||||
echo " to access the executable script." |
|
||||
fi |
|
@ -1,2 +0,0 @@ |
|||||
|
|
||||
|
|
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@ |
|||||
echo "Hello World" |
|
@ -1,10 +0,0 @@ |
|||||
[service] |
|
||||
172.22.0.2 |
|
||||
172.22.0.3 |
|
||||
172.22.0.4 |
|
||||
172.22.0.5 |
|
||||
172.22.0.6 |
|
||||
|
|
||||
[service1] |
|
||||
172.22.0.4 |
|
||||
172.22.0.6 |
|
@ -1 +0,0 @@ |
|||||
openvpn --config ./test1.ovpn |
|
@ -1 +0,0 @@ |
|||||
openvpn --config ./test2.ovpn |
|
@ -1 +0,0 @@ |
|||||
ansible-playbook -u docker -i inventory.yml test.yml -f 5 --ask-pass --ask-become-pass |
|
@ -1,110 +0,0 @@ |
|||||
client |
|
||||
nobind |
|
||||
dev tun |
|
||||
comp-lzo |
|
||||
resolv-retry infinite |
|
||||
keepalive 15 60 |
|
||||
|
|
||||
remote-cert-tls server |
|
||||
remote 192.168.1.5 1194 udp |
|
||||
float |
|
||||
|
|
||||
<key> |
|
||||
-----BEGIN PRIVATE KEY----- |
|
||||
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDEKX1RLDhwLIHL |
|
||||
ccQ1SyPfcZdzlG1obYLfsXoyxV+QuTMkjidzBjtkBw7RscQK9uSWt6c/89DRAiao |
|
||||
zSwCUF0t+13kd0TXGe6b5qGVOnlAnNeyEuFYkAOdzEJ7vT9zYphq7F8mD6ZFEl1l |
|
||||
4j83UwTZLvvjLjvE931CLDj4qespae8v3J2enzNZ4rTFZOGyabqlTrzkyyBW38az |
|
||||
Hv87MkGIaecnYw+HtJ2lR+0WlznVnagw8v3r2usrT3Z/iOJDOg/23WjgHF/FZ4Ca |
|
||||
ue/pvG4XX/vMFkZqTi+jpl6JBsH6oQ+DM7vsQ1B0YjJDSPaHP9ImVlzAgsz4VO9G |
|
||||
a13EVJq7AgMBAAECggEBAJbhttN96PdXNIqwuhOn9TLEI5MyQqlFOpom3/A3Ypdl |
|
||||
7FGcyfkufPYme56NVlZ8qzzGjG2jcyWguu2xyr0I5XMd2o2Fs7yj5KWj0vt+m484 |
|
||||
VKxS22QMecuhNi4JVcnBt6zenR0ggmq0goSAbtF2GM+Y1QRcJnsNRhpk+3lA8XHL |
|
||||
ADpP55UJv/BSbbOM3PdB2HEkBZ0PL1Lh5ogZDfrpouVvXpCKd6FRUu8VKO/Gez+Y |
|
||||
ZZ1AVpMHWgwZgyVc+u2ZwUwLc+6gXjeY6rX8yTIUwKI6JB9hicvJ00h8/7VMAmhb |
|
||||
S2ZPDcxjeZLCsO0xLMqJfbJcZb2omYZmgDHGT3PeATkCgYEA+BxCGuSVYH8Ui6VO |
|
||||
VnHt6OW5EdQbtDyYzlSp/wrmL3Ht5j2/LT/vpTMyQA71R8ncUOwac+wRBV9ZtRxS |
|
||||
ifQJLngDaqbUsJujaveI2JJVgpjrY0LC9Wz8lGOvYroiGRzOHC5vE43+rZxshPSw |
|
||||
ftN0+0QUtLwObC+NufbktC2yFX8CgYEAymZYoNuE2sBYPR1AXMiL8zXdWha4L41F |
|
||||
z2lFa5aLL8vkAVwqEOlupUTCSud39jW5tPfggg9HQQDnt6HpCLtmNdMHO2nnnFpL |
|
||||
hoMDGtS7yuPvMXDqP0tlnDFfeM7O7OKw0cZR+bPb6yJeLt6GDZ1ifwb5JpE1GXuU |
|
||||
k/yog6ld8MUCgYEAw81JPf/3AthHVo12bTIsFwh0LWW/F1ZbITofjm8DiZ3XqURB |
|
||||
g2xZq33jwjoLyEO94v7xQVqjdCHzocJgQQ6d0FZWG+zdHSM2rEv9ayzQ3uffm84s |
|
||||
HZONIW4qEzfhgQACiKr8beo5erlfyu1v/CbUwxbPYHKozygYKRJ3GtqVF/ECgYBv |
|
||||
hDZ+4pRvppy3h39n38NkTKBaO7xdztvQ7LKoFbk4q4FD0pEG4mbpPlpCxQgOqwlY |
|
||||
EV8sqdhbk3EYd2gbPI2TSGNqs+498m48fcDfLqkNn8qxlgIqv5MLnRR6TpAqarh7 |
|
||||
zGZsS1H3WudDsa1woO+dB62NN2JnWPTDGOmMKWwt9QKBgQDpYg0Yih2Mp98fNVDH |
|
||||
cikFbmXcA2t7Y+28gSaUmEpaEZTSKbhbvsep0q4mr7xLOANtl9cFDfsnabpTpQub |
|
||||
zp4BfpbGZhqsWMDCsu8FFR46Gj5H6VidDnHP6fDUTF41e76UFZkBTqDCYCQzcHKf |
|
||||
BO1K6MLMdbl66JoOx5+lPnukMg== |
|
||||
-----END PRIVATE KEY----- |
|
||||
</key> |
|
||||
<cert> |
|
||||
-----BEGIN CERTIFICATE----- |
|
||||
MIIDUjCCAjqgAwIBAgIQC67E4HzAv+jKJmBASy5iXzANBgkqhkiG9w0BAQsFADAW |
|
||||
MRQwEgYDVQQDDAtFYXN5LVJTQSBDQTAeFw0yMDEyMDkxNDM4MDJaFw0yMzExMjQx |
|
||||
NDM4MDJaMA8xDTALBgNVBAMMBHNlYzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw |
|
||||
ggEKAoIBAQDEKX1RLDhwLIHLccQ1SyPfcZdzlG1obYLfsXoyxV+QuTMkjidzBjtk |
|
||||
Bw7RscQK9uSWt6c/89DRAiaozSwCUF0t+13kd0TXGe6b5qGVOnlAnNeyEuFYkAOd |
|
||||
zEJ7vT9zYphq7F8mD6ZFEl1l4j83UwTZLvvjLjvE931CLDj4qespae8v3J2enzNZ |
|
||||
4rTFZOGyabqlTrzkyyBW38azHv87MkGIaecnYw+HtJ2lR+0WlznVnagw8v3r2usr |
|
||||
T3Z/iOJDOg/23WjgHF/FZ4Caue/pvG4XX/vMFkZqTi+jpl6JBsH6oQ+DM7vsQ1B0 |
|
||||
YjJDSPaHP9ImVlzAgsz4VO9Ga13EVJq7AgMBAAGjgaIwgZ8wCQYDVR0TBAIwADAd |
|
||||
BgNVHQ4EFgQUvjyE1nzk+/BHb9pvGpNlAUqqQuwwUQYDVR0jBEowSIAU92QhHH9s |
|
||||
VPh6UUHvnKaKZJzlN/ahGqQYMBYxFDASBgNVBAMMC0Vhc3ktUlNBIENBghQC21um |
|
||||
s0zDfPWZMpYIqaq8sgRDTTATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMC |
|
||||
B4AwDQYJKoZIhvcNAQELBQADggEBAIfc4UmKPCn1L0oWuHH7kXbsVKuV9mNOet26 |
|
||||
+WSjpkfhcKlf8cRcnpmRJRiHL+y92GUxs4PGNEHrNhbXYr6CGPaSV+i2p7+aXdv4 |
|
||||
95/UR1uFZx+rYZByh27fydNohsDvLD+CZqUG03nw+cMFwRg8r15ZaeOJVe+jYhc7 |
|
||||
qU3v2PCcLlZM3mMZ+1lqKfcND/iZ2CWy4Je655DjVWe4j3qu9hlCDlN6rVPb2OEr |
|
||||
qwpq8QWdgpPE1kQ8UgOoJIuJ9YkYeeAHNHmiTE4QNOBrMGx4lvB/rQnV4xNpDyTD |
|
||||
wWqbfauntXdEbTQfBuexOkhkpLCoXWmeOtSdk4iHPMPcyIxyAeg= |
|
||||
-----END CERTIFICATE----- |
|
||||
</cert> |
|
||||
<ca> |
|
||||
-----BEGIN CERTIFICATE----- |
|
||||
MIIDSzCCAjOgAwIBAgIUAttbprNMw3z1mTKWCKmqvLIEQ00wDQYJKoZIhvcNAQEL |
|
||||
BQAwFjEUMBIGA1UEAwwLRWFzeS1SU0EgQ0EwHhcNMjAxMjA5MTQzMTQ1WhcNMzAx |
|
||||
MjA3MTQzMTQ1WjAWMRQwEgYDVQQDDAtFYXN5LVJTQSBDQTCCASIwDQYJKoZIhvcN |
|
||||
AQEBBQADggEPADCCAQoCggEBAMmQHmv/feJnQVcAAkZHJm1J93VlRwyQSGJszo31 |
|
||||
O0I5F0HHGlXz0BWujwQwjtit/U/NZNw3+lnP5s/wiWSCTomdO9zeXrj/qOwg9zly |
|
||||
URyPDLAlcK+HI0e2MsbH7JqJq92NwtgTmoWj+iMdnFAUG0Gb18MqT+3tTLOIF8Hc |
|
||||
5c9meotvBKKPB1XOwevTngCEF4MiZiCkAU+eve0W5+tQFhDdybMIZmVSEBHgp3c7 |
|
||||
IyfQYs62rmjmBI0HXsthZDw+2KPw4w1zkD9MtexD/JMJaDHwz3biZyoVhucdbLNa |
|
||||
uxPlK1LdzHVXcuN58q0VTOYYpmQvh/rEhFTjObAWWRF8JXcCAwEAAaOBkDCBjTAd |
|
||||
BgNVHQ4EFgQU92QhHH9sVPh6UUHvnKaKZJzlN/YwUQYDVR0jBEowSIAU92QhHH9s |
|
||||
VPh6UUHvnKaKZJzlN/ahGqQYMBYxFDASBgNVBAMMC0Vhc3ktUlNBIENBghQC21um |
|
||||
s0zDfPWZMpYIqaq8sgRDTTAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBBjANBgkq |
|
||||
hkiG9w0BAQsFAAOCAQEAQUVJZVzk0eXOfA5qaHdYE29cW37ImVy9gMQGS0Mg6tT6 |
|
||||
lwBQyXG9Gd/KvCG8WyzgEtuloHqknCRdLDb/N/X2oG5ib7ypCv4j+VeVOXCwAq2N |
|
||||
dhEJdQxMxDYrpcAMFpcr7oZA8jEQBtLG2sKRw/3MMwk2rBaKbTxk+SVnM7EOR5rV |
|
||||
plOc84Y+hZ2trQEUV9iussxWlr7GUbFeKaE8qYvVmqqoXxl9plt5VOgTnZHCNyN9 |
|
||||
jxGnOdcKq3KERPVhwBwfNpfYDqLjKp+A8TTDkhjRm80ayeMCStYjVaH3ud+/jmn3 |
|
||||
ye6/XUOrsn9aZhHBCN9pCJUsIRsGemTvQVH74tusew== |
|
||||
-----END CERTIFICATE----- |
|
||||
</ca> |
|
||||
key-direction 1 |
|
||||
<tls-auth> |
|
||||
# |
|
||||
# 2048 bit OpenVPN static key |
|
||||
# |
|
||||
-----BEGIN OpenVPN Static key V1----- |
|
||||
b3a5e1e4f76a13d2d496ca397897d6e4 |
|
||||
644f28ac1fd6e1edba47aadbcdb1c692 |
|
||||
5203f522ed18b66b5df5a0259bc9581d |
|
||||
5601c534f6a6f0c34939fc743553b5e7 |
|
||||
140e2d1c467bfe5d99ad423a726f4b42 |
|
||||
e760f0f0b660293866953b4fafdaf683 |
|
||||
362c589a3db5feb3456d84a8f219521e |
|
||||
ee8dca14b3d0c56814da63f01a7ef89e |
|
||||
b4b3df8c6b85c051f5997b8b3360d7d2 |
|
||||
6b51203b03ec07e66726d894791dfa90 |
|
||||
a3ccf3703799ab1ba9905828b4f2baf8 |
|
||||
5c13530607d6f227f13bb897785b2ccd |
|
||||
140bc95f7333037df6a65b6c96c8fcd6 |
|
||||
d28226af3b1b084bffb92016312a4ca7 |
|
||||
f6cca31f281b03d45ed7d13145837ba3 |
|
||||
130ae15c5d868ba25f7ba702c6161f56 |
|
||||
-----END OpenVPN Static key V1----- |
|
||||
</tls-auth> |
|
||||
|
|
@ -1,111 +0,0 @@ |
|||||
|
|
||||
client |
|
||||
nobind |
|
||||
dev tun |
|
||||
comp-lzo |
|
||||
resolv-retry infinite |
|
||||
keepalive 15 60 |
|
||||
|
|
||||
remote-cert-tls server |
|
||||
remote 192.168.1.5 1194 udp |
|
||||
float |
|
||||
|
|
||||
<key> |
|
||||
-----BEGIN PRIVATE KEY----- |
|
||||
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDtX8bpeD7m1Rzc |
|
||||
0InKb33Hoznp4MRqCr6YKQrr/o5qJeK262NIhGKJp0bPnvYULzGWwJRl49b8kE5F |
|
||||
R7wuuSuPRjULhm87VRZH3SNFzRVBfiifjOSiQcBBcOGq1knmR4VoHEEP99EuHWfW |
|
||||
ls2wdAm4nyDBkwmxs951pamMR7wtY3q6tvqQ8Edp5EuNG1/Y4O4P32lPG+z7kx7L |
|
||||
dY9XCN1FKyZlngVQtAK+gvQcFYyotogSPFhcu0DDr81VxbEwr3HqUKU0+l93Vbo4 |
|
||||
B7FYMKZ4eSUneY+qG4S06ELdkJARGWIOeIJ0bg0j4bNHepTNEmFjB9o+Ax66LJu+ |
|
||||
4YrQ2pE5AgMBAAECggEAL2PbtmjHRhZt+Le5iqzPk7fGrCavj+wtOPuYrpzXmeGO |
|
||||
ba5419V2Rr0aqgC2aDkz0UEJX34pQasdtT8pFrrpM2V02aQxOMs384j2rczP3Y9u |
|
||||
VMwwKSSvWWFL7GtzvYGx5KMfaiyzml1Mic75qazA9Bbw1zSfztZ2J063lsYLj5PW |
|
||||
Ulm13RpOQUSdYGGxMa36cJeYKg5LNO8wK3hG6ErWBHfZiGSbzsxgUZgIr3sIMUIS |
|
||||
iq9VXart/5UmX0og2+RTaTsWJfDr/CC7QPXNDo95Ah+4+eg0aPj445yFnnfuqIjt |
|
||||
sJSwl9pDJXXz6Ix1vM4pDew4GinVs0bPQBaXvbZ/8QKBgQD314c5YM/7j3w6l/Z/ |
|
||||
/fGYVJdLLcgu6waesx6n+OYwBnKUFYmeXyuXWiQe+Gh7dZvy32JOQPjgLWFBgIMR |
|
||||
keWp3GV3i1iT0M08NOmvhYMjPgOugd4kW8pDDH24ghYceBUlA+bJcpgRxvQ9tsbD |
|
||||
5Ujr2X2MBx+O9OcDnG/1ospwYwKBgQD1MAprMxjLqnP9Iy5kShXWlNCEJ04pOPbW |
|
||||
wlGxHrU4GR4yW2LReMTHKBnCcaHNuxTfnMip+zIk5rM7rr6rFeHSbtabcj1YgRvz |
|
||||
7BZMPpfDh5zE9PF2tZkk7HpTW5rAmZKOZ+QceDFVw0ZW/lentsvFSULPsaWAVLgL |
|
||||
XCqF1ZTUswKBgQDYbV/qnT5CQUSMrlNV5d5p1cTgo7QiNJ7tSyHEMThiS98WrdAl |
|
||||
eppIazEL0oT6+vMaHjRsfZRXv4kkeCL83tkdghchU5AgVMBEiThgTEj+J5NzenkQ |
|
||||
aw+viWLoEsFYTwy37DZHSEi/jWuP0OK2Aq2xN5XJCBdo8TgjESM779K0XQKBgAxu |
|
||||
miijV5+EDguIzCJjq0XNF+GLiKgIbmOnSLMdZnzosSJGhfUvFXMvslasolKnKMDJ |
|
||||
11bfGMTMOcxN6PcNzfx4iEMrgLbLHRq6HstQ5SsR5j4KWW/2d0RrBSzS2T7oyoiT |
|
||||
9foHkiDSHO/uR42GdECVnWCglk6yfP5+dt2AXeKHAoGAP6zhQvtpbb/zK+vYq9UJ |
|
||||
NupWAKpoqXG4HJR8XqVVZOUaAn2tcIYsSIe2xuA+RW1V88r7v/0MwprZC4jPVfTN |
|
||||
mCHRsjfSZ1wKPatekhRp+BpnWxQo38pgCg0ARJ7A6TFlv2hFHlLooZGLYo65zc3i |
|
||||
XxRtUHUhVQ9sUWwTGlivhCM= |
|
||||
-----END PRIVATE KEY----- |
|
||||
</key> |
|
||||
<cert> |
|
||||
-----BEGIN CERTIFICATE----- |
|
||||
MIIDUzCCAjugAwIBAgIRAOFWsPPOOfMNYmBx/AMCsAkwDQYJKoZIhvcNAQELBQAw |
|
||||
FjEUMBIGA1UEAwwLRWFzeS1SU0EgQ0EwHhcNMjAxMjA5MTQ0MjM1WhcNMjMxMTI0 |
|
||||
MTQ0MjM1WjAPMQ0wCwYDVQQDDARzZWMyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A |
|
||||
MIIBCgKCAQEA7V/G6Xg+5tUc3NCJym99x6M56eDEagq+mCkK6/6OaiXitutjSIRi |
|
||||
iadGz572FC8xlsCUZePW/JBORUe8Lrkrj0Y1C4ZvO1UWR90jRc0VQX4on4zkokHA |
|
||||
QXDhqtZJ5keFaBxBD/fRLh1n1pbNsHQJuJ8gwZMJsbPedaWpjEe8LWN6urb6kPBH |
|
||||
aeRLjRtf2ODuD99pTxvs+5Mey3WPVwjdRSsmZZ4FULQCvoL0HBWMqLaIEjxYXLtA |
|
||||
w6/NVcWxMK9x6lClNPpfd1W6OAexWDCmeHklJ3mPqhuEtOhC3ZCQERliDniCdG4N |
|
||||
I+GzR3qUzRJhYwfaPgMeuiybvuGK0NqROQIDAQABo4GiMIGfMAkGA1UdEwQCMAAw |
|
||||
HQYDVR0OBBYEFKK08NJV8nArTRn/Eg8DIg2iKHX4MFEGA1UdIwRKMEiAFPdkIRx/ |
|
||||
bFT4elFB75ymimSc5Tf2oRqkGDAWMRQwEgYDVQQDDAtFYXN5LVJTQSBDQYIUAttb |
|
||||
prNMw3z1mTKWCKmqvLIEQ00wEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQD |
|
||||
AgeAMA0GCSqGSIb3DQEBCwUAA4IBAQAv1/sr+ilQvvXrLRhNaulfDuHEaoxILT9S |
|
||||
pEn7549SeGTDm8qyfd5zSDdmTLoQ7tewL6cstXMcjMr3ls1m3JlPWuiKB7PBGhPS |
|
||||
zmnw/9jTO6gPgg2mzNtcR7xYXcheKmp2Vza4ufh4zDCho4Kq1XYj9IDJt8Jt1l+5 |
|
||||
Patny8IG/udc8uhQjfDI0Z8DHZf350Rm9fHPR50nEY3+LZDmdYe4t7GZg+mB+roC |
|
||||
0wsJlFgI/FWd++po3SC0qOi8k7TTD/P09czAZLqhm19ZLy8M4lzYl+oV5SJRN7Sq |
|
||||
ot1eb6M+fd0zrKaaOp31lP5LPjvMxrS5NomH07FduNpqLhfnx8SB |
|
||||
-----END CERTIFICATE----- |
|
||||
</cert> |
|
||||
<ca> |
|
||||
-----BEGIN CERTIFICATE----- |
|
||||
MIIDSzCCAjOgAwIBAgIUAttbprNMw3z1mTKWCKmqvLIEQ00wDQYJKoZIhvcNAQEL |
|
||||
BQAwFjEUMBIGA1UEAwwLRWFzeS1SU0EgQ0EwHhcNMjAxMjA5MTQzMTQ1WhcNMzAx |
|
||||
MjA3MTQzMTQ1WjAWMRQwEgYDVQQDDAtFYXN5LVJTQSBDQTCCASIwDQYJKoZIhvcN |
|
||||
AQEBBQADggEPADCCAQoCggEBAMmQHmv/feJnQVcAAkZHJm1J93VlRwyQSGJszo31 |
|
||||
O0I5F0HHGlXz0BWujwQwjtit/U/NZNw3+lnP5s/wiWSCTomdO9zeXrj/qOwg9zly |
|
||||
URyPDLAlcK+HI0e2MsbH7JqJq92NwtgTmoWj+iMdnFAUG0Gb18MqT+3tTLOIF8Hc |
|
||||
5c9meotvBKKPB1XOwevTngCEF4MiZiCkAU+eve0W5+tQFhDdybMIZmVSEBHgp3c7 |
|
||||
IyfQYs62rmjmBI0HXsthZDw+2KPw4w1zkD9MtexD/JMJaDHwz3biZyoVhucdbLNa |
|
||||
uxPlK1LdzHVXcuN58q0VTOYYpmQvh/rEhFTjObAWWRF8JXcCAwEAAaOBkDCBjTAd |
|
||||
BgNVHQ4EFgQU92QhHH9sVPh6UUHvnKaKZJzlN/YwUQYDVR0jBEowSIAU92QhHH9s |
|
||||
VPh6UUHvnKaKZJzlN/ahGqQYMBYxFDASBgNVBAMMC0Vhc3ktUlNBIENBghQC21um |
|
||||
s0zDfPWZMpYIqaq8sgRDTTAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBBjANBgkq |
|
||||
hkiG9w0BAQsFAAOCAQEAQUVJZVzk0eXOfA5qaHdYE29cW37ImVy9gMQGS0Mg6tT6 |
|
||||
lwBQyXG9Gd/KvCG8WyzgEtuloHqknCRdLDb/N/X2oG5ib7ypCv4j+VeVOXCwAq2N |
|
||||
dhEJdQxMxDYrpcAMFpcr7oZA8jEQBtLG2sKRw/3MMwk2rBaKbTxk+SVnM7EOR5rV |
|
||||
plOc84Y+hZ2trQEUV9iussxWlr7GUbFeKaE8qYvVmqqoXxl9plt5VOgTnZHCNyN9 |
|
||||
jxGnOdcKq3KERPVhwBwfNpfYDqLjKp+A8TTDkhjRm80ayeMCStYjVaH3ud+/jmn3 |
|
||||
ye6/XUOrsn9aZhHBCN9pCJUsIRsGemTvQVH74tusew== |
|
||||
-----END CERTIFICATE----- |
|
||||
</ca> |
|
||||
key-direction 1 |
|
||||
<tls-auth> |
|
||||
# |
|
||||
# 2048 bit OpenVPN static key |
|
||||
# |
|
||||
-----BEGIN OpenVPN Static key V1----- |
|
||||
b3a5e1e4f76a13d2d496ca397897d6e4 |
|
||||
644f28ac1fd6e1edba47aadbcdb1c692 |
|
||||
5203f522ed18b66b5df5a0259bc9581d |
|
||||
5601c534f6a6f0c34939fc743553b5e7 |
|
||||
140e2d1c467bfe5d99ad423a726f4b42 |
|
||||
e760f0f0b660293866953b4fafdaf683 |
|
||||
362c589a3db5feb3456d84a8f219521e |
|
||||
ee8dca14b3d0c56814da63f01a7ef89e |
|
||||
b4b3df8c6b85c051f5997b8b3360d7d2 |
|
||||
6b51203b03ec07e66726d894791dfa90 |
|
||||
a3ccf3703799ab1ba9905828b4f2baf8 |
|
||||
5c13530607d6f227f13bb897785b2ccd |
|
||||
140bc95f7333037df6a65b6c96c8fcd6 |
|
||||
d28226af3b1b084bffb92016312a4ca7 |
|
||||
f6cca31f281b03d45ed7d13145837ba3 |
|
||||
130ae15c5d868ba25f7ba702c6161f56 |
|
||||
-----END OpenVPN Static key V1----- |
|
||||
</tls-auth> |
|
||||
|
|
@ -1,12 +0,0 @@ |
|||||
sdfsfsdfdf |
|
||||
sdfsfsdfdf |
|
||||
sdfsfsdfdf |
|
||||
sdfsfsdfdf |
|
||||
sdfsfsdfdf |
|
||||
sdfsfsdfdf |
|
||||
sdfsfsdfdf |
|
||||
sdfsfsdfdf |
|
||||
sdfsfsdfdf |
|
||||
sdfsfsdfdf |
|
||||
sdfsfsdfdf |
|
||||
sdfsfsdfdf |
|
@ -1,4 +0,0 @@ |
|||||
172.22.0.2 |
|
||||
172.22.0.4 |
|
||||
172.22.0.5 |
|
||||
172.22.0.6 |
|
@ -1,45 +0,0 @@ |
|||||
--- |
|
||||
- hosts: service |
|
||||
remote_user: docker |
|
||||
gather_facts: no |
|
||||
vars: |
|
||||
user: "docker" |
|
||||
|
|
||||
tasks: |
|
||||
# ----------------- |
|
||||
# make directory |
|
||||
# ----------------- |
|
||||
- name: make dir for data |
|
||||
become: true |
|
||||
file: |
|
||||
path: "/var/lab/playground/playground-readmongo" |
|
||||
state: directory |
|
||||
owner: docker |
|
||||
group: docker |
|
||||
mode: '0777' |
|
||||
|
|
||||
- name: google.com |
|
||||
become: yes |
|
||||
become_user: "{{ user }}" |
|
||||
command: curl http://www.google.com |
|
||||
ignore_errors: yes |
|
||||
register: configwww |
|
||||
|
|
||||
- name: ls configwww |
|
||||
debug: var=configwww.stdout_lines |
|
||||
|
|
||||
# - name: ls -al /var/lab/playground/playground-readmongo/ |
|
||||
# become: yes |
|
||||
# become_user: "{{ user }}" |
|
||||
# #command: ls -al /var/lab/playground/playground-readmongo |
|
||||
# command: netstat -antlupe |
|
||||
# ignore_errors: yes |
|
||||
# register: config |
|
||||
# |
|
||||
# - name: ls config |
|
||||
# debug: var=config.stdout_lines |
|
||||
# |
|
||||
# - name: Refresh connection |
|
||||
# meta: clear_host_errors |
|
||||
# |
|
||||
|
|
@ -1,121 +0,0 @@ |
|||||
|
|
||||
client |
|
||||
nobind |
|
||||
dev tun |
|
||||
comp-lzo |
|
||||
resolv-retry infinite |
|
||||
keepalive 15 60 |
|
||||
remote-cert-tls server |
|
||||
|
|
||||
remote 192.168.1.5 1194 udp |
|
||||
|
|
||||
|
|
||||
proto udp |
|
||||
persist-tun |
|
||||
persist-key |
|
||||
|
|
||||
|
|
||||
float |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
<key> |
|
||||
-----BEGIN PRIVATE KEY----- |
|
||||
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDicLw3VHI0jo+n |
|
||||
HJmGe6Q1HYQDov5GaLPcigf68G9WQdbEwASkasfT9QsqjteH/YfnuE9J+5DZBwKp |
|
||||
3zSjVC6+/DaWqL9yu8al89UHU70TNAD6hDyU+5Cc+4SmbWtYbkxA6TV+OsoBxj3j |
|
||||
aCeLhiVqc4bLFnr8zXsJYlr3GqTOZb4Oe3snSo+bynt2M31kciEMyeoLXHkxyJF+ |
|
||||
DKDRNVqq5gv2tUERLVmYlVQ12O4MhvS0dyOQNqB/tGv5IJ7dtQyg4oQerwhiIbRY |
|
||||
TegyI+M6cXSLi/JwSuOfuxcMOScl6ttiLtuODE89KNL1gPKyOiKbb6mX0vYXUw/0 |
|
||||
MoAjkph/AgMBAAECggEBANDBxBNya9NeNruGl1cvN6SsMF+17Zv1vROtwUusS8iG |
|
||||
7Dv5Fo6Jzu3udDvo8nTx3FBZT+fR36jlWKRJHdsRqgLyvFTK/60DxlCKabPWlHJW |
|
||||
uCw8qylifuDq1FEmgRdGoFAbb/COvFtEaxvykrqDko0AMp2afQoBWdO99ETpMFUC |
|
||||
JQq5SiO0ElzUN2+A2X4TToibVBOGut2RLf2KbDdhKXMjCDFhB/XYNmpdhqnAKy+5 |
|
||||
RV9+uldO3zMi42Mq64W5PVL5GStBMCJMqiGlCYT3boXDtmXCVHQArfQk1FlMtNit |
|
||||
mjW/aFIjGc0xP4mzXTbmlaohS3oYOQFy6XDD3rEEm8kCgYEA+2VIcE5u43w+wlm4 |
|
||||
sjn6Dp7YJuqnly4VwIM3Q34E/a7O4TP989+1UQoHLjRpV7taSoDb/GciGR1cqZ/o |
|
||||
KCtZh6lVmiZIG4GpHsSUqr0XeNOMQ8BrbJ/EYe3E89/eXd7mfozQX//jmM+O6YkT |
|
||||
t25QH8NQpGIeoutLQzBW8gqnDgsCgYEA5pZx1iEhCHVCaXwrKo44G0KJPkqwOG2q |
|
||||
6Wy5b0yqnLNc/iAgLR58bRmq0QAL/Z4UaVH5B8Wkv5OEmRMtFqKb+lVJGDza0ghr |
|
||||
Ry1VejVbYUZBjdEGtaQquSWEFxJVoiI3U6EJ3i8GwLBoMfD77IbMFzi2ySFvfBLq |
|
||||
66AE5PDjC90CgYEAwKT7nrwr830pZqt0gnc1LPECeMgGxy4UkyK6PakbT/8eH6tE |
|
||||
5xY+DqzdlcWqGAXFCiS27zNlCNPcR0v3jpixkejsZSUCyrlQjPhdaH1guEF8Ugrp |
|
||||
ByNjTRv0emHKOCrwfHeR0o73rQkY3dMiXcVV9xEoAeAC1Bv037byWaZaH8MCgYBZ |
|
||||
wkBn0ReRukty0mHfO+M9QUY5WEuGe7InESqR168mNm/BgHHl/lMDCRXEK5d/TxS0 |
|
||||
9rLQwq/h3yOjjqJjiELdTGuaor2vOpW/7Da0zqZWlEmaUb6h4Fi9H4xuirWI2nbc |
|
||||
9/fmZDnlsgWtQxhdtw8lDu+gFYLXMmn99JlTIS3QhQKBgHUhZPKHe+EDbeWjKB3P |
|
||||
JKv22SgGlV/jp75myTJ6o+lMhe1LRm7MJbGDzbvyOsAkze/3USE2MXtMY+rtIhck |
|
||||
JBX/Nz41tJ7zVg8HeglFHwcNAltH8bFVcvBHmaB+xwVMOrkSNTs9aswvprdGgK6K |
|
||||
r89tyT1XrOVPNZZjmSspxuLv |
|
||||
-----END PRIVATE KEY----- |
|
||||
</key> |
|
||||
<cert> |
|
||||
-----BEGIN CERTIFICATE----- |
|
||||
MIIDUzCCAjugAwIBAgIQdYhN0MYDZO2c4Rw2e/PPBDANBgkqhkiG9w0BAQsFADAW |
|
||||
MRQwEgYDVQQDDAtFYXN5LVJTQSBDQTAeFw0yMDEyMDgxOTA1MzdaFw0yMzExMjMx |
|
||||
OTA1MzdaMBAxDjAMBgNVBAMMBXRlc3QxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A |
|
||||
MIIBCgKCAQEA4nC8N1RyNI6PpxyZhnukNR2EA6L+Rmiz3IoH+vBvVkHWxMAEpGrH |
|
||||
0/ULKo7Xh/2H57hPSfuQ2QcCqd80o1Quvvw2lqi/crvGpfPVB1O9EzQA+oQ8lPuQ |
|
||||
nPuEpm1rWG5MQOk1fjrKAcY942gni4YlanOGyxZ6/M17CWJa9xqkzmW+Dnt7J0qP |
|
||||
m8p7djN9ZHIhDMnqC1x5MciRfgyg0TVaquYL9rVBES1ZmJVUNdjuDIb0tHcjkDag |
|
||||
f7Rr+SCe3bUMoOKEHq8IYiG0WE3oMiPjOnF0i4vycErjn7sXDDknJerbYi7bjgxP |
|
||||
PSjS9YDysjoim2+pl9L2F1MP9DKAI5KYfwIDAQABo4GiMIGfMAkGA1UdEwQCMAAw |
|
||||
HQYDVR0OBBYEFIo860tuHVO/sXqryAYRY4A2bZSvMFEGA1UdIwRKMEiAFPi9v+Jd |
|
||||
23t+3DYTUWuAryzTViTcoRqkGDAWMRQwEgYDVQQDDAtFYXN5LVJTQSBDQYIURcc1 |
|
||||
+fjYVnwEs23YtPQH82P66yEwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQD |
|
||||
AgeAMA0GCSqGSIb3DQEBCwUAA4IBAQApW5eWsgINkORnd200eKY6Uy2AEIvYRJfI |
|
||||
uLEPadPZN9ufzB9BWZvaY70Oe/08clIUH7ll7sP3TBW+hfOENAv3pk+fm54j/jnS |
|
||||
WVASrrZb6tQg9f+khEexVs1PQDTY3AfedZ+s+g63jcDMqa5PVL1/rmSugAnHMTRG |
|
||||
C/3Nx9snI6RJn/b/EvPzdEtSsmj5HYLstCDog/EyxSMtmxFmvn6iFyDTwjqykwH6 |
|
||||
eJMXuiEsEd89h9O0m/NPFjosRclCORt2PpZwDNcGkLmIB76ybjn8CDEyZO7XZxYM |
|
||||
OtGnh8apbR9FmTgjB6gZls59wAGfWWV62Kruuh9m5jJXfxKCxYf0 |
|
||||
-----END CERTIFICATE----- |
|
||||
</cert> |
|
||||
<ca> |
|
||||
-----BEGIN CERTIFICATE----- |
|
||||
MIIDSzCCAjOgAwIBAgIURcc1+fjYVnwEs23YtPQH82P66yEwDQYJKoZIhvcNAQEL |
|
||||
BQAwFjEUMBIGA1UEAwwLRWFzeS1SU0EgQ0EwHhcNMjAxMjA4MTkwMjQ1WhcNMzAx |
|
||||
MjA2MTkwMjQ1WjAWMRQwEgYDVQQDDAtFYXN5LVJTQSBDQTCCASIwDQYJKoZIhvcN |
|
||||
AQEBBQADggEPADCCAQoCggEBALHG6hwGiwoOn5zQCUZRxCfCR24SkIKxGgwPfWLD |
|
||||
tuhbJYKKCTGpebesfej9kspoRyaYFnJ1hICOn4K+R1D1hrbq0Wb9T3ywWTnAVYI/ |
|
||||
ZxUzX790XO8xz6tnmrZR4uWwHR8T84hYdLvx2ZnhPxkW2g58ijfdF1chsCaJ+AjX |
|
||||
MZZyyfw98Dmw4lHCH10TEeuuCgunM1bWPSGKTxskx5bswCR7hs42ddLWg98W0f25 |
|
||||
QK0yrimI4yhI6PKVmcQ9f7yOVh0iuk82v+zzEDiPVRNQWWPYuhaqx76V71LfTJIW |
|
||||
+H9CQ91sKDcNapkL9ceF3ZzB7aJYy8pGxL9WMhOT2GpTfBkCAwEAAaOBkDCBjTAd |
|
||||
BgNVHQ4EFgQU+L2/4l3be37cNhNRa4CvLNNWJNwwUQYDVR0jBEowSIAU+L2/4l3b |
|
||||
e37cNhNRa4CvLNNWJNyhGqQYMBYxFDASBgNVBAMMC0Vhc3ktUlNBIENBghRFxzX5 |
|
||||
+NhWfASzbdi09AfzY/rrITAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBBjANBgkq |
|
||||
hkiG9w0BAQsFAAOCAQEANmCJGqJoH8BeSx4HCWrzB2s1NxuOPQdxgRzCrLoG29TI |
|
||||
j2iGCK3Uat5j1AuzY+tt1qUszft4Ulgaf8v6EkstHRhXL0Xt8/rERUpAy7ja1t14 |
|
||||
VOBlHf49N1WXum603pX08Ri4z8qMhToQ9F+vhmcoaZosKAgNdNevmoE5k7roExzm |
|
||||
fSP9qwTX+3M85cxAcR5UPdffZOKIKMIfxF08v0+DoXKYqIW6S+qZFkGvH5SykkHe |
|
||||
mKgWFq3fslx3RYHEKg9xuaGXewDD15TOl4AWKUXz+WJw4TM2vozhMhnMIGdKhu+/ |
|
||||
tvMeyTWsLkM9SDf0fmBYjqXRwS/2lGpXssIhDINlVw== |
|
||||
-----END CERTIFICATE----- |
|
||||
</ca> |
|
||||
key-direction 1 |
|
||||
<tls-auth> |
|
||||
# |
|
||||
# 2048 bit OpenVPN static key |
|
||||
# |
|
||||
-----BEGIN OpenVPN Static key V1----- |
|
||||
a8d4abd1d142fe5b9ee88efb478d61e7 |
|
||||
004f6dad5069e430d51c7529f20fc8c2 |
|
||||
c8472bf9fae194eee690dc624f690d80 |
|
||||
53407f22c7e3731e8b3ba37618252d4d |
|
||||
a69dd841e5490dc21c665be24579eb22 |
|
||||
635feeeb0b2a6b3ab1371dbc9d233f0e |
|
||||
2c8ed62f80c8f65f493dbe4cc4ee34e0 |
|
||||
5515c8b09b2054765e5446e71901ccfa |
|
||||
1b50cd8c6dd554e32b14638dc5829118 |
|
||||
6e5200172887f1d798738fe7b520ecba |
|
||||
18c6e4749d75a005f8a8b41af7ee788f |
|
||||
f5c7ad68fd35bb134560b4d2d31ab253 |
|
||||
eb6e108f6e345fd553bc733ff1a327dd |
|
||||
55ae0d6fae884cd1c370257e66c6676c |
|
||||
df977aac8fa9b584091119807dbe6661 |
|
||||
d05293cbe8c905092679aced47204824 |
|
||||
-----END OpenVPN Static key V1----- |
|
||||
</tls-auth> |
|
||||
|
|
@ -1,119 +0,0 @@ |
|||||
|
|
||||
client |
|
||||
nobind |
|
||||
dev tun |
|
||||
comp-lzo |
|
||||
resolv-retry infinite |
|
||||
keepalive 15 60 |
|
||||
remote-cert-tls server |
|
||||
|
|
||||
remote 192.168.1.5 1194 udp |
|
||||
|
|
||||
|
|
||||
proto udp |
|
||||
persist-tun |
|
||||
persist-key |
|
||||
|
|
||||
|
|
||||
float |
|
||||
|
|
||||
|
|
||||
<key> |
|
||||
-----BEGIN PRIVATE KEY----- |
|
||||
MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQDjk7U8/A8vcYXx |
|
||||
Z3uCgwDsnfA4SjZywFRpef5vl2P/qugedPg7oBrxE9dIx8pXCKnpgwxLr4wLk322 |
|
||||
JRPt4eAFFU6pmlJ3Ls40QM2cLXErXsV0XFicM7da5vyA9LhYESuAP/tsWQDL4+K7 |
|
||||
WDJDZhFt4JUxkftZwxOw47LmQ763uli8W3B8rJLR4O/c/Sf99Zd4LfzhO/WwDoiV |
|
||||
YPLC8xjttL5/S04IRTd0MobIYQmD81I+xo7fy9uiiCVV9Gyfb2/U2DZaAkCs8jV/ |
|
||||
pL4cZJ9j21A41b4SGj9cWSTqUSRZPg41lLq0zzTJR/fSniYoIQQeuQKXtsr1TyaM |
|
||||
t2uFA5+fAgMBAAECggEBANSIvMkQicoAFlxGDYXsfK9+LLsVK9ZtIihDY0iqNRyv |
|
||||
awoOqUleE+szYWo6FBDGKZDH73K7pmmlO9EgvYT63rFAne8tDXj7AF6yapNBqSAc |
|
||||
6QDrwWFXtxQxBn4UjhjJKDwlBNTCJklEMRpPmtlw+DQKeqsJr5i746beb9Q2TmXb |
|
||||
4mqYYTjVnM5fR578En8vmK8JzHvLm4sAJ9YpHf57dMiSRrAdEcf7ZEfEk5MpTRJl |
|
||||
XqI7b1hZ/qVnu3aX9/5SpnBWxXQ/MpxMif9V57Ty2B4NOmnbs87xb/6VEUMdQVG4 |
|
||||
E+zqSR1hnCoCFTQ+Csz8Mc7/J3OM1AxltqhkEyDvmpECgYEA82DTWFCbK8tKWdXi |
|
||||
gfSlOmhZnYgNK2YClCfyAuHZt+kMV48CBc8XjqQqpdChmaZeG/TCzfr5r6Qp9fLf |
|
||||
XI/ow9Czm4i8hF97CFBOVlh9fsKKH43+NdaFr8aaIpxYJu+IMG9QStDMvxMpwlO0 |
|
||||
5oMkfA2jeBjGZXE4Ky1c9LGMatcCgYEA72EZf0YgbZahZwaqjAX3p2fyrHYwbapv |
|
||||
/gVsV9dSho64DoYZCAX+jq282lbe1/gbg1xOH3+Mg4XHtLdrcvRQrLtBRx0o8mYs |
|
||||
AjM/rCCYxOaLAVCmkBsiZTKe8xQ0I6rt1gYnCGZ/UpdWNKH8ZYw0RUO8gtfCzZEz |
|
||||
AWuQTjD/4HkCgYEAt6FO1Uu8SIbSSoX+qV8Va8RgGWQVy7DkMTUSfOo7g2/rSAU2 |
|
||||
2XsvowhqxUFtLKlCSIWclh3PVp7eqhveO9C5J0XIvomk85u3EMbG1I9f4MyXusdA |
|
||||
Dw8VP1Lx6Ttdp8MDVsgmJMz2LxUeZOkTjPlWBeOke3D2AIQ0hR9tC5MLB3ECgYEA |
|
||||
2B+Qx6pm6MqQ2tXX8SgKGujs3uyueLTi/DOlSAGuDrKYVvSXcPkIhYUy9uZruA3X |
|
||||
uVgDaMjd8nk8f1sC9fzDQdCm9S/Mol3A6hOfLycXBt8nLX7Fg2IcQcXcYJcjI/jV |
|
||||
VuCjKSBxX/4m5MpDeOOG5epsLq3iwXqQ1H1rAk2XF/ECgYEAwZeFQfo75wnkcq5i |
|
||||
5diN2VhIYZDoFbG31Ds4Bsy4LvY/FugkgxAYR+7tFzc+yPxVI6apJkV1J94q2Szr |
|
||||
BgSWMhw5csUnHQFVDFt4TCTRXjlY8OPZIHx+If6+03bxXan8jUKqAhkvhTQTMzdw |
|
||||
2gcNdVfMS5ab0IvlkZouk57WyAs= |
|
||||
-----END PRIVATE KEY----- |
|
||||
</key> |
|
||||
<cert> |
|
||||
-----BEGIN CERTIFICATE----- |
|
||||
MIIDVDCCAjygAwIBAgIRAPlgkZfgLpC3PT+FvjQq4KwwDQYJKoZIhvcNAQELBQAw |
|
||||
FjEUMBIGA1UEAwwLRWFzeS1SU0EgQ0EwHhcNMjAxMjA4MTkyODE4WhcNMjMxMTIz |
|
||||
MTkyODE4WjAQMQ4wDAYDVQQDDAV0ZXN0MjCCASIwDQYJKoZIhvcNAQEBBQADggEP |
|
||||
ADCCAQoCggEBAOOTtTz8Dy9xhfFne4KDAOyd8DhKNnLAVGl5/m+XY/+q6B50+Dug |
|
||||
GvET10jHylcIqemDDEuvjAuTfbYlE+3h4AUVTqmaUncuzjRAzZwtcStexXRcWJwz |
|
||||
t1rm/ID0uFgRK4A/+2xZAMvj4rtYMkNmEW3glTGR+1nDE7DjsuZDvre6WLxbcHys |
|
||||
ktHg79z9J/31l3gt/OE79bAOiJVg8sLzGO20vn9LTghFN3QyhshhCYPzUj7Gjt/L |
|
||||
26KIJVX0bJ9vb9TYNloCQKzyNX+kvhxkn2PbUDjVvhIaP1xZJOpRJFk+DjWUurTP |
|
||||
NMlH99KeJighBB65Ape2yvVPJoy3a4UDn58CAwEAAaOBojCBnzAJBgNVHRMEAjAA |
|
||||
MB0GA1UdDgQWBBQ103EN2Un0bYqb9Li035IPWpu3pDBRBgNVHSMESjBIgBT4vb/i |
|
||||
Xdt7ftw2E1FrgK8s01Yk3KEapBgwFjEUMBIGA1UEAwwLRWFzeS1SU0EgQ0GCFEXH |
|
||||
Nfn42FZ8BLNt2LT0B/Nj+ushMBMGA1UdJQQMMAoGCCsGAQUFBwMCMAsGA1UdDwQE |
|
||||
AwIHgDANBgkqhkiG9w0BAQsFAAOCAQEAl61A21JJK7fXWyXy5ldlu8hMIOzAMj6S |
|
||||
9oXOga0LoqRvXCvWG5zGepFmUeMEz1AtcmialXfJVwzTJH5oRR8TqQ2wwJM1uhtw |
|
||||
6iI/0fqI/pxKE29Y2IcS+qgz7fnrwdCJ2FADnc9OEfSfADNthMWmZMKARgf1+Pc9 |
|
||||
3caAuy13su8aKE6va8na3S3tfPlCmFCEG9r+f1mAWlJRXfI25PcCv/8D/5jyIHrb |
|
||||
bc90gJqSe6p4m5oclB4YT+x81PXliBX+I5OEkUFD5b2OdprsCALzfmuxoUAKWM/C |
|
||||
XfTBdrsIrPtAIccJ6u7rAo5lhrjDZfg3ORdEMbQci05VfRY668tUKA== |
|
||||
-----END CERTIFICATE----- |
|
||||
</cert> |
|
||||
<ca> |
|
||||
-----BEGIN CERTIFICATE----- |
|
||||
MIIDSzCCAjOgAwIBAgIURcc1+fjYVnwEs23YtPQH82P66yEwDQYJKoZIhvcNAQEL |
|
||||
BQAwFjEUMBIGA1UEAwwLRWFzeS1SU0EgQ0EwHhcNMjAxMjA4MTkwMjQ1WhcNMzAx |
|
||||
MjA2MTkwMjQ1WjAWMRQwEgYDVQQDDAtFYXN5LVJTQSBDQTCCASIwDQYJKoZIhvcN |
|
||||
AQEBBQADggEPADCCAQoCggEBALHG6hwGiwoOn5zQCUZRxCfCR24SkIKxGgwPfWLD |
|
||||
tuhbJYKKCTGpebesfej9kspoRyaYFnJ1hICOn4K+R1D1hrbq0Wb9T3ywWTnAVYI/ |
|
||||
ZxUzX790XO8xz6tnmrZR4uWwHR8T84hYdLvx2ZnhPxkW2g58ijfdF1chsCaJ+AjX |
|
||||
MZZyyfw98Dmw4lHCH10TEeuuCgunM1bWPSGKTxskx5bswCR7hs42ddLWg98W0f25 |
|
||||
QK0yrimI4yhI6PKVmcQ9f7yOVh0iuk82v+zzEDiPVRNQWWPYuhaqx76V71LfTJIW |
|
||||
+H9CQ91sKDcNapkL9ceF3ZzB7aJYy8pGxL9WMhOT2GpTfBkCAwEAAaOBkDCBjTAd |
|
||||
BgNVHQ4EFgQU+L2/4l3be37cNhNRa4CvLNNWJNwwUQYDVR0jBEowSIAU+L2/4l3b |
|
||||
e37cNhNRa4CvLNNWJNyhGqQYMBYxFDASBgNVBAMMC0Vhc3ktUlNBIENBghRFxzX5 |
|
||||
+NhWfASzbdi09AfzY/rrITAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBBjANBgkq |
|
||||
hkiG9w0BAQsFAAOCAQEANmCJGqJoH8BeSx4HCWrzB2s1NxuOPQdxgRzCrLoG29TI |
|
||||
j2iGCK3Uat5j1AuzY+tt1qUszft4Ulgaf8v6EkstHRhXL0Xt8/rERUpAy7ja1t14 |
|
||||
VOBlHf49N1WXum603pX08Ri4z8qMhToQ9F+vhmcoaZosKAgNdNevmoE5k7roExzm |
|
||||
fSP9qwTX+3M85cxAcR5UPdffZOKIKMIfxF08v0+DoXKYqIW6S+qZFkGvH5SykkHe |
|
||||
mKgWFq3fslx3RYHEKg9xuaGXewDD15TOl4AWKUXz+WJw4TM2vozhMhnMIGdKhu+/ |
|
||||
tvMeyTWsLkM9SDf0fmBYjqXRwS/2lGpXssIhDINlVw== |
|
||||
-----END CERTIFICATE----- |
|
||||
</ca> |
|
||||
key-direction 1 |
|
||||
<tls-auth> |
|
||||
# |
|
||||
# 2048 bit OpenVPN static key |
|
||||
# |
|
||||
-----BEGIN OpenVPN Static key V1----- |
|
||||
a8d4abd1d142fe5b9ee88efb478d61e7 |
|
||||
004f6dad5069e430d51c7529f20fc8c2 |
|
||||
c8472bf9fae194eee690dc624f690d80 |
|
||||
53407f22c7e3731e8b3ba37618252d4d |
|
||||
a69dd841e5490dc21c665be24579eb22 |
|
||||
635feeeb0b2a6b3ab1371dbc9d233f0e |
|
||||
2c8ed62f80c8f65f493dbe4cc4ee34e0 |
|
||||
5515c8b09b2054765e5446e71901ccfa |
|
||||
1b50cd8c6dd554e32b14638dc5829118 |
|
||||
6e5200172887f1d798738fe7b520ecba |
|
||||
18c6e4749d75a005f8a8b41af7ee788f |
|
||||
f5c7ad68fd35bb134560b4d2d31ab253 |
|
||||
eb6e108f6e345fd553bc733ff1a327dd |
|
||||
55ae0d6fae884cd1c370257e66c6676c |
|
||||
df977aac8fa9b584091119807dbe6661 |
|
||||
d05293cbe8c905092679aced47204824 |
|
||||
-----END OpenVPN Static key V1----- |
|
||||
</tls-auth> |
|
||||
|
|
@ -1,110 +0,0 @@ |
|||||
client |
|
||||
nobind |
|
||||
dev tun |
|
||||
comp-lzo |
|
||||
resolv-retry infinite |
|
||||
keepalive 15 60 |
|
||||
|
|
||||
remote-cert-tls server |
|
||||
remote 192.168.1.9 1194 udp |
|
||||
float |
|
||||
|
|
||||
<key> |
|
||||
-----BEGIN PRIVATE KEY----- |
|
||||
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDNBPNW1mjZPC53 |
|
||||
FPVwAD576uALJO/YTJEkEofKjqe3ju8TqXC7Y9ycax27pAfImpbkP6bzyvrKHmUx |
|
||||
dBaZp6vYeP2W30LnSm8O7+2H3ntJskziIhKP/hCBRbC80H9QruIlm0EIvAU9dwHt |
|
||||
rqOTViJkUuEdQHFG6ITmT9INpYeEHzlfZYkL/oSMG0+0xEF6t9nTdDEdw70TjvD5 |
|
||||
qSnBh6Y1JOrTVdjrrGIGzLRrMOVr1dCECMsZjgNFg8QHSpsdFQejz+0KWBHkMnxU |
|
||||
aWwsr1lONttdxMFRdNnugKg60mr79+tjXYRFwSY0L7tpd4LJiRi8V53Mfxv0Nsyu |
|
||||
so/j8b/LAgMBAAECggEBAKSjphqFIjvZZWMBtLvVplfy3Sp15hnoGuJB80RJ3Qu+ |
|
||||
P+WlOz9wyVffeUgXSJzi7+up5hN/XHh1gkP9eqy4BntXZiYDcoG0t4ziRfjHRHCB |
|
||||
O9aZEBkMKQr3ASAPuz36wub6T3aJLxgV+rl5dii6kfHI0Lih6JXN4fPmA8QrurDw |
|
||||
xgXow7Nw3pNm/Rj/kZ+z4qvtnhoSq7gO1nUvSWPZ/2ADVxGONjKOHunKDFibVlac |
|
||||
9SJDGiFkT5xy3Isq00GChW04b2caof6cl4eRMuYrp4IdNXgFn/I3xOV2s9OnFj0g |
|
||||
o3qBFrOUTTbyXE1XfYyB/V7iGGDkFyLAoqAxHvTFD1kCgYEA7MQjZ/uvoOujFrHo |
|
||||
bbcYm1MLeE1ReLNRkTFlZiLTf0HZxuEQyevv+Vb3RavfDlmovxMl8SJXQVrBLgsY |
|
||||
uvDqIaTGy3e9luGCWdAvWA4/epV7T4NCUDHmimDgOR5OLdQ7S1I2JY7r+OPC6C/Y |
|
||||
ISI/V345p57JLT4WHjzmgHcqOOUCgYEA3ayYcmwFRhFmX5Wq+3v0akaZ3ruEQsvf |
|
||||
dnCWinviNKXj6UFF+qhpX8VpYzJK2HodGF8WNMYT/ObmhJ6iX6wc2w2OXA7CEe/Y |
|
||||
kg/8y/EIEFkCuMxJOpdPWjRsYqDGjvYAJc2+DudEE+lyRZby6SMZjQQUXPv7NXUq |
|
||||
uCjERFur+u8CgYB4IxXsH1OAjdBVJbTQZwV/WuYJBwJ+Ak8zIyNWbflvKxS7y1vf |
|
||||
eW5s0Gnr2kf2Whw7yBWKg2hO6yP2nv7PbIsAw0Fz4LA8rPSdaft77M7c/phxQiMV |
|
||||
2hwmvv1HPk9hBb2IfJCpAhpOUhOGCTDbrysA1DWhDfr6j/RdJ322VcEA2QKBgHyC |
|
||||
tIIYkIHBxjnMLGTjQ+7pxwWnV+vY7aRuKvCQEwe1YiWjRzY6oC1uCfrwxb+AH5WP |
|
||||
2z47QADehP5ayCNq3i5gF+U3WOSQTpoEJt86fGgKRxAblso1MRoetf5UBhNIs96I |
|
||||
CMgAOGnixw+1cK1ozLI7Z2CvHHPzYtJb+5nVz+y7AoGBAKSQ54Pj4jhg1cN3j4wg |
|
||||
Al3DAw0hAYpmx2VfLZTdEUnzecXPoxH5Yps7UF45NLCSac5NjLigdMO5NPyxuMBz |
|
||||
oZGCO4BAdl48T7UbXDrtr3koOhWil7iwJzZut2jrWzfdGPdxsltg0pIvVcq49o+7 |
|
||||
94I6xEE2fGbhVd11gCjwwlWO |
|
||||
-----END PRIVATE KEY----- |
|
||||
</key> |
|
||||
<cert> |
|
||||
-----BEGIN CERTIFICATE----- |
|
||||
MIIDVjCCAj6gAwIBAgIQAeImdq2eZMkLMaR1z6xy3TANBgkqhkiG9w0BAQsFADAW |
|
||||
MRQwEgYDVQQDDAtFYXN5LVJTQSBDQTAeFw0yMDEyMTYxNDEwNTdaFw0yMzEyMDEx |
|
||||
NDEwNTdaMBMxETAPBgNVBAMMCHRlc3RzZWMxMIIBIjANBgkqhkiG9w0BAQEFAAOC |
|
||||
AQ8AMIIBCgKCAQEAzQTzVtZo2TwudxT1cAA+e+rgCyTv2EyRJBKHyo6nt47vE6lw |
|
||||
u2PcnGsdu6QHyJqW5D+m88r6yh5lMXQWmaer2Hj9lt9C50pvDu/th957SbJM4iIS |
|
||||
j/4QgUWwvNB/UK7iJZtBCLwFPXcB7a6jk1YiZFLhHUBxRuiE5k/SDaWHhB85X2WJ |
|
||||
C/6EjBtPtMRBerfZ03QxHcO9E47w+akpwYemNSTq01XY66xiBsy0azDla9XQhAjL |
|
||||
GY4DRYPEB0qbHRUHo8/tClgR5DJ8VGlsLK9ZTjbbXcTBUXTZ7oCoOtJq+/frY12E |
|
||||
RcEmNC+7aXeCyYkYvFedzH8b9DbMrrKP4/G/ywIDAQABo4GiMIGfMAkGA1UdEwQC |
|
||||
MAAwHQYDVR0OBBYEFPMNN8qLUE+RG3PH77wVA9ENtmKoMFEGA1UdIwRKMEiAFL67 |
|
||||
pDwkJ3ttUt1dql5aUVP4IphdoRqkGDAWMRQwEgYDVQQDDAtFYXN5LVJTQSBDQYIU |
|
||||
csL+q0+FLRphy48kqqtVmOim5QEwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0P |
|
||||
BAQDAgeAMA0GCSqGSIb3DQEBCwUAA4IBAQBdLTltnQylImp33M0XhHE2cXN0GHR5 |
|
||||
2lTUzFfbprM8f7//Jnj+HMNYCwmzOa41B0x2GmdO1C1FRt1Kmz2AknwZFsRl+YoD |
|
||||
+Qovj2XlJp2EVs1s88amsaDghCD+VguDiavuAPyub5M/i63f8gjkZ3VStg+2aV2m |
|
||||
1xPN1BUopgWCN2V0zcehZ+f9owjWVuHZLtTSGPJf0w3A3JWtNE+5pNwIfbn8k+dv |
|
||||
pD/4LLkiCoeA3EWlthubGDJY3C/zRqCOdsputgOoVZ1DS3Um3zC6wFrY5qWPpqKG |
|
||||
TpcaEXQihuWajKTgzQ2sT3EpDfhW9QdG1vLybNW4SqdI4/GHsYU/Xtz7 |
|
||||
-----END CERTIFICATE----- |
|
||||
</cert> |
|
||||
<ca> |
|
||||
-----BEGIN CERTIFICATE----- |
|
||||
MIIDSzCCAjOgAwIBAgIUcsL+q0+FLRphy48kqqtVmOim5QEwDQYJKoZIhvcNAQEL |
|
||||
BQAwFjEUMBIGA1UEAwwLRWFzeS1SU0EgQ0EwHhcNMjAxMjE2MTQwNDU4WhcNMzAx |
|
||||
MjE0MTQwNDU4WjAWMRQwEgYDVQQDDAtFYXN5LVJTQSBDQTCCASIwDQYJKoZIhvcN |
|
||||
AQEBBQADggEPADCCAQoCggEBANGsJopYf1Nq9B5lDoJQFQULQh6c2rnHZS+qL04+ |
|
||||
cYAgm/Gb45Ow5wZG3WZ9G1ksO/H0+cormHoYdefNbzmH7K9jlfDzIxqWv3nKu3WN |
|
||||
towbzimuLGA2+uRsLR69jBzP41NVyzquw2bnKTmdPak2Igjo24NQ6oXNssMve6HX |
|
||||
zMzoc+j+8f+sDU3eJ28wBd/sO4xRf9O/UtiwV9+dQF9J456lnHJoWVTgJA9ffdPc |
|
||||
OX0eTtlCH9Q/nlWZs6pRXZ5fuZOPMi60Ebu3Jmec3p5RRkIVPa+XoG4HaxtaNOde |
|
||||
kWv3lO0o+DdpkNYmGs+b6e+zyBbiqv6oaiX7DBugG60Bm8MCAwEAAaOBkDCBjTAd |
|
||||
BgNVHQ4EFgQUvrukPCQne21S3V2qXlpRU/gimF0wUQYDVR0jBEowSIAUvrukPCQn |
|
||||
e21S3V2qXlpRU/gimF2hGqQYMBYxFDASBgNVBAMMC0Vhc3ktUlNBIENBghRywv6r |
|
||||
T4UtGmHLjySqq1WY6KblATAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBBjANBgkq |
|
||||
hkiG9w0BAQsFAAOCAQEABNPKuzm19OtcfjdjYe1kC43f9H/2d/gzecnrryefGKfI |
|
||||
0LfQYgPPZ42jTI17GAhWxIFh8rBKeQPRntkS+khBLrDbcNivPCpU6FJWx9WGiqyJ |
|
||||
he/q3zMtaJowKeKBw7MAD4DsWq9j9ut8CdsJa/RhIwMe1QET0BfzmrnPxOqTM68b |
|
||||
0lh9xHxb7dKJCJj6+2rxpnYeh/sZ/DCZuV8resxSOLdCdwlgtuhsJVy094gdgg4w |
|
||||
iqcAIDi8ZQmdV0lUSM63GkjRLNPrwFUn5URDliSJ3zBJZaWnz2/7/5wJhs7rrPlh |
|
||||
HJ3NggoBlmyXcTRABKiKavH7e+Vap1Nhzy3VpzE/aw== |
|
||||
-----END CERTIFICATE----- |
|
||||
</ca> |
|
||||
key-direction 1 |
|
||||
<tls-auth> |
|
||||
# |
|
||||
# 2048 bit OpenVPN static key |
|
||||
# |
|
||||
-----BEGIN OpenVPN Static key V1----- |
|
||||
763e227713a0f9f0c66fc3aac17507e8 |
|
||||
cf4e1668d1c417d57f8ba854c6fea7a5 |
|
||||
f96995243f17dcaa0bbd75978e7064d0 |
|
||||
602379b06dc955376a97186a2339051b |
|
||||
feec13a3532f4c6b7ca093dae0e2d03e |
|
||||
022b968e360f38127432b9c5724c7931 |
|
||||
ad0eb2642d85b6cec0cd4de5d423e13b |
|
||||
9de553ad039cf28dc89e024a67f27590 |
|
||||
de56e62ce8396f6644b892f45915c38d |
|
||||
d0dcf018c745587332cfe89a193d465b |
|
||||
6c9d4a2fb8e710862f918efd21945898 |
|
||||
53036f0a1814b78d943d37f265fa2272 |
|
||||
b5bd1f876c7fd8c634ef4581918966d4 |
|
||||
77d789ece3aacf6d74a5bb52146bee09 |
|
||||
56a012def292a07abbf9a5131883a9a5 |
|
||||
a63feffc680e4f89ea8d0dc2681be2fd |
|
||||
-----END OpenVPN Static key V1----- |
|
||||
</tls-auth> |
|
||||
|
|
@ -1,109 +0,0 @@ |
|||||
client |
|
||||
nobind |
|
||||
dev tun |
|
||||
comp-lzo |
|
||||
resolv-retry infinite |
|
||||
keepalive 15 60 |
|
||||
|
|
||||
remote-cert-tls server |
|
||||
remote 192.168.1.9 1194 udp |
|
||||
float |
|
||||
<key> |
|
||||
-----BEGIN PRIVATE KEY----- |
|
||||
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDcPvwkSyM4mydF |
|
||||
4BPiWKl8n0UprWSVgXwZZb68V+syegPGwg2Y4nubB0niMRy1lmlBHz8xE4PqsOBe |
|
||||
ybFQo+JdLfPPtIAzuQqB230xuuww1GkPts5l/BeHTRXPB4y3my3Jxr+TnT/gn543 |
|
||||
BCf65GkSAZp46pUGcLVYEk1kBim9tvaVKh10fL/WMCauGhlqkKSMBw5k9ACpYCmS |
|
||||
MNEdhSOyl9vZ3rBhvROq8KyzCLCFgi5DsGQcZscDVQsqd/eAUwx+9ODFzO8tHfs4 |
|
||||
tLVb6AylIUxVzVCtVw/H0JuNcq272VS6QbHJ7i2tCwpV2UT2SWnJjvaI2P4dtsG+ |
|
||||
QCR7Z/bJAgMBAAECggEAKAPdha6NGKS/zuc2VaJsMLMzOq5BHxSmemrM66VBmysl |
|
||||
8n+hPsyvTmxVlR39LFTGjMljjsQP7Jz0NuSILbGI2AsYR/1waXVOHmfFaDqg3QJK |
|
||||
kEtTVp4lnDR6KOIjQ9ySxh0xA13HlEUL1s0PgnrrSBU4fo2IQ+JIYFb67phcDxaP |
|
||||
fPmBRTwg//NAuC/YKmORFkDw1f5DyTo0SlXFbIxtC0Y6NfUiltPEZKf8BOGUHq7l |
|
||||
o9RssKvmycxLC6GieajSRQyZVyou6mEVw/kGqz+08M5IHisjzfVIIRNO+RCPWbEL |
|
||||
n2QSxTvWi/lK2iliSYYkQhxbplsr0x8cL1l+Qq2oMQKBgQD3fV2dDuEfJWZO53Nn |
|
||||
GwNrmUwa8vb78GqLkV2yxOB8BrsgqvmQAHrHc+2kzbr6H4uKCQSXj8BgGfzZ84LL |
|
||||
pHdSZa5/GomWqJgT3QNhDdXYPPnb0W+ppJmCivebOY/9bHtCAxHLYsED/S6Fsfjh |
|
||||
1fmVrp8i+JLjyGY+/Nl1Yq/pjQKBgQDj0cuM31qFUcZS8JXgQErdBKkgJSU05LDI |
|
||||
4lCedSfFPX9CrARwrt282BTW/He5MAqLJQTtOi9YyuCXYlR6dNL6XWk+/qDu8Nb/ |
|
||||
m9/iae1OhK4CZ/V22cLcPgrQzgPrMWjWfBycb8NoxZnvvkB7fNajUP73sIyTaiu9 |
|
||||
PznM6c7NLQKBgQCEGZlvLLMC8e6C7U2O2j9gHmod9FPatD/akVPnCOkdqmYVkM02 |
|
||||
jNr8PSe6kMldmprbqeaWk3dGlHh/SVgmJHpAM+AJHfwUu5a4+35DPqRHEHz5VPf6 |
|
||||
H86EfHKfmwD9bvr3iDXmTqbh3zEG0bEbsh/PQm7UtsOI672Pn1zfKDbnPQKBgQDU |
|
||||
M3IZwWGblNPaJWY0/y28OL8fxfmmDu3r74GQVye4PNPw0jFAlGDNqaefqIIL6Iep |
|
||||
m82++ddoKXCREXIGrhJmSePiXWKhrYtVg2dCidAUttkuPI8TKTqr0s5YN8zGobs5 |
|
||||
LVmpDSFC0evUt61wWJPEg4k6RSRrmxUqrV21VILf8QKBgQDcqyFY0PJgy7V2v5fm |
|
||||
dyRaAiICEjkfSuV9a6chpiQKExz/mx+sV4Bo/wfkP5xoQXl2/nL8QYDe+JzUAw/D |
|
||||
cfSU79bYYdUgrBWYs+lPRxcGpcn4OKJsn9m571cTv9Xfk8l3FWCoVDU7UJal9Wrg |
|
||||
S53oI+8MXNfFg6jtcAOhzkrraQ== |
|
||||
-----END PRIVATE KEY----- |
|
||||
</key> |
|
||||
<cert> |
|
||||
-----BEGIN CERTIFICATE----- |
|
||||
MIIDVjCCAj6gAwIBAgIQbxDqI+aXsxBna8yBpCLcSDANBgkqhkiG9w0BAQsFADAW |
|
||||
MRQwEgYDVQQDDAtFYXN5LVJTQSBDQTAeFw0yMDEyMTYxNDI1MjRaFw0yMzEyMDEx |
|
||||
NDI1MjRaMBMxETAPBgNVBAMMCHRlc3RzZWMyMIIBIjANBgkqhkiG9w0BAQEFAAOC |
|
||||
AQ8AMIIBCgKCAQEA3D78JEsjOJsnReAT4lipfJ9FKa1klYF8GWW+vFfrMnoDxsIN |
|
||||
mOJ7mwdJ4jEctZZpQR8/MROD6rDgXsmxUKPiXS3zz7SAM7kKgdt9MbrsMNRpD7bO |
|
||||
ZfwXh00VzweMt5styca/k50/4J+eNwQn+uRpEgGaeOqVBnC1WBJNZAYpvbb2lSod |
|
||||
dHy/1jAmrhoZapCkjAcOZPQAqWApkjDRHYUjspfb2d6wYb0TqvCsswiwhYIuQ7Bk |
|
||||
HGbHA1ULKnf3gFMMfvTgxczvLR37OLS1W+gMpSFMVc1QrVcPx9CbjXKtu9lUukGx |
|
||||
ye4trQsKVdlE9klpyY72iNj+HbbBvkAke2f2yQIDAQABo4GiMIGfMAkGA1UdEwQC |
|
||||
MAAwHQYDVR0OBBYEFGJOBec0w4MboMr2Uf5xxA+j0nubMFEGA1UdIwRKMEiAFL67 |
|
||||
pDwkJ3ttUt1dql5aUVP4IphdoRqkGDAWMRQwEgYDVQQDDAtFYXN5LVJTQSBDQYIU |
|
||||
csL+q0+FLRphy48kqqtVmOim5QEwEwYDVR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0P |
|
||||
BAQDAgeAMA0GCSqGSIb3DQEBCwUAA4IBAQBFXrVG4BKJcCldPzSnaLb7C5FM7Qj3 |
|
||||
bNWWa8H9XJqXemZS3vgTXTEM3PlRMV+Cwi+tEYuZcGxGl9Fvh8c+zCGgGm4/gdEc |
|
||||
F5mCP7Tg4rXRD3+NAUBkdUgwWyX7+vWrcse0ij1we1fbkKKZX06nWWVkSIFWpDAf |
|
||||
/37WdAELUZiRgH2WaNL9/wc+w772ZidNHrC9MKoH7LDBlodFVbTdZ8vFf6Y4U8sQ |
|
||||
Uk87yZy3HUuKVNvAmZIlN0l6E50/P4gBn11fFKp0vylnUss/f7Twa9pRjK1LQLsU |
|
||||
a1hHyKOqTbT004ZbpS2QS9y8GTXDvPTZS79l0+eahxeOuxh4CjxsTtj9 |
|
||||
-----END CERTIFICATE----- |
|
||||
</cert> |
|
||||
<ca> |
|
||||
-----BEGIN CERTIFICATE----- |
|
||||
MIIDSzCCAjOgAwIBAgIUcsL+q0+FLRphy48kqqtVmOim5QEwDQYJKoZIhvcNAQEL |
|
||||
BQAwFjEUMBIGA1UEAwwLRWFzeS1SU0EgQ0EwHhcNMjAxMjE2MTQwNDU4WhcNMzAx |
|
||||
MjE0MTQwNDU4WjAWMRQwEgYDVQQDDAtFYXN5LVJTQSBDQTCCASIwDQYJKoZIhvcN |
|
||||
AQEBBQADggEPADCCAQoCggEBANGsJopYf1Nq9B5lDoJQFQULQh6c2rnHZS+qL04+ |
|
||||
cYAgm/Gb45Ow5wZG3WZ9G1ksO/H0+cormHoYdefNbzmH7K9jlfDzIxqWv3nKu3WN |
|
||||
towbzimuLGA2+uRsLR69jBzP41NVyzquw2bnKTmdPak2Igjo24NQ6oXNssMve6HX |
|
||||
zMzoc+j+8f+sDU3eJ28wBd/sO4xRf9O/UtiwV9+dQF9J456lnHJoWVTgJA9ffdPc |
|
||||
OX0eTtlCH9Q/nlWZs6pRXZ5fuZOPMi60Ebu3Jmec3p5RRkIVPa+XoG4HaxtaNOde |
|
||||
kWv3lO0o+DdpkNYmGs+b6e+zyBbiqv6oaiX7DBugG60Bm8MCAwEAAaOBkDCBjTAd |
|
||||
BgNVHQ4EFgQUvrukPCQne21S3V2qXlpRU/gimF0wUQYDVR0jBEowSIAUvrukPCQn |
|
||||
e21S3V2qXlpRU/gimF2hGqQYMBYxFDASBgNVBAMMC0Vhc3ktUlNBIENBghRywv6r |
|
||||
T4UtGmHLjySqq1WY6KblATAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBBjANBgkq |
|
||||
hkiG9w0BAQsFAAOCAQEABNPKuzm19OtcfjdjYe1kC43f9H/2d/gzecnrryefGKfI |
|
||||
0LfQYgPPZ42jTI17GAhWxIFh8rBKeQPRntkS+khBLrDbcNivPCpU6FJWx9WGiqyJ |
|
||||
he/q3zMtaJowKeKBw7MAD4DsWq9j9ut8CdsJa/RhIwMe1QET0BfzmrnPxOqTM68b |
|
||||
0lh9xHxb7dKJCJj6+2rxpnYeh/sZ/DCZuV8resxSOLdCdwlgtuhsJVy094gdgg4w |
|
||||
iqcAIDi8ZQmdV0lUSM63GkjRLNPrwFUn5URDliSJ3zBJZaWnz2/7/5wJhs7rrPlh |
|
||||
HJ3NggoBlmyXcTRABKiKavH7e+Vap1Nhzy3VpzE/aw== |
|
||||
-----END CERTIFICATE----- |
|
||||
</ca> |
|
||||
key-direction 1 |
|
||||
<tls-auth> |
|
||||
# |
|
||||
# 2048 bit OpenVPN static key |
|
||||
# |
|
||||
-----BEGIN OpenVPN Static key V1----- |
|
||||
763e227713a0f9f0c66fc3aac17507e8 |
|
||||
cf4e1668d1c417d57f8ba854c6fea7a5 |
|
||||
f96995243f17dcaa0bbd75978e7064d0 |
|
||||
602379b06dc955376a97186a2339051b |
|
||||
feec13a3532f4c6b7ca093dae0e2d03e |
|
||||
022b968e360f38127432b9c5724c7931 |
|
||||
ad0eb2642d85b6cec0cd4de5d423e13b |
|
||||
9de553ad039cf28dc89e024a67f27590 |
|
||||
de56e62ce8396f6644b892f45915c38d |
|
||||
d0dcf018c745587332cfe89a193d465b |
|
||||
6c9d4a2fb8e710862f918efd21945898 |
|
||||
53036f0a1814b78d943d37f265fa2272 |
|
||||
b5bd1f876c7fd8c634ef4581918966d4 |
|
||||
77d789ece3aacf6d74a5bb52146bee09 |
|
||||
56a012def292a07abbf9a5131883a9a5 |
|
||||
a63feffc680e4f89ea8d0dc2681be2fd |
|
||||
-----END OpenVPN Static key V1----- |
|
||||
</tls-auth> |
|
||||
|
|
@ -1,546 +0,0 @@ |
|||||
|
|
||||
PLAY [service] ****************************************************************************************************************************************************************************************** |
|
||||
|
|
||||
TASK [make dir for data] ******************************************************************************************************************************************************************************** |
|
||||
ok: [172.22.0.6] |
|
||||
ok: [172.22.0.4] |
|
||||
ok: [172.22.0.5] |
|
||||
ok: [172.22.0.3] |
|
||||
ok: [172.22.0.2] |
|
||||
|
|
||||
TASK [ls -al /var/lab/playground/playground-readmongo/] ************************************************************************************************************************************************* |
|
||||
changed: [172.22.0.6] |
|
||||
changed: [172.22.0.3] |
|
||||
changed: [172.22.0.5] |
|
||||
changed: [172.22.0.4] |
|
||||
changed: [172.22.0.2] |
|
||||
|
|
||||
TASK [ls config] *************************************************************************************************************************************************************************************** |
|
||||
ok: [172.22.0.3] => { |
|
||||
"config.stdout_lines": [ |
|
||||
"total 420", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:15 .", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:15 ..", |
|
||||
"-rw------- 1 root root 0 Sep 21 17:14 .pwd.lock", |
|
||||
"-rw-r--r-- 1 root root 3028 Sep 21 17:14 adduser.conf", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 alternatives", |
|
||||
"drwxr-xr-x 3 root root 4096 Nov 11 13:47 apparmor.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Sep 21 17:17 apt", |
|
||||
"-rw-r--r-- 1 root root 2319 Apr 4 2018 bash.bashrc", |
|
||||
"-rw-r--r-- 1 root root 367 Jan 27 2016 bindresvport.blacklist", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:17 cron.daily", |
|
||||
"-rw-r--r-- 1 root root 2969 Feb 28 2018 debconf.conf", |
|
||||
"-rw-r--r-- 1 root root 11 Jun 25 2017 debian_version", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 default", |
|
||||
"-rw-r--r-- 1 root root 604 Aug 13 2017 deluser.conf", |
|
||||
"drwxr-xr-x 1 root root 4096 Sep 21 17:16 dpkg", |
|
||||
"-rw-r--r-- 1 root root 106 Sep 21 17:17 environment", |
|
||||
"-rw-r--r-- 1 root root 37 Sep 21 17:13 fstab", |
|
||||
"-rw-r--r-- 1 root root 2584 Feb 1 2018 gai.conf", |
|
||||
"-rw-r--r-- 1 root root 478 Nov 11 13:47 group", |
|
||||
"-rw-r--r-- 1 root root 472 Nov 11 13:47 group-", |
|
||||
"-rw-r----- 1 root shadow 399 Nov 11 13:47 gshadow", |
|
||||
"-rw-r----- 1 root shadow 393 Nov 11 13:47 gshadow-", |
|
||||
"drwxr-xr-x 3 root root 4096 Nov 11 13:47 gss", |
|
||||
"-rw-r--r-- 1 root root 92 Apr 9 2018 host.conf", |
|
||||
"-rw-r--r-- 1 root root 13 Nov 25 13:15 hostname", |
|
||||
"-rw-r--r-- 1 root root 174 Nov 25 13:15 hosts", |
|
||||
"-rw-r--r-- 1 root root 411 Nov 11 13:47 hosts.allow", |
|
||||
"-rw-r--r-- 1 root root 711 Nov 11 13:47 hosts.deny", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 init.d", |
|
||||
"-rw-r--r-- 1 root root 1748 May 15 2017 inputrc", |
|
||||
"drwxr-xr-x 4 root root 4096 Nov 11 13:47 iproute2", |
|
||||
"-rw-r--r-- 1 root root 26 Aug 13 18:59 issue", |
|
||||
"-rw-r--r-- 1 root root 19 Aug 13 18:59 issue.net", |
|
||||
"drwxr-xr-x 3 root root 4096 Sep 21 17:14 kernel", |
|
||||
"-rw-r--r-- 1 root root 13944 Nov 11 13:47 ld.so.cache", |
|
||||
"-rw-r--r-- 1 root root 34 Jan 27 2016 ld.so.conf", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 ld.so.conf.d", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 ldap", |
|
||||
"-rw-r--r-- 1 root root 267 Apr 9 2018 legal", |
|
||||
"-rw-r--r-- 1 root root 191 Feb 7 2018 libaudit.conf", |
|
||||
"-rw-r--r-- 1 root root 10550 Jan 25 2018 login.defs", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 logrotate.d", |
|
||||
"-rw-r--r-- 1 root root 105 Aug 13 18:59 lsb-release", |
|
||||
"-rw-r--r-- 1 root root 0 Sep 21 17:17 machine-id", |
|
||||
"-rw-r--r-- 1 root root 2444 Nov 11 13:47 mailcap", |
|
||||
"-rw-r--r-- 1 root root 449 Jul 15 2016 mailcap.order", |
|
||||
"-rw-r--r-- 1 root root 24301 Jul 15 2016 mime.types", |
|
||||
"-rw-r--r-- 1 root root 812 Mar 24 2018 mke2fs.conf", |
|
||||
"lrwxrwxrwx 1 root root 12 Nov 25 13:15 mtab -> /proc/mounts", |
|
||||
"drwxr-xr-x 3 root root 4096 Nov 11 13:47 network", |
|
||||
"-rw-r--r-- 1 root root 91 Apr 9 2018 networks", |
|
||||
"-rw-r--r-- 1 root root 497 Oct 5 2016 nsswitch.conf", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:15 opt", |
|
||||
"lrwxrwxrwx 1 root root 21 Aug 13 18:59 os-release -> ../usr/lib/os-release", |
|
||||
"-rw-r--r-- 1 root root 552 Apr 4 2018 pam.conf", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:14 pam.d", |
|
||||
"-rw-r--r-- 1 root root 1013 Nov 11 13:47 passwd", |
|
||||
"-rw-r--r-- 1 root root 972 Nov 11 13:47 passwd-", |
|
||||
"drwxr-xr-x 4 root root 4096 Nov 11 13:47 perl", |
|
||||
"-rw-r--r-- 1 root root 676 Nov 25 13:15 profile", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 profile.d", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 python", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 python2.7", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 python3.6", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc0.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc1.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc2.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc3.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc4.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc5.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc6.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rcS.d", |
|
||||
"-rw-r--r-- 1 root root 50 Nov 25 13:15 resolv.conf", |
|
||||
"-rwxr-xr-x 1 root root 268 Jul 21 2017 rmt", |
|
||||
"-rw-r--r-- 1 root root 4141 Jan 25 2018 securetty", |
|
||||
"drwxr-xr-x 4 root root 4096 Sep 21 17:17 security", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 selinux", |
|
||||
"-rw-r----- 1 root shadow 749 Nov 25 13:15 shadow", |
|
||||
"-rw-r----- 1 root shadow 624 Nov 11 13:47 shadow-", |
|
||||
"-rw-r--r-- 1 root root 73 Sep 21 17:14 shells", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:15 shorewall", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 skel", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:14 ssh", |
|
||||
"-rw-r--r-- 1 root root 20 Nov 11 13:47 subgid", |
|
||||
"-rw-r--r-- 1 root root 0 Sep 21 17:14 subgid-", |
|
||||
"-rw-r--r-- 1 root root 20 Nov 11 13:47 subuid", |
|
||||
"-rw-r--r-- 1 root root 0 Sep 21 17:14 subuid-", |
|
||||
"-r--r----- 1 root root 755 Sep 23 14:59 sudoers", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 sudoers.d", |
|
||||
"-rw-r--r-- 1 root root 2683 Jan 17 2018 sysctl.conf", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:17 sysctl.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Oct 25 2017 systemd", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 terminfo", |
|
||||
"-rw-r--r-- 1 root root 1260 Feb 26 2018 ucf.conf", |
|
||||
"drwxr-xr-x 3 root root 4096 Nov 11 13:47 ufw", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 update-motd.d", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 vim", |
|
||||
"-rw-r--r-- 1 root root 4942 Apr 8 2019 wgetrc" |
|
||||
] |
|
||||
} |
|
||||
ok: [172.22.0.2] => { |
|
||||
"config.stdout_lines": [ |
|
||||
"total 444", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:49 .", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:15 ..", |
|
||||
"-rw------- 1 root root 0 Sep 21 17:14 .pwd.lock", |
|
||||
"-rw-r--r-- 1 root root 3028 Sep 21 17:14 adduser.conf", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 alternatives", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 25 13:55 ansible", |
|
||||
"drwxr-xr-x 3 root root 4096 Nov 11 13:47 apparmor.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Sep 21 17:17 apt", |
|
||||
"-rw-r--r-- 1 root root 2319 Apr 4 2018 bash.bashrc", |
|
||||
"-rw-r--r-- 1 root root 367 Jan 27 2016 bindresvport.blacklist", |
|
||||
"drwxr-xr-x 3 root root 4096 Nov 25 13:49 ca-certificates", |
|
||||
"-rw-r--r-- 1 root root 6081 Nov 25 13:49 ca-certificates.conf", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:17 cron.daily", |
|
||||
"-rw-r--r-- 1 root root 2969 Feb 28 2018 debconf.conf", |
|
||||
"-rw-r--r-- 1 root root 11 Jun 25 2017 debian_version", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 default", |
|
||||
"-rw-r--r-- 1 root root 604 Aug 13 2017 deluser.conf", |
|
||||
"drwxr-xr-x 1 root root 4096 Sep 21 17:16 dpkg", |
|
||||
"-rw-r--r-- 1 root root 106 Sep 21 17:17 environment", |
|
||||
"-rw-r--r-- 1 root root 37 Sep 21 17:13 fstab", |
|
||||
"-rw-r--r-- 1 root root 2584 Feb 1 2018 gai.conf", |
|
||||
"-rw-r--r-- 1 root root 478 Nov 11 13:47 group", |
|
||||
"-rw-r--r-- 1 root root 472 Nov 11 13:47 group-", |
|
||||
"-rw-r----- 1 root shadow 399 Nov 11 13:47 gshadow", |
|
||||
"-rw-r----- 1 root shadow 393 Nov 11 13:47 gshadow-", |
|
||||
"drwxr-xr-x 3 root root 4096 Nov 11 13:47 gss", |
|
||||
"-rw-r--r-- 1 root root 92 Apr 9 2018 host.conf", |
|
||||
"-rw-r--r-- 1 root root 13 Nov 25 13:15 hostname", |
|
||||
"-rw-r--r-- 1 root root 174 Nov 25 13:15 hosts", |
|
||||
"-rw-r--r-- 1 root root 411 Nov 11 13:47 hosts.allow", |
|
||||
"-rw-r--r-- 1 root root 711 Nov 11 13:47 hosts.deny", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 init.d", |
|
||||
"-rw-r--r-- 1 root root 1748 May 15 2017 inputrc", |
|
||||
"drwxr-xr-x 4 root root 4096 Nov 11 13:47 iproute2", |
|
||||
"-rw-r--r-- 1 root root 26 Aug 13 18:59 issue", |
|
||||
"-rw-r--r-- 1 root root 19 Aug 13 18:59 issue.net", |
|
||||
"drwxr-xr-x 3 root root 4096 Sep 21 17:14 kernel", |
|
||||
"-rw-r--r-- 1 root root 14024 Nov 25 13:49 ld.so.cache", |
|
||||
"-rw-r--r-- 1 root root 34 Jan 27 2016 ld.so.conf", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 ld.so.conf.d", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 ldap", |
|
||||
"-rw-r--r-- 1 root root 267 Apr 9 2018 legal", |
|
||||
"-rw-r--r-- 1 root root 191 Feb 7 2018 libaudit.conf", |
|
||||
"-rw-r--r-- 1 root root 10550 Jan 25 2018 login.defs", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 logrotate.d", |
|
||||
"-rw-r--r-- 1 root root 105 Aug 13 18:59 lsb-release", |
|
||||
"-rw-r--r-- 1 root root 0 Sep 21 17:17 machine-id", |
|
||||
"-rw-r--r-- 1 root root 2444 Nov 11 13:47 mailcap", |
|
||||
"-rw-r--r-- 1 root root 449 Jul 15 2016 mailcap.order", |
|
||||
"-rw-r--r-- 1 root root 24301 Jul 15 2016 mime.types", |
|
||||
"-rw-r--r-- 1 root root 812 Mar 24 2018 mke2fs.conf", |
|
||||
"lrwxrwxrwx 1 root root 12 Nov 25 13:15 mtab -> /proc/mounts", |
|
||||
"-rw-r--r-- 1 root root 94 Nov 25 13:55 nethosts", |
|
||||
"drwxr-xr-x 3 root root 4096 Nov 11 13:47 network", |
|
||||
"-rw-r--r-- 1 root root 91 Apr 9 2018 networks", |
|
||||
"-rw-r--r-- 1 root root 497 Oct 5 2016 nsswitch.conf", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:15 opt", |
|
||||
"lrwxrwxrwx 1 root root 21 Aug 13 18:59 os-release -> ../usr/lib/os-release", |
|
||||
"-rw-r--r-- 1 root root 552 Apr 4 2018 pam.conf", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:14 pam.d", |
|
||||
"-rw-r--r-- 1 root root 1013 Nov 11 13:47 passwd", |
|
||||
"-rw-r--r-- 1 root root 972 Nov 11 13:47 passwd-", |
|
||||
"drwxr-xr-x 4 root root 4096 Nov 11 13:47 perl", |
|
||||
"-rw-r--r-- 1 root root 676 Nov 25 13:15 profile", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 profile.d", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 python", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 python2.7", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 python3.6", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc0.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc1.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc2.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc3.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc4.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc5.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc6.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rcS.d", |
|
||||
"-rw-r--r-- 1 root root 50 Nov 25 13:15 resolv.conf", |
|
||||
"-rwxr-xr-x 1 root root 268 Jul 21 2017 rmt", |
|
||||
"-rw-r--r-- 1 root root 4141 Jan 25 2018 securetty", |
|
||||
"drwxr-xr-x 4 root root 4096 Sep 21 17:17 security", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 selinux", |
|
||||
"-rw-r----- 1 root shadow 749 Nov 25 13:15 shadow", |
|
||||
"-rw-r----- 1 root shadow 624 Nov 11 13:47 shadow-", |
|
||||
"-rw-r--r-- 1 root root 73 Sep 21 17:14 shells", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:15 shorewall", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 skel", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:14 ssh", |
|
||||
"drwxr-xr-x 4 root root 4096 Nov 25 13:49 ssl", |
|
||||
"-rw-r--r-- 1 root root 20 Nov 11 13:47 subgid", |
|
||||
"-rw-r--r-- 1 root root 0 Sep 21 17:14 subgid-", |
|
||||
"-rw-r--r-- 1 root root 20 Nov 11 13:47 subuid", |
|
||||
"-rw-r--r-- 1 root root 0 Sep 21 17:14 subuid-", |
|
||||
"-r--r----- 1 root root 755 Sep 23 14:59 sudoers", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 sudoers.d", |
|
||||
"-rw-r--r-- 1 root root 2683 Jan 17 2018 sysctl.conf", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:17 sysctl.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Oct 25 2017 systemd", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 terminfo", |
|
||||
"-rw-r--r-- 1 root root 1260 Feb 26 2018 ucf.conf", |
|
||||
"drwxr-xr-x 3 root root 4096 Nov 11 13:47 ufw", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 update-motd.d", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 vim", |
|
||||
"-rw-r--r-- 1 root root 4942 Apr 8 2019 wgetrc" |
|
||||
] |
|
||||
} |
|
||||
ok: [172.22.0.4] => { |
|
||||
"config.stdout_lines": [ |
|
||||
"total 420", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:15 .", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:15 ..", |
|
||||
"-rw------- 1 root root 0 Sep 21 17:14 .pwd.lock", |
|
||||
"-rw-r--r-- 1 root root 3028 Sep 21 17:14 adduser.conf", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 alternatives", |
|
||||
"drwxr-xr-x 3 root root 4096 Nov 11 13:47 apparmor.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Sep 21 17:17 apt", |
|
||||
"-rw-r--r-- 1 root root 2319 Apr 4 2018 bash.bashrc", |
|
||||
"-rw-r--r-- 1 root root 367 Jan 27 2016 bindresvport.blacklist", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:17 cron.daily", |
|
||||
"-rw-r--r-- 1 root root 2969 Feb 28 2018 debconf.conf", |
|
||||
"-rw-r--r-- 1 root root 11 Jun 25 2017 debian_version", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 default", |
|
||||
"-rw-r--r-- 1 root root 604 Aug 13 2017 deluser.conf", |
|
||||
"drwxr-xr-x 1 root root 4096 Sep 21 17:16 dpkg", |
|
||||
"-rw-r--r-- 1 root root 106 Sep 21 17:17 environment", |
|
||||
"-rw-r--r-- 1 root root 37 Sep 21 17:13 fstab", |
|
||||
"-rw-r--r-- 1 root root 2584 Feb 1 2018 gai.conf", |
|
||||
"-rw-r--r-- 1 root root 478 Nov 11 13:47 group", |
|
||||
"-rw-r--r-- 1 root root 472 Nov 11 13:47 group-", |
|
||||
"-rw-r----- 1 root shadow 399 Nov 11 13:47 gshadow", |
|
||||
"-rw-r----- 1 root shadow 393 Nov 11 13:47 gshadow-", |
|
||||
"drwxr-xr-x 3 root root 4096 Nov 11 13:47 gss", |
|
||||
"-rw-r--r-- 1 root root 92 Apr 9 2018 host.conf", |
|
||||
"-rw-r--r-- 1 root root 13 Nov 25 13:15 hostname", |
|
||||
"-rw-r--r-- 1 root root 174 Nov 25 13:15 hosts", |
|
||||
"-rw-r--r-- 1 root root 411 Nov 11 13:47 hosts.allow", |
|
||||
"-rw-r--r-- 1 root root 711 Nov 11 13:47 hosts.deny", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 init.d", |
|
||||
"-rw-r--r-- 1 root root 1748 May 15 2017 inputrc", |
|
||||
"drwxr-xr-x 4 root root 4096 Nov 11 13:47 iproute2", |
|
||||
"-rw-r--r-- 1 root root 26 Aug 13 18:59 issue", |
|
||||
"-rw-r--r-- 1 root root 19 Aug 13 18:59 issue.net", |
|
||||
"drwxr-xr-x 3 root root 4096 Sep 21 17:14 kernel", |
|
||||
"-rw-r--r-- 1 root root 13944 Nov 11 13:47 ld.so.cache", |
|
||||
"-rw-r--r-- 1 root root 34 Jan 27 2016 ld.so.conf", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 ld.so.conf.d", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 ldap", |
|
||||
"-rw-r--r-- 1 root root 267 Apr 9 2018 legal", |
|
||||
"-rw-r--r-- 1 root root 191 Feb 7 2018 libaudit.conf", |
|
||||
"-rw-r--r-- 1 root root 10550 Jan 25 2018 login.defs", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 logrotate.d", |
|
||||
"-rw-r--r-- 1 root root 105 Aug 13 18:59 lsb-release", |
|
||||
"-rw-r--r-- 1 root root 0 Sep 21 17:17 machine-id", |
|
||||
"-rw-r--r-- 1 root root 2444 Nov 11 13:47 mailcap", |
|
||||
"-rw-r--r-- 1 root root 449 Jul 15 2016 mailcap.order", |
|
||||
"-rw-r--r-- 1 root root 24301 Jul 15 2016 mime.types", |
|
||||
"-rw-r--r-- 1 root root 812 Mar 24 2018 mke2fs.conf", |
|
||||
"lrwxrwxrwx 1 root root 12 Nov 25 13:15 mtab -> /proc/mounts", |
|
||||
"drwxr-xr-x 3 root root 4096 Nov 11 13:47 network", |
|
||||
"-rw-r--r-- 1 root root 91 Apr 9 2018 networks", |
|
||||
"-rw-r--r-- 1 root root 497 Oct 5 2016 nsswitch.conf", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:15 opt", |
|
||||
"lrwxrwxrwx 1 root root 21 Aug 13 18:59 os-release -> ../usr/lib/os-release", |
|
||||
"-rw-r--r-- 1 root root 552 Apr 4 2018 pam.conf", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:14 pam.d", |
|
||||
"-rw-r--r-- 1 root root 1013 Nov 11 13:47 passwd", |
|
||||
"-rw-r--r-- 1 root root 972 Nov 11 13:47 passwd-", |
|
||||
"drwxr-xr-x 4 root root 4096 Nov 11 13:47 perl", |
|
||||
"-rw-r--r-- 1 root root 676 Nov 25 13:15 profile", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 profile.d", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 python", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 python2.7", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 python3.6", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc0.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc1.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc2.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc3.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc4.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc5.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc6.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rcS.d", |
|
||||
"-rw-r--r-- 1 root root 50 Nov 25 13:15 resolv.conf", |
|
||||
"-rwxr-xr-x 1 root root 268 Jul 21 2017 rmt", |
|
||||
"-rw-r--r-- 1 root root 4141 Jan 25 2018 securetty", |
|
||||
"drwxr-xr-x 4 root root 4096 Sep 21 17:17 security", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 selinux", |
|
||||
"-rw-r----- 1 root shadow 749 Nov 25 13:15 shadow", |
|
||||
"-rw-r----- 1 root shadow 624 Nov 11 13:47 shadow-", |
|
||||
"-rw-r--r-- 1 root root 73 Sep 21 17:14 shells", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:15 shorewall", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 skel", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:14 ssh", |
|
||||
"-rw-r--r-- 1 root root 20 Nov 11 13:47 subgid", |
|
||||
"-rw-r--r-- 1 root root 0 Sep 21 17:14 subgid-", |
|
||||
"-rw-r--r-- 1 root root 20 Nov 11 13:47 subuid", |
|
||||
"-rw-r--r-- 1 root root 0 Sep 21 17:14 subuid-", |
|
||||
"-r--r----- 1 root root 755 Sep 23 14:59 sudoers", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 sudoers.d", |
|
||||
"-rw-r--r-- 1 root root 2683 Jan 17 2018 sysctl.conf", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:17 sysctl.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Oct 25 2017 systemd", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 terminfo", |
|
||||
"-rw-r--r-- 1 root root 1260 Feb 26 2018 ucf.conf", |
|
||||
"drwxr-xr-x 3 root root 4096 Nov 11 13:47 ufw", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 update-motd.d", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 vim", |
|
||||
"-rw-r--r-- 1 root root 4942 Apr 8 2019 wgetrc" |
|
||||
] |
|
||||
} |
|
||||
ok: [172.22.0.5] => { |
|
||||
"config.stdout_lines": [ |
|
||||
"total 420", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:15 .", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:15 ..", |
|
||||
"-rw------- 1 root root 0 Sep 21 17:14 .pwd.lock", |
|
||||
"-rw-r--r-- 1 root root 3028 Sep 21 17:14 adduser.conf", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 alternatives", |
|
||||
"drwxr-xr-x 3 root root 4096 Nov 11 13:47 apparmor.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Sep 21 17:17 apt", |
|
||||
"-rw-r--r-- 1 root root 2319 Apr 4 2018 bash.bashrc", |
|
||||
"-rw-r--r-- 1 root root 367 Jan 27 2016 bindresvport.blacklist", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:17 cron.daily", |
|
||||
"-rw-r--r-- 1 root root 2969 Feb 28 2018 debconf.conf", |
|
||||
"-rw-r--r-- 1 root root 11 Jun 25 2017 debian_version", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 default", |
|
||||
"-rw-r--r-- 1 root root 604 Aug 13 2017 deluser.conf", |
|
||||
"drwxr-xr-x 1 root root 4096 Sep 21 17:16 dpkg", |
|
||||
"-rw-r--r-- 1 root root 106 Sep 21 17:17 environment", |
|
||||
"-rw-r--r-- 1 root root 37 Sep 21 17:13 fstab", |
|
||||
"-rw-r--r-- 1 root root 2584 Feb 1 2018 gai.conf", |
|
||||
"-rw-r--r-- 1 root root 478 Nov 11 13:47 group", |
|
||||
"-rw-r--r-- 1 root root 472 Nov 11 13:47 group-", |
|
||||
"-rw-r----- 1 root shadow 399 Nov 11 13:47 gshadow", |
|
||||
"-rw-r----- 1 root shadow 393 Nov 11 13:47 gshadow-", |
|
||||
"drwxr-xr-x 3 root root 4096 Nov 11 13:47 gss", |
|
||||
"-rw-r--r-- 1 root root 92 Apr 9 2018 host.conf", |
|
||||
"-rw-r--r-- 1 root root 13 Nov 25 13:15 hostname", |
|
||||
"-rw-r--r-- 1 root root 174 Nov 25 13:15 hosts", |
|
||||
"-rw-r--r-- 1 root root 411 Nov 11 13:47 hosts.allow", |
|
||||
"-rw-r--r-- 1 root root 711 Nov 11 13:47 hosts.deny", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 init.d", |
|
||||
"-rw-r--r-- 1 root root 1748 May 15 2017 inputrc", |
|
||||
"drwxr-xr-x 4 root root 4096 Nov 11 13:47 iproute2", |
|
||||
"-rw-r--r-- 1 root root 26 Aug 13 18:59 issue", |
|
||||
"-rw-r--r-- 1 root root 19 Aug 13 18:59 issue.net", |
|
||||
"drwxr-xr-x 3 root root 4096 Sep 21 17:14 kernel", |
|
||||
"-rw-r--r-- 1 root root 13944 Nov 11 13:47 ld.so.cache", |
|
||||
"-rw-r--r-- 1 root root 34 Jan 27 2016 ld.so.conf", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 ld.so.conf.d", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 ldap", |
|
||||
"-rw-r--r-- 1 root root 267 Apr 9 2018 legal", |
|
||||
"-rw-r--r-- 1 root root 191 Feb 7 2018 libaudit.conf", |
|
||||
"-rw-r--r-- 1 root root 10550 Jan 25 2018 login.defs", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 logrotate.d", |
|
||||
"-rw-r--r-- 1 root root 105 Aug 13 18:59 lsb-release", |
|
||||
"-rw-r--r-- 1 root root 0 Sep 21 17:17 machine-id", |
|
||||
"-rw-r--r-- 1 root root 2444 Nov 11 13:47 mailcap", |
|
||||
"-rw-r--r-- 1 root root 449 Jul 15 2016 mailcap.order", |
|
||||
"-rw-r--r-- 1 root root 24301 Jul 15 2016 mime.types", |
|
||||
"-rw-r--r-- 1 root root 812 Mar 24 2018 mke2fs.conf", |
|
||||
"lrwxrwxrwx 1 root root 12 Nov 25 13:15 mtab -> /proc/mounts", |
|
||||
"drwxr-xr-x 3 root root 4096 Nov 11 13:47 network", |
|
||||
"-rw-r--r-- 1 root root 91 Apr 9 2018 networks", |
|
||||
"-rw-r--r-- 1 root root 497 Oct 5 2016 nsswitch.conf", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:15 opt", |
|
||||
"lrwxrwxrwx 1 root root 21 Aug 13 18:59 os-release -> ../usr/lib/os-release", |
|
||||
"-rw-r--r-- 1 root root 552 Apr 4 2018 pam.conf", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:14 pam.d", |
|
||||
"-rw-r--r-- 1 root root 1013 Nov 11 13:47 passwd", |
|
||||
"-rw-r--r-- 1 root root 972 Nov 11 13:47 passwd-", |
|
||||
"drwxr-xr-x 4 root root 4096 Nov 11 13:47 perl", |
|
||||
"-rw-r--r-- 1 root root 676 Nov 25 13:15 profile", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 profile.d", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 python", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 python2.7", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 python3.6", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc0.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc1.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc2.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc3.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc4.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc5.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc6.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rcS.d", |
|
||||
"-rw-r--r-- 1 root root 50 Nov 25 13:15 resolv.conf", |
|
||||
"-rwxr-xr-x 1 root root 268 Jul 21 2017 rmt", |
|
||||
"-rw-r--r-- 1 root root 4141 Jan 25 2018 securetty", |
|
||||
"drwxr-xr-x 4 root root 4096 Sep 21 17:17 security", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 selinux", |
|
||||
"-rw-r----- 1 root shadow 749 Nov 25 13:15 shadow", |
|
||||
"-rw-r----- 1 root shadow 624 Nov 11 13:47 shadow-", |
|
||||
"-rw-r--r-- 1 root root 73 Sep 21 17:14 shells", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:15 shorewall", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 skel", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:14 ssh", |
|
||||
"-rw-r--r-- 1 root root 20 Nov 11 13:47 subgid", |
|
||||
"-rw-r--r-- 1 root root 0 Sep 21 17:14 subgid-", |
|
||||
"-rw-r--r-- 1 root root 20 Nov 11 13:47 subuid", |
|
||||
"-rw-r--r-- 1 root root 0 Sep 21 17:14 subuid-", |
|
||||
"-r--r----- 1 root root 755 Sep 23 14:59 sudoers", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 sudoers.d", |
|
||||
"-rw-r--r-- 1 root root 2683 Jan 17 2018 sysctl.conf", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:17 sysctl.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Oct 25 2017 systemd", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 terminfo", |
|
||||
"-rw-r--r-- 1 root root 1260 Feb 26 2018 ucf.conf", |
|
||||
"drwxr-xr-x 3 root root 4096 Nov 11 13:47 ufw", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 update-motd.d", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 vim", |
|
||||
"-rw-r--r-- 1 root root 4942 Apr 8 2019 wgetrc" |
|
||||
] |
|
||||
} |
|
||||
ok: [172.22.0.6] => { |
|
||||
"config.stdout_lines": [ |
|
||||
"total 420", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:15 .", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:15 ..", |
|
||||
"-rw------- 1 root root 0 Sep 21 17:14 .pwd.lock", |
|
||||
"-rw-r--r-- 1 root root 3028 Sep 21 17:14 adduser.conf", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 alternatives", |
|
||||
"drwxr-xr-x 3 root root 4096 Nov 11 13:47 apparmor.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Sep 21 17:17 apt", |
|
||||
"-rw-r--r-- 1 root root 2319 Apr 4 2018 bash.bashrc", |
|
||||
"-rw-r--r-- 1 root root 367 Jan 27 2016 bindresvport.blacklist", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:17 cron.daily", |
|
||||
"-rw-r--r-- 1 root root 2969 Feb 28 2018 debconf.conf", |
|
||||
"-rw-r--r-- 1 root root 11 Jun 25 2017 debian_version", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 default", |
|
||||
"-rw-r--r-- 1 root root 604 Aug 13 2017 deluser.conf", |
|
||||
"drwxr-xr-x 1 root root 4096 Sep 21 17:16 dpkg", |
|
||||
"-rw-r--r-- 1 root root 106 Sep 21 17:17 environment", |
|
||||
"-rw-r--r-- 1 root root 37 Sep 21 17:13 fstab", |
|
||||
"-rw-r--r-- 1 root root 2584 Feb 1 2018 gai.conf", |
|
||||
"-rw-r--r-- 1 root root 478 Nov 11 13:47 group", |
|
||||
"-rw-r--r-- 1 root root 472 Nov 11 13:47 group-", |
|
||||
"-rw-r----- 1 root shadow 399 Nov 11 13:47 gshadow", |
|
||||
"-rw-r----- 1 root shadow 393 Nov 11 13:47 gshadow-", |
|
||||
"drwxr-xr-x 3 root root 4096 Nov 11 13:47 gss", |
|
||||
"-rw-r--r-- 1 root root 92 Apr 9 2018 host.conf", |
|
||||
"-rw-r--r-- 1 root root 13 Nov 25 13:15 hostname", |
|
||||
"-rw-r--r-- 1 root root 174 Nov 25 13:15 hosts", |
|
||||
"-rw-r--r-- 1 root root 411 Nov 11 13:47 hosts.allow", |
|
||||
"-rw-r--r-- 1 root root 711 Nov 11 13:47 hosts.deny", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 init.d", |
|
||||
"-rw-r--r-- 1 root root 1748 May 15 2017 inputrc", |
|
||||
"drwxr-xr-x 4 root root 4096 Nov 11 13:47 iproute2", |
|
||||
"-rw-r--r-- 1 root root 26 Aug 13 18:59 issue", |
|
||||
"-rw-r--r-- 1 root root 19 Aug 13 18:59 issue.net", |
|
||||
"drwxr-xr-x 3 root root 4096 Sep 21 17:14 kernel", |
|
||||
"-rw-r--r-- 1 root root 13944 Nov 11 13:47 ld.so.cache", |
|
||||
"-rw-r--r-- 1 root root 34 Jan 27 2016 ld.so.conf", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 ld.so.conf.d", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 ldap", |
|
||||
"-rw-r--r-- 1 root root 267 Apr 9 2018 legal", |
|
||||
"-rw-r--r-- 1 root root 191 Feb 7 2018 libaudit.conf", |
|
||||
"-rw-r--r-- 1 root root 10550 Jan 25 2018 login.defs", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 logrotate.d", |
|
||||
"-rw-r--r-- 1 root root 105 Aug 13 18:59 lsb-release", |
|
||||
"-rw-r--r-- 1 root root 0 Sep 21 17:17 machine-id", |
|
||||
"-rw-r--r-- 1 root root 2444 Nov 11 13:47 mailcap", |
|
||||
"-rw-r--r-- 1 root root 449 Jul 15 2016 mailcap.order", |
|
||||
"-rw-r--r-- 1 root root 24301 Jul 15 2016 mime.types", |
|
||||
"-rw-r--r-- 1 root root 812 Mar 24 2018 mke2fs.conf", |
|
||||
"lrwxrwxrwx 1 root root 12 Nov 25 13:15 mtab -> /proc/mounts", |
|
||||
"drwxr-xr-x 3 root root 4096 Nov 11 13:47 network", |
|
||||
"-rw-r--r-- 1 root root 91 Apr 9 2018 networks", |
|
||||
"-rw-r--r-- 1 root root 497 Oct 5 2016 nsswitch.conf", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:15 opt", |
|
||||
"lrwxrwxrwx 1 root root 21 Aug 13 18:59 os-release -> ../usr/lib/os-release", |
|
||||
"-rw-r--r-- 1 root root 552 Apr 4 2018 pam.conf", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:14 pam.d", |
|
||||
"-rw-r--r-- 1 root root 1013 Nov 11 13:47 passwd", |
|
||||
"-rw-r--r-- 1 root root 972 Nov 11 13:47 passwd-", |
|
||||
"drwxr-xr-x 4 root root 4096 Nov 11 13:47 perl", |
|
||||
"-rw-r--r-- 1 root root 676 Nov 25 13:15 profile", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 profile.d", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 python", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 python2.7", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 python3.6", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc0.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc1.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc2.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc3.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc4.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc5.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rc6.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 11 13:47 rcS.d", |
|
||||
"-rw-r--r-- 1 root root 50 Nov 25 13:15 resolv.conf", |
|
||||
"-rwxr-xr-x 1 root root 268 Jul 21 2017 rmt", |
|
||||
"-rw-r--r-- 1 root root 4141 Jan 25 2018 securetty", |
|
||||
"drwxr-xr-x 4 root root 4096 Sep 21 17:17 security", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 selinux", |
|
||||
"-rw-r----- 1 root shadow 749 Nov 25 13:15 shadow", |
|
||||
"-rw-r----- 1 root shadow 624 Nov 11 13:47 shadow-", |
|
||||
"-rw-r--r-- 1 root root 73 Sep 21 17:14 shells", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:15 shorewall", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 skel", |
|
||||
"drwxr-xr-x 1 root root 4096 Nov 25 13:14 ssh", |
|
||||
"-rw-r--r-- 1 root root 20 Nov 11 13:47 subgid", |
|
||||
"-rw-r--r-- 1 root root 0 Sep 21 17:14 subgid-", |
|
||||
"-rw-r--r-- 1 root root 20 Nov 11 13:47 subuid", |
|
||||
"-rw-r--r-- 1 root root 0 Sep 21 17:14 subuid-", |
|
||||
"-r--r----- 1 root root 755 Sep 23 14:59 sudoers", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 sudoers.d", |
|
||||
"-rw-r--r-- 1 root root 2683 Jan 17 2018 sysctl.conf", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:17 sysctl.d", |
|
||||
"drwxr-xr-x 1 root root 4096 Oct 25 2017 systemd", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 terminfo", |
|
||||
"-rw-r--r-- 1 root root 1260 Feb 26 2018 ucf.conf", |
|
||||
"drwxr-xr-x 3 root root 4096 Nov 11 13:47 ufw", |
|
||||
"drwxr-xr-x 2 root root 4096 Sep 21 17:16 update-motd.d", |
|
||||
"drwxr-xr-x 2 root root 4096 Nov 11 13:47 vim", |
|
||||
"-rw-r--r-- 1 root root 4942 Apr 8 2019 wgetrc" |
|
||||
] |
|
||||
} |
|
||||
|
|
||||
PLAY RECAP ********************************************************************************************************************************************************************************************** |
|
||||
172.22.0.2 : ok=3 changed=1 unreachable=0 failed=0 |
|
||||
172.22.0.3 : ok=3 changed=1 unreachable=0 failed=0 |
|
||||
172.22.0.4 : ok=3 changed=1 unreachable=0 failed=0 |
|
||||
172.22.0.5 : ok=3 changed=1 unreachable=0 failed=0 |
|
||||
172.22.0.6 : ok=3 changed=1 unreachable=0 failed=0 |
|
||||
|
|
@ -1,72 +0,0 @@ |
|||||
#!/bin/sh |
|
||||
|
|
||||
ROLE="undefined" |
|
||||
MPI_MASTER_SERVICE_NAME="sec_master" |
|
||||
MPI_WORKER_SERVICE_NAME="sec_worker" |
|
||||
HOSTNAMES="/etc/nethosts" |
|
||||
|
|
||||
####################### |
|
||||
# ARGUMENTS PARSER |
|
||||
|
|
||||
while [ "$1" != "" ]; |
|
||||
do |
|
||||
PARAM=$(echo "$1" | awk -F= '{print $1}') |
|
||||
VALUE=$(echo "$1" | awk -F= '{print $2}') |
|
||||
|
|
||||
case $PARAM in |
|
||||
role) |
|
||||
[ "$VALUE" ] && ROLE=$VALUE |
|
||||
;; |
|
||||
|
|
||||
sec_master_service_name) |
|
||||
[ "$VALUE" ] && MPI_MASTER_SERVICE_NAME=$VALUE |
|
||||
;; |
|
||||
|
|
||||
sec_worker_service_name) |
|
||||
[ "$VALUE" ] && MPI_WORKER_SERVICE_NAME=$VALUE |
|
||||
;; |
|
||||
*) |
|
||||
echo "ERROR: unknown parameter \"$PARAM\"" |
|
||||
exit 1 |
|
||||
;; |
|
||||
esac |
|
||||
shift |
|
||||
done |
|
||||
|
|
||||
|
|
||||
|
|
||||
cat > /etc/opt/service_names <<- EOF |
|
||||
MPI_MASTER_SERVICE_NAME=${MPI_MASTER_SERVICE_NAME} |
|
||||
MPI_WORKER_SERVICE_NAME=${MPI_WORKER_SERVICE_NAME} |
|
||||
EOF |
|
||||
|
|
||||
case $ROLE in |
|
||||
"master") |
|
||||
|
|
||||
# Auto update default host file in background and dumb all output |
|
||||
auto_update_hosts "${HOSTNAMES}" > /dev/null 2>&1 & |
|
||||
|
|
||||
# Start ssh server |
|
||||
/usr/sbin/sshd -D |
|
||||
;; |
|
||||
|
|
||||
|
|
||||
"worker") |
|
||||
|
|
||||
# Start ssh server in background |
|
||||
/usr/sbin/sshd -D & |
|
||||
|
|
||||
# Keep trying to connect to master node and stay there indefinitely so that master node can see |
|
||||
# the connected hosts that are ready for MPI work |
|
||||
while sleep 1 |
|
||||
do |
|
||||
# shellcheck disable=SC2086 |
|
||||
ssh -T -o "StrictHostKeyChecking no" \ |
|
||||
-i "${USER_HOME}/.ssh/id_rsa" \ |
|
||||
${USER}@${MPI_MASTER_SERVICE_NAME} \ |
|
||||
"tail -f /dev/null" |
|
||||
done |
|
||||
;; |
|
||||
*) |
|
||||
echo 'role argument only accepts "master" or "worker"' |
|
||||
esac |
|
@ -1,6 +0,0 @@ |
|||||
### Comments, comments, and more comments. |
|
||||
# |
|
||||
#ZONE INTERFACE BROADCAST OPTIONS |
|
||||
# |
|
||||
net eth0 detect tcpflags,nosmurfs |
|
||||
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE |
|
@ -1,11 +0,0 @@ |
|||||
### Comments, comments, and more comments. |
|
||||
#SOURCE DEST POLICY LOG LEVEL LIMIT:BURST |
|
||||
# |
|
||||
net fw ACCEPT |
|
||||
fw net ACCEPT |
|
||||
|
|
||||
net all DROP |
|
||||
|
|
||||
# THE FOLLOWING POLICY MUST BE LAST |
|
||||
all all REJECT info |
|
||||
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE |
|
@ -1,11 +0,0 @@ |
|||||
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/ |
|
||||
# PORT PORT(S) DEST LIMIT GROUP |
|
||||
#ACCEPT net fw tcp 80 |
|
||||
#ACCEPT fw net tcp 80 |
|
||||
#ACCEPT net fw udp 53 |
|
||||
#ACCEPT fw net udp 53 |
|
||||
#REJECT net fw udp 53 |
|
||||
#REJECT fw net udp 53 |
|
||||
#ACCEPT net:14.15.16.112/27 fw icmp 8 |
|
||||
|
|
||||
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE |
|
@ -1,6 +0,0 @@ |
|||||
### Comments, comments, and more comments. |
|
||||
#ZONE TYPE OPTIONS IN OUT |
|
||||
# OPTIONS OPTIONS |
|
||||
fw firewall |
|
||||
net ipv4 |
|
||||
#LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE |
|
@ -1,27 +0,0 @@ |
|||||
-----BEGIN RSA PRIVATE KEY----- |
|
||||
MIIEpQIBAAKCAQEAoKG1DtjMXHDJfF59Y5nO7Yl38fkjRL1LQhF7RZKbGScWBNIW |
|
||||
foAS0wrd3wUnd5YMtIeiBj98H+V8IEn0ChAAxGfHXqqmmYlU6ABESINob+h70Bnm |
|
||||
UwiRbRnA64o3d9+cz2T8YLf+1p7///Z8LA8U+7rS+kvKvtYCQ9llDAxtbe39CxCs |
|
||||
2HASam3U6VArq9SdSqph5MudBaYhaxx4V8VDdXEhG2pimlh8e7zdPZ8AYbYLLDhq |
|
||||
Ytd+wn9azLXPQ3w/vC+Pn4taUBYnlERDY45vaVsPdnR+ao9ckMLUS6EwJVQmgMzB |
|
||||
2yyNCbPQYvRPL0rxoGstfCmmjY3EzOh6kEA6wwIDAQABAoIBAHqrAxnTdj0h5LyV |
|
||||
bCwjyWKdGHwxRj24UUCjGQCIdOlAcBA+X+863yVLpyQpS3qHnCxBZ/pdgOza02/V |
|
||||
CgilL/DNT/N7Xr7hoXWKvpqhv5+2atcA8GN4p5YplKpLYxCoM5guBo3V9UbxJY7T |
|
||||
LQB4hA25HmUGfE5AIHqwCfqpgufvIO1enhe1Vh/6l1FJqJuNj2pBGeXOyOMV95GN |
|
||||
xC5/BVytJIx2Rts5qtwpt5iPE3pKdsrWc71qACxk3dG8h9OZnuE3vuCg/Wp8jdwk |
|
||||
NHZ6nWlt0BbST3wN0pyTp6cqtZ0qqfSpZCVRegeQW5ENR9NaigDX6RADKRnms46J |
|
||||
ziDSZAECgYEA0WBDY47CA9Ej0Y2zBcV3x03cznSnxr7BVty32xbnNgxGF5jNUDdU |
|
||||
E2JwJs86sV75VV0fpgrbN45lBV/2ImefrPr4kJAIL2J4eyVdOTTT/DO9Tuw6NP8R |
|
||||
AYMZOzOlgFjx3arnjlOK5AicFseWFCXvezuAMPcGpImgw7xHHM3RcFcCgYEAxGa2 |
|
||||
T+J119HWf15kN7bx5RaUl9J4DvvE5oHtA7zsMPO2fRpfwXAb8yKwIXfZ7186frPb |
|
||||
jo3ZQykcPuJ3MldvTWEuUhY5W1HSF1sBJOPZHuRfQicv8Uj4Y1kWltQf4Ikb3Uyh |
|
||||
T0fZJul4HkPAo/Q65zIAtJ9tWukAP/lmnwO9VXUCgYEAiY62F4WmH/3ai4WOFX+b |
|
||||
5xxXsmhgBiozOc8/F7jfZNoBfuVMFqSTHz0wM784b2nXY+cPsPY2+jQaWMKoIgh0 |
|
||||
lqA4iDmotwD56OYubjQwBeU0PdLjlwfw805fWE7hMAa/uQPcp9xpRtIFQs4T4t7d |
|
||||
jNgVq5XQDm/BaHedPOZX8HcCgYEAuKpu31vqO7wUt/vTtUMx3JpHqxz9P/FgqPAf |
|
||||
H/WiC0EMJEMJKAO2c/z4qO9dHiJnCL0qQraDQw/DfClJtC7b+2DVwd8dnQyowscR |
|
||||
o1MNUmueWcAo5vEag6c/gx/+vQuOBJ1JyxaeSmUZSTOhTUeVns64NRz2IJWWY5Cn |
|
||||
+fn1KwUCgYEAjYYeQX/W+2r8SFipPQQi/36EqLPwko58C/sbJR0gySP6El7hNQRt |
|
||||
Sdmd9hfMXRR+VCZWmmzb6T4fc80XxteI9eANkZ7xhNuQe11EDvPqmc9WSF0s+l1T |
|
||||
eQnkt+an7Qv2prDSU6d1KlOrOuCXU8IhbkuffvRSYXwK9T79bTG8iIQ= |
|
||||
-----END RSA PRIVATE KEY----- |
|
@ -1 +0,0 @@ |
|||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCgobUO2MxccMl8Xn1jmc7tiXfx+SNEvUtCEXtFkpsZJxYE0hZ+gBLTCt3fBSd3lgy0h6IGP3wf5XwgSfQKEADEZ8deqqaZiVToAERIg2hv6HvQGeZTCJFtGcDrijd335zPZPxgt/7Wnv//9nwsDxT7utL6S8q+1gJD2WUMDG1t7f0LEKzYcBJqbdTpUCur1J1KqmHky50FpiFrHHhXxUN1cSEbamKaWHx7vN09nwBhtgssOGpi137Cf1rMtc9DfD+8L4+fi1pQFieURENjjm9pWw92dH5qj1yQwtRLoTAlVCaAzMHbLI0Js9Bi9E8vSvGgay18KaaNjcTM6HqQQDrD nlknguyen@NN-Ubuntu |
|
@ -1,2 +0,0 @@ |
|||||
|
|
||||
../install/usr/share/swarmlab.io/sec/swarmlab-sec down |
|
@ -1,5 +0,0 @@ |
|||||
|
|
||||
REGISTRY_ADDR=localhost |
|
||||
REGISTRY_PORT=5000 |
|
||||
IMAGE_NAME=swarmlab-sec |
|
||||
SSH_PORT=41915 |
|
@ -1,15 +0,0 @@ |
|||||
map <C-e> :NERDTreeToggle<CR> |
|
||||
|
|
||||
autocmd BufNewFile,BufRead *.vue,*.js set syntax=verilog tabstop=2|set shiftwidth=2|set noexpandtab autoindent |
|
||||
augroup remember_folds |
|
||||
autocmd! |
|
||||
autocmd BufWinLeave * mkview |
|
||||
autocmd BufWinEnter * silent! loadview |
|
||||
augroup END |
|
||||
" Useful for my Quick Notes feature in my tmuxrc |
|
||||
augroup QuickNotes |
|
||||
au BufWrite,VimLeave NOTES.otl mkview |
|
||||
au BufRead NOTES.otl silent loadview |
|
||||
augroup END |
|
||||
set swapfile |
|
||||
set dir=~/tmp |
|
@ -1,34 +0,0 @@ |
|||||
FROM localhost:5000/sec |
|
||||
# |
|
||||
USER root |
|
||||
RUN export DEBIAN_FRONTEND=noninteractive && apt-get update && apt-get --no-install-recommends install -y openssh-server net-tools curl tcpdump shorewall sudo vim nmap dnsutils iputils-ping iptables wget python |
|
||||
RUN apt-get autoremove --purge && apt clean |
|
||||
RUN rm -rf /var/lib/apt/lists/* |
|
||||
RUN mkdir -p /var/run/sshd |
|
||||
RUN echo 'root:' | chpasswd |
|
||||
RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config |
|
||||
# |
|
||||
# SSH login fix. Otherwise user is kicked off after login |
|
||||
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd |
|
||||
# |
|
||||
ENV NOTVISIBLE "in users profile" |
|
||||
RUN echo "export VISIBLE=now" >> /etc/profile |
|
||||
#RUN wget -k https://raw.githubusercontent.com/egalpin/apt-vim/master/install.sh |
|
||||
# |
|
||||
# |
|
||||
# |
|
||||
COPY sec_bootstrap /usr/bin |
|
||||
COPY get_hosts /usr/bin |
|
||||
COPY auto_update_hosts /usr/bin |
|
||||
RUN mkdir -p /etc/shorewall |
|
||||
COPY shorewall /etc/shorewall |
|
||||
RUN mkdir -p /etc/opt |
|
||||
RUN mkdir -p /project |
|
||||
WORKDIR /project |
|
||||
COPY install-vim-plugin.sh . |
|
||||
#RUN bash ./install-vim-plugin.sh |
|
||||
#RUN apt-vim install -y https://github.com/scrooloose/nerdtree.git |
|
||||
CMD export PATH=/home/zeus/bin:/home/zeus/.local/bin:/home/zeus/bin:/home/zeus/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/project |
|
||||
RUN grep -qw ^docker /etc/passwd || useradd -m docker && echo "docker:docker" | chpasswd && adduser docker sudo |
|
||||
COPY .vimrc /home/docker |
|
||||
USER docker |
|
@ -1 +0,0 @@ |
|||||
ROOT_PASSWORD="pass" |
|
@ -1,11 +0,0 @@ |
|||||
#!/bin/sh |
|
||||
|
|
||||
hosts=$(get_hosts) |
|
||||
printf "%s" "$hosts" > "$1" |
|
||||
|
|
||||
while sleep 2 |
|
||||
do |
|
||||
current_hosts=$(get_hosts) |
|
||||
[ "$hosts" != "$current_hosts" ] && printf "%s" "$current_hosts" > "$1" |
|
||||
hosts=$current_hosts |
|
||||
done |
|
@ -1,37 +0,0 @@ |
|||||
version: "2" |
|
||||
|
|
||||
services: |
|
||||
registry: |
|
||||
image: registry |
|
||||
ports: |
|
||||
- "5000:5000" |
|
||||
|
|
||||
master: |
|
||||
image: localhost:5000/swarmlab-sec |
|
||||
privileged: true |
|
||||
cap_add: |
|
||||
- NET_ADMIN |
|
||||
user: root |
|
||||
entrypoint: ["sec_bootstrap", "role=master", "sec_master_service_name=master", "sec_worker_service_name=worker"] |
|
||||
ports: |
|
||||
- "${SSH_PORT}:22" |
|
||||
networks: |
|
||||
- hybrid-sec |
|
||||
volumes: |
|
||||
- /data/appl/ok/swarmlab-hybrid-agent/src-local/instance/swarmlab-sec/test/project:/project |
|
||||
|
|
||||
|
|
||||
worker: |
|
||||
image: localhost:5000/swarmlab-sec |
|
||||
privileged: true |
|
||||
cap_add: |
|
||||
- NET_ADMIN |
|
||||
user: root |
|
||||
entrypoint: ["sec_bootstrap", "role=worker", "sec_master_service_name=master", "sec_worker_service_name=worker"] |
|
||||
networks: |
|
||||
- hybrid-sec |
|
||||
volumes: |
|
||||
- /data/appl/ok/swarmlab-hybrid-agent/src-local/instance/swarmlab-sec/test/project:/project |
|
||||
|
|
||||
networks: |
|
||||
hybrid-sec: |
|
@ -1,8 +0,0 @@ |
|||||
#!/bin/sh |
|
||||
|
|
||||
# Include the variables that store the Docker service names |
|
||||
# shellcheck disable=SC1091 |
|
||||
. /etc/opt/service_names |
|
||||
|
|
||||
( netstat -t | grep ESTABLISHED | awk '{print $5}' | grep "$MPI_WORKER_SERVICE_NAME" | cut -d: -f1 \ |
|
||||
& getent hosts "$MPI_MASTER_SERVICE_NAME" | cut -d' ' -f1 ) | sort -u |
|
@ -1,74 +0,0 @@ |
|||||
#! /usr/bin/env sh |
|
||||
|
|
||||
start_dir=$(pwd) |
|
||||
bin_string="export PATH=\"${PATH}:${HOME}/.vimpkg/bin\"" |
|
||||
|
|
||||
# Download the apt-vim files |
|
||||
curl -fSsLo ${HOME}/apt-vim/apt-vim --create-dirs \ |
|
||||
https://raw.githubusercontent.com/egalpin/apt-vim/master/apt-vim |
|
||||
|
|
||||
curl -fSsLo ${HOME}/apt-vim/vim_config.json \ |
|
||||
https://raw.githubusercontent.com/egalpin/apt-vim/master/vim_config.json |
|
||||
|
|
||||
# Add vimrc if there isn't one already |
|
||||
[ -f ${HOME}/.vimrc ] || touch ${HOME}/.vimrc |
|
||||
|
|
||||
# Make sure vimrc is using pathogen |
|
||||
if [ $(grep -c "execute pathogen#infect()" ${HOME}/.vimrc) -eq 0 ]; then |
|
||||
echo "execute pathogen#infect()" >> ${HOME}/.vimrc |
|
||||
fi |
|
||||
if [ $(grep -c "call pathogen#helptags()" ${HOME}/.vimrc) -eq 0 ]; then |
|
||||
echo "call pathogen#helptags()" >> ${HOME}/.vimrc |
|
||||
fi |
|
||||
|
|
||||
# Update path for executing shell |
|
||||
eval "$bin_string" |
|
||||
|
|
||||
added_to_profile=false |
|
||||
already_present=false |
|
||||
for rc in bashrc zshrc bash_profile; do |
|
||||
if [ -s "$HOME/.$rc" ]; then |
|
||||
if grep -q "$bin_string" "$HOME/.$rc"; then |
|
||||
already_present=true |
|
||||
else |
|
||||
printf "\n$bin_string\n" >> "$HOME/.$rc" |
|
||||
printf "== Added apt-vim PATH to '~/.$rc'\n" |
|
||||
added_to_profile=true |
|
||||
fi |
|
||||
fi |
|
||||
done |
|
||||
|
|
||||
# Execute apt-vim init |
|
||||
cd ${HOME}/apt-vim |
|
||||
python - <<EOF |
|
||||
import imp, os |
|
||||
print('apt-vim setup starting') |
|
||||
HOME = os.path.expanduser("~") |
|
||||
APT_VIM_DIR = os.path.abspath(os.path.join(HOME, 'apt-vim')) |
|
||||
SCRIPT_ROOT_DIR = os.path.abspath(os.path.join(HOME, '.vimpkg')) |
|
||||
BIN_DIR = os.path.abspath(os.path.join(SCRIPT_ROOT_DIR, 'bin')) |
|
||||
os.environ['PATH'] += os.pathsep + BIN_DIR |
|
||||
os.chdir(APT_VIM_DIR) |
|
||||
|
|
||||
aptvim = imp.load_source("aptvim", "./apt-vim") |
|
||||
av = aptvim.aptvim(ASSUME_YES=True, VIM_CONFIG='', INSTALL_TARGET='') |
|
||||
av.first_run() |
|
||||
av.handle_install(None, None, None) |
|
||||
EOF |
|
||||
python_result=$? |
|
||||
|
|
||||
cd $start_dir |
|
||||
|
|
||||
echo |
|
||||
if [ "$python_result" -ne 0 ]; then |
|
||||
echo "== Error:" |
|
||||
echo " Installation failed." |
|
||||
elif [ "$added_to_profile" = false ] && [ "$already_present" = false ]; then |
|
||||
echo "== Error:" |
|
||||
echo " Found no profile to add apt-vim PATH to." |
|
||||
echo " Add the following line to your shell profile and source it to install manually:" |
|
||||
printf " $bin_string\n" |
|
||||
else |
|
||||
echo "== apt-vim installation succeeded! Run 'source ~/.bashrc || source ~/.bash_profile' or 'source ~/.zshrc'" |
|
||||
echo " to access the executable script." |
|
||||
fi |
|
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@ |
|||||
echo "Hello World" |
|
@ -1,72 +0,0 @@ |
|||||
#!/bin/sh |
|
||||
|
|
||||
ROLE="undefined" |
|
||||
MPI_MASTER_SERVICE_NAME="sec_master" |
|
||||
MPI_WORKER_SERVICE_NAME="sec_worker" |
|
||||
HOSTNAMES="/etc/nethosts" |
|
||||
|
|
||||
####################### |
|
||||
# ARGUMENTS PARSER |
|
||||
|
|
||||
while [ "$1" != "" ]; |
|
||||
do |
|
||||
PARAM=$(echo "$1" | awk -F= '{print $1}') |
|
||||
VALUE=$(echo "$1" | awk -F= '{print $2}') |
|
||||
|
|
||||
case $PARAM in |
|
||||
role) |
|
||||
[ "$VALUE" ] && ROLE=$VALUE |
|
||||
;; |
|
||||
|
|
||||
sec_master_service_name) |
|
||||
[ "$VALUE" ] && MPI_MASTER_SERVICE_NAME=$VALUE |
|
||||
;; |
|
||||
|
|
||||
sec_worker_service_name) |
|
||||
[ "$VALUE" ] && MPI_WORKER_SERVICE_NAME=$VALUE |
|
||||
;; |
|
||||
*) |
|
||||
echo "ERROR: unknown parameter \"$PARAM\"" |
|
||||
exit 1 |
|
||||
;; |
|
||||
esac |
|
||||
shift |
|
||||
done |
|
||||
|
|
||||
|
|
||||
|
|
||||
cat > /etc/opt/service_names <<- EOF |
|
||||
MPI_MASTER_SERVICE_NAME=${MPI_MASTER_SERVICE_NAME} |
|
||||
MPI_WORKER_SERVICE_NAME=${MPI_WORKER_SERVICE_NAME} |
|
||||
EOF |
|
||||
|
|
||||
case $ROLE in |
|
||||
"master") |
|
||||
|
|
||||
# Auto update default host file in background and dumb all output |
|
||||
auto_update_hosts "${HOSTNAMES}" > /dev/null 2>&1 & |
|
||||
|
|
||||
# Start ssh server |
|
||||
/usr/sbin/sshd -D |
|
||||
;; |
|
||||
|
|
||||
|
|
||||
"worker") |
|
||||
|
|
||||
# Start ssh server in background |
|
||||
/usr/sbin/sshd -D & |
|
||||
|
|
||||
# Keep trying to connect to master node and stay there indefinitely so that master node can see |
|
||||
# the connected hosts that are ready for MPI work |
|
||||
while sleep 1 |
|
||||
do |
|
||||
# shellcheck disable=SC2086 |
|
||||
ssh -T -o "StrictHostKeyChecking no" \ |
|
||||
-i "${USER_HOME}/.ssh/id_rsa" \ |
|
||||
${USER}@${MPI_MASTER_SERVICE_NAME} \ |
|
||||
"tail -f /dev/null" |
|
||||
done |
|
||||
;; |
|
||||
*) |
|
||||
echo 'role argument only accepts "master" or "worker"' |
|
||||
esac |
|
@ -1,6 +0,0 @@ |
|||||
### Comments, comments, and more comments. |
|
||||
# |
|
||||
#ZONE INTERFACE BROADCAST OPTIONS |
|
||||
# |
|
||||
net eth0 detect tcpflags,nosmurfs |
|
||||
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE |
|
@ -1,11 +0,0 @@ |
|||||
### Comments, comments, and more comments. |
|
||||
#SOURCE DEST POLICY LOG LEVEL LIMIT:BURST |
|
||||
# |
|
||||
net fw ACCEPT |
|
||||
fw net ACCEPT |
|
||||
|
|
||||
net all DROP |
|
||||
|
|
||||
# THE FOLLOWING POLICY MUST BE LAST |
|
||||
all all REJECT info |
|
||||
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE |
|
@ -1,11 +0,0 @@ |
|||||
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/ |
|
||||
# PORT PORT(S) DEST LIMIT GROUP |
|
||||
#ACCEPT net fw tcp 80 |
|
||||
#ACCEPT fw net tcp 80 |
|
||||
#ACCEPT net fw udp 53 |
|
||||
#ACCEPT fw net udp 53 |
|
||||
#REJECT net fw udp 53 |
|
||||
#REJECT fw net udp 53 |
|
||||
#ACCEPT net:14.15.16.112/27 fw icmp 8 |
|
||||
|
|
||||
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE |
|
@ -1,6 +0,0 @@ |
|||||
### Comments, comments, and more comments. |
|
||||
#ZONE TYPE OPTIONS IN OUT |
|
||||
# OPTIONS OPTIONS |
|
||||
fw firewall |
|
||||
net ipv4 |
|
||||
#LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE |
|
@ -1,27 +0,0 @@ |
|||||
-----BEGIN RSA PRIVATE KEY----- |
|
||||
MIIEpQIBAAKCAQEAoKG1DtjMXHDJfF59Y5nO7Yl38fkjRL1LQhF7RZKbGScWBNIW |
|
||||
foAS0wrd3wUnd5YMtIeiBj98H+V8IEn0ChAAxGfHXqqmmYlU6ABESINob+h70Bnm |
|
||||
UwiRbRnA64o3d9+cz2T8YLf+1p7///Z8LA8U+7rS+kvKvtYCQ9llDAxtbe39CxCs |
|
||||
2HASam3U6VArq9SdSqph5MudBaYhaxx4V8VDdXEhG2pimlh8e7zdPZ8AYbYLLDhq |
|
||||
Ytd+wn9azLXPQ3w/vC+Pn4taUBYnlERDY45vaVsPdnR+ao9ckMLUS6EwJVQmgMzB |
|
||||
2yyNCbPQYvRPL0rxoGstfCmmjY3EzOh6kEA6wwIDAQABAoIBAHqrAxnTdj0h5LyV |
|
||||
bCwjyWKdGHwxRj24UUCjGQCIdOlAcBA+X+863yVLpyQpS3qHnCxBZ/pdgOza02/V |
|
||||
CgilL/DNT/N7Xr7hoXWKvpqhv5+2atcA8GN4p5YplKpLYxCoM5guBo3V9UbxJY7T |
|
||||
LQB4hA25HmUGfE5AIHqwCfqpgufvIO1enhe1Vh/6l1FJqJuNj2pBGeXOyOMV95GN |
|
||||
xC5/BVytJIx2Rts5qtwpt5iPE3pKdsrWc71qACxk3dG8h9OZnuE3vuCg/Wp8jdwk |
|
||||
NHZ6nWlt0BbST3wN0pyTp6cqtZ0qqfSpZCVRegeQW5ENR9NaigDX6RADKRnms46J |
|
||||
ziDSZAECgYEA0WBDY47CA9Ej0Y2zBcV3x03cznSnxr7BVty32xbnNgxGF5jNUDdU |
|
||||
E2JwJs86sV75VV0fpgrbN45lBV/2ImefrPr4kJAIL2J4eyVdOTTT/DO9Tuw6NP8R |
|
||||
AYMZOzOlgFjx3arnjlOK5AicFseWFCXvezuAMPcGpImgw7xHHM3RcFcCgYEAxGa2 |
|
||||
T+J119HWf15kN7bx5RaUl9J4DvvE5oHtA7zsMPO2fRpfwXAb8yKwIXfZ7186frPb |
|
||||
jo3ZQykcPuJ3MldvTWEuUhY5W1HSF1sBJOPZHuRfQicv8Uj4Y1kWltQf4Ikb3Uyh |
|
||||
T0fZJul4HkPAo/Q65zIAtJ9tWukAP/lmnwO9VXUCgYEAiY62F4WmH/3ai4WOFX+b |
|
||||
5xxXsmhgBiozOc8/F7jfZNoBfuVMFqSTHz0wM784b2nXY+cPsPY2+jQaWMKoIgh0 |
|
||||
lqA4iDmotwD56OYubjQwBeU0PdLjlwfw805fWE7hMAa/uQPcp9xpRtIFQs4T4t7d |
|
||||
jNgVq5XQDm/BaHedPOZX8HcCgYEAuKpu31vqO7wUt/vTtUMx3JpHqxz9P/FgqPAf |
|
||||
H/WiC0EMJEMJKAO2c/z4qO9dHiJnCL0qQraDQw/DfClJtC7b+2DVwd8dnQyowscR |
|
||||
o1MNUmueWcAo5vEag6c/gx/+vQuOBJ1JyxaeSmUZSTOhTUeVns64NRz2IJWWY5Cn |
|
||||
+fn1KwUCgYEAjYYeQX/W+2r8SFipPQQi/36EqLPwko58C/sbJR0gySP6El7hNQRt |
|
||||
Sdmd9hfMXRR+VCZWmmzb6T4fc80XxteI9eANkZ7xhNuQe11EDvPqmc9WSF0s+l1T |
|
||||
eQnkt+an7Qv2prDSU6d1KlOrOuCXU8IhbkuffvRSYXwK9T79bTG8iIQ= |
|
||||
-----END RSA PRIVATE KEY----- |
|
@ -1 +0,0 @@ |
|||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCgobUO2MxccMl8Xn1jmc7tiXfx+SNEvUtCEXtFkpsZJxYE0hZ+gBLTCt3fBSd3lgy0h6IGP3wf5XwgSfQKEADEZ8deqqaZiVToAERIg2hv6HvQGeZTCJFtGcDrijd335zPZPxgt/7Wnv//9nwsDxT7utL6S8q+1gJD2WUMDG1t7f0LEKzYcBJqbdTpUCur1J1KqmHky50FpiFrHHhXxUN1cSEbamKaWHx7vN09nwBhtgssOGpi137Cf1rMtc9DfD+8L4+fi1pQFieURENjjm9pWw92dH5qj1yQwtRLoTAlVCaAzMHbLI0Js9Bi9E8vSvGgay18KaaNjcTM6HqQQDrD nlknguyen@NN-Ubuntu |
|
Loading…
Reference in new issue