Compare commits
15 Commits
2996bb6356
...
master
Author | SHA1 | Date | |
---|---|---|---|
8541fd4fbc | |||
67d3bab693 | |||
ab4abe76b4 | |||
b2814168fa | |||
301ff8cfcb | |||
907b2d428a | |||
9ad3a8a7eb | |||
2d64ea459a | |||
5f65ee5226 | |||
4eec1d19aa | |||
ff2fecdbd4 | |||
b91e3c3c10 | |||
3495425ea3 | |||
a5c5f6ccbe | |||
210ad27028 |
6
BuildAndShip.sh
Executable file
6
BuildAndShip.sh
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
mdbook \
|
||||||
|
build \
|
||||||
|
. \
|
||||||
|
-d book
|
18
README.md
Normal file
18
README.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# TSYS Group Handbook
|
||||||
|
|
||||||
|
## Repo Description
|
||||||
|
In 2011 we set out to bring internet to all for $5.00 per user, per month. We knew back then to do that that we had to first create a whole new kind of organization place that was designed to foster that goal. Where true north was constantly present and permeated all we do. We also knew we couldn't have middle management and that ownership/control/leadership had to be fully distributed throughout the organization. "Headquarters" such as it is, exists only to serve the members in their mission execution.
|
||||||
|
|
||||||
|
We want an organization where incredibly talented individuals are empowered to put their best work into the hands of billions of people, with very little in their way.
|
||||||
|
|
||||||
|
This book is an abbreviated encapsulation of our guiding principles. As TSYS Group grows, we hope that these principles will serve each new member joining our ranks.
|
||||||
|
|
||||||
|
If you are new to TSYS Group, welcome. Although the goals in this book are important, it’s really member ideas, talent, and energy that will keep TSYS Group shining in the years ahead.
|
||||||
|
|
||||||
|
Thanks for being here. Let’s make great things.
|
||||||
|
|
||||||
|
## Repo Issue
|
||||||
|
https://projects.knownelement.com/project/reachableceo-tsysgroupbod/timeline
|
||||||
|
|
||||||
|
## Repo Discussion
|
||||||
|
https://community.turnsys.com/c/tsysgroup/bod/25
|
1
SourceMaterial/turnsys-group-nda-june-30-2019.doc
Normal file
1
SourceMaterial/turnsys-group-nda-june-30-2019.doc
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"Message":"You have reached the limit of credits (credits used: 150). You are allowed to use only 150 credits. Please upgrade your plan to remove the limit."}
|
9
SourceMaterial/turnsys-group-nda-june-30-2019.html
Normal file
9
SourceMaterial/turnsys-group-nda-june-30-2019.html
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<p>Standard Form Certificate <br />Apart from the purpose and governing law state that I have filled in below, I <br />certify that the following proposed terms are exactly the same as The Waypoint <br />NDA version 1.0.0 published at https://waypointnda.com. <br />Signature: <br />Name: <br />Date: <br />E-Mail: <br />Purpose: Joining the Turn Net Systems LLC <br />organization as one or more of: <br /> Director <br /> Member <br /> Employee <br /> Advisor <br /> Vendor <br />to discuss material non public <br />information related to: <br />Turnsys Group/Turn Net Systems <br />LLC <br />Any Turnsys Group subsidiaries or <br />related entities <br />Redwood Springs Capital Partners <br />LLC (and all subsidiaries and <br />portfolio organizations) <br />State Law: Texas USA</p>
|
||||||
|
<p>The Waypoint NDA <br />Version 1.0.0 <br />The parties agree: <br />1. Mutual Nondisclosure. “Disclosing Party” describes each party with respect to <br />Confidential Information it discloses to the other party. “Receiving Party” describes each <br />party with respect to Confidential Information it receives from the other party. <br />2. Purpose. The parties anticipate disclosure of Confidential Information for the purpose on <br />the accompanying standard form certificate (the “Purpose”). <br />3. Confidential Information. <br />(a) Categories of Confidential Information. Subject to Section 3(b) (Exclusions <br />from Confidential Information), “Confidential Information” means the <br />following kinds of information: <br />(i) information disclosed by Disclosing Party during the term of this <br />agreement that is related to the business of Disclosing Party; <br />(ii) the fact that the parties are pursuing the Purpose; <br />(iii) the terms of this agreement; <br />(iv) the fact that the parties have entered into this agreement; and <br />(v) other information derived from these kinds of information. <br />(b) Exclusions from Confidential Information. <br />(i) Public Information. Information that is now public is not Confidential <br />Information. Confidential Information that becomes public, other than as a <br />result of breach of this agreement, ceases to be Confidential Information. <br />(ii) Otherwise Acquired Information. Information that Receiving Party <br />receives other than from Disclosing Party is not Confidential Information, <br />unless the disclosure breached a confidentiality obligation to Disclosing <br />Party that Disclosing Party made known to Receiving Party. <br />(iii) Independently Developed Information. Information Receiving Party <br />develops independently is not, or ceases to be, Confidential Information of <br />Disclosing Party. Receiving Party shall bear the burden of proving <br />independent development using contemporaneous documentary evidence.</p>
|
||||||
|
<p>4. Confidentiality Obligations. <br />(a) Nondisclosure. Except as described in Section 4(b) (Permitted Disclosure), <br />Receiving Party shall not disclose Confidential Information to anyone. <br />(b) Permitted Disclosure. Receiving Party may disclose Confidential Information to <br />the following personnel: <br />(i) if Receiving Party is a legal entity, employees, independent contractors, <br />officers, directors, and agents of Receiving Party (“Personnel”) who: <br />(A) have a need to know the Confidential Information to advance the <br />Purpose; and <br />(B) have entered written confidentiality agreements with Receiving <br />Party that impose confidentiality obligations, affording as much or <br />more protection as those of this agreement, that apply to the <br />Confidential Information; and <br />(ii) legal and financial advisers providing services to Receiving Party under <br />confidentiality obligations imposed either by law or by professional rules <br />(“Advisers”). <br />(c) Limited Use. Receiving Party shall use Confidential Information only to advance <br />the Purpose. <br />(d) Security Measures. Receiving Party shall take measures to secure materials <br />embodying Confidential Information at least as protective as those Receiving <br />Party employs to secure its own Confidential Information, but in any event no less <br />than reasonable measures. <br />(e) Preserve Proprietary Notices. Receiving Party shall not remove any proprietary <br />notices attached to materials embodying Confidential Information. <br />(f) No Illegal Dealing in Securities. Receiving Party shall not break securities laws <br />by purchasing, selling, or otherwise dealing in securities of Disclosing Party on <br />the basis of Confidential Information that is material, nonpublic information. <br />Receiving Party shall instruct anyone to whom it discloses Confidential <br />Information that may be material, nonpublic information not to break securities <br />laws by dealing in securities of Disclosing Party. <br />(g) No Reverse Engineering. Receiving Party shall not reverse engineer any material <br />embodying Confidential Information.</p>
|
||||||
|
<p>(h) Mitigate Legally Required Disclosure. The following obligations apply when <br />the law requires disclosure of Confidential Information and when Receiving Party <br />reasonably expects that the law may require disclosure of Confidential <br />Information: <br />(i) Give Notice of Required Disclosure. If legally permitted, Receiving <br />Party shall promptly notify Disclosing Party of the nature of the <br />requirement and the Confidential Information affected. If practical, <br />Receiving Party shall give notice quickly enough to afford Disclosing <br />Party practical chance to start a proceeding to protect the confidentiality of <br />the Confidential Information. On Disclosing Party request, Receiving <br />Party shall cooperate with Disclosing Party in any such proceeding by <br />providing reasonable assistance. <br />(ii) Reimburse Expenses of Cooperation. Disclosing Party shall reimburse <br />Receiving Party's reasonable out-of-pocket expenses of cooperating in any <br />proceeding described in Section 4(h)(i) (Give Notice of Required <br />Disclosure). <br />(i) Give Notice of Leaks. Receiving Party shall give Disclosing Party notice when <br />Receiving Party becomes aware, suspects, or anticipates that Confidential <br />Information has been or will be disclosed or used in breach of this agreement or <br />other confidentiality agreements with Disclosing Party. <br />(j) Return and Destruction. <br />(i) Subject to Section 4(k) (Records Policy), when this agreement terminates, <br />Receiving Party shall promptly: <br />(A) return all materials embodying Confidential Information that <br />Disclosing Party provided with request to return; and <br />(B) destroy all parts of other materials that embody Confidential <br />Information. <br />(k) Records Policy. When this agreement terminates, if Receiving Party has a written <br />records retention policy for the creation and scheduled destruction of archival or <br />backup records, and only specialized personnel can routinely access those records, <br />then Receiving Party may retain materials embodying Confidential Information <br />until destroyed under that policy. <br />(l) Comply with Export Controls. Both parties shall comply with export and <br />reexport laws with respect to Confidential Information.</p>
|
||||||
|
<p>(m) Compliance and Oversight. <br />(i) Receiving Party shall ensure that its Advisers abide by the confidentiality <br />obligations of Receiving Party under this agreement. If Receiving Party is <br />a legal entity, Receiving Party shall also ensure that its Personnel abide by <br />the confidentiality obligations of Receiving Party under this agreement. <br />Breach of Receiving Party obligations by Receiving Party Personnel or <br />Receiving Party Advisers will be deemed breach of this agreement by <br />Receiving Party itself. <br />(ii) If Receiving Party is a legal entity, Receiving Party shall provide <br />Disclosing Party copies of confidentiality agreements with Personnel who <br />receive Confidential Information on Disclosing Party request. <br />5. Clarifications. <br />(a) No Obligation to Disclose. No terms of this agreement obligate Disclosing Party <br />to disclose any Confidential Information. <br />(b) No Obligation to Do Business. No terms of this agreement obligate either party <br />to enter any business relationship or agreement, related to the Purpose or <br />otherwise. <br />(c) No License. No terms of this agreement grant any license for any patent, <br />trademark, copyright, or other intellectual property. <br />(d) No Warranty. Disclosing Party makes no warranty that Confidential Information <br />will be complete or accurate. <br />(e) Freedom to Operate. No terms of this agreement prohibit either party from: <br />(i) competing with the other party; <br />(ii) entering into any business relationship with any non-party; or <br />(iii) assigning and reassigning Personnel and Advisers in its sole discretion. <br />6. 18 U.S.C. 1833(b) Notice. <br />(a) An individual shall not be held criminally or civilly liable under any Federal or <br />State trade secret law for the disclosure of a trade secret that: <br />(i) is made: <br />(A) in confidence to a Federal, State, or local government official, <br />either directly or indirectly, or to an attorney; and</p>
|
||||||
|
<p>(B) solely for the purpose of reporting or investigating a suspected <br />violation of law; or <br />(ii) is made in a complaint or other document filed in a lawsuit or other <br />proceeding, if such filing is made under seal. <br />(b) An individual who files a lawsuit for retaliation by an employer for reporting a <br />suspected violation of law may disclose the trade secret to the attorney of the <br />individual and use the trade secret information in the court proceeding, if the <br />individual: <br />(i) files any document containing the trade secret under seal; and <br />(ii) does not disclose the trade secret, except pursuant to court order. <br />7. Term. <br />(a) Expiration. This agreement will terminate automatically on the first anniversary <br />of the date of this agreement. <br />(b) Termination by Notice. Either party may terminate this agreement early by thirty <br />calendar days' prior written notice to the other party. <br />(c) Survival. Obligations under Section 4 (Confidentiality Obligations) for <br />Confidential Information disclosed during the term survive the term of this <br />agreement as follows: <br />(i) Obligations for Confidential Information that Receiving Party knew or <br />reasonably should have known constituted a trade secret survive as long as <br />the Confidential Information remains a trade secret. <br />(ii) Obligations for other Confidential Information survive for five calendar <br />years from the date of termination. <br />8. General Contract Terms. <br />(a) No Assignment or Delegation. Neither party may assign any right or delegate <br />any obligation under this agreement without the prior, signed, written consent of <br />the other party. Any attempt to assign or delegate without consent will have no <br />legal effect. <br />(b) Dispute Resolution. The law of the state on the accompanying standard form <br />certificate will govern all aspects of this agreement. The parties shall bring legal <br />proceedings related to this agreement only in state or federal courts located in that <br />state. The parties consent to the exclusive jurisdiction of those courts and waive <br />any objection that legal proceedings brought there are brought in an inconvenient forum. The parties may enforce judgments of those courts in any appropriate forum. </p>
|
||||||
|
<p>(c) Legal Relationship. The parties to this agreement remain independent <br />contractors. This agreement does not create any partnership, joint venture, agency, <br />or similar relationship between the parties. <br />(d) Written Amendments and Waivers. The parties will amend this agreement only <br />by cosigned, written agreement. The parties will waive parts of this agreement, if <br />at all, only by written waiver describing the specific terms waived and in what <br />particular instance, signed by the party waiving. <br />(e) Notices. The parties shall send every notice, demand, consent, request, or other <br />communication required or allowed by this agreement: <br />(i) by e-mail to the address the other party provided with their signature; or <br />(ii) by overnight courier, with signature required for delivery, to the address <br />the other party provided with their signature. <br />Either party may change its e-mail or postal address for later communications by <br />giving notice of a new address. <br />(f) Severability. If a court decides that any part of this agreement is invalid or <br />unenforceable for any reason but enforcing the rest of the agreement would serve <br />the purpose of protecting Confidential Information to advance the Purpose, then <br />the rest of this agreement will remain in force. <br />(g) No Third-Party Enforcement. Only the parties may enforce rights under this <br />agreement. <br />(h) Entire Agreement. The parties intend the terms of this agreement as the final, <br />complete, and only expression of their agreement about protection of Confidential <br />Information exchanged to advance the Purpose. <br />(i) Signature. A written or electronically signed copy of this agreement delivered by <br />e-mail or other electronic means has the same legal effect as delivering a printed <br />and signed original. <br />[Signature page follows.]</p>
|
||||||
|
<p>The parties are signing this nondisclosure agreement on the dates by their <br />signatures. <br />First Party <br />Legal Name: Turn Net Systems LLC – A Texas Series <br />LLC <br />Redwood Springs Capital Parnters <br />Management Co (and all Redwood funds) <br />Redwood Springs Capital Partners INC (and <br />all subsidiary funds) <br />Americans For A Better Network INC <br />Sidedoor Solutions Group INC <br />Sidedoor PAC INC <br />Signature: <br />Name: <br />Title: CEO and Director <br />Date: <br />E-Mail:</p>
|
||||||
|
<p>Second Party <br />Legal Name: <br />Legal Type: Texas resident <br />Signature: <br />Name: <br />Title: [Leave blank if the party is an individual.] <br />Date: <br />E-Mail:</p>
|
BIN
SourceMaterial/turnsys-group-nda-june-30-2019.pdf
Normal file
BIN
SourceMaterial/turnsys-group-nda-june-30-2019.pdf
Normal file
Binary file not shown.
42
book.toml
42
book.toml
@@ -7,7 +7,7 @@ title = "TSYS Group Member Handbook"
|
|||||||
|
|
||||||
[output.html]
|
[output.html]
|
||||||
|
|
||||||
[output.pdf]
|
#[output.pdf]
|
||||||
## Set for auto-retrying if failed to generate PDF.
|
## Set for auto-retrying if failed to generate PDF.
|
||||||
# trying-times = 1
|
# trying-times = 1
|
||||||
|
|
||||||
@@ -17,31 +17,31 @@ title = "TSYS Group Member Handbook"
|
|||||||
# browser-binary-path = ""
|
# browser-binary-path = ""
|
||||||
|
|
||||||
## Assign the static hosting site url so that relative links outside the book can be fixed.
|
## Assign the static hosting site url so that relative links outside the book can be fixed.
|
||||||
static_site_url = "https://handbook.turnsys.com"
|
#static_site_url = "https://handbook.turnsys.com"
|
||||||
|
|
||||||
## Set the theme to be applied for the generated PDF.
|
## Set the theme to be applied for the generated PDF.
|
||||||
theme = "ayu"
|
#theme = "ayu"
|
||||||
|
|
||||||
## Check Chrome Devtools Protocol Docs for the explanation of the following params:
|
## Check Chrome Devtools Protocol Docs for the explanation of the following params:
|
||||||
## https://chromedevtools.github.io/devtools-protocol/tot/Page/#method-printToPDF
|
## https://chromedevtools.github.io/devtools-protocol/tot/Page/#method-printToPDF
|
||||||
|
|
||||||
landscape = false
|
#landscape = false
|
||||||
display-header-footer = true
|
#display-header-footer = true
|
||||||
print-background = true
|
#print-background = true
|
||||||
scale = 0.7
|
#scale = 0.7
|
||||||
paper-width = 8
|
#paper-width = 8
|
||||||
paper-height = 10
|
##paper-height = 10
|
||||||
margin-top = 0.5
|
#margin-top = 0.5
|
||||||
margin-bottom = 0.5
|
##margin-bottom = 0.5
|
||||||
margin-left = 0.5
|
##margin-left = 0.5
|
||||||
margin-right = 0.5
|
##margin-right = 0.5
|
||||||
page-ranges = ""
|
#page-ranges = ""
|
||||||
ignore-invalid-page-ranges = false
|
#ignore-invalid-page-ranges = false
|
||||||
|
|
||||||
header-template = "<h3 style='font-size:8px; margin-left: 48%' class='title'></h3>"
|
#header-template = "<h3 style='font-size:8px; margin-left: 48%' class='title'></h3>"
|
||||||
footer-template = "<p style='font-size:10px; margin-left: 48%'><span class='pageNumber'></span> / <span class='totalPages'></span></p>"
|
#footer-template = "<p style='font-size:10px; margin-left: 48%'><span class='pageNumber'></span> / <span class='totalPages'></span></p>"
|
||||||
prefer-css-page-size = true
|
#prefer-css-page-size = true
|
||||||
|
|
||||||
[output.pdf-outline]
|
#[output.pdf-outline]
|
||||||
like-wkhtmltopdf = false
|
#like-wkhtmltopdf = false
|
||||||
optional = true
|
#optional = true
|
7
dev.sh
Executable file
7
dev.sh
Executable file
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
mdbook \
|
||||||
|
serve \
|
||||||
|
. \
|
||||||
|
-p 3001 \
|
||||||
|
-d book \
|
@@ -1 +0,0 @@
|
|||||||
# Audit Committee Charter
|
|
@@ -1,224 +1 @@
|
|||||||
|
|
||||||
# Audit Committee Charter
|
# Audit Committee Charter
|
||||||
|
|
||||||
## Committee Membership:
|
|
||||||
The Audit Committee of TSYS Group (the “Group”) shall be comprised of at least three directors, each of whom the Board has determined has no
|
|
||||||
material relationship with the Group and each of whom is otherwise “independent” under the rules of the New York Stock Exchange, Inc.
|
|
||||||
and Rule 10A-3 under the Securities Exchange Act of 1934
|
|
||||||
|
|
||||||
The Board shall also determine that each member is “financially literate,” and that one member of the Audit Committee has
|
|
||||||
“accounting or related financial management expertise,” as such qualifications are interpreted by the Board of Directors in
|
|
||||||
its business judgment, and whether any member of the Audit Committee is an “audit committee financial expert,” as defined by the
|
|
||||||
rules of Securities and Exchange Commission (the “SEC”).
|
|
||||||
|
|
||||||
If the Board has determined that a member of the Audit Committee is an audit committee financial expert, it may presume that such member
|
|
||||||
has accounting or related financial management expertise.
|
|
||||||
|
|
||||||
No director may serve as a member of the Audit Committee if such director serves on the audit committees of two or more other entities.
|
|
||||||
|
|
||||||
Members shall be appointed by the Board and shall serve at the pleasure of the Board and for such term or terms as the Board may determine.
|
|
||||||
|
|
||||||
## Purpose
|
|
||||||
|
|
||||||
The purposes of the Audit Committee are to:
|
|
||||||
|
|
||||||
### assist Board oversight
|
|
||||||
|
|
||||||
Ensuring:
|
|
||||||
|
|
||||||
* the integrity of the Group’s financial statements
|
|
||||||
* the Group’s compliance with legal and regulatory requirements
|
|
||||||
* the independent auditors’ qualifications and independence
|
|
||||||
* the performance of the independent auditors and the Group’s internal audit function
|
|
||||||
* assist in the preparation of the Group Annual Report
|
|
||||||
|
|
||||||
The function of the Committee is oversight of the various components of Auditing and Reporting.
|
|
||||||
|
|
||||||
Management of the Group component entities is responsible for the preparation, presentation and integrity of the Group’s financial statements.
|
|
||||||
Management is responsible for maintaining appropriate accounting and financial reporting policies and internal controls and procedures that
|
|
||||||
provide for compliance with accounting standards and applicable laws and regulations.
|
|
||||||
|
|
||||||
The independent auditors are responsible for planning and carrying out a proper audit of the Group’s consolidated annual financial statements,
|
|
||||||
reviews of the Group’s consolidated quarterly financial statements and other procedures.
|
|
||||||
|
|
||||||
In fulfilling their responsibilities hereunder, it is recognized that members of the Committee are not fulltime employees of the Group and are not,
|
|
||||||
and do not represent themselves to be, performing the functions of auditors or Management.
|
|
||||||
|
|
||||||
As such, it is not the duty or responsibility of the Committee or its members to conduct “field work” or other types of auditing or accounting
|
|
||||||
reviews or procedures or to set auditor independence standards.
|
|
||||||
|
|
||||||
The independent auditors shall submit to the Committee annually a formal written statement (the “Auditors’ Statement”) describing:
|
|
||||||
|
|
||||||
* the auditors’ internal quality-control procedures
|
|
||||||
* any material issues raised by the most recent internal quality-control review or peer review of the auditors
|
|
||||||
* any inquiry or investigation by governmental or professional authorities, within the preceding five years, respecting one or more independent audits
|
|
||||||
carried out by the auditors and any steps taken to deal with any such issues
|
|
||||||
* all relationships between the independent auditors and the Group (in particular but not limited to any consulting agreements and accounting services)
|
|
||||||
|
|
||||||
|
|
||||||
## Committee Duties and Responsibilities
|
|
||||||
|
|
||||||
To carry out its purposes, the Audit Committee shall have the following duties and responsibilities
|
|
||||||
|
|
||||||
### with respect to the independent auditors
|
|
||||||
|
|
||||||
* to be directly responsible for the appointment, compensation, retention and oversight of the work of the independent auditors
|
|
||||||
(including the resolution of disagreements between management and the independent auditors regarding financial reporting),
|
|
||||||
who shall report directly to the Audit Committee
|
|
||||||
|
|
||||||
* to be directly responsible for the appointment, compensation, retention and oversight of the work of any public accounting firm used
|
|
||||||
by the Group, and have the right to request that such firm shall report directly to the Audit Committee if the Committee deems it necessary
|
|
||||||
|
|
||||||
* to pre-approve, or to adopt appropriate procedures to pre-approve, all audit and non-audit services to be provided by the independent auditors and
|
|
||||||
accounting firms
|
|
||||||
|
|
||||||
* to ensure that the independent auditors prepare and deliver annually an Auditors’ Statement (it being understood that the independent auditors are
|
|
||||||
responsible for the accuracy and completeness of this Statement), and to discuss with the independent auditors any relationships or services disclosed
|
|
||||||
in this Statement that may impact the quality of audit services or the objectivity and independence of the Group’s independent auditors
|
|
||||||
|
|
||||||
* to obtain from the independent auditors in connection with any audit a timely report relating to the Group’s annual audited financial statements
|
|
||||||
describing all critical accounting policies and practices used, all alternative treatments of financial information within generally accepted accounting
|
|
||||||
principles that have been discussed with management, ramifications of the use of such alternative disclosures and treatments, and the treatment
|
|
||||||
preferred by the independent auditors, and any material written communications between the independent auditors and management, such
|
|
||||||
as any “management” letter or schedule of unadjusted differences
|
|
||||||
|
|
||||||
* to take into account the opinions of management and the Group’s director of internal audit in assessing the independent auditors’
|
|
||||||
qualifications, performance and independence with respect to the internal audit function
|
|
||||||
|
|
||||||
* to review the appointment and replacement of the Group’s director of internal audit
|
|
||||||
|
|
||||||
* to advise the director of internal audit that he or she is expected to provide to the Audit Committee summaries of and, as appropriate, the significant
|
|
||||||
reports resulting from audits performed by internal audit and management’s responses thereto
|
|
||||||
|
|
||||||
* to annually approve the Internal Audit plan and charter with respect to financial reporting principles and policies and internal controls and
|
|
||||||
procedures
|
|
||||||
|
|
||||||
* to advise management, the director of internal audit and the independent auditors that they are expected to provide to the Audit Committee a timely
|
|
||||||
analysis of significant financial reporting issues and practices
|
|
||||||
|
|
||||||
* to consider any reports or communications (and management’s and/or internal audit’s responses thereto) submitted to the Audit Committee by the
|
|
||||||
independent auditors required by or referred to in PCAOB Auditing Standard No. 16, as it may be modified or supplemented, including reports
|
|
||||||
and communication related to:
|
|
||||||
|
|
||||||
* deficiencies noted in the audit in the design or operation of internal controls
|
|
||||||
* consideration of fraud in a financial statement audit
|
|
||||||
* detection of illegal acts
|
|
||||||
* the independent auditors’ responsibility under generally accepted auditing standards
|
|
||||||
* any restriction on audit scope
|
|
||||||
* significant accounting policies
|
|
||||||
* significant issues discussed with the national office respecting auditing or accounting issues presented by the engagement
|
|
||||||
* management judgments and accounting estimates
|
|
||||||
* any accounting adjustments arising from the audit that were noted or proposed by the auditors but were passed (as immaterial or
|
|
||||||
otherwise)
|
|
||||||
* disagreements with management
|
|
||||||
* consultation by management with other accountants
|
|
||||||
* difficulties encountered with management in performing the audit
|
|
||||||
* the independent auditors’ judgments about the quality of the entity’s accounting principles
|
|
||||||
* reviews of interim financial information conducted by the independent auditors
|
|
||||||
* going concern uncertainties
|
|
||||||
* departures from the standard auditor’s report
|
|
||||||
* overview of the audit strategy, timing of the audit, and significant risks
|
|
||||||
* the responsibilities, budget and staffing of the Group’s internal audit function
|
|
||||||
|
|
||||||
* to meet with management, the independent auditors and, if appropriate, the director of internal audit:
|
|
||||||
|
|
||||||
* discuss the scope of the annual audit
|
|
||||||
* discuss the annual audited financial statements and quarterly financial statements, including the Group’s disclosures under
|
|
||||||
“Management’s Discussion and Analysis of Financial Condition and Results of Operations”; discuss any significant matters arising
|
|
||||||
from any audit, including any audit problems or difficulties, whether raised by management, director of internal audit or the
|
|
||||||
independent auditors, relating to the Group’s financial statements
|
|
||||||
* to discuss any difficulties the independent auditors encountered in the course of the audit, including any restrictions on their activities
|
|
||||||
or access to requested information and any significant disagreements with management
|
|
||||||
* to discuss any “management” or “internal control” letter issued, or proposed to be issued, by the independent auditors to the Group
|
|
||||||
* to review the form of opinion the independent auditors propose to render to the Board of Directors and stakeholders;
|
|
||||||
|
|
||||||
* to discuss, as appropriate:
|
|
||||||
|
|
||||||
* any major issues regarding accounting principles and financial statement presentations, including any significant changes in the Group’s selection
|
|
||||||
or application of accounting principles
|
|
||||||
* any major issues as to the adequacy of the Group’s internal controls and any special audit steps adopted in light of material control deficiencies;
|
|
||||||
* analyses prepared by management and/or the independent auditors setting forth significant financial reporting issues and judgments made in
|
|
||||||
connection with the preparation of the financial statements, including analyses of the effects of alternative GAAP methods on
|
|
||||||
the financial statements
|
|
||||||
* the effect of regulatory and accounting initiatives, as well as off-balance sheet structures, on the financial statements of the Group;
|
|
||||||
|
|
||||||
* to inquire of the Group’s Chief Executive Officers and Chief Financial Officers as to the existence of any significant deficiencies and material
|
|
||||||
weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the Group’s
|
|
||||||
ability to record, process, summarize and report financial information and any fraud, whether or not material, that involves management or other
|
|
||||||
employees who have a significant role in the Group’s internal control over financial reporting
|
|
||||||
|
|
||||||
* to discuss guidelines and policies governing the process by which senior management of the Group and the relevant sections of the Group
|
|
||||||
assess and manage the Group’s exposure to risk, and to discuss the Group’s major financial risk exposures and the steps management has
|
|
||||||
taken to monitor and control such exposures
|
|
||||||
|
|
||||||
* to obtain from the independent auditors assurance that the audit was conducted in a manner consistent with Section 10A of the Securities
|
|
||||||
Exchange Act of 1934, as amended, which sets forth certain procedures to be followed in any audit of financial statements required under the
|
|
||||||
Securities Exchange Act of 1934
|
|
||||||
|
|
||||||
* to discuss with senior management of the Group any significant legal, compliance or regulatory matters that may have a material effect on the
|
|
||||||
financial statements or the Group’s business, financial statements or compliance policies, including material notices to or inquiries received from
|
|
||||||
governmental agencies
|
|
||||||
|
|
||||||
* to discuss the type and presentation of information to be included in finanical releases and disclosures
|
|
||||||
|
|
||||||
* to establish procedures for the receipt, retention and treatment of complaints received by the Group regarding accounting, internal accounting
|
|
||||||
controls or auditing matters, and for the confidential, anonymous submission by Group employees of concerns regarding questionable
|
|
||||||
accounting or auditing matters
|
|
||||||
|
|
||||||
* to review and discuss any reports concerning material violations submitted to it by Group attorneys or outside counsel pursuant to the SEC attorney
|
|
||||||
professional responsibility rules (17 C.F.R. Part 205), or otherwise
|
|
||||||
|
|
||||||
* to establish hiring policies for employees or former employees of the independent auditors
|
|
||||||
|
|
||||||
* to review and approve all related-party transactions that are required to be disclosed under Item 404(a) of Regulation S-K.
|
|
||||||
|
|
||||||
### with respect to reporting and recommendations
|
|
||||||
|
|
||||||
* to prepare any report or other disclosures, including any recommendation of the Audit Committee, required by the rules of the SEC to be included in
|
|
||||||
the Group’s annual report;
|
|
||||||
* to prepare and issue the evaluation required under “Performance Evaluation” below
|
|
||||||
* to report its activities to the full Board of Directors on a regular basis and to make such recommendations with respect to the above and
|
|
||||||
other matters as the Audit Committee may deem necessary or appropriate.
|
|
||||||
|
|
||||||
### Committee Structure and Operations
|
|
||||||
|
|
||||||
The Audit Committee shall designate one member of the Committee as its chairperson. The Audit Committee shall meet once every quarter,
|
|
||||||
or more frequently if circumstances dictate, to discuss with management the annual audited financial statements and quarterly financial
|
|
||||||
statements, as applicable.
|
|
||||||
|
|
||||||
The Audit Committee should meet separately periodically with management, the director of internal audit and the independent auditors
|
|
||||||
to discuss any matters that the Audit Committee or any of these persons or firms believe should be discussed privately.
|
|
||||||
|
|
||||||
The Audit Committee may request any officer or employee of the Group or the Group’s outside counsel or independent auditors to attend a
|
|
||||||
meeting of the Audit Committee or to meet with any members of, or consultants to, the Audit Committee.
|
|
||||||
|
|
||||||
Members of the Audit Committee may participate in a meeting of the Audit Committee by means of conference call or similar communications equipment by
|
|
||||||
means of which all persons participating in the meeting can hear each other.
|
|
||||||
|
|
||||||
## Performance Evaluation
|
|
||||||
|
|
||||||
The Audit Committee shall prepare and review with the Board an annual performance evaluation of the Audit Committee, which evaluation
|
|
||||||
shall compare the performance of the Audit Committee with the requirements of this charter.
|
|
||||||
|
|
||||||
The performance evaluation shall also recommend to the Board any improvements to the Audit Committee’s charter deemed necessary
|
|
||||||
or desirable by the Audit Committee. The performance evaluation by the Audit Committee shall be conducted in such manner as the Audit
|
|
||||||
Committee deems appropriate.
|
|
||||||
|
|
||||||
The report to the Board may take the form of an oral report by the chairperson of the Audit Committee or any other member of the Audit Committee
|
|
||||||
designated by the Audit Committee to make this report.
|
|
||||||
|
|
||||||
## Resources and Authority of the Audit Committee
|
|
||||||
|
|
||||||
The Audit Committee shall have the resources and authority appropriate to discharge its duties and responsibilities, including the
|
|
||||||
authority to select, retain, terminate, and approve the fees and other retention terms of special or independent counsel, accountants
|
|
||||||
or other experts and advisors, as it deems necessary or appropriate, without seeking approval of the Board or
|
|
||||||
management.
|
|
||||||
|
|
||||||
The Group shall provide for appropriate funding, as determined by the Audit Committee, in its capacity as a committee of the Board, for payment of:
|
|
||||||
|
|
||||||
* Compensation to the independent auditors and any other public accounting firm engaged for the purpose of preparing or issuing an
|
|
||||||
audit report or performing other audit, review or attest services for the Company
|
|
||||||
|
|
||||||
* Compensation of any advisers employed by the Audit Committee
|
|
||||||
|
|
||||||
* Ordinary administrative expenses of the Audit Committee that are necessary or appropriate in carrying out its duties.
|
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
|
|
||||||
# ForProfit Committee Charter
|
# ForProfit Committee Charter
|
||||||
|
|
||||||
As stated in the Operating Agreement of the Company electing oversight by this committee, any changes to this charer must be approved by unamious
|
As stated in the Operating Agreement of the Component electing oversight by this committee, any changes to this charer must be approved by unamious
|
||||||
written consent of all Members of all entities under this committee.
|
written consent of all Members of all components governed under this committee.
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
|
|
||||||
@@ -12,7 +12,7 @@ The ForPofit Committee provides support, guidance and counsel to Management and
|
|||||||
* Suborbital
|
* Suborbital
|
||||||
* Axios Heart Studios
|
* Axios Heart Studios
|
||||||
|
|
||||||
and other affiliated entities that may elect oversight by this committee
|
and other affiliated components that may elect oversight by this committee
|
||||||
|
|
||||||
## Director Elections
|
## Director Elections
|
||||||
|
|
||||||
@@ -43,6 +43,7 @@ The Committee may participate in a meeting by means of conference telephone or s
|
|||||||
in the meeting can hear each other, and participation in such a meeting pursuant to this Section shall constitute presence in person at such meeting.
|
in the meeting can hear each other, and participation in such a meeting pursuant to this Section shall constitute presence in person at such meeting.
|
||||||
|
|
||||||
## Notice and waiver; quorum
|
## Notice and waiver; quorum
|
||||||
|
|
||||||
Notice of any meeting of the Committee shall be given to each director personally or by e-mail , or telephone call
|
Notice of any meeting of the Committee shall be given to each director personally or by e-mail , or telephone call
|
||||||
addressed to such director at such director’s last known e-mail address and/or phone number, at least two (2) days prior
|
addressed to such director at such director’s last known e-mail address and/or phone number, at least two (2) days prior
|
||||||
to the meeting.
|
to the meeting.
|
||||||
|
@@ -62,6 +62,7 @@ Meetings may be attended remotely through electronic means.
|
|||||||
The presence of fifty percent (50%) of the directors at any meeting constitutes a quorum.
|
The presence of fifty percent (50%) of the directors at any meeting constitutes a quorum.
|
||||||
|
|
||||||
## Term of Office
|
## Term of Office
|
||||||
|
|
||||||
Board members are elected to a two-year term of office. The term is without compensation. The Board is made up of 3 to 15 members. Terms begin in November at
|
Board members are elected to a two-year term of office. The term is without compensation. The Board is made up of 3 to 15 members. Terms begin in November at
|
||||||
our annual meeting and expire at the conclusion of the second annual meeting following their election.
|
our annual meeting and expire at the conclusion of the second annual meeting following their election.
|
||||||
|
|
||||||
@@ -92,6 +93,7 @@ The officers of the Committee serve one year terms in their respective offices.
|
|||||||
voting Directors whenever in its judgment the best interests of the Entities will be served.
|
voting Directors whenever in its judgment the best interests of the Entities will be served.
|
||||||
|
|
||||||
### President
|
### President
|
||||||
|
|
||||||
1. Is a member of the Committee and serves as the chief volunteer of the Entities.
|
1. Is a member of the Committee and serves as the chief volunteer of the Entities.
|
||||||
2. Presides at all meetings of the Committee after developing the agenda with the Entity Executive Directors.
|
2. Presides at all meetings of the Committee after developing the agenda with the Entity Executive Directors.
|
||||||
3. Encourages the Committee role in strategic planning.
|
3. Encourages the Committee role in strategic planning.
|
||||||
@@ -101,6 +103,7 @@ voting Directors whenever in its judgment the best interests of the Entities wil
|
|||||||
7. Reports to the full TSYS Group Board Of Directors on the committee’s decisions and recommendations.
|
7. Reports to the full TSYS Group Board Of Directors on the committee’s decisions and recommendations.
|
||||||
|
|
||||||
### Vice President
|
### Vice President
|
||||||
|
|
||||||
1. Is a member of the Committee.
|
1. Is a member of the Committee.
|
||||||
2. Performs responsibilities of the Committee President when the President is not available.
|
2. Performs responsibilities of the Committee President when the President is not available.
|
||||||
3. Works closely with the Committee President and the Group Entity staff to achieve the mission of the Entities.
|
3. Works closely with the Committee President and the Group Entity staff to achieve the mission of the Entities.
|
||||||
@@ -144,6 +147,7 @@ The Finance Sub Committee recommends policy regarding the Entity finances and as
|
|||||||
responsibility for safeguarding any endowment or reserve funds.
|
responsibility for safeguarding any endowment or reserve funds.
|
||||||
|
|
||||||
### Nominating Sub Committee
|
### Nominating Sub Committee
|
||||||
|
|
||||||
The Nominating Sub Committee members ensure the Committee has an effective process and structure in place to conduct business. They are responsible for
|
The Nominating Sub Committee members ensure the Committee has an effective process and structure in place to conduct business. They are responsible for
|
||||||
planning the Committee retreat, sub committee development, ongoing training of Committee members and Committee evaluation.
|
planning the Committee retreat, sub committee development, ongoing training of Committee members and Committee evaluation.
|
||||||
|
|
||||||
@@ -200,6 +204,7 @@ confidentiality. For instance, if a staff person or volunteer approaches a Commi
|
|||||||
the Entities operation, the Committee member should refer the matter back to the Executive Director.
|
the Entities operation, the Committee member should refer the matter back to the Executive Director.
|
||||||
|
|
||||||
## Commitee Member as representative of Entity
|
## Commitee Member as representative of Entity
|
||||||
|
|
||||||
Committee members should be well informed of the mission and goals of the Entities. Each member should strive to educate, inform, and
|
Committee members should be well informed of the mission and goals of the Entities. Each member should strive to educate, inform, and
|
||||||
recruit support for the programs in the community.
|
recruit support for the programs in the community.
|
||||||
|
|
||||||
|
Binary file not shown.
@@ -1,176 +1 @@
|
|||||||
|
# Known Element Enterprises Charter
|
||||||
# Known Element Enterprises LLC (KNEL) Charter
|
|
||||||
|
|
||||||
- [Known Element Enterprises LLC (KNEL) Charter](#known-element-enterprises-llc-knel-charter)
|
|
||||||
- [Purpose of this document](#purpose-of-this-document)
|
|
||||||
- [KNEL Mission](#knel-mission)
|
|
||||||
- [Accountability](#accountability)
|
|
||||||
- [Independence](#independence)
|
|
||||||
- [Areas of responsibility](#areas-of-responsibility)
|
|
||||||
- [Scope](#scope)
|
|
||||||
- [Authority](#authority)
|
|
||||||
- [Assessment and Advisory Services](#assessment-and-advisory-services)
|
|
||||||
- [Risk Management Services](#risk-management-services)
|
|
||||||
|
|
||||||
|
|
||||||
## Purpose of this document
|
|
||||||
|
|
||||||
The purpose of this document is to outline areas of responsibility and operational interaction within KNEL. The reader should be able to obtain the following information from this document:
|
|
||||||
|
|
||||||
- Understanding the Organizational Structure of KNEL
|
|
||||||
- Understanding the Operational Responsibilities of the various hierarchical layers within the Organizational Structure
|
|
||||||
- Understanding the Intra-Operational Model of KNEL
|
|
||||||
- Understanding the Inter-Operational Model of KNEL
|
|
||||||
|
|
||||||
## KNEL Mission
|
|
||||||
|
|
||||||
Known Element Enterprises LLC (KNEL) supports the TSYS Group mission by fostering the information technology , information security/assurance/assessment and privacy approaches across all component
|
|
||||||
entities of TSYS Group.
|
|
||||||
|
|
||||||
KNEL is a top level component entity of TSYS Group. KNEL has total responsibility for procurement, deployment, architecture operational support and retirement of the entire infrastructure stack
|
|
||||||
used to provision all IT services across TSYS Group.
|
|
||||||
|
|
||||||
Known Element Enterprises seeks to establish a very specific culture that provides consistent, long term, zero variable , predictable , successful and stable outcomes in all tasks/projects and ongoing
|
|
||||||
service delivery and operations.
|
|
||||||
|
|
||||||
KNEL core cultural tenants:
|
|
||||||
|
|
||||||
- ruthless execution
|
|
||||||
- outstanding service delivery that pleasantly surprises and delights all stakeholders every time
|
|
||||||
- integrity and consistency
|
|
||||||
- privacy
|
|
||||||
- collaboration
|
|
||||||
- documentation , knowledge capture and dissemination
|
|
||||||
- sustainability
|
|
||||||
- stewardship
|
|
||||||
- strong information security/information assurance
|
|
||||||
|
|
||||||
This culture underpins KNEL ability to be a good steward of TSYS Group information entrusted to it by its stakeholders.
|
|
||||||
|
|
||||||
The goal of KNEL is to implement a framework of safeguards to protect the:
|
|
||||||
|
|
||||||
- confidentiality (authorized access)
|
|
||||||
- integrity
|
|
||||||
- availability
|
|
||||||
|
|
||||||
of TSYS Group information technology resources and information, and to ensure TSYS Group is able to meet statutory and regulatory obligations in a manner that enables and respects individual privacy.
|
|
||||||
|
|
||||||
## Accountability
|
|
||||||
|
|
||||||
The TSYS Group CIO, CISO , VP of Technical Operations and IT Director (the IT Management Committee) manage KNEL assets and staff and are accountable directly to the TSYS Group Board to:
|
|
||||||
|
|
||||||
- Establish the strategic direction of KNEL
|
|
||||||
- Ensure the continuous enhancement and effectiveness of KNEL to present a proactive approach to information security at TSYS Group
|
|
||||||
- Promote public information sharing throughout TSYS Group
|
|
||||||
- To provide a one-stop point of information and accountability for information security and privacy at TSYS Group
|
|
||||||
- Provide periodic assessments on the adequacy and effectiveness of the TSYS Group processes for controlling its activities and managing its risks in the areas set forth under the mission and scope of work.
|
|
||||||
- Report significant issues affecting privacy, including recommended process improvements, and provide follow-up on mitigation.
|
|
||||||
- Provide information on the status and results of campus unit security assessments and Privacy Impact Assessments.
|
|
||||||
- Coordinate with, and provide oversight of, other privacy compliance, control, and monitoring functions.
|
|
||||||
|
|
||||||
## Independence
|
|
||||||
|
|
||||||
To provide for the independence of KNEL, the IT Management Committee reports directly to the TSYS Group Board. This ensures fierce independence of the IT organization and allows the Board to remain fully informed in it's role of providing effective and engaged group wide oversight and governance.
|
|
||||||
|
|
||||||
In too many organizations, IT is stymied by senior management and it results in situations like the Equifax breach or ransomware.
|
|
||||||
Also by being an independent LLC under TSYS Group, it's able to function on an equal level with other TSYS Group components.
|
|
||||||
Like all TSYS Group component entities, it has an independent P&L (following the TSYS Group zero internal cost center model).
|
|
||||||
That's right, IT can be a profit center!
|
|
||||||
|
|
||||||
## Areas of responsibility
|
|
||||||
|
|
||||||
- Facilities IT (power/cooling/physical security)
|
|
||||||
- Enterprise IT (hypervisor/storage/networking/monitoring,alerting/backups)
|
|
||||||
- Platform IT - Data (database,block,object,file stores)
|
|
||||||
- Platform IT - Middleware (batch/sync/async task execution, API/microservices, enterprise service bus, intra system/application messaging,e-mail)
|
|
||||||
- Platform IT - Application Runtime (container runtime, legacy applications, PAAS)
|
|
||||||
- SRE (TSYS Group application catalog)
|
|
||||||
|
|
||||||
## Scope
|
|
||||||
|
|
||||||
The scope of Information Security/Assurance/Assessment and Privacy comprises multiple focus areas:
|
|
||||||
|
|
||||||
- Policy
|
|
||||||
- Training/Awareness
|
|
||||||
- Incident Management and Response
|
|
||||||
- Consulting
|
|
||||||
- Assessments
|
|
||||||
- Risk Management
|
|
||||||
- Survivability
|
|
||||||
|
|
||||||
- KNEL develops policies and guidelines to assist technology and information users to understand their responsibilities.
|
|
||||||
|
|
||||||
- Through Training and Awareness initiatives, stakeholders learn secure behaviors that support the protection of TSYS Group, as well as personal, information.
|
|
||||||
|
|
||||||
- When security incidents or privacy breaches occur, quick and effective response is crucial to limit damage and quickly restore services. The focus area of Incident Management & Response supports this effort by promoting consistent means to prepare, respond to, recover from, and report incidents.
|
|
||||||
|
|
||||||
- KNEL partners and consults with component entities across TSYS Group to assist them in meeting their privacy and information security objectives.
|
|
||||||
|
|
||||||
- KNEL conducts information security and privacy assessments in accordance with approved plans and its established policies and procedures.
|
|
||||||
|
|
||||||
- Risk Management allows units to determine the risks that exist in their environments and how those risks can be reduced or eliminated.
|
|
||||||
|
|
||||||
- Survivability supports the planning for recovery of technology services following an emergency or system disruption.
|
|
||||||
|
|
||||||
The scope of information security centers on implementing appropriate technical, operational and management controls to protect confidentiality (authorized access), integrity, and availability of resources.
|
|
||||||
|
|
||||||
The information privacy scope of work is to determine whether TSYS Group recognizes the risk associated with collecting and storing protected data and that TSYS Group is aware of and in compliance with applicable policies and laws. This supports:
|
|
||||||
|
|
||||||
- The expectation that personally identifiable information collected, processed, or stored by TSYS Group is protected from misuse or unauthorized access;
|
|
||||||
|
|
||||||
- Limiting personal data collection to only those data items required for legitimate business purposes;
|
|
||||||
|
|
||||||
- Respecting the rights of the data owners as guaranteed by laws, regulations, and contractual obligations;
|
|
||||||
|
|
||||||
- Confirming TSYS Group organizations incorporate privacy procedures as an integral part of business system design processes;
|
|
||||||
|
|
||||||
- Significant legislative or regulatory privacy issues impacting the organization are recognized and addressed properly.
|
|
||||||
|
|
||||||
## Authority
|
|
||||||
|
|
||||||
KNEL is authorized to:
|
|
||||||
|
|
||||||
- Have access to all functions, records, property, and personnel required for information security and privacy assessments.
|
|
||||||
- Make specific reports directly to TSYS Group Board and other entities as deemed appropriate.
|
|
||||||
- Allocate resources, set frequencies, select subjects, determine scopes of work, and apply the techniques required to accomplish information security objectives.
|
|
||||||
- When conducting risk reviews and assessments, obtain the necessary assistance of personnel in TSYS Group units, as well as specialized services from within or outside the organization.
|
|
||||||
|
|
||||||
Responsibilities
|
|
||||||
|
|
||||||
KNEL has responsibility to:
|
|
||||||
|
|
||||||
- Maintain a professional staff with sufficient knowledge, skills, experience, and professional certifications to meet the requirements of this charter.
|
|
||||||
- Develop an information security strategy that presents a high-level plan for achieving information security goals.
|
|
||||||
- Research best practices and technologies that support information security.
|
|
||||||
- Establish a quality assurance program by which the Director assures the operation of KNEL activities.
|
|
||||||
|
|
||||||
## Assessment and Advisory Services
|
|
||||||
|
|
||||||
KNEL conducts information security and privacy assessments in accordance with Board approved plans and its established policies and procedures.
|
|
||||||
|
|
||||||
KNEL can also conduct independent information security and privacy impact assessments.
|
|
||||||
|
|
||||||
Assessment and Advisory services include:
|
|
||||||
|
|
||||||
- Developing a flexible annual plan in consultation with the Board using appropriate risk-based methodology, including risks or control concerns identified by TSYS Group corporate/component leadership.
|
|
||||||
- Examining and evaluating the adequacy and effectiveness of the systems of internal privacy controls.
|
|
||||||
- Evaluating and assessing significant new or changing services, processes, operations, and controls coincident with their development and implementation.
|
|
||||||
- In coordination with the Board assessing compliance with laws, regulations, contract/grant provisions, and internal policies, plans, and procedures.
|
|
||||||
- Reviewing operations or programs to ascertain whether results are consistent with established objectives.
|
|
||||||
- Performing consulting services, assurance services, to assist component entities in meeting privacy objectives.
|
|
||||||
- Evaluating emerging information technology audit/assessment trends and implementing best practices.
|
|
||||||
|
|
||||||
## Risk Management Services
|
|
||||||
|
|
||||||
The focus area of Risk Management is the key to a successful information security program.
|
|
||||||
|
|
||||||
Information security is not exact or all-encompassing. No one can ever eradicate all risk of improper, malicious or capricious use of information and resources. The goal of information security is that in a particular situation, the controls are commensurate with the value of the protected resource and weighed against the cost that would be incurred --financial or otherwise - in the event of unauthorized disclosure, degradation, or loss. The process of balancing risks, costs of protection strategies, and resource value is risk management.
|
|
||||||
|
|
||||||
Risk Management Services include:
|
|
||||||
|
|
||||||
- Partnering with TSYS Group units to conduct risk reviews that highlight strengths and weaknesses of a unit's information security profile;
|
|
||||||
- Consulting with TSYS Group units determine how best to minimize risk and protect resources;
|
|
||||||
- Directing assessments of critical program areas or new services to ensure appropriate security controls are in place;
|
|
||||||
- Perform network monitoring, intrusion detection/prevention, web scanning, and other security procedures to help secure the infrastructure and in response to malicious activity.
|
|
||||||
- Evaluating new and emerging security strategies and technologies for use in TSYS Group environment;
|
|
||||||
- Collaborating with the information security technology team to plan and implement the SANS Top 20 Security Controls.
|
|
||||||
|
@@ -1,27 +1 @@
|
|||||||
# TSYS Group - IT Documentation - Policies - Business Continuity Plan
|
# Policies - Business Continuity Plan
|
||||||
|
|
||||||
## Data
|
|
||||||
|
|
||||||
In the event of a data failure, data should be recovered from the most recent backup, to have as minimal impact on daily operations as possible.
|
|
||||||
|
|
||||||
* All data lives canonically at PFV
|
|
||||||
* All data resides in ZFS volumes on pfv-stor2 and pfv-stor1
|
|
||||||
* All ZFS volumes are continuously snapshotted in place on array
|
|
||||||
* All ZFS volumes are replicated at various intervals depending on recovery time objectives to pfv-stor1 backup drive
|
|
||||||
|
|
||||||
|
|
||||||
## Equipment
|
|
||||||
|
|
||||||
In the event of an equipment failure, equipment is to be replaced as soon as possible, utlizing insurance policies as necessary to recoup losses imposed. Replacesments are to be obtained, and data recovered, as soon as possible, to have as minimal impact on daily opersation as possible.
|
|
||||||
|
|
||||||
## Facility
|
|
||||||
|
|
||||||
As of the time of this writing, PFV is the only location, and in the event it should become permanently unavailable, obtaining use of a coworking space, such as WeWork or Capitol Factory, for continued dailiy operations is a must, until new dedicated facilities become available.
|
|
||||||
|
|
||||||
## Personnel
|
|
||||||
|
|
||||||
* In the event that the CEO is no longer willing or able to perform their duties, the next officer in succession is the CFO. The CFO shall perform the duties of both officers, until such time as a replacement can be found.
|
|
||||||
|
|
||||||
* In the event that the CFO is no longer willing or able to perform their duties, the next officer in succession is the CMO. The CMO shall perform the duties of both officers, until such time as a replacement can be found.
|
|
||||||
|
|
||||||
* In the event the CMO is no longer willing or able to perform their duties, the CTO shall perform the duties of CEO/CFO/CMO and will be acting CEO/CFO/COM until such time as a replacement can be found.
|
|
||||||
|
@@ -1,18 +1 @@
|
|||||||
# TSYS Group - IT Documentation - Processes - 2fa
|
# Processes - Two Factor Authentication
|
||||||
|
|
||||||
- [TSYS Group - IT Documentation - Processes - 2fa](#tsys-group-it-documentation-processes-2fa)
|
|
||||||
- [Introduction](#introduction)
|
|
||||||
- [Applications](#applications)
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
This section is to document 2fa at TSYS.
|
|
||||||
|
|
||||||
|
|
||||||
## Applications
|
|
||||||
|
|
||||||
| Application | 2fa supported | 2fa enforced | 2fa documentation from vendor | 2fa enable page |
|
|
||||||
| ----------- | ------------- | ------------ | ----------------------------- | --------------- |
|
|
||||||
| Discourse | Yes | No | tbd | tbd |
|
|
||||||
| Bitwarden | Yes | Yes | tbd | tbd |
|
|
||||||
| Opnsense | Yes | Yes | tbd | tbd |
|
|
||||||
|
@@ -1,81 +1 @@
|
|||||||
# TSYS Group - IT Documentation - Processes - New Team Member Onboarding
|
# Processes - New Team Member Onboarding
|
||||||
|
|
||||||
- [TSYS Group - IT Documentation - Processes - New Team Member Onboarding](#tsys-group-it-documentation-processes-new-team-member-onboarding)
|
|
||||||
- [Introduction](#introduction)
|
|
||||||
- [Proces Overview](#proces-overview)
|
|
||||||
- [All users](#all-users)
|
|
||||||
- [R&D users](#r-d-users)
|
|
||||||
- [HR tasks](#hr-tasks)
|
|
||||||
- [Invite user to Discord](#invite-user-to-discord)
|
|
||||||
- [Inform TSYS point of contact of persons real name and Discord handle](#inform-tsys-point-of-contact-of-persons-real-name-and-discord-handle)
|
|
||||||
- [IT tasks](#it-tasks)
|
|
||||||
- [Application Access](#application-access)
|
|
||||||
- [System Access](#system-access)
|
|
||||||
- [Facillites Access](#facillites-access)
|
|
||||||
- [R&D access](#r-d-access)
|
|
||||||
- [Other tasks](#other-tasks)
|
|
||||||
|
|
||||||
- [Introduction](#introduction)
|
|
||||||
- [IT tasks](#it-tasks)
|
|
||||||
- [Application Access](#application-access)
|
|
||||||
- [System Access](#system-access)
|
|
||||||
- [Facillites Access](#facillites-access)
|
|
||||||
- [R&D access](#r-d-access)
|
|
||||||
- [HR tasks](#hr-tasks)
|
|
||||||
- [Other tasks](#other-tasks)# TSYS Group - IT Documentation - Processes - New Team Member Onboarding
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
On-boarding is an often overlooked and under documented aspect at companies ranging from startups to established multi national corporations.
|
|
||||||
|
|
||||||
We are starting things off right and are in the process of establishing a streamlined on-boarding process. More to come soon, as we work out the
|
|
||||||
final bugs!
|
|
||||||
|
|
||||||
|
|
||||||
## Proces Overview
|
|
||||||
|
|
||||||
### All users
|
|
||||||
|
|
||||||
* Invite user to Discord
|
|
||||||
* Create user account in UCS
|
|
||||||
* Send initial UCS username/ppassword via discord DM
|
|
||||||
* Have user change password at https://accounts.knownelement.com
|
|
||||||
* Once user has changed password, add them to appropriate UCS groups
|
|
||||||
|
|
||||||
### R&D users
|
|
||||||
|
|
||||||
* Create wireguard config with algo for any user systems
|
|
||||||
* Send user a discord DM with the algo config / QR
|
|
||||||
* Have user import TSYS Root CA certificate
|
|
||||||
|
|
||||||
|
|
||||||
## HR tasks
|
|
||||||
|
|
||||||
### Invite user to Discord
|
|
||||||
|
|
||||||
* Document process
|
|
||||||
|
|
||||||
### Inform TSYS point of contact of persons real name and Discord handle
|
|
||||||
|
|
||||||
* Document process (erpnext workflow)
|
|
||||||
|
|
||||||
|
|
||||||
## IT tasks
|
|
||||||
|
|
||||||
### Application Access
|
|
||||||
|
|
||||||
- LDAP Groups
|
|
||||||
- Application ACLs
|
|
||||||
|
|
||||||
### System Access
|
|
||||||
|
|
||||||
- Wireguard
|
|
||||||
- SSH key management
|
|
||||||
|
|
||||||
|
|
||||||
### Facillites Access
|
|
||||||
|
|
||||||
### R&D access
|
|
||||||
|
|
||||||
|
|
||||||
## Other tasks
|
|
||||||
|
@@ -1,125 +1 @@
|
|||||||
# TSYS Group - HQ data center documentation - runbook
|
# Processes - PFV Datacenter Runbook
|
||||||
|
|
||||||
- [TSYS Group - HQ data center documentation - runbook](#tsys-group-hq-data-center-documentation-runbook)
|
|
||||||
- [Introduction](#introduction)
|
|
||||||
- [Prerequisites and requirements](#prerequisites-and-requirements)
|
|
||||||
- [Scenarios](#scenarios)
|
|
||||||
- [Power lost and internet access isn't working after power is restored](#power-lost-and-internet-access-isn-t-working-after-power-is-restored)
|
|
||||||
- [UPS battery fails](#ups-battery-fails)
|
|
||||||
- [Air conditioning fails (E5 error)](#air-conditioning-fails-e5-error)
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
This book covers recovery scenarios for PFV. It is meant to be executed inside the PFV server room.
|
|
||||||
|
|
||||||
|
|
||||||
## Prerequisites and requirements
|
|
||||||
|
|
||||||
* Be in the PFV server room
|
|
||||||
* Have a headlamp so your hands are free
|
|
||||||
* Go slow and easyo
|
|
||||||
* Ask for help
|
|
||||||
* Lift up the cardboard on rack3 (bottom rack of the two half racks next to rack 5), so you can press buttons on the Keyboard/Video/Mouse (KVM) switcher
|
|
||||||
|
|
||||||
|
|
||||||
## Scenarios
|
|
||||||
|
|
||||||
|
|
||||||
### Power lost and internet access isn't working after power is restored
|
|
||||||
|
|
||||||
The Virtual machines are set to automatically start on boot of the virtual server hosts. However the virtual server hosts boot faster than the storage hosts.
|
|
||||||
So a manual intervention is needed to restore service.
|
|
||||||
|
|
||||||
Procedure:
|
|
||||||
|
|
||||||
Step 1)
|
|
||||||
|
|
||||||
Ensure that storage enclosures are at the login prompt. You'll be confirming two systems:
|
|
||||||
|
|
||||||
* pfv-stor1
|
|
||||||
* pfv-stor2
|
|
||||||
|
|
||||||
The buttons on the KVM switcher with the label
|
|
||||||
|
|
||||||
* s1
|
|
||||||
* s2
|
|
||||||
|
|
||||||
will show you the output from pfv-stor1/pfv-stor2 respectively (on the monitor sitting on top of the UPS rack)
|
|
||||||
|
|
||||||
* Press the button with the label s1
|
|
||||||
* Look at the monitor
|
|
||||||
* Ensure it's at a login prompt.
|
|
||||||
|
|
||||||
* Press the button with the label s2
|
|
||||||
* Look at the monitor
|
|
||||||
* Ensure it's at a login prompt.
|
|
||||||
|
|
||||||
Step 2)
|
|
||||||
|
|
||||||
Restart pfv-vm1
|
|
||||||
|
|
||||||
Procedure:
|
|
||||||
|
|
||||||
1) reboot the system labeled pfv-vm1:
|
|
||||||
|
|
||||||
* Press the button on the KVM switcher labeled v1
|
|
||||||
* quickly press and let go of the power button (just tap it and release). This will start a shutdown of the system.
|
|
||||||
* wait for power off and observe the output on the monitor . It will print out status as it shuts down.
|
|
||||||
* Press the power button and let go of the power button (just tape it and release). This will start the system back up.
|
|
||||||
* wait for power on and observe the output on the monitor . It will print out status as it starts up and will end at a login prompt.
|
|
||||||
* wait two minutes
|
|
||||||
* see if internet is working
|
|
||||||
|
|
||||||
2) start the guests by logging into the console of vm1 by typing at the login prompt
|
|
||||||
|
|
||||||
root
|
|
||||||
<password from the envelope in the safe>
|
|
||||||
|
|
||||||
Then type: qm start 120
|
|
||||||
This will start up the router
|
|
||||||
|
|
||||||
Then type: qm start 106
|
|
||||||
This will start up the virtual private network
|
|
||||||
|
|
||||||
You can use the command:
|
|
||||||
|
|
||||||
``` qm list ```
|
|
||||||
|
|
||||||
to get the current state
|
|
||||||
|
|
||||||
You may see additional systems other than those listed below, when you run qm list. They are not critical path for production and can be started by ops team once core critical path is operational.
|
|
||||||
|
|
||||||
* pfv-vmsrv-01
|
|
||||||
|
|
||||||
root@pfv-vm1:~# qm list
|
|
||||||
VMID NAME STATUS MEM(MB) BOOTDISK(GB) PID
|
|
||||||
120 pfv-core-rtr01 running 2048 20.00 3786 << this is the virtual router, if it's down, nothing else will work .
|
|
||||||
106 pfv-vpn running 2048 50.00 12814 << vpn server. No one will be able to access the network remotely if it's down
|
|
||||||
|
|
||||||
If the above two systems are functioning , then IT can start up the other systems remotely.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### UPS battery fails
|
|
||||||
|
|
||||||
Sometimes the UPS will continue to function, passing through utility power, with an active alarm.
|
|
||||||
|
|
||||||
Other times it will fail.
|
|
||||||
|
|
||||||
1) Report this to ops team as an incident, including
|
|
||||||
* which UPS (they are labeled front/back) is having an issue
|
|
||||||
* nature of the issue (total failure, alarm)
|
|
||||||
* include a picture of the front which will have some information
|
|
||||||
|
|
||||||
2) Replace the battery
|
|
||||||
* Access printed manual in the file cabinet in server room
|
|
||||||
* Follow battery replacement procedure
|
|
||||||
* Take pictures as you pull the battery pack out, to allow for easier re-wiring
|
|
||||||
* Go to batteries plus with the failed batteries (we replace whole packs at once) and they'll sell you replacements for the pack
|
|
||||||
* Wire pack and place into UPS
|
|
||||||
|
|
||||||
### Air conditioning fails (E5 error)
|
|
||||||
|
|
||||||
1) Shut down and unplug air conditioning unit
|
|
||||||
2) Take air conditioning unit outside (front porch)
|
|
||||||
3) Drain reservoir
|
|
||||||
|
@@ -0,0 +1 @@
|
|||||||
|
# Processes - VPN User Management
|
||||||
|
@@ -1,14 +1 @@
|
|||||||
|
# Processes - Vulnerability Management
|
||||||
# Vulnerability management
|
|
||||||
|
|
||||||
* identify total asset base (use nmap and see if it matches librenms and resolve any discrepancies)
|
|
||||||
* perform scans of total asset base (using openvas/lynis/ossim)
|
|
||||||
* manage vulnerability ratings/scope
|
|
||||||
* notify/escalate to appropriate contacts
|
|
||||||
* address the vulns
|
|
||||||
* report metrics (i think the apps provide built in dashboards, may need some light modification)
|
|
||||||
|
|
||||||
|
|
||||||
i think ossim can do all the above ,also lynis/openvas (the three combined should provide complete coverage) (network scan/agent based combination)
|
|
||||||
|
|
||||||
librenms is our CMDB currently (for identifying assets/contacts). phpipam is our inventory.
|
|
||||||
|
@@ -1,30 +0,0 @@
|
|||||||
# TSYS Group - CIO Documentation
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
Welcome to the TSYS Group Handbook - CIO Documentation.
|
|
||||||
|
|
||||||
We strive to be as open, transparent and responsive as possible as we support the mission of the TSYS Group and it's component divisions.
|
|
||||||
|
|
||||||
We are glad you are here. :)
|
|
||||||
|
|
||||||
This manual serves as the sole source of documentation for all IT operations/systems/services of TSYS Group.
|
|
||||||
|
|
||||||
We strive to provide a complete suite of services utilizing an almost entirely FLO stack. The FLO exceptions are:
|
|
||||||
|
|
||||||
* Office 365 for e-mail
|
|
||||||
* Neat.com for expense receipt OCR
|
|
||||||
* Windows 10 workstations
|
|
||||||
* Apple IOS devices
|
|
||||||
|
|
||||||
The entirety of our servers are running Ubuntu 20.04 or later.
|
|
||||||
|
|
||||||
Other than the above exceptions, we utilize 100% FLO software to implement every single IT and Business service delivered to
|
|
||||||
the TSYS group. We hope our documentation helps you do the same.
|
|
||||||
|
|
||||||
Our business and IT service stack GIT Repository: <https://git.turnsys.com/TSGTechops/docs-techops>
|
|
||||||
|
|
||||||
## Todo list:
|
|
||||||
|
|
||||||
<https://git.turnsys.com/TSGTechops/docs-techops/issues>
|
|
||||||
|
|
@@ -1,17 +0,0 @@
|
|||||||
# Authentication
|
|
||||||
|
|
||||||
## Password Management
|
|
||||||
|
|
||||||
### Shared Passwords
|
|
||||||
|
|
||||||
* We utilize bitwarden for shared password storage. For example for external vendors, social media etc. All external logins are 2fa.
|
|
||||||
|
|
||||||
### Privileged Access
|
|
||||||
|
|
||||||
* CEO/CFO have equivalent access in bitwarden, to absolutely everything.
|
|
||||||
* CIO has very limited access to shared passwords (just for pfv-stor until it's hooked into true command). Does not have access to domain admin or other shared passwords.
|
|
||||||
* CMO has access to all social media and all wordpress admin (but uses normal account for day to day use)
|
|
||||||
|
|
||||||
### VPN Endpoint Creation / Deletion
|
|
||||||
|
|
||||||
* Ansible recipe for algo (update users.yml and re-run ansible) (document more soon)
|
|
@@ -1,271 +1 @@
|
|||||||
# TSYS / Redwood Group Applications and Services
|
# Systems - Applications And Web Services
|
||||||
|
|
||||||
The goal of this section is to document all applications and services utilized by TSYS Group.
|
|
||||||
|
|
||||||
Welcome to the future, welcome to the first open source conglomerate! We have broken the page up into a number of sections, to aid navigation.
|
|
||||||
|
|
||||||
To our knowledge, we are the only organization in the known universe to fully document our stack and to fully open source it. Enjoy!
|
|
||||||
Go forth and create your own conglomerates! Solve big problems!
|
|
||||||
|
|
||||||
- [TSYS / Redwood Group Applications and Services](#tsys--redwood-group--applications-and-services)
|
|
||||||
- [Web Properties](#web-properties)
|
|
||||||
- [Redwood Group Properties](#redwood-group-properties)
|
|
||||||
- [Non Profit Properties](#non-profit-properties)
|
|
||||||
- [For Profit Properties](#for-profit-properties)
|
|
||||||
- [Coop Properties](#coop-properties)
|
|
||||||
- [Misc Properties](#misc-properties)
|
|
||||||
- [Services](#services)
|
|
||||||
- [Externally provided services](#externally-provided-services)
|
|
||||||
- [Internally provided services](#internally-provided-services)
|
|
||||||
- [R&D Applications](#rd-applications)
|
|
||||||
|
|
||||||
## Web Properties
|
|
||||||
|
|
||||||
### Redwood Group Properties
|
|
||||||
|
|
||||||
The below table documents the not primarily for profit entities performing capital raising and management for TSYS Group entities and their members.
|
|
||||||
|
|
||||||
All sites below are proudly powered by the TSYS Wordpress platform.
|
|
||||||
|
|
||||||
| Entity | Description | Website |
|
|
||||||
| -------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------ |
|
|
||||||
| Redwood Group LLC | Sibling organization to TSYS Group for all capital raising and management | <https://www.redwgr.com> |
|
|
||||||
| Redwood Springs Capital Partners Management Co LLC | management company of the various funds setup to finance TSYS Group operations | <https://www.rwscp.net> |
|
|
||||||
| Redwood Family Office LLC | Wealth management/healthcare/estate planning/tax advice broker for LLC members and their families | <https://www.redwfo.com> |
|
|
||||||
|
|
||||||
### Non Profit Properties
|
|
||||||
|
|
||||||
The below table documents the non profit entities performing the educational, advocacy, lobbying and legislative functions for TSYS Group.
|
|
||||||
|
|
||||||
All sites below are proudly powered by the TSYS Wordpress platform.
|
|
||||||
|
|
||||||
| Entity | Description | Website |
|
|
||||||
| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ------------------------------- |
|
|
||||||
| Americans For A Better Network INC | A non profit (seeking 501c3 status) to educate americans about internet provider choices | <https://www.afabn.org> |
|
|
||||||
| Free Network Foundation INC | A defunct 501c3 (replaced by AFABN) | <https://www.thefnf.org> |
|
|
||||||
| Free Network Foundation INC | (wiki) comprehensive body of knowledge about community networking | <https://commons.thefnf.org> |
|
|
||||||
| Free Network Foundation INC | (static files) Assets (pdfs etc) linked from blog/wiki | <https://staticbits.thefnf.org> |
|
|
||||||
| Side Door (Solutions) Group INC | A non profit (seeking 501c4) / PAC to drive the necessary legislative and executive changes to enable internet for all | <https://www.sidedoorgroup.org> |
|
|
||||||
| TSYS Group Non Profit Portal | Landing page for non profits | <https://nonprofit.turnsys.com> |
|
|
||||||
|
|
||||||
### For Profit Properties
|
|
||||||
|
|
||||||
The below table documents the not primarily for profit entities performing the R&D and providing supporting services functions for TSYS Group.
|
|
||||||
|
|
||||||
All sites below are proudly powered by the TSYS Wordpress platform.
|
|
||||||
|
|
||||||
| Entity | Description | Website |
|
|
||||||
| ------------------------------------------ | ---------------------------------------------------------------------------------------------- | ------------------------------------ |
|
|
||||||
| Axios Heart Studios LLC | Art, 2d,3d and other fabrication services for TSYS Group | <https://www.axiosheartstudios.com> |
|
|
||||||
| Suborbital Systems Development Company LLC | Manufacturer of Morse product line - technical blog and information | <https://www.suborbital-systems.com> |
|
|
||||||
| Suborbital Systems Development Company LLC | Manufacturer of Morse product line - product page | <https://www.meetmorse.com> |
|
|
||||||
| RackRental LLC | network and lab equipment rental by the hour for training, config testing, competitive testing | <https://www.rackrental.net> |
|
|
||||||
| Team Rental LLC | HR/staffing of IT/dev professionals (2 million net new job goal by 2025) | <https://www.teamrental.net> |
|
|
||||||
| Known Element Enterprises LLC | IT/business back office services | <https://www.knownelement.com> |
|
|
||||||
| Your Dream Name Here LLC | Business in a box | <https://www.yourdreamnamehere.com> |
|
|
||||||
| The PeerNet LLC | Community, media, public relations / (live/time shifted) streaming/broadcast service | <https://www.thepeernet.com> |
|
|
||||||
| The PeerNet LLC | Software platform powering ThePeerNet.com service | <https://www.ezpodstack.org> |
|
|
||||||
|
|
||||||
### Coop Properties
|
|
||||||
|
|
||||||
The below table documents the fairshares cooperatives for financing, building, owning and operating community networks.
|
|
||||||
|
|
||||||
| Entity | Description | Website |
|
|
||||||
| ----------------------------------------- | -------------------------------------------------------- | -------------------------------- |
|
|
||||||
| High Flight Network Finance Company LLC | Financing network builds | <https://www.hfnfc.net> |
|
|
||||||
| High Flight Network Operating Company LLC | User owned/operated network backbone | <https://www.hfnoc.net> |
|
|
||||||
| KickFund.me LLC | Crowdfunding of network and other infrastructure builds | <https://www.kickfund.me> |
|
|
||||||
| The Campus Trading Co LLC | treasury/investment management/market and other research | <https://www.thecampustrade.com> |
|
|
||||||
|
|
||||||
### Misc Properties
|
|
||||||
|
|
||||||
| Entity | Description | Website |
|
|
||||||
| -------------------- | -------------------------------------- | -------------------------------- |
|
|
||||||
| CNWCO LLC | Charles Wyble blog | <https://www.reachableceo.com> |
|
|
||||||
| Turn Net Systems LLC | Overall entity for many subsidiary LLC | <https://www.turnsys.com> |
|
|
||||||
| Turn Net Systems LLC | Governance information for TSYS group | <https://governance.turnsys.com> |
|
|
||||||
|
|
||||||
## Services
|
|
||||||
|
|
||||||
### Externally provided services
|
|
||||||
|
|
||||||
The below table documents the handful of things TSYS Group has yet to vertically integrate and turn into a profit center.
|
|
||||||
These are not free/libre/open services, that are externally hosted and represent a cost center.
|
|
||||||
|
|
||||||
| Function | Vendor Link |
|
|
||||||
| ----------------------------------------------- | -------------------------------------------------------------------------------------- |
|
|
||||||
| Corporate email | <https://www.microsoft.com/en-us/microsoft-365/buy/compare-all-microsoft-365-products> |
|
|
||||||
| OCR for expense management | <https://www.neat.com/> |
|
|
||||||
| Payment processing | <https://www.paypal.com/> <https://squareup.com/us/en)/> <https://stripe.com/> |
|
|
||||||
| Payment, treasury operations, wealth management | <https://www.goamplify.com/>) |
|
|
||||||
| Tax prep/audit and other CPA services | (coming soon) |
|
|
||||||
| Domain Registrar , DNS, | <https://www.ovh.com/ca/en/>) |
|
|
||||||
| Live audio/video and text chat | <https://discord.com/>) |
|
|
||||||
|
|
||||||
### Internally provided services
|
|
||||||
|
|
||||||
These are hosted services (internally hosted by IT) and accessed via either a thick client application or a web browser.
|
|
||||||
|
|
||||||
They are provided by Known Element Enterprises LLC.
|
|
||||||
|
|
||||||
| Function | Vendor | Application Instance |
|
|
||||||
| ---------------------------------------------- | --------------------------------------------------------------- | -------------------------------------------------- |
|
|
||||||
| Storage Array for enterprise wide use | <https://www.freenas.org/> | <http://pfv-stor1.turnsys.net/> |
|
|
||||||
| Storage Array for RackRental use | <https://www.freenas.org/> | <http://pfv-stor2.turnsys.net/> |
|
|
||||||
| Ad blocking | <https://pi-hole.net/> | <http://pihole1.turnsys.net/admin> |
|
|
||||||
| Ad blocking | <https://pi-hole.net/> | <http://pihole2.turnsys.net/admin> |
|
|
||||||
| IAM | <https://www.gluu.org/> | <https://accounts.turnsys.com> |
|
|
||||||
| Artifact store | <https://archiva.apache.org/> | <https://artifacts.turnsys.com> |
|
|
||||||
| Zero trust,BeyondCorp | <https://www.trasa.io/docs/> | <https://beyondcorp.turnsys.com/> |
|
|
||||||
| Billing platform | <https://killbill.io/> | <https://billing.turnsys.com> |
|
|
||||||
| Shared Bookmarks | <https://github.com/shaarli/Shaarli> | <https://bookmarks.knownelement.com/> |
|
|
||||||
| Building Automation | <https://www.home-assistant.io/> | <https://buildauto.turnsys.net/> |
|
|
||||||
| CAD | <https://collabcad.gov.in/eCollabCAD/> | <https://cad.turnsys.com> |
|
|
||||||
| CI/CD | <https://www.jenkins.io/> | <https://ci.turnsys.com/> |
|
|
||||||
| Support forum/KB/general discussion | <https://www.discourse.org/> | <https://community.turnsys.com/> |
|
|
||||||
| Editing of audio | <https://github.com/Yahweasel/craig | <https://craig.thepeernet.com> |
|
|
||||||
| Customer data analytics and management | <https://github.com/rudderlabs> | <https://custdash.turnsys.com> |
|
|
||||||
| Database access | <https://www.metabase.com/> | <https://db.turnsys.com> |
|
|
||||||
| ERP | <https://erpnext.org/> | <https://erp.turnsys.com/> |
|
|
||||||
| WebForms | <https://easyforms.dev/> | <https://forms.turnsys.com> |
|
|
||||||
| Configuration management | <https://github.com/team-video/aviary.sh> | <https://git.turnsys.com/TSGTechops/ConfigMgmt> |
|
|
||||||
| Source code management | <https://gitea.io/en-us/> | <https://git.turnsys.com> |
|
|
||||||
| Docker registry | <https://goharbor.io/> | <https://docker-reg.turnsys.com> |
|
|
||||||
| Customer Helpdesk | <https://freescout.net/> | <https://support.turnsys.com> |
|
|
||||||
| Business logic/workflow execution | <https://github.com/huginn/huginn> | <https://huginn.turnsys.com> |
|
|
||||||
| Asset management/inventory | <https://glpi-project.org/> | <https://inventory.turnsys.com/> |
|
|
||||||
| Mobile Device Management | <https://www.flyve-mdm.com/> | <https://inventory.turnsys.com> |
|
|
||||||
| SSH Jump <audited,logged,2fa etc> | <https://www.bastillion.io/> | <https://jumpssh.turnsys.com/> |
|
|
||||||
| Code Notebook | <https://www.github.com/jupyter/enterprise_gateway> | <https://jupyter.turnsys.com> |
|
|
||||||
| Engineering Notebook | <https://www.elabftw.net/> | <https://labnotebook.turnsys.com> |
|
|
||||||
| Training/coursework | <https://www.instructure.com/canvas/> | <https://learn.turnsys.com> |
|
|
||||||
| Mail Archiving/retention/legal/regulatory hold | <https://www.mailpiler.org/wiki/start> | <https://legalhold.turnsys.com> |
|
|
||||||
| Email Discussion lists | Mailman | <https://mailman.turnsys.com> |
|
|
||||||
| Marketing Campaigns | <https://www.mautic.org/> | <https://marketing.iurnsys.com/> |
|
|
||||||
| Out of band system access | <https://www.meshcommander.com/meshcommander> | <https://meshoob.turnsys.net> |
|
|
||||||
| Budget/Finance analytics/modeling etc | <https://www.firefly-iii.org/> | <https://moneystuff.turnsys.com/> |
|
|
||||||
| Service Availability Monitoring | <https://www.librenms.org/> | <https://halfthefarm.turnsys.com/> |
|
|
||||||
| File sync/Groupware | <https://nextcloud.com/hub/> | <https://nextcloud.turnsys.com/> |
|
|
||||||
| Video surveillance | <https://shinobi.video/> | <https://nvr.turnsys.net> |
|
|
||||||
| Automated Security Auditing and reporting | <https://openvas.org/> | <https://openvas.turnsys.com/> |
|
|
||||||
| Pastebin | <https://github.com/claudehohl/Stikked> | <https://paste.turnsys.com> |
|
|
||||||
| IP Routing/firewalling/DHCP/IDS/IPS/Proxy etc | <https://opnsense.org/> | <https://pfv-core-rtr01.turnsys.net/> |
|
|
||||||
| IP Routing/firewalling/DHCP/IDS/IPS/Proxy etc | <https://opnsense.org/> | <https://pfv-core-rtr02.turnsys.net/> |
|
|
||||||
| Photo Management | <https://piwigo.org/> | <https://photos.turnsys.com/> |
|
|
||||||
| IP Address Management | <https://phpipam.net/> | <https://phpipam.turnsys.com/index.php?page=login> |
|
|
||||||
| Outbound Newsletters | <https://www.phplist.com/> | <https://phplist.turnsys.com/lists/admin/> |
|
|
||||||
| Password Management | <https://github.com/dani-garcia/bitwarden_rs> | <https://pwvault.turnsys.com> |
|
|
||||||
| Secrets Management | <https://github.com/envwarden/envwarden> | <https://pwvault.turnsys.com> |
|
|
||||||
| Read later | <https://wallabag.com>> | <https://readlater.turnsys.com> |
|
|
||||||
| Research archive management | <https://archivebox.io/> | <https://research.turnsys.com> |
|
|
||||||
| Document review/change tracking workflow | <https://www.reviewboard.org/> | <https://review.turnsys.com/> |
|
|
||||||
| RSS Feed Management | <https://www.freshrss.org/> | <https://rss.knownelement.com> |
|
|
||||||
| orchestration | <https://www.rundeck.com/open-source> | <https://rundeck.turnsys.net/> |
|
|
||||||
| Document Creation and management | <https://sandstorm.io/> | <https://sandstorm.turnsys.com> |
|
|
||||||
| Full text Search | <https://ambar.cloud/> | <https://search.turnsys.com> |
|
|
||||||
| Host IDS / SIEM | <https://wazuh.com/> | <https://siem.turnsys.com> |
|
|
||||||
| Streaming of live audio/video | <https://openstreamingplatform.com/> | <https://streaming.thepeernet.com/> |
|
|
||||||
| Backups | BareOS | <https://tsys-dc-01.turnsys.net/bareos-webui/> |
|
|
||||||
| Inbound PSTN voice communications | <https://www.sipwise.com/> | <https://voice.turnsys.com> |
|
|
||||||
| Voting | TBD | <https://voting.turnsys.com> |
|
|
||||||
| Web Analytics | <https://matomo.org/> | <https://webstats.turnsys.com/> |
|
|
||||||
| Shared whiteboard | <https://wbo.ophir.dev/> | <https://whiteboard.turnsys.com/> |
|
|
||||||
| 501c3 donor management/CRM | <https://civicrm.org/home> | <https://www.afabn.org/crm> |
|
|
||||||
| 501c4 donor management/CRM | <https://civicrm.org/home> | <https://www.sidedoorgroup.org/crm> |
|
|
||||||
| Streaming of time shifted audio/video | <https://git.turnsys.com/ThePeerNetwork/PodcastAsAServiceStack> | N/A |
|
|
||||||
| Serverless | <https://github.com/openfaas/faasd/> | N/A |
|
|
||||||
| Offline Root CA | <https://hohnstaedt.de/xca/> | N/A |
|
|
||||||
| On demand system provisioning | <https://maas.io/> | N/A |
|
|
||||||
| Internal CA | <https://github.com/cloudflare/cfssl> | N/A (API Driven) |
|
|
||||||
| Business Process Mapping | TBD | TBD |
|
|
||||||
| Computer aided dispatch | TBD | TBD |
|
|
||||||
| E-signature and contract management | TBD | TBD |
|
|
||||||
| Process mining | TBD | TBD |
|
|
||||||
>
|
|
||||||
|
|
||||||
## R&D Applications
|
|
||||||
|
|
||||||
These are thick client applications installed locally on a developer workstation.
|
|
||||||
|
|
||||||
This software has two modes of deployment:
|
|
||||||
|
|
||||||
- downloaded from the vendor and setup on your physical workstation (used for dev/testing/experimenting)
|
|
||||||
- downloaded from the /subo directory and ran on your physical workstation or run from the /subo directory on a virtual workstation you login to remotely
|
|
||||||
|
|
||||||
The software that is built/deployed in /subo is the only version approved for production use.
|
|
||||||
|
|
||||||
The exception to that is if it has an OTS notation next to it's name, in which case you can use the latest stable version from the vendor.
|
|
||||||
|
|
||||||
| Program | Used By | Link | Product Scope |
|
|
||||||
| -------------------- | ------------------ | ------------------------------------------------------------------------ | ------------------------------------------------- |
|
|
||||||
| android studio (OTS) | Team-SwEng | <https://developer.android.com/studio> | MorsePod |
|
|
||||||
| argouml (OTS) | All | <https://github.com/argouml-tigris-org/argouml> | All |
|
|
||||||
| bitwaden (OTS) | All | <https://bitwarden.com/> | N/A |
|
|
||||||
| Blender | Team-MechEng/HwEng | <https://www.blender.org/> | MorseFlyer, MorseSkynet |
|
|
||||||
| bonita (OTS) | All | <https://www.bonitasoft.com/> | All |
|
|
||||||
| calibre (OTS) | All | <https://calibre-ebook.com/> | N/a |
|
|
||||||
| camotics | Team-MechEng | <https://camotics.org/> | MorseFlyer (avionics), MorseSkynet |
|
|
||||||
| chisel | Team-HwEng | <https://www.chisel-lang.org/> | MorseSkynet |
|
|
||||||
| CodeAster | Team-MechEng | <https://www.code-aster.org/V2/spip.php?rubrique2> | MorseFlyer (envelope/parafoil/airframe) |
|
|
||||||
| Cubit Toolkit | Team-MechEng | <https://cubit.sandia.gov/> | MorseFlyer (envelope/parafoil/airframe) |
|
|
||||||
| CUDA SDK | Team-HwEng | <https://developer.nvidia.com/cuda-zone> | MorseFlyer (envelope/parafoil/airframe) |
|
|
||||||
| Cura | Team-MechEng | <https://ultimaker.com/software/ultimaker-cura> | MorseFlyer (envelope/parafoil/airframe) |
|
|
||||||
| DbEaver(OTS) | Team-SwEng | <https://dbeaver.io/> | MorseFlyer(avionics), RacKRental.net, HFNOC |
|
|
||||||
| docear (OTS) | All | <https://docear.org/> | N/A |
|
|
||||||
| Docker Desktop (OTS) | All | <https://www.docker.com/products/docker-desktop> | All |
|
|
||||||
| embitz (OTS) | Team-SwEng/HwEng | <https://www.embitz.org/> | MorseSkynet |
|
|
||||||
| Esim | Team-HwEng | <https://esim.fossee.in/> | MorseFlyer (avionics), MorseSkynet |
|
|
||||||
| Flora | Team-HwEng/SwEng | <https://flora.aalto.fi/> | MorseFlyer (avionics), MorseSkynet |
|
|
||||||
| Freecad | Team-MechEng/HwEng | <https://github.com/FreeCAD> | MorseFlyer, MorseSkynet |
|
|
||||||
| gerber2graphtec | Team-HwEng | <https://github.com/pmonta/gerber2graphtec> | MorseFlyer, MorseSkynet |
|
|
||||||
| gerber2graphtec | Team-HwEng | <https://github.com/colinoflynn/gerber2graphtec/>> | MorseFlyer, MorseSkynet |
|
|
||||||
| Gerby | Team-HwEng | <http://gerbv.geda-project.org/> | MorseFlyer (avionics), MorseSkynet |
|
|
||||||
| ghidra (OTS) | Team-SwEng | <https://ghidra-sre.org/> | ALl (SDLC) |
|
|
||||||
| gnuradio | Team-HwEng | <https://www.gnuradio.org/> | MorseSkynet |
|
|
||||||
| GprMax | Team-HwEng | <https://github.com/gprMax/gprMax> | MorseFlyer (avionics), MorseSkynet |
|
|
||||||
| grass gis (OTS) | Team-SwEng | <https://grass.osgeo.org/> | HFNOC |
|
|
||||||
| graywolf | Team-HwEng | <https://github.com/rubund/graywolf> | MorseSkynet |
|
|
||||||
| inkscape | Team-HwEng/MechEng | <https://inkscape.org/> | MorseFlyer, MorseSkynet |
|
|
||||||
| jxplorer (OTS) | Team-IT | <http://jxplorer.org/> | HFNOC/HFNFC |
|
|
||||||
| keybase | All | <https://keybase.io> | N/A |
|
|
||||||
| Kicad | Team-HwEng | <https://gitlab.com/kicad/code/kicad> | MorseFlyer (avionics), MorseSkynet |
|
|
||||||
| Librecad | Team-MechEng/HwEng | <https://librepcb.org/> | MorseFlyer, MorseSkynet |
|
|
||||||
| LibrePCB | Team-hwEng | <https://librepcb.org/> | MorseFlyer (avionics), MorseSkynet |
|
|
||||||
| metasploit | Team-SwEng | <https://github.com/rapid7/metasploit-framework/wiki/Nightly-Installers> | All (SDLC) |
|
|
||||||
| Microsoft R (OTS) | Team-HwEng | <https://mran.microsoft.com/open> | MorseFlyer (envelope/parafoil/airframe)(avionics) |
|
|
||||||
| NasaTran95 | Team_MechEng | <https://github.com/nasa/trick> | MorseFlyer (envelope/parafoil/airframe) |
|
|
||||||
| NasaTrick | Team_MechEng | <https://github.com/nasa/trick> | MorseFlyer (envelope/parafoil/airframe) |
|
|
||||||
| NgSpice | Team-HwEng | <http://ngspice.sourceforge.net/resources.html> | MorseFlyer (avionics), MorseSkynet |
|
|
||||||
| obs (OTS) | All | <https://obsproject.com/> | N/A |
|
|
||||||
| Octave | Team-MechEng | <https://hg.savannah.gnu.org/hgweb/octave> | MorseFlyer (envelope/parafoil/airframe) |
|
|
||||||
| OneLAB | Team-MechEng | <http://onelab.info/> | MorseFlyer (envelope/parafoil/airframe) |
|
|
||||||
| open 3d model viewer | Team-MechEng | <https://acgessler.github.io/open3mod/> | MorseFlyer (envelope/parafoil/airframe) |
|
|
||||||
| OpenGribs | Team-SwEng | <https://opengribs.org/en/> | HFNOC |
|
|
||||||
| openscap (OTS) | Team-IT | <https://www.open-scap.org/tools/scap-workbench/> | All (SDLC) |
|
|
||||||
| OpenVSP | Team-MechEng | <http://openvsp.org/> | MorseFlyer (envelope/parafoil/airframe) |
|
|
||||||
| OWASP Threat Dragon | Team-SwEng | <https://owasp.org/www-project-threat-dragon/> | All (SDLC) |
|
|
||||||
| Pandoc (OTS) | All | <https://pandoc.org/> | All |
|
|
||||||
| Paraview | Team-MechEng | <https://www.paraview.org/> | MorseFlyer (envelope/parafoil/airframe) |
|
|
||||||
| PHP runtime | Team-SwEng | <http://devilbox.org/> | RackRental |
|
|
||||||
| polar (OTS) | All | <https://getpolarized.io/> | N/a |
|
|
||||||
| postman (OTS) | Team-SwEng | <https://www.postman.com/> | RackRental/HFNOC |
|
|
||||||
| qgis (OTS) | Team-SwEng | <https://qgis.org/en/site/> | HFNOC |
|
|
||||||
| qrouter | Team-HwEng | <http://opencircuitdesign.com/qrouter/> | MorseFlyer (avionics), MorseSkynet |
|
|
||||||
| rstudio (OTS) | Team-HwEng | <https://www.rstudio.com/> | MorseFlyer (envelope/parafoil/airframe) |
|
|
||||||
| SciKit-RF | Team-HwEng | <https://scikit-rf.readthedocs.io/en/latest/> | MorseFlyer (avionics), MorseSkynet |
|
|
||||||
| SciLab | Team-MechEng | <https://www.scilab.org/> | MorseFlyer (envelope/parafoil/airframe) |
|
|
||||||
| sdrsharp | Team-HwEng | <https://www.rtl-sdr.com/tag/sdrsharp/> | MorseSkynet |
|
|
||||||
| Solvespace | Team-MechEng | <https://solvespace.com/index.pl> | MorseFlyer, MorseSkynet |
|
|
||||||
| sweethome3d (OTS) | Team-MechEng | <http://www.sweethome3d.com/> | MorseCollective |
|
|
||||||
| udig (OTS) | Team-SwEng | <http://udig.refractions.net/> | HFNOC |
|
|
||||||
| VirtualSatellite | Team_MechEng | <https://github.com/virtualsatellite> | MorseFlyer (envelope/parafoil/airframe) |
|
|
||||||
| vym (OTS) | All | <http://www.insilmaril.de/vym/> | All |
|
|
||||||
| Warp3d | Team_MechEng | <http://www.warp3d.net/> | MorseFlyer (envelope/parafoil/airframe) |
|
|
||||||
| worldwind (OTS) | Team-HwEng | <https://worldwind.arc.nasa.gov/> | HFNOC |
|
|
||||||
| xilinx | Team-HwEng | <https://www.xilinx.com/> | MorseSkynet |
|
|
||||||
| Xilinx | Team-HwEng | <https://www.xilinx.com/support/download.html> | MorseSkynet |
|
|
||||||
| YoSys | Team-HwEng | <http://www.clifford.at/yosys/> | MorseSkynet |
|
|
||||||
| Evolus Pencil | Team-Design | <https://pencil.evolus.vn/> | All |
|
|
||||||
| yEd | Team-Design | <https://www.yworks.com/products/yed> | All |
|
|
||||||
| oss-fuzz | Team-IT | <https://github.com/google/oss-fuzz> | All |
|
|
||||||
| cluster fuzz | Team-IT | <https://github.com/google/clusterfuzz> | All |
|
|
||||||
|
@@ -1,98 +1 @@
|
|||||||
# TSYS Group Web Application Runtime Layer
|
# Systems - Runtime Environment for Hosted Services
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
The TSYS Group needs a web application runtime layer for it's myriad of applications.
|
|
||||||
|
|
||||||
## Broad Requirements for runtime layer
|
|
||||||
|
|
||||||
* No single point of failure
|
|
||||||
* High availability/auto recovery for containers
|
|
||||||
* Distributed/replicated persistent storage for containers
|
|
||||||
|
|
||||||
## Major components of runtime environment
|
|
||||||
|
|
||||||
### storage
|
|
||||||
|
|
||||||
Replicated storage that fulfills the persistent volume claim of docker containers.
|
|
||||||
|
|
||||||
Deployed on www1,2,3 virtual machines (k3s worker nodes).
|
|
||||||
Deployed on subord virtual machine (k3s worker node for r&d).
|
|
||||||
|
|
||||||
Using longhorn
|
|
||||||
|
|
||||||
### container runtime, control plane, control panel
|
|
||||||
|
|
||||||
* Kubernetes load balancer , (metallb). Only TCP load balancing is used , as all intelligence (certs/layer 7 etc) is handled by Opnsense
|
|
||||||
* Kubernetes runtime environment (k3s from Rancher labs)
|
|
||||||
* workers
|
|
||||||
* control plane
|
|
||||||
* control panel
|
|
||||||
* Kubernetes runtime environment control panel
|
|
||||||
* Rancher
|
|
||||||
* authenticates to TSYS LDAP
|
|
||||||
|
|
||||||
Control plane is deployed on db1,2,3
|
|
||||||
|
|
||||||
Workers are deployed on www1,2,3
|
|
||||||
|
|
||||||
### Core container functionality (running as containers on the platform)
|
|
||||||
|
|
||||||
* docker registry
|
|
||||||
* IAM
|
|
||||||
* API gateway
|
|
||||||
* Jenkins
|
|
||||||
* all the above installed as containers running on the kubernetes runtime.
|
|
||||||
* all the above configured for LDAP authentication
|
|
||||||
* all the above no other configuration of the components would be in scope
|
|
||||||
|
|
||||||
### Applications to deploy/migrate on the runtime platform
|
|
||||||
|
|
||||||
### PAAS
|
|
||||||
|
|
||||||
* blue/green and other standard deployment methodologies
|
|
||||||
* able to auto deploy from ci/cd
|
|
||||||
* orchestrate all of the primitives (load balancer, port assignment etc) (docker-compose target? helm chart? is Rancher suitable?)
|
|
||||||
|
|
||||||
## General notes
|
|
||||||
|
|
||||||
## A suggested prescriptive technical stack / Work done so far
|
|
||||||
|
|
||||||
Followed some of this howto:
|
|
||||||
<https://rene.jochum.dev/rancher-k3s-with-galera/>
|
|
||||||
|
|
||||||
Enough to get k3s control plane and workers deployed:
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
root@db1:/var/log/maxscale# kubectl get nodes -o wide
|
|
||||||
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
|
|
||||||
db2 Ready control-plane,master 30d v1.20.4+k3s1 10.251.51.2 <none> Ubuntu 20.04.2 LTS 5.4.0-70-generic containerd://1.4.3-k3s3
|
|
||||||
db3 Ready control-plane,master 30d v1.20.4+k3s1 10.251.51.3 <none> Ubuntu 20.04.2 LTS 5.4.0-70-generic containerd://1.4.3-k3s3
|
|
||||||
db1 Ready control-plane,master 30d v1.20.4+k3s1 10.251.51.1 <none> Ubuntu 20.04.2 LTS 5.4.0-70-generic containerd://1.4.3-k3s3
|
|
||||||
www1 Ready <none> 30d v1.20.4+k3s1 10.251.50.1 <none> Ubuntu 20.04.2 LTS 5.4.0-70-generic containerd://1.4.3-k3s3
|
|
||||||
www2 Ready <none> 30d v1.20.4+k3s1 10.251.50.2 <none> Ubuntu 20.04.2 LTS 5.4.0-70-generic containerd://1.4.3-k3s3
|
|
||||||
root@db1:/var/log/maxscale#
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
and a bit of load balancing setup going:
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
fenixpi% kubectl get pods -A -o wide
|
|
||||||
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
|
|
||||||
metallb-system speaker-7nsvs 1/1 Running 10 30d 10.251.51.2 db2 <none> <none>
|
|
||||||
kube-system metrics-server-86cbb8457f-64ckz 1/1 Running 18 16d 10.42.2.23 db1 <none> <none>
|
|
||||||
kube-system local-path-provisioner-5ff76fc89d-kcg7k 1/1 Running 34 16d 10.42.2.22 db1 <none> <none>
|
|
||||||
metallb-system controller-fb659dc8-m2tlk 1/1 Running 12 30d 10.42.0.42 db3 <none> <none>
|
|
||||||
metallb-system speaker-vfh2p 1/1 Running 17 30d 10.251.51.3 db3 <none> <none>
|
|
||||||
kube-system coredns-854c77959c-59kpz 1/1 Running 13 30d 10.42.0.41 db3 <none> <none>
|
|
||||||
kube-system ingress-nginx-controller-7fc74cf778-qxdpr 1/1 Running 15 30d 10.42.0.40 db3 <none> <none>
|
|
||||||
metallb-system speaker-7bzlw 1/1 Running 3 30d 10.251.50.2 www2 <none> <none>
|
|
||||||
metallb-system speaker-hdwkm 0/1 CrashLoopBackOff 4633 30d 10.251.51.1 db1 <none> <none>
|
|
||||||
metallb-system speaker-nhzf6 0/1 CrashLoopBackOff 1458 30d 10.251.50.1 www1 <none> <none>
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
Beyond that, it's greenfield.
|
|
||||||
|
@@ -1,94 +1 @@
|
|||||||
# TSYS Group - IT Documentation - Applications - Web Server Setup
|
# Systems - Web Server Configuration
|
||||||
|
|
||||||
- [TSYS Group - IT Documentation - Applications - Web Server Setup](#tsys-group-it-documentation-applications-web-server-setup)
|
|
||||||
- [packages to install](#packages-to-install)
|
|
||||||
- [php modifications](#php-modifications)
|
|
||||||
- [memcache](#memcache)
|
|
||||||
- [php config changes](#php-config-changes)
|
|
||||||
- [apache](#apache)
|
|
||||||
- [apache configuration mods needed](#apache-configuration-mods-needed)
|
|
||||||
- [apache modules needed](#apache-modules-needed)
|
|
||||||
- [apache tweaks performed](#apache-tweaks-performed)
|
|
||||||
- [scripts to load](#scripts-to-load)
|
|
||||||
- [TSYS root ca and UCS DC root cert](#tsys-root-ca-and-ucs-dc-root-cert)
|
|
||||||
|
|
||||||
These notes capture actions taken to build the www vm around 9/15 to 10/1 2020.
|
|
||||||
|
|
||||||
## packages to install
|
|
||||||
|
|
||||||
* php stuff and other packages needed :
|
|
||||||
|
|
||||||
```console
|
|
||||||
sudo apt install memcached php7.4 php7.4-mysqli php7.4-fpm php7.4-mbstring php7.4-xml php7.4-imap php7.4-json php7.4-zip php7.4-gd php7.4-curl php7.4-ldap php7.4-gd php7.4-gmp php-par php-apcu jq unzip python3-pip —no-install-recommends
|
|
||||||
```
|
|
||||||
|
|
||||||
## php modifications
|
|
||||||
|
|
||||||
### memcache
|
|
||||||
|
|
||||||
root@www:/etc/php/7.4/fpm/conf.d# grep -v ^\; 20-memcache.ini
|
|
||||||
|
|
||||||
extension=memcache.so
|
|
||||||
|
|
||||||
[memcache]
|
|
||||||
memcache.allow_failover="1"
|
|
||||||
memcache.max_failover_attempts="20"
|
|
||||||
memcache.default_port="11211"
|
|
||||||
memcache.hash_strategy="consistent"
|
|
||||||
session.save_handler="memcache"
|
|
||||||
session.save_path = 'tcp://10.251.51.1:11211,tcp://10.251.51.2:11211,tcp://10.251.51.3:11211'
|
|
||||||
memcache.redundancy=1
|
|
||||||
memcache.session_redundancy=4
|
|
||||||
|
|
||||||
### php config changes
|
|
||||||
|
|
||||||
Timezone
|
|
||||||
|
|
||||||
## apache
|
|
||||||
|
|
||||||
### apache configuration mods needed
|
|
||||||
|
|
||||||
-- alter site config for fpm socket to php7.4-fpm (from 7.3) (socket path)
|
|
||||||
|
|
||||||
### apache modules needed
|
|
||||||
|
|
||||||
* headers
|
|
||||||
* deflate
|
|
||||||
* rewrite
|
|
||||||
* proxy
|
|
||||||
* proxy_http
|
|
||||||
* proxy_fcgi
|
|
||||||
* cache_disk
|
|
||||||
|
|
||||||
### apache tweaks performed
|
|
||||||
|
|
||||||
* 1153 sudo a2dismod mpm_prefork
|
|
||||||
* 1154 sudo a2enmod mpm_event
|
|
||||||
* 1155 sudo apt install libapache2-mod-fcgid
|
|
||||||
* 1156 sudo a2enconf php7.2-fpm
|
|
||||||
* 1157 sudo a2enconf php7.-fpm
|
|
||||||
* 1158 sudo a2enconf php7.4-fpm
|
|
||||||
|
|
||||||
## scripts to load
|
|
||||||
|
|
||||||
```console
|
|
||||||
sandstorm-cert.sh
|
|
||||||
|
|
||||||
certbot certonly --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory --manual-public-ip-logging-ok -d '*.sandstorm.turnsys.com' -d sandstorm.turnsys.com
|
|
||||||
```
|
|
||||||
|
|
||||||
## TSYS root ca and UCS DC root cert
|
|
||||||
|
|
||||||
Without having the domain root cert present, none of the apps will be able to validate teh domain controller certificate presented during authentication.
|
|
||||||
|
|
||||||
```console
|
|
||||||
|
|
||||||
root@www:/usr/local/share/ca-certificates# ls -l
|
|
||||||
total 12
|
|
||||||
drwxr-xr-x 2 root root 4096 Sep 28 20:43 extra
|
|
||||||
lrwxrwxrwx 1 root root 13 Sep 28 20:44 tsys-root.crt -> tsys-root.pem
|
|
||||||
-r--r--r-- 1 root root 822 Sep 28 20:43 tsys-root.pem
|
|
||||||
lrwxrwxrwx 1 root root 12 Sep 28 20:44 ucs-root.crt -> ucs-root.pem
|
|
||||||
-rw-r--r-- 1 root root 2094 Sep 28 20:43 ucs-root.pem
|
|
||||||
root@www:/usr/local/share/ca-certificates#
|
|
||||||
```
|
|
||||||
|
@@ -1,50 +1 @@
|
|||||||
# TSYS Group - HQ data center documentation - cooling
|
# Systems - Cooling
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
Cooling is a critical component of any data center. It is often the dominate consumer of energy.
|
|
||||||
|
|
||||||
We keep our data center at about 70 degrees F.
|
|
||||||
|
|
||||||
## Make / model
|
|
||||||
|
|
||||||
We have a
|
|
||||||
|
|
||||||
* HiSense Portable Air Conditioner (standalone) the manual lists several possible models, unsure which exact one we have. It was about 700.00 at Lowes with a multiple year replacement warranty.
|
|
||||||
|
|
||||||
which is rated for:
|
|
||||||
|
|
||||||
* 15,000 BTU
|
|
||||||
|
|
||||||
It draws about 7 amps when the compressor is running.
|
|
||||||
|
|
||||||
With our heat load, the compressor does cycle on/off ,so it keeps cool pretty efficiently from an energy perspective.
|
|
||||||
|
|
||||||
## Tips/tricks
|
|
||||||
|
|
||||||
* Extended exhaust house
|
|
||||||
|
|
||||||
We moved the air conditioner to the front of the racks (cold aisle) and extended the exhaust
|
|
||||||
hose todo so.
|
|
||||||
|
|
||||||
* Heat barrier
|
|
||||||
|
|
||||||
We deployed a cardboard heat barrier above the racks, to keep hot air behind the racks. We also have a vent duct (made of cardboard) to a panel we removed above the doorway.
|
|
||||||
|
|
||||||
* Insulation
|
|
||||||
|
|
||||||
* Insulate the exhaust hose!
|
|
||||||
|
|
||||||
* Air movers
|
|
||||||
* We have a tower fan in the hot row (back), pushing the heat towards the duct.
|
|
||||||
* We have two small blowers in the cold row (front) helping "kick back" the air blowing from the HiSense.
|
|
||||||
|
|
||||||
## Instrumentation
|
|
||||||
|
|
||||||
We use:
|
|
||||||
|
|
||||||
* temper usb probe
|
|
||||||
* lm-sensors
|
|
||||||
* DRAC
|
|
||||||
|
|
||||||
all consumed via SNMP by librenms to monitor/alert on temperature.This lets us find hot/cold spots across the racks and make any necessary adjustments.
|
|
||||||
|
@@ -1,80 +0,0 @@
|
|||||||
pfv-servers - performance
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## vm 1-3 (optiplex)
|
|
||||||
|
|
||||||
### Commands to run
|
|
||||||
|
|
||||||
* cpupower frequency-set --governor performance
|
|
||||||
|
|
||||||
|
|
||||||
### links to reference
|
|
||||||
https://itectec.com/ubuntu/ubuntu-how-to-set-performance-instead-of-powersave-as-default/
|
|
||||||
https://www.cult-of-tech.net/2018/08/linux-ubuntu-cpu-power-frequency-scaling/
|
|
||||||
https://askubuntu.com/questions/1021748/set-cpu-governor-to-performance-in-18-04
|
|
||||||
|
|
||||||
https://metebalci.com/blog/a-minimum-complete-tutorial-of-cpu-power-management-c-states-and-p-states/
|
|
||||||
|
|
||||||
## vm 4/6 (xeon poweredge)
|
|
||||||
|
|
||||||
Appears to only run at the full frequency (which is what I want)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Keep the NIC awake
|
|
||||||
|
|
||||||
notes taken on 03/20/2021 at 18:28
|
|
||||||
|
|
||||||
|
|
||||||
vm1/2/3 use intel nic
|
|
||||||
|
|
||||||
https://downloadcenter.intel.com/download/15817 is the driver (e1000e)
|
|
||||||
|
|
||||||
### vm1
|
|
||||||
root@pfv-vm1:/usr/local/bin# ethtool -i eno1
|
|
||||||
driver: e1000e
|
|
||||||
version: 3.2.6-k
|
|
||||||
firmware-version: 0.13-4
|
|
||||||
expansion-rom-version:
|
|
||||||
bus-info: 0000:00:19.0
|
|
||||||
supports-statistics: yes
|
|
||||||
supports-test: yes
|
|
||||||
supports-eeprom-access: yes
|
|
||||||
supports-register-dump: yes
|
|
||||||
supports-priv-flags: no
|
|
||||||
|
|
||||||
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I217-LM (rev 04)
|
|
||||||
|
|
||||||
|
|
||||||
### vm2
|
|
||||||
|
|
||||||
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 04)
|
|
||||||
|
|
||||||
root@pfv-vmsrv-02:~# ethtool -i enp0s25
|
|
||||||
driver: e1000e
|
|
||||||
version: 3.2.6-k
|
|
||||||
firmware-version: 0.13-3
|
|
||||||
expansion-rom-version:
|
|
||||||
bus-info: 0000:00:19.0
|
|
||||||
supports-statistics: yes
|
|
||||||
supports-test: yes
|
|
||||||
supports-eeprom-access: yes
|
|
||||||
supports-register-dump: yes
|
|
||||||
supports-priv-flags: no
|
|
||||||
|
|
||||||
### vm3
|
|
||||||
|
|
||||||
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 04)
|
|
||||||
|
|
||||||
ethtool -i enp0s25
|
|
||||||
driver: e1000e
|
|
||||||
version: 3.2.6-k
|
|
||||||
firmware-version: 0.13-4
|
|
||||||
expansion-rom-version:
|
|
||||||
bus-info: 0000:00:19.0
|
|
||||||
supports-statistics: yes
|
|
||||||
supports-test: yes
|
|
||||||
supports-eeprom-access: yes
|
|
||||||
supports-register-dump: yes
|
|
||||||
supports-priv-flags: no
|
|
@@ -1,10 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
#Script to set performance.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
cpufreq-set -r -g performance
|
|
||||||
cpupower frequency-set --governor performance
|
|
||||||
|
|
||||||
|
|
@@ -1,59 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#Setup a new server base
|
|
||||||
|
|
||||||
#curl -s http://dl.turnsys.net/newSrv.sh|/bin/bash
|
|
||||||
|
|
||||||
apt-get -y --purge remove nano
|
|
||||||
apt-get -y install ntp ntpdate
|
|
||||||
systemctl stop ntp
|
|
||||||
ntpdate 10.251.37.5
|
|
||||||
apt-get update
|
|
||||||
apt-get -y full-upgrade
|
|
||||||
apt-get -y install glances htop dstat snmpd screen lldpd lsb-release net-tools sudo gpg molly-guard lshw
|
|
||||||
|
|
||||||
rm -rf /usr/local/librenms-agent
|
|
||||||
|
|
||||||
curl -s http://dl.turnsys.net/librenms-agent/distro > /usr/local/bin/distro
|
|
||||||
chmod +x /usr/local/bin/distro
|
|
||||||
|
|
||||||
curl -s http://dl.turnsys.net/librenms.tar.gz > /usr/local/librenms.tar.gz
|
|
||||||
cd /usr/local ; tar xfs librenms.tar.gz
|
|
||||||
|
|
||||||
systemctl stop snmpd ; curl -s http://dl.turnsys.net/snmpd.conf > /etc/snmp/snmpd.conf
|
|
||||||
|
|
||||||
sed -i "s|-Lsd|-LS6d|" /lib/systemd/system/snmpd.service
|
|
||||||
systemctl daemon-reload
|
|
||||||
systemctl restart snmpd
|
|
||||||
|
|
||||||
/etc/init.d/rsyslog stop
|
|
||||||
|
|
||||||
cat <<EOF> /etc/rsyslog.conf
|
|
||||||
# /etc/rsyslog.conf configuration file for rsyslog
|
|
||||||
#
|
|
||||||
# For more information install rsyslog-doc and see
|
|
||||||
# /usr/share/doc/rsyslog-doc/html/configuration/index.html
|
|
||||||
|
|
||||||
|
|
||||||
#################
|
|
||||||
#### MODULES ####
|
|
||||||
#################
|
|
||||||
|
|
||||||
module(load="imuxsock") # provides support for local system logging
|
|
||||||
module(load="imklog") # provides kernel logging support
|
|
||||||
#module(load="immark") # provides --MARK-- message capability
|
|
||||||
|
|
||||||
*.* @10.251.30.1:514
|
|
||||||
EOF
|
|
||||||
|
|
||||||
/etc/init.d/rsyslog start
|
|
||||||
logger "hi hi from $(hostname)"
|
|
||||||
|
|
||||||
|
|
||||||
bash <(curl -Ss https://my-netdata.io/kickstart.sh) --dont-wait
|
|
||||||
|
|
||||||
|
|
||||||
echo "deb http://download.webmin.com/download/repository sarge contrib" > /etc/apt/sources.list.d/webmin.list
|
|
||||||
wget -q -O- http://www.webmin.com/jcameron-key.asc | sudo apt-key add
|
|
||||||
sudo apt update
|
|
||||||
sudo apt-get -y install webmin
|
|
||||||
|
|
@@ -1,36 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#install dell omsa
|
|
||||||
|
|
||||||
#curl -s http://dl.turnsys.net/omsa.sh|/bin/bash
|
|
||||||
|
|
||||||
gpg --keyserver hkp://pool.sks-keyservers.net:80 --recv-key 1285491434D8786F
|
|
||||||
gpg -a --export 1285491434D8786F | apt-key add -
|
|
||||||
echo "deb http://linux.dell.com/repo/community/openmanage/930/bionic bionic main" > /etc/apt/sources.list.d/linux.dell.com.sources.list
|
|
||||||
wget http://archive.ubuntu.com/ubuntu/pool/universe/o/openwsman/libwsman-curl-client-transport1_2.6.5-0ubuntu3_amd64.deb
|
|
||||||
wget http://archive.ubuntu.com/ubuntu/pool/universe/o/openwsman/libwsman-client4_2.6.5-0ubuntu3_amd64.deb
|
|
||||||
wget http://archive.ubuntu.com/ubuntu/pool/universe/o/openwsman/libwsman1_2.6.5-0ubuntu3_amd64.deb
|
|
||||||
wget http://archive.ubuntu.com/ubuntu/pool/universe/o/openwsman/libwsman-server1_2.6.5-0ubuntu3_amd64.deb
|
|
||||||
wget http://archive.ubuntu.com/ubuntu/pool/universe/s/sblim-sfcc/libcimcclient0_2.2.8-0ubuntu2_amd64.deb
|
|
||||||
wget http://archive.ubuntu.com/ubuntu/pool/universe/o/openwsman/openwsman_2.6.5-0ubuntu3_amd64.deb
|
|
||||||
wget http://archive.ubuntu.com/ubuntu/pool/multiverse/c/cim-schema/cim-schema_2.48.0-0ubuntu1_all.deb
|
|
||||||
wget http://archive.ubuntu.com/ubuntu/pool/universe/s/sblim-sfc-common/libsfcutil0_1.0.1-0ubuntu4_amd64.deb
|
|
||||||
wget http://archive.ubuntu.com/ubuntu/pool/multiverse/s/sblim-sfcb/sfcb_1.4.9-0ubuntu5_amd64.deb
|
|
||||||
wget http://archive.ubuntu.com/ubuntu/pool/universe/s/sblim-cmpi-devel/libcmpicppimpl0_2.0.3-0ubuntu2_amd64.deb
|
|
||||||
dpkg -i libwsman-curl-client-transport1_2.6.5-0ubuntu3_amd64.deb
|
|
||||||
dpkg -i libwsman-client4_2.6.5-0ubuntu3_amd64.deb
|
|
||||||
dpkg -i libwsman1_2.6.5-0ubuntu3_amd64.deb
|
|
||||||
dpkg -i libwsman-server1_2.6.5-0ubuntu3_amd64.deb
|
|
||||||
dpkg -i libcimcclient0_2.2.8-0ubuntu2_amd64.deb
|
|
||||||
dpkg -i openwsman_2.6.5-0ubuntu3_amd64.deb
|
|
||||||
dpkg -i cim-schema_2.48.0-0ubuntu1_all.deb
|
|
||||||
dpkg -i libsfcutil0_1.0.1-0ubuntu4_amd64.deb
|
|
||||||
dpkg -i sfcb_1.4.9-0ubuntu5_amd64.deb
|
|
||||||
dpkg -i libcmpicppimpl0_2.0.3-0ubuntu2_amd64.deb
|
|
||||||
|
|
||||||
apt update
|
|
||||||
#apt -y install srvadmin-all
|
|
||||||
touch /opt/dell/srvadmin/lib64/openmanage/IGNORE_GENERATION
|
|
||||||
|
|
||||||
#logout,login, then run
|
|
||||||
# srvadmin-services.sh enable && srvadmin-services.sh start
|
|
||||||
|
|
@@ -1,12 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#Make a proxmox server
|
|
||||||
|
|
||||||
rm -f /etc/apt/sources.list.d/*
|
|
||||||
echo "deb http://download.proxmox.com/debian/pve buster pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
|
|
||||||
wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
|
|
||||||
chmod +r /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg # optional, if you have a non-default umask
|
|
||||||
apt update && apt -y full-upgrade
|
|
||||||
apt-get -y install ifupdown2 ipmitool ethtool net-tools lshw
|
|
||||||
|
|
||||||
curl -s http://dl.turnsys.net/newSrv.sh|/bin/bash
|
|
||||||
|
|
@@ -1,17 +1 @@
|
|||||||
# PFV Local Area Network
|
# Systems - TSYS HQ LAN
|
||||||
|
|
||||||
- [PFV Local Area Network](#pfv-local-area-network)
|
|
||||||
- [Introduction](#introduction)
|
|
||||||
- [Subnets](#subnets)
|
|
||||||
- [Diagram](#diagram)
|
|
||||||
- [Security considerations](#security-considerations)
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
## Subnets
|
|
||||||
|
|
||||||
- 10.251.0.0/16 (See phpipam for all the particulars)
|
|
||||||
|
|
||||||
## Diagram
|
|
||||||
|
|
||||||
## Security considerations
|
|
||||||
|
@@ -1,62 +1 @@
|
|||||||
# PFV WAN
|
# Systems - TSYS HQ WAN
|
||||||
|
|
||||||
- [PFV WAN](#pfv-wan)
|
|
||||||
- [Introduction](#introduction)
|
|
||||||
- [Provider](#provider)
|
|
||||||
- [IP Allocation](#ip-allocation)
|
|
||||||
- [Diagram](#diagram)
|
|
||||||
- [Security considerations](#security-considerations)
|
|
||||||
- [Availaiblity considerations](#availaiblity-considerations)
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
The HQ data center provides both corporate network and WAN services. We utilize AT&T Uverse Busienss CLass VDSL service for IP transit.
|
|
||||||
|
|
||||||
### Provider
|
|
||||||
|
|
||||||
- AT&T Uverse
|
|
||||||
- Business DSL (fiber overbuild is projected for late 2021)
|
|
||||||
- 60 down/20 up is what I see in speed tests
|
|
||||||
|
|
||||||
## IP Allocation
|
|
||||||
|
|
||||||
- Static IP setup : <https://forums.att.com/conversations/att-internet-features/how-do-i-setup-an-att-internet-static-ip/5defee02bad5f2f606ea4054>
|
|
||||||
|
|
||||||
```text
|
|
||||||
Broadband Connection Up
|
|
||||||
Broadband Network Type Lightspeed
|
|
||||||
Broadband IPv4 Address 107.140.191.0
|
|
||||||
Gateway IPv4 Address 107.140.188.1
|
|
||||||
MAC Address 84:bb:69:e1:b1:e1
|
|
||||||
Primary DNS 68.94.156.9
|
|
||||||
Secondary DNS 68.94.157.9
|
|
||||||
Primary DNS Name
|
|
||||||
Secondary DNS Name
|
|
||||||
```
|
|
||||||
|
|
||||||
```text
|
|
||||||
Address: 104.182.29.16 01101000.10110110.00011101.00010 000
|
|
||||||
Netmask: 255.255.255.248 = 29 11111111.11111111.11111111.11111 000
|
|
||||||
Wildcard: 0.0.0.7 00000000.00000000.00000000.00000 111
|
|
||||||
=>
|
|
||||||
Network: 104.182.29.16/29 01101000.10110110.00011101.00010 000 (Class A)
|
|
||||||
Broadcast: 104.182.29.23 01101000.10110110.00011101.00010 111
|
|
||||||
HostMin: 104.182.29.17 01101000.10110110.00011101.00010 001
|
|
||||||
HostMax: 104.182.29.22 01101000.10110110.00011101.00010 110
|
|
||||||
Hosts/Net: 6
|
|
||||||
```
|
|
||||||
|
|
||||||
- 104.182.29.16 (network address)
|
|
||||||
- 104.182.29.17 rtr1
|
|
||||||
- 104.182.29.18 rtr2
|
|
||||||
- 104.182.29.19 float
|
|
||||||
- 104.182.29.20 FNFMail
|
|
||||||
- 104.182.29.21 WWW testing
|
|
||||||
- 104.182.29.22 (gateway)
|
|
||||||
- 104.182.29.23 (broadcast)
|
|
||||||
|
|
||||||
## Diagram
|
|
||||||
|
|
||||||
## Security considerations
|
|
||||||
|
|
||||||
## Availaiblity considerations
|
|
||||||
|
@@ -1,23 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
|
|
||||||
#https://forum.proxmox.com/threads/e1000-driver-hang.58284/
|
|
||||||
#https://serverfault.com/questions/616485/e1000e-reset-adapter-unexpectedly-detected-hardware-unit-hang
|
|
||||||
|
|
||||||
#magic to detect main int
|
|
||||||
echo "Determining management interface..."
|
|
||||||
#export MAIN_INT=$(brctl show $(netstat -rn|grep 0.0.0.0|head -n1|awk '{print $NF}') | awk '{print $NF}'|tail -1|awk -F '.' '{print $1}')
|
|
||||||
export MAIN_INT=$(brctl show|grep vmbr0|awk '{print $NF}'|awk -F '.' '{print $1}')
|
|
||||||
|
|
||||||
echo "Management interface is: $MAIN_INT"
|
|
||||||
|
|
||||||
#fix the issue
|
|
||||||
echo "Fixing management interface..."
|
|
||||||
ethtool -K $MAIN_INT tso off
|
|
||||||
ethtool -K $MAIN_INT gro off
|
|
||||||
ethtool -K $MAIN_INT gso off
|
|
||||||
|
|
||||||
#https://forum.proxmox.com/threads/e1000-driver-hang.58284/
|
|
||||||
#https://serverfault.com/questions/616485/e1000e-reset-adapter-unexpectedly-detected-hardware-unit-hang
|
|
||||||
|
|
||||||
|
|
@@ -1,107 +1 @@
|
|||||||
# TSYS Group - HQ data center documentation - power
|
# Systems - Power
|
||||||
|
|
||||||
- [TSYS Group - HQ data center documentation - power](#tsys-group-hq-data-center-documentation-power)
|
|
||||||
- [Introduction](#introduction)
|
|
||||||
- [Circuits](#circuits)
|
|
||||||
- [Outlets](#outlets)
|
|
||||||
- [Surge Protectors](#surge-protectors)
|
|
||||||
- [Extension cords](#extension-cords)
|
|
||||||
- [UPS units](#ups-units)
|
|
||||||
- [Prod](#prod)
|
|
||||||
- [UPS5](#ups5)
|
|
||||||
- [UPS7](#ups7)
|
|
||||||
- [R&D](#r-d)
|
|
||||||
- [UPS1](#ups1)
|
|
||||||
- [UPS3](#ups3)
|
|
||||||
- [UPS4](#ups4)
|
|
||||||
- [UPS6](#ups6)
|
|
||||||
- [PDU](#pdu)
|
|
||||||
- [Unmanaged PDUs](#unmanaged-pdus)
|
|
||||||
- [Managed PDUs](#managed-pdus)
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
This article covers the electrical power setup for the HQ data center. We've grown it over time, bringing online more and more protected capacity as we got good deals on UPS/batteries etc and have added additional load.
|
|
||||||
|
|
||||||
## Circuits
|
|
||||||
|
|
||||||
The server room is fed by two 20amp circuits:
|
|
||||||
|
|
||||||
* Circuit 8a serving:
|
|
||||||
* dedicated air conditioner (see our cooling article for details on that)
|
|
||||||
* vm(1-3) servers
|
|
||||||
* network equipment
|
|
||||||
* overhead and led lighting
|
|
||||||
|
|
||||||
* Circuit (xx) serving:
|
|
||||||
* pfv-stor1/stor2 enclosures and drive arrays
|
|
||||||
* vm(4-6)
|
|
||||||
|
|
||||||
(future plan)
|
|
||||||
|
|
||||||
* Connect a new outlet to the 20 amp circuit currently serving front porch outlet (which shares a wall with the server room).
|
|
||||||
* This would provide sustained 15 amps for the RackRental.net rentable inventory.
|
|
||||||
|
|
||||||
## Outlets
|
|
||||||
|
|
||||||
We have upgraded the standard 15amp outlets that serve the server room, to 20amp outlets. This allows us to run a full 15amps sustained load (on 20amp circuits)
|
|
||||||
|
|
||||||
## Surge Protectors
|
|
||||||
|
|
||||||
We utilize GE surge protectors , rated for 15amps. They are about $50.00 apiece. These are placed upstream of the UPS units (between the wall outlet and the UPS extension cord).
|
|
||||||
|
|
||||||
## Extension cords
|
|
||||||
|
|
||||||
We do not have outlets close to the UPS stack. We utilize 15amp rated extension cords (from the surge protectors) to feed the UPS inputs.
|
|
||||||
|
|
||||||
## UPS units
|
|
||||||
|
|
||||||
### Prod
|
|
||||||
|
|
||||||
* UPS2
|
|
||||||
* Make/Model: Dell UPS Rack 1000W LV
|
|
||||||
* PDU served:
|
|
||||||
* UMPDU1
|
|
||||||
* Protected load:
|
|
||||||
* pfv-stor1/pfv-stor2 (Dell PowerEdge 2950s)
|
|
||||||
* backup USB drives and USB hub
|
|
||||||
* external scratch/backup arrays
|
|
||||||
* Protected Load Runtime: 12 minutes
|
|
||||||
|
|
||||||
### UPS5
|
|
||||||
|
|
||||||
* CyberPower UPS (details tbd)
|
|
||||||
* PDU served:
|
|
||||||
* UMPDU4
|
|
||||||
* BenchPDU
|
|
||||||
* Cameras
|
|
||||||
* Protected load:
|
|
||||||
* pfv-vm1/2/3
|
|
||||||
* pfv-time1
|
|
||||||
* pfv-labsw*
|
|
||||||
* pfv-core-ap01
|
|
||||||
* pfv-coresw-01
|
|
||||||
* pfv-labsw*
|
|
||||||
* Protected Load Runtime: 12 minutes
|
|
||||||
|
|
||||||
### UPS7
|
|
||||||
|
|
||||||
* PDUs served: n/a
|
|
||||||
* Monitoring server: n/a (un-monitored ups)
|
|
||||||
* Protected load: locking relay for server room
|
|
||||||
|
|
||||||
## R&D
|
|
||||||
|
|
||||||
### UPS1
|
|
||||||
|
|
||||||
### UPS3
|
|
||||||
|
|
||||||
### UPS4
|
|
||||||
|
|
||||||
### UPS6
|
|
||||||
|
|
||||||
# PDU
|
|
||||||
|
|
||||||
### Unmanaged PDUs
|
|
||||||
|
|
||||||
### Managed PDUs
|
|
||||||
|
@@ -1,95 +1 @@
|
|||||||
# TSYS Group - HQ data center documentation - security
|
# Systems - Physical Security
|
||||||
|
|
||||||
- [TSYS Group - HQ data center documentation - security](#tsys-group-hq-data-center-documentation-security)
|
|
||||||
- [Introduction](#introduction)
|
|
||||||
- [Badge reader](#badge-reader)
|
|
||||||
- [Hardware Components](#hardware-components)
|
|
||||||
- [Software Components](#software-components)
|
|
||||||
- [Cameras](#cameras)
|
|
||||||
- [Physical Keys/Badges](#physical-keys-badges)
|
|
||||||
- [Front Door (physical key)](#front-door-physical-key)
|
|
||||||
- [Server Room (rfid badge)](#server-room-rfid-badge)
|
|
||||||
- [Keybox in server room (physical key)](#keybox-in-server-room-physical-key)
|
|
||||||
- [Gates/Machine Room/Storage](#gates-machine-room-storage)
|
|
||||||
- [Critical Physical Assets](#critical-physical-assets)
|
|
||||||
- [server room](#server-room)
|
|
||||||
- [R&D Shop](#r-d-shop)
|
|
||||||
- [Amplify Credit Union](#amplify-credit-union)
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
This article covers the physical security setup for the HQ data center.
|
|
||||||
|
|
||||||
## Badge reader
|
|
||||||
|
|
||||||
### Hardware Components
|
|
||||||
|
|
||||||
- Raspberry Pi 3
|
|
||||||
- USB relay
|
|
||||||
- automated door action
|
|
||||||
- Belkin UPS for the relay
|
|
||||||
|
|
||||||
### Software Components
|
|
||||||
|
|
||||||
Coming soon
|
|
||||||
|
|
||||||
## Cameras
|
|
||||||
|
|
||||||
Internal facing
|
|
||||||
- <http://cam2.pfv.turnsys.net/> (door/rack front cam)
|
|
||||||
- <http://cam3.pfv.turnsys.net> (rack back cam)
|
|
||||||
- <http://cam1.pfv.turnsys.net/> (external camera)
|
|
||||||
|
|
||||||
## Physical Keys/Badges
|
|
||||||
|
|
||||||
### Front Door (physical key)
|
|
||||||
|
|
||||||
Charles Wyble
|
|
||||||
Patti Wyble
|
|
||||||
Michael Almaraz
|
|
||||||
|
|
||||||
### Server Room (rfid badge)
|
|
||||||
|
|
||||||
Charles Wyble
|
|
||||||
Patti Wyble
|
|
||||||
Michael Almaraz
|
|
||||||
|
|
||||||
### Keybox in server room (physical key)
|
|
||||||
|
|
||||||
Access to this box means you would have full physical access to all TSYS assets. Access is heavily restricted and granting of access grant requires approval of CEO/CFOO
|
|
||||||
and Board of Directors.
|
|
||||||
|
|
||||||
- Charles Wyble
|
|
||||||
- Patti Wyble
|
|
||||||
- Michael Almaraz
|
|
||||||
|
|
||||||
### Gates/Machine Room/Storage
|
|
||||||
|
|
||||||
- Charles Wyble
|
|
||||||
- Patti Wyble
|
|
||||||
- Michael Almaraz
|
|
||||||
|
|
||||||
## Critical Physical Assets
|
|
||||||
|
|
||||||
### server room
|
|
||||||
|
|
||||||
- racks
|
|
||||||
- air conditioner
|
|
||||||
- UPS systems
|
|
||||||
- Digital Information Processing Equipment (servers/drives/network)
|
|
||||||
- Sentry combination safe (on site cold storage for backup hard drives)
|
|
||||||
- PKI Safe
|
|
||||||
- Firebox for important paper records (Patti durable personal/corporate PoA, legal hold records)
|
|
||||||
- File cabinet (axios customer original contracts)
|
|
||||||
|
|
||||||
### R&D Shop
|
|
||||||
|
|
||||||
- lab area (tools/prototypes under development etc)
|
|
||||||
- tool storage and tools
|
|
||||||
- component storage and components
|
|
||||||
|
|
||||||
### Amplify Credit Union
|
|
||||||
|
|
||||||
- safety deposit box (off site cold storage for backup hard drives )
|
|
||||||
- Paper records
|
|
||||||
- safety deposit box (Patti durable PoA, legal hold records)
|
|
||||||
|
@@ -1,12 +1 @@
|
|||||||
# TSYS Group Storage
|
# Systems - Storage
|
||||||
|
|
||||||
## Enclosures
|
|
||||||
|
|
||||||
## Arrays
|
|
||||||
|
|
||||||
|
|
||||||
## Block Storage
|
|
||||||
|
|
||||||
## Application Object Storage
|
|
||||||
|
|
||||||
## Container Object Storage
|
|
||||||
|
@@ -1,50 +0,0 @@
|
|||||||
- [WAN Network - HQ - Public Routed Space](#wan-network---hq---public-routed-space)
|
|
||||||
- [Proxmox/opnsense interface / layer 2 info](#proxmoxopnsense-interface--layer-2-info)
|
|
||||||
- [AT&T Small business fiber network information](#att-small-business-fiber-network-information)
|
|
||||||
|
|
||||||
# WAN Network - HQ - Public Routed Space
|
|
||||||
|
|
||||||
## Proxmox/opnsense interface / layer 2 info
|
|
||||||
|
|
||||||
net1 5c:74 vmbr1000 wan 5c:74
|
|
||||||
net17 3a:bc vmbr1000 uversebiz vtnet17 3a:bc
|
|
||||||
|
|
||||||
## AT&T Small business fiber network information
|
|
||||||
|
|
||||||
- Address: 99.91.198.81 01100011.01011011.11000110.01010 001
|
|
||||||
- Netmask: 255.255.255.248 = 29 11111111.11111111.11111111.11111 000
|
|
||||||
- Wildcard: 0.0.0.7 00000000.00000000.00000000.00000 111
|
|
||||||
|
|
||||||
- Network: 99.91.198.80/29 01100011.01011011.11000110.01010 000 (Class A)
|
|
||||||
- Broadcast: 99.91.198.87 01100011.01011011.11000110.01010 111
|
|
||||||
- HostMin: 99.91.198.81 01100011.01011011.11000110.01010 001
|
|
||||||
- HostMax: 99.91.198.86 01100011.01011011.11000110.01010 110
|
|
||||||
- Hosts/Net: 6
|
|
||||||
|
|
||||||
- WAN Rtr 1 IP: 99.91.198.81
|
|
||||||
- WAN Rtr 2 IP: 99.91.198.82
|
|
||||||
|
|
||||||
- wireguard vpn, WAN Float, SIP, other services not on 80/443 IP: 99.91.198.83
|
|
||||||
|
|
||||||
- Cloudron IP: 99.91.198.84
|
|
||||||
- Conost IP: 99.91.198.85
|
|
||||||
|
|
||||||
- GW IP: 99.91.198.86
|
|
||||||
|
|
||||||
```shell
|
|
||||||
|
|
||||||
dig @8.8.8.8 -x 99.91.198.81 +short
|
|
||||||
tsyshq-corertr-01.knownelement.com.
|
|
||||||
|
|
||||||
dig @8.8.8.8 -x 99.91.198.82 +short
|
|
||||||
tsyshq-corertr-02.knownelement.com.
|
|
||||||
|
|
||||||
dig @8.8.8.8 -x 99.91.198.83 +short
|
|
||||||
tsyshq-wanfloat.knownelement.com.
|
|
||||||
|
|
||||||
dig @8.8.8.8 -x 99.91.198.84 +short
|
|
||||||
my.knownelement.com.
|
|
||||||
|
|
||||||
dig @8.8.8.8 -x 99.91.198.85 +short
|
|
||||||
app02.knownelement.com.
|
|
||||||
```
|
|
@@ -1,28 +0,0 @@
|
|||||||
#IT Security
|
|
||||||
|
|
||||||
## Logging
|
|
||||||
Currently into librenms central store
|
|
||||||
rsyslog configured to forward
|
|
||||||
|
|
||||||
## Monitoring
|
|
||||||
nedata for high fidelity metrics (push)
|
|
||||||
librenms for up/down (pull)
|
|
||||||
|
|
||||||
## Secrets
|
|
||||||
|
|
||||||
### Passwords (user secrets)
|
|
||||||
bitwarden
|
|
||||||
|
|
||||||
### Server secrets
|
|
||||||
envwarden
|
|
||||||
|
|
||||||
#### certs/keys
|
|
||||||
|
|
||||||
* Public facing (lets encrypt)
|
|
||||||
|
|
||||||
We use HTTP challenge via Opnsense LE/HA Proxy . All public facing certs live in OpnSense.
|
|
||||||
|
|
||||||
|
|
||||||
## IDS/IPS
|
|
||||||
|
|
||||||
## RBAC
|
|
@@ -1,35 +0,0 @@
|
|||||||
# Operations Administration Management Infrastructure at TSYS Group
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
(following is copied from our systems overview document)
|
|
||||||
|
|
||||||
This is the back office IT bits.
|
|
||||||
|
|
||||||
* Functions
|
|
||||||
* librenms (monitoring/alerting/long term metrics)
|
|
||||||
* netdata (central dashboard)
|
|
||||||
* upsd (central dashboard)
|
|
||||||
* rundeck (internal orchestration only)
|
|
||||||
* sshaudit
|
|
||||||
* lynis
|
|
||||||
* crash dump server
|
|
||||||
* openvas
|
|
||||||
* etc
|
|
||||||
|
|
||||||
|VM Name | VM ID | Vm Host | Storage Enclosure| Storage Array |
|
|
||||||
|---|---|---|---|--|
|
|
||||||
|pfv-toolbox|121|vm3|stor2|tier2vm|
|
|
||||||
|
|
||||||
### The origin of the name toolbox
|
|
||||||
|
|
||||||
I can't take credit for coming up with naming a utility server toolbox. That credit goes to
|
|
||||||
the Big Gator. Back when we could freely roam, they let us s (when we could s, before I uncovered a massive federal felony and we had to take drastic action to avoid a consent decree...., I digress, this isn't that story (buy the book!)) to toolbox. It had many fun things.
|
|
||||||
|
|
||||||
So at every employer since, I've established at least one system called toolbox. It's fitting that my startup have the same , no?
|
|
||||||
|
|
||||||
### monitoring/alerting/metrics
|
|
||||||
|
|
||||||
### orchestration
|
|
||||||
|
|
||||||
### security auditing
|
|
@@ -1,261 +1 @@
|
|||||||
# TSYS Systems
|
# Systems - Virtual Guests Inventory
|
||||||
|
|
||||||
This article covers the (high level) systems architecture that supports TSYS/Redwood Group.
|
|
||||||
Other articles will go more in depth on specific systems. This article provides a general overview.
|
|
||||||
|
|
||||||
The architecture was designed to :
|
|
||||||
|
|
||||||
* meet the highest levels of information assurance and reliability (at a single site)
|
|
||||||
* support (up to) Top Secret workloads for R&D (SBIR/OTA) (non production) contract work
|
|
||||||
(by US Citizens only) being done for the United States Department of Defense/Energy/State
|
|
||||||
by various components of TSYS Group.
|
|
||||||
|
|
||||||
## Virtual Machines: Redundant (mix of active/passive active/active)
|
|
||||||
|
|
||||||
We are (with exception of R&D product development (being a hardware/IOT product) 99.9%) virtualized :
|
|
||||||
|
|
||||||
Exceptions to virtualized infrastructure:
|
|
||||||
|
|
||||||
* raspberry pi providing stratum0 (via hat) and server room badge reader functionality (via usb badge reader and lock relay)
|
|
||||||
* intermediate CA HSM passed through to a VM on vm3
|
|
||||||
* UPS units connected to vm3 via usb/serial
|
|
||||||
|
|
||||||
Any further exceptions to virtual infra require CEO/board approval and extensive justification.
|
|
||||||
|
|
||||||
### Networking
|
|
||||||
|
|
||||||
* Functions
|
|
||||||
* TFTP server
|
|
||||||
* DHCP server
|
|
||||||
* HaProxy (443 terminates here)
|
|
||||||
* Dev/qa/prod Core routing/firewall
|
|
||||||
* (multi provider) WAN edge routing/firewall
|
|
||||||
* Static/dynamic routing
|
|
||||||
* inbound/outbound SMTP handling
|
|
||||||
* Caching/scanning (via ClamAV)Web proxy
|
|
||||||
* Suricata IDS/IPS
|
|
||||||
|
|
||||||
All the above is provided on an active/passive basis via CARP IP with sub 2ms failover.
|
|
||||||
|
|
||||||
* Machines
|
|
||||||
|VM Name | VM ID | Vm Host | Storage Enclosure| Storage Array |
|
|
||||||
|---|---|---|---|---|
|
|
||||||
|pfv-core-rtr01|120|vm1|stor2|tier2vm|
|
|
||||||
|pfv-core-rtr02|xx|vm3|stor1|s1-wwwdb|
|
|
||||||
|
|
||||||
### DNS/NTP (user/server facing)
|
|
||||||
|
|
||||||
We do not expose the core domain controllers (dc2/3) directly to users or servers. Everything flows through pihole. We allow DNS (via firewall rules) to ONLY pihole 1,2 no other DNS is allowed. pihole 1,2 is only allowed to realy to the core dc, then the dc are allowed to relay to the internet (8.8.8.8).
|
|
||||||
|
|
||||||
This blocks the vast majority of spyware/trackerware/malware/c2c etc (using the pihole blacklists). DNS filtering is the first line of defense against attackers and far less false positives when doing log review.
|
|
||||||
|
|
||||||
* Functions
|
|
||||||
* DNS (with ad filtering) (pihole)
|
|
||||||
* NTP
|
|
||||||
|
|
||||||
* Machines
|
|
||||||
|
|
||||||
|VM Name | VM ID | Vm Host | Storage Enclosure| Storage Array |
|
|
||||||
|---|---|---|---|--|
|
|
||||||
|pihole1|101|vm3|stor1|s1-wwwdb|
|
|
||||||
|pihole2|103|vm1|stor2|tier2vm|
|
|
||||||
|
|
||||||
### Database layer
|
|
||||||
|
|
||||||
All the data for all the things. Everything is clustered, shared service model.
|
|
||||||
|
|
||||||
* Functions
|
|
||||||
* Mysql (galera)
|
|
||||||
* Postgresql (patroni)
|
|
||||||
* ETcd
|
|
||||||
* MQTT Brok
|
|
||||||
* Rabbitmq
|
|
||||||
* Elasticsearch
|
|
||||||
* Longhorn
|
|
||||||
* K3s control plane
|
|
||||||
|
|
||||||
* Machines
|
|
||||||
|
|
||||||
|VM Name | VM ID | Vm Host | Storage Enclosure| Storage Array |
|
|
||||||
|---|---|---|---|--|
|
|
||||||
|db1|125|vm4|stor1|s1-wwwdb|
|
|
||||||
|db2|126|vm5|stor2|tier2vm|
|
|
||||||
|db3|127|vm1|stor2|tier2vm|
|
|
||||||
|
|
||||||
### Web/bizops/IT control plane application layer
|
|
||||||
|
|
||||||
All the websites for TSYS/Redwood Group live on this infra. It's served up via HAProxy (active/passive on r1/42) in an active/active setup (each node running 50% of workload, capable of 100% for handling node maintenace)
|
|
||||||
|
|
||||||
* Functions
|
|
||||||
* All brand properties
|
|
||||||
* Data repository (discourse)
|
|
||||||
* IT Control plane (job clustering/monitoring/alerting/siem etc)
|
|
||||||
* Business operations (marketing/sales/finance/etc)
|
|
||||||
* Apache server (for non dockerized applications)
|
|
||||||
* k3s worker nodes (we are moving all workloads to docker containers with longhorn PVC)
|
|
||||||
|
|
||||||
* Machines
|
|
||||||
|
|
||||||
|VM Name | VM ID | Vm Host | Storage Enclosure| Storage Array |
|
|
||||||
|---|---|---|---|--|
|
|
||||||
|www1|123|vm5|stor2|tier2vm|
|
|
||||||
|www2|124|vm4|stor1|s1-wwwdb|
|
|
||||||
|
|
||||||
### Line of business Application layer
|
|
||||||
|
|
||||||
* Functions
|
|
||||||
* Guacamole (serving up rackrental customer workloads, also developer workstations)
|
|
||||||
* Webmail (for a number of our domains, we don't use Office 365)
|
|
||||||
|
|
||||||
* Machines
|
|
||||||
|
|
||||||
|VM Name | VM ID | Vm Host | Storage Enclosure| Storage Array |
|
|
||||||
|---|---|---|---|--|
|
|
||||||
|tsys-dc-02|129|vm5|stor2|tier2vm|
|
|
||||||
|tsys-dc-03|130|vm4|stor1|s1-wwwdb|
|
|
||||||
|
|
||||||
## Network Security Monitoring
|
|
||||||
|
|
||||||
We will be using security onion in some fashion. Looking into that with OpenVAS/Lynis/Graylog as a SIEM/scanner. More to follow soon. It will be a distributed, highly available setup.
|
|
||||||
|
|
||||||
## Virtual Machines: Non Redundant
|
|
||||||
|
|
||||||
### VPN
|
|
||||||
|
|
||||||
You'll notice VPN missing from the redundant networking list. A few comments on that:
|
|
||||||
|
|
||||||
* We employ a zero trust access model for vast majority of systems
|
|
||||||
* We heavily utilize web interfaces/APIs for just about all systems/functionality and secure acces via 2fa/Univention Corporate Server ("AD") and a zero trust model.
|
|
||||||
* We do have our R&D systems behind the VPN for direct SSH access (as opposed to through various abstraction layers)
|
|
||||||
* We utilize WIreguard (via the ansible setup provided by algo trailofbits). We don't have a redundant Wireguard setup, just a single small Ubuntu VM. It's worked incredibly well and the occasional 90 seconds or so of downtime for kernel patching is acceaptable.
|
|
||||||
* Due to ITAR and other regulations, we utilize a VPN for access control. We may in the future, upon appropriate review and approval, setup haproxy with SSH SNI certifcates to route connections to R&D systems directly.
|
|
||||||
|
|
||||||
|VM Name | VM ID | Vm Host | Storage Enclosure| Storage Array |
|
|
||||||
|---|---|---|---|--|
|
|
||||||
|pfv-vpn|106|vm3|stor2|tier2vm|
|
|
||||||
|
|
||||||
### Physical Surveilance
|
|
||||||
|
|
||||||
We can take 90 seconds of downtime for occasional kernel patching and not be processing the surveilance feeds for a bit. Everyone knows that criminals just loop the footage anyway....
|
|
||||||
|
|
||||||
|VM Name | VM ID | Vm Host | Storage Enclosure| Storage Array |
|
|
||||||
|---|---|---|---|--|
|
|
||||||
|pfv-nvr|104|vm5|stor2|tier2vm|
|
|
||||||
|
|
||||||
### Building automation
|
|
||||||
|
|
||||||
We can take 90 seconds of downtime for occasional kernel patching and wait to turn on a light or whatever.
|
|
||||||
|
|
||||||
|VM Name | VM ID | Vm Host | Storage Enclosure| Storage Array |
|
|
||||||
|---|---|---|---|--|
|
|
||||||
|HomeAssistant|116|vm3|stor2|tier2vm|
|
|
||||||
|
|
||||||
### Sipwise
|
|
||||||
|
|
||||||
We can take 90 seconds of downtime for occasional kernel patching, and have the phones "stop ringing" for that long.
|
|
||||||
|
|
||||||
|VM Name | VM ID | Vm Host | Storage Enclosure| Storage Array |
|
|
||||||
|---|---|---|---|--|
|
|
||||||
|sipwise|105|vm4|stor1|s1-wwwdb|
|
|
||||||
|
|
||||||
### Online CA (Intermeidate to offline root)
|
|
||||||
|
|
||||||
We can take 90 seconds of downtime for occasional kernel patching.
|
|
||||||
|
|
||||||
We serve the CRL and other "always on" SSL related bits via cloudflare ssl toolkit in docker using
|
|
||||||
the web/app layer over HTTP(S) and it's fully redundant.
|
|
||||||
|
|
||||||
This VM is only used occasionally to issue long lived certs or perform needed maintenance.
|
|
||||||
|
|
||||||
It could be down for weeks/months without issue.
|
|
||||||
|
|
||||||
It's using XCA for administration and talking to the db cluster. It is locked to vm3, because
|
|
||||||
we pass through a Nitrokey HSM, works wonderully.
|
|
||||||
|
|
||||||
|VM Name | VM ID | Vm Host | Storage Enclosure| Storage Array |
|
|
||||||
|---|---|---|---|--|
|
|
||||||
|pfv-ca|131|vm3|stor1|s1-wwwdb|
|
|
||||||
|
|
||||||
### Operations/administration/management (OAM)
|
|
||||||
|
|
||||||
This is the back office IT bits.
|
|
||||||
|
|
||||||
* Functions
|
|
||||||
* librenms (monitoring/alerting/long term metrics)
|
|
||||||
* netdata (central dashboard)
|
|
||||||
* upsd (central dashboard)
|
|
||||||
* rundeck (internal orchestration only)
|
|
||||||
* sshaudit
|
|
||||||
* lynis
|
|
||||||
* crash dump server
|
|
||||||
* openvas
|
|
||||||
* etc
|
|
||||||
|
|
||||||
|VM Name | VM ID | Vm Host | Storage Enclosure| Storage Array |
|
|
||||||
|---|---|---|---|--|
|
|
||||||
|pfv-toolbox|121|vm3|stor2|tier2vm|
|
|
||||||
|
|
||||||
## Storage Infrastructure
|
|
||||||
|
|
||||||
* We keep it very simple and utilize TrueNAS Core on Dell PowerEdge 2950 with 32gb ram.
|
|
||||||
* We run zero plugins.
|
|
||||||
* We have a variety of pools setup and served out over NFS to the 10.251.30.0/24 network
|
|
||||||
* No samba, just NFS
|
|
||||||
* Utilize built in snapshots/replication for retention/backup
|
|
||||||
|
|
||||||
## Virtualization Infrastructure
|
|
||||||
|
|
||||||
* We keep it very simple and utilize Proxmox on a mix of :
|
|
||||||
* Dell Optiplex (i3/i7) (all with 32gb ram)
|
|
||||||
* Dell PowerEdge (dual socket, quad core xeon) (all with 32gb ram)
|
|
||||||
* Dell Precision system (i7) (16gb ram) (with nvida quadaro card passed through to kvm guest (either windows 10 or Ubuntu Server 20.04 depending on what we need todo)
|
|
||||||
* We run the nodes with single power supply and single OS drive.
|
|
||||||
|
|
||||||
Vm node failure is expected (we keep the likelihood low with use of thumb drives with syslog set to
|
|
||||||
only log to the virtualized logging infra), and we handle the downtime via the redundancy we
|
|
||||||
outlined above (by using virtual machines spread across hypervisors / arrays / enclosures ) and redundancy happens
|
|
||||||
at the application level).
|
|
||||||
|
|
||||||
Restoring a vritual server node would take maybe 30 minutes
|
|
||||||
|
|
||||||
(plug a new thumb drive, re-install, join cluster).
|
|
||||||
|
|
||||||
In the meantime the vm has auto migrated to another node using proxmox HA functionality (if it's an SPOF VM).
|
|
||||||
|
|
||||||
|
|
||||||
## Overall system move to production status
|
|
||||||
|
|
||||||
| Hostname | OSSEC | Rundeck | Netdata | librenms mon | librenms log | DNS | (x)DP | NTP | Slack | Lyris | SCAP | Auditd | OpenVAS | oxidized |
|
|
||||||
| -------------- | ----- | ------- | ------- | ------------ | ------------ | --- | ----- | --- | ----- | ----- | ---- | ------ | ------- | -------- |
|
|
||||||
| Pfv-vmsrv-01 | Y | Y | Y | Y | Y | Y | Y | Y | | | | | | N/A |
|
|
||||||
| Pfv-vmsrv-02 | Y | Y | Y | Y | Y | Y | Y | Y | | | | | | N/A |
|
|
||||||
| Pfv-vmsrv-03 | Y | Y | Y | Y | Y | Y | Y | Y | | | | | | N/A |
|
|
||||||
| Pfv-vmsrv-04 | Y | Y | Y | Y | Y | Y | Y | Y | | | | | | N/A |
|
|
||||||
| Pfv-vmsrv-06 | Y | Y | Y | Y | Y | Y | Y | Y | | | | | | N/A |
|
|
||||||
| Pfv-time1 | Y | Y | Y | Y | Y | Y | Y | | | | | | | N/A |
|
|
||||||
| Pfv-stor1 | N/A | N/A | N/A | Y | | Y | Y | x | | | N/A | N/A | | N/A |
|
|
||||||
| Pfv-stor2 | N/A | N/A | N/A | Y | | Y | Y | x | | | N/A | N/A | | N/A |
|
|
||||||
| Pfv-consrv01 | N/A | N/A | N/A | Y | Y | Y | Y | x | | | N/A | N/A | | N/A |
|
|
||||||
| Pfv-core-sw01 | N/A | N/A | N/A | Y | Y | Y | Y | x | | | N/A | N/A | | |
|
|
||||||
| Pfv-core-ap01 | N/A | N/A | N/A | Y | N/A | Y | Y | x | | | N/A | N/A | | |
|
|
||||||
| Pfv-lab-sw01 | N/A | N/A | N/A | Y | | Y | Y | x | | | | | | |
|
|
||||||
| Pfv-lab-sw02 | N/A | N/A | N/A | Y | Y | Y | Y | x | | | | | | |
|
|
||||||
| Pfv-lab-sw03 | N/A | N/A | N/A | Y | | Y | Y | x | | | | | | |
|
|
||||||
| Pfv-lab-sw04 | N/A | N/A | N/A | Y | Y | Y | Y | x | | | | | | |
|
|
||||||
| 3dpsrv | Y | Y | Y | Y | Y | Y | N/A | Y | | | | | | N/A |
|
|
||||||
| Pfv-core-rtr01 | N/A | N/A | N/A | Y | Y | Y | Y | x | | | N/A | N/A | | |
|
|
||||||
| Pfv-core-rtr02 | N/A | N/A | N/A | Y | Y | Y | Y | x | | | N/A | N/A | | |
|
|
||||||
| tsys-dc-01 | Y | Y | Y | Y | Y | Y | Y | | | | | | | |
|
|
||||||
| tsys-dc-02 | Y | Y | Y | Y | Y | Y | Y | | | | | | | |
|
|
||||||
| tsys-dc-03 | Y | Y | Y | Y | Y | Y | Y | | | | | | | |
|
|
||||||
| Tsys-dc-04 | Y | Y | Y | Y | Y | Y | Y | | | | | | | N/A |
|
|
||||||
| pihole1 | Y | Y | Y | Y | Y | Y | Y | | | | | | | N/A |
|
|
||||||
| pihole2 | Y | Y | Y | Y | Y | Y | Y | | | | | | | N/A |
|
|
||||||
| pfv-toolbox | Y | Y | Y | Y | Y | Y | Y | | | | | | | N/A |
|
|
||||||
| ca | Y | Y | Y | Y | Y | Y | Y | | | | | | | N/A |
|
|
||||||
| www1 | Y | Y | Y | Y | Y | Y | Y | | | | | | | |
|
|
||||||
| www2 | Y | Y | Y | Y | Y | Y | Y | | | | | | | |
|
|
||||||
| www3 | Y | Y | Y | Y | Y | Y | Y | | | | | | | |
|
|
||||||
| db1 | Y | Y | Y | Y | Y | Y | Y | | | | | | | |
|
|
||||||
| db2 | Y | Y | Y | Y | Y | Y | Y | | | | | | | |
|
|
||||||
| db3 | Y | Y | Y | Y | Y | Y | Y | | | | | | | |
|
|
||||||
|
@@ -1,440 +1 @@
|
|||||||
# TSYS Group - IT Documentation - R&D - Workstation Build Guide
|
# Systems - Workstation Build Guide
|
||||||
|
|
||||||
- [TSYS Group - IT Documentation - R&D - Workstation Build Guide](#tsys-group---it-documentation---rd---workstation-build-guide)
|
|
||||||
- [Introduction](#introduction)
|
|
||||||
- [Workstation details - RPI4 8Gb](#workstation-details---rpi4-8gb)
|
|
||||||
- [Out of box tweaks and basic setup](#out-of-box-tweaks-and-basic-setup)
|
|
||||||
- [Software Packages To Install](#software-packages-to-install)
|
|
||||||
- [magic mouse 2 driver](#magic-mouse-2-driver)
|
|
||||||
- [Nodejs](#nodejs)
|
|
||||||
- [Rust](#rust)
|
|
||||||
- [go](#go)
|
|
||||||
- [mdbook](#mdbook)
|
|
||||||
- [Recoll (local search)](#recoll-local-search)
|
|
||||||
- [Bitwarden CLI](#bitwarden-cli)
|
|
||||||
- [Krita](#krita)
|
|
||||||
- [Backslide](#backslide)
|
|
||||||
- [Docker](#docker)
|
|
||||||
- [RedNotebook (install from source, it just runs in place)](#rednotebook-install-from-source-it-just-runs-in-place)
|
|
||||||
- [OpenWebRx](#openwebrx)
|
|
||||||
- [csv2md](#csv2md)
|
|
||||||
- [helm](#helm)
|
|
||||||
- [kubectl / k3s](#kubectl--k3s)
|
|
||||||
- [docker](#docker-1)
|
|
||||||
- [docker-compose](#docker-compose)
|
|
||||||
- [metasploit](#metasploit)
|
|
||||||
- [scap workbench](#scap-workbench)
|
|
||||||
- [Bitscope](#bitscope)
|
|
||||||
- [docker based dev environment/pipeline](#docker-based-dev-environmentpipeline)
|
|
||||||
- [Mainline repo packages](#mainline-repo-packages)
|
|
||||||
- [Configuration Tweaks](#configuration-tweaks)
|
|
||||||
- [chrome setup](#chrome-setup)
|
|
||||||
- [passwords/bitwarden](#passwordsbitwarden)
|
|
||||||
- [web apps](#web-apps)
|
|
||||||
- [zsh](#zsh)
|
|
||||||
- [konsole setup](#konsole-setup)
|
|
||||||
- [xfce tweaks](#xfce-tweaks)
|
|
||||||
- [VsCode](#vscode)
|
|
||||||
- [CTO Stuff](#cto-stuff)
|
|
||||||
- [Upstream vendor software to checkout](#upstream-vendor-software-to-checkout)
|
|
||||||
- [Projects](#projects)
|
|
||||||
- [Special considerations for upstream](#special-considerations-for-upstream)
|
|
||||||
- [Workstation details - x86-64 vm](#workstation-details---x86-64-vm)
|
|
||||||
- [Workstation details - iPAD](#workstation-details---ipad)
|
|
||||||
- [Remaining projects](#remaining-projects)
|
|
||||||
- [SSH / GPT private key HSM](#ssh--gpt-private-key-hsm)
|
|
||||||
- [TurboVNC (3d accelerated) on rpi as client](#turbovnc-3d-accelerated-on-rpi-as-client)
|
|
||||||
- [Select an Investigative notebook](#select-an-investigative-notebook)
|
|
||||||
- [Research source material organization](#research-source-material-organization)
|
|
||||||
- [activitywatch](#activitywatch)
|
|
||||||
- [Get photo processing workflow setup](#get-photo-processing-workflow-setup)
|
|
||||||
- [switch mail from (just) thunderbird to thunderbird/(neo)mutt/notmuch/task warrior](#switch-mail-from-just-thunderbird-to-thunderbirdneomuttnotmuchtask-warrior)
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
In 01/2021 , Charles purchased a Raspberry Pi 4 as his daily driver with the intent of evaluating it for use as the standard issue equipment for TSYS personnel. This document is the results of his
|
|
||||||
experiments with it from 01/2021 to (as of time of writing) August 1st 2021.
|
|
||||||
|
|
||||||
Charles is the founder, CEO and acting CTO of TSYS Group. In his role, he does everything from business ops, to system administration to software/hardware engineering tasks. As such he was best
|
|
||||||
positioned to evaluate the rPI for all workloads.
|
|
||||||
|
|
||||||
The RPi4 has been approved as one of the standard/supported workstation for TSYS personnel across all teams/products.
|
|
||||||
|
|
||||||
The software mentioned in this document is a long list, reflecting the myriad of tasks/projects Charles may engage with on a daily basis. Most likely, you'll only need a subset of these tools,
|
|
||||||
don't despair! Feel free to install all of them or a subset as you wish based on your mission objectives.
|
|
||||||
|
|
||||||
We hope this document is useful to everyone at TSYS who wants to maximize their productivity. TSYS fully supports Debian/Ubuntu GNU Linux for workstation use, both on rPI4 and x86 virtual/physical
|
|
||||||
systems.
|
|
||||||
|
|
||||||
We do occasionally test Mac OSX and Windows 10, but they aren't officially supported.
|
|
||||||
|
|
||||||
Our experiments and daily use show that 85% or more of TSYS daily driver/workstation use (email/coding/research/browsing/document creation/discord/media editing/etc) can be done on an rPI4.
|
|
||||||
|
|
||||||
The few gaps can be done via an RDP session to an x86 system for the few things that have x86 dependencies or need 64bit os (64bit on pi isn't yet fully ready in our opinion as of August 2021).
|
|
||||||
|
|
||||||
## Charles Workstation details - RPI4 8Gb
|
|
||||||
|
|
||||||
- Operating System: RaspberryPi Os
|
|
||||||
- Hardware:
|
|
||||||
- Raspberry Pi 4 with 8gb RAM
|
|
||||||
- Accessories :
|
|
||||||
- Case : Argone One case <https://www.argon40.com/argon-one-m-2-case-for-raspberry-pi-4.html>
|
|
||||||
- Monitors: Dual Dell 24" monitors (IPS) <https://www.dell.com/support/home/en-us/product-support/product/dell-st2421l/overview>0
|
|
||||||
- Chair: Ikea MARKUS Office Chair: <https://www.ikea.com/us/en/p/markus-office-chair-vissle-dark-gray-90289172/>
|
|
||||||
- Keyboard: Matias Backlight Keyboard <https://www.matias.ca/aluminum/backlit/>
|
|
||||||
- Mouse: Apple Magic Mouse 2 Black
|
|
||||||
- Tablet: iPad Mini 5th Gen (see iPAD section for more)
|
|
||||||
- Headphones: JBL Over Ear (<https://www.jbl.com.au/TUNE750BTNC.html>)
|
|
||||||
- Tp-link 7 port USB 3.0 Powered Hub (for plugging in thumb drives, data acquisition devices / other random usb bits) <https://www.tp-link.com/us/home-networking/usb-hub/uh700/>
|
|
||||||
- IOGear card reader <https://www.iogear.com/product/GFR281/>
|
|
||||||
- Security Dongle: Yubikey 4 OTP+U2F+CCID
|
|
||||||
|
|
||||||
### Out of box tweaks and basic setup
|
|
||||||
|
|
||||||
1) Put Rasberry Pi 4 into Argone One Case (running it without case will cause it to overheat quickly)
|
|
||||||
2) Flash latest stable Raspbian 32bit to SD card and boot pi
|
|
||||||
3) connect usb keyboard and mouse
|
|
||||||
4) Run through first boot setup wizard
|
|
||||||
5) Setup pin+yubi long string for password for the pi user
|
|
||||||
6) Connect to wifi
|
|
||||||
5) Pair and trust Matias Backlight Keyboard
|
|
||||||
6) Pair and trust Apple Magic Mouse
|
|
||||||
7) fix date/time via ntpdate (ntpdate 10.251.37.5)
|
|
||||||
8) apt-get update ; apt-get -y full-upgrade
|
|
||||||
9) add vi mode to /etc/profile (heathens by default!)
|
|
||||||
10) clone dotfiles repo
|
|
||||||
11) enable i2c access via raspi-config
|
|
||||||
12) setup fan daemon <https://gitlab.com/DarkElvenAngel/argononed.git>
|
|
||||||
13) setup virtual desktops
|
|
||||||
|
|
||||||
- Desktop 1: Browsing/Editing/Shell (chrome / VsCode / Konsole / Remmina )
|
|
||||||
- Desktop 2: Comms (discourse/discord/irc etc/thunderbird/mutt)
|
|
||||||
- Desktop 3: Long Running: (calibre/recol/etc)
|
|
||||||
|
|
||||||
14) (coming soon) run curl htp://dl.turnsys.net/buildFullWorkstation.sh
|
|
||||||
|
|
||||||
### Software Packages To Install
|
|
||||||
|
|
||||||
#### magic mouse 2 driver
|
|
||||||
|
|
||||||
https://github.com/rohitpid/Linux-Magic-Trackpad-2-Driver
|
|
||||||
|
|
||||||
#### Nodejs
|
|
||||||
|
|
||||||
```console
|
|
||||||
curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash -
|
|
||||||
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
|
|
||||||
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
|
|
||||||
sud apt-get -y install nodejs
|
|
||||||
sudo apt-get update && sudo apt-get install yarn
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Rust
|
|
||||||
|
|
||||||
```console
|
|
||||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
|
||||||
```
|
|
||||||
|
|
||||||
#### go
|
|
||||||
|
|
||||||
<https://pimylifeup.com/raspberry-pi-golang/>
|
|
||||||
|
|
||||||
#### mdbook
|
|
||||||
|
|
||||||
```console
|
|
||||||
cargo install mdbook
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Recoll (local search)
|
|
||||||
|
|
||||||
```console
|
|
||||||
cat recoll-rbuster.list
|
|
||||||
deb [signed-by=/usr/share/keyrings/lesbonscomptes.gpg] http://www.lesbonscomptes.com/recoll/raspbian/ buster main
|
|
||||||
deb-src [signed-by=/usr/share/keyrings/lesbonscomptes.gpg] http://www.lesbonscomptes.com/recoll/raspbian/ buster main
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Bitwarden CLI
|
|
||||||
|
|
||||||
```console
|
|
||||||
sudo npm install -g @bitwarden/cli
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Krita
|
|
||||||
|
|
||||||
```console
|
|
||||||
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
|
||||||
sudo flatpak -y install flathub org.kde.krita
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Backslide
|
|
||||||
|
|
||||||
```console
|
|
||||||
sudo npm install -g backslide
|
|
||||||
sudo npm i -g decktape
|
|
||||||
sudo add chrome-aws-lambda
|
|
||||||
```
|
|
||||||
|
|
||||||
#### RedNotebook (install from source, it just runs in place)
|
|
||||||
|
|
||||||
<https://rednotebook.sourceforge.io/downloads.html>
|
|
||||||
<https://www.linuxlinks.com/raspberry-pi-4-chronicling-desktop-experience-dear-diary/>
|
|
||||||
|
|
||||||
#### OpenWebRx
|
|
||||||
|
|
||||||
on pi:
|
|
||||||
|
|
||||||
wget -O - <https://repo.openwebrx.de/debian/key.gpg.txt> | apt-key add
|
|
||||||
echo "deb <https://repo.openwebrx.de/debian/> buster main" > /etc/apt/sources.list.d/openwebrx.list
|
|
||||||
apt-get update
|
|
||||||
apt-get install openwebrx
|
|
||||||
|
|
||||||
or (on x86)
|
|
||||||
|
|
||||||
wget -O - https://repo.openwebrx.de/debian/key.gpg.txt | apt-key add
|
|
||||||
echo "deb https://repo.openwebrx.de/ubuntu/ hirsute main" > /etc/apt/sources.list.d/openwebrx.list
|
|
||||||
apt-get update
|
|
||||||
apt-get install openwebrx
|
|
||||||
|
|
||||||
#### csv2md
|
|
||||||
|
|
||||||
```console
|
|
||||||
npm install -g csv2md
|
|
||||||
```
|
|
||||||
|
|
||||||
#### metasploit
|
|
||||||
|
|
||||||
```console
|
|
||||||
git clone https://github.com/rapid7/metasploit-framework.git
|
|
||||||
cd metasploit-framework
|
|
||||||
sudo gem install wirble sqlite3 bundler nokogiri bundle
|
|
||||||
bundle install
|
|
||||||
```
|
|
||||||
|
|
||||||
#### scap workbench
|
|
||||||
|
|
||||||
Follow the readme
|
|
||||||
|
|
||||||
#### Bitscope
|
|
||||||
|
|
||||||
on pi
|
|
||||||
|
|
||||||
```console
|
|
||||||
wget http://bitscope.com/download/files/bitscope-dso_2.8.FE22H_armhf.deb
|
|
||||||
wget http://bitscope.com/download/files/bitscope-logic_1.2.FC20C_armhf.deb
|
|
||||||
wget http://bitscope.com/download/files/bitscope-meter_2.0.FK22G_armhf.deb
|
|
||||||
wget http://bitscope.com/download/files/bitscope-chart_2.0.FK22M_armhf.deb
|
|
||||||
wget http://bitscope.com/download/files/bitscope-proto_0.9.FG13B_armhf.deb
|
|
||||||
wget http://bitscope.com/download/files/bitscope-console_1.0.FK29A_armhf.deb
|
|
||||||
wget http://bitscope.com/download/files/bitscope-display_1.0.EC17A_armhf.deb
|
|
||||||
wget http://bitscope.com/download/files/bitscope-server_1.0.FK26A_armhf.deb
|
|
||||||
|
|
||||||
sudo dpkg -i *.deb
|
|
||||||
sudo apt-get -y -f install
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
on x86
|
|
||||||
|
|
||||||
TBD
|
|
||||||
|
|
||||||
#### docker based dev environment/pipeline
|
|
||||||
|
|
||||||
##### docker
|
|
||||||
|
|
||||||
```console
|
|
||||||
curl -sSL https://get.docker.com | sh
|
|
||||||
```
|
|
||||||
|
|
||||||
##### helm
|
|
||||||
|
|
||||||
|
|
||||||
```console
|
|
||||||
sudo snap install helm --classic
|
|
||||||
```
|
|
||||||
|
|
||||||
##### kubectl / k3s
|
|
||||||
|
|
||||||
```console
|
|
||||||
curl -sfL https://get.k3s.io | sh -
|
|
||||||
```
|
|
||||||
|
|
||||||
##### docker-compose
|
|
||||||
|
|
||||||
##### Todo
|
|
||||||
|
|
||||||
- local k0s (for gitops testing)
|
|
||||||
- (container) local docker reg
|
|
||||||
- (container) local jenkins
|
|
||||||
- (container) local all the apps for developing
|
|
||||||
|
|
||||||
#### Mainline repo packages
|
|
||||||
|
|
||||||
```console
|
|
||||||
apt-get -y install \
|
|
||||||
kicad librecad freecad gimp blender shellcheck jq net-tools\
|
|
||||||
ruby-full offlineimap zsh vim thunderbird enigmail highlight\
|
|
||||||
kleopatra zsh-autosuggestions zsh-syntax-highlighting screen \
|
|
||||||
mtr cifs-utils grass cubicsdr arduino jupyter-notebook \
|
|
||||||
dia basket vym code wings3d flatpak wireguard gnuplot \
|
|
||||||
pandoc python3-blockdiag texlive-fonts-extra clang \
|
|
||||||
spice-client-gtk spice-html5 virt-viewer gnome-system-monitor \
|
|
||||||
glances htop dstat apt-file kleopatra konsole telnet clang \
|
|
||||||
ripgrep recoll poppler-utils abiword wv antiword unrtf \
|
|
||||||
libimage-exiftool-perl xsltproc davmail kphotoalbum opensc \
|
|
||||||
yubikey-manager yubikey-personalization yubikey-personalization-gui \
|
|
||||||
openshot kdenlive pitivi inkscape scribus scdaemon seafile-gui qgis \
|
|
||||||
octave nodejs libreoffice calligra netbeans sigrok \
|
|
||||||
nodejs audacity wireshark nmap tcpdump ndiff etherape ghostscript \
|
|
||||||
lepton-eda ngspice graphicsmagick codeblocks scilab calibre paraview \
|
|
||||||
gnuradio build-essential libimobiledevice-utils libimobiledevice-dev \
|
|
||||||
libgpod-dev python3-numpy python3-pandas python3-matplotlib \
|
|
||||||
curl git make binutils bison gcc build-essential openjdk-11-jre-headless \
|
|
||||||
debootstrap cutecom minicom ser2net conman xsane gocr tesseract-ocr \
|
|
||||||
fonts-powerline build-essential zlib1g zlib1g-dev libxml2 libxml2-dev \
|
|
||||||
libxslt-dev locate libreadline6-dev libcurl4-openssl-dev git-core libssl-dev \
|
|
||||||
libyaml-dev openssl autoconf libtool ncurses-dev bison curl wget postgresql \
|
|
||||||
postgresql-contrib libpq-dev libapr1 libaprutil1 libsvn1 libpcap-dev ruby-dev \
|
|
||||||
openvas git-core postgresql curl nmap gem libsqlite3-dev cmake ninja-build libopenscap-dev \
|
|
||||||
qt5-default libqt5widgets5 libqt5widgets5 libqwt-headers libqt5xmlpatterns5-dev asciidoc \
|
|
||||||
lmms virt-manager gqrx-sdr multimon-ng rtl-sdr fldigi grads cdo xygrib xygrib-maps evince \
|
|
||||||
openwebrx xscreensaver blueman bluetooth pulseaudio-module-bluetooth blueman texlive-fonts-extra \
|
|
||||||
texlive-fonts-recommended
|
|
||||||
```
|
|
||||||
|
|
||||||
### Configuration Tweaks
|
|
||||||
|
|
||||||
|
|
||||||
#### zsh
|
|
||||||
|
|
||||||
- Use oh-my-zsh
|
|
||||||
- Use powerlevel10k
|
|
||||||
|
|
||||||
#### konsole setup
|
|
||||||
|
|
||||||
- settings -> edit current profile ->
|
|
||||||
- apperance (set to dark pastels)
|
|
||||||
- font (set to noto mono)
|
|
||||||
- mouse
|
|
||||||
- copy/paste
|
|
||||||
- copy on select
|
|
||||||
- paste from clipboard (default is paste from selection)
|
|
||||||
- un-set copy text as html
|
|
||||||
|
|
||||||
- settings - configure shortcuts
|
|
||||||
- next tab ctrl+tab
|
|
||||||
- previous ctrl+shift+tab
|
|
||||||
|
|
||||||
#### xfce tweaks
|
|
||||||
|
|
||||||
- Set focus follows mouse (settings/window manager/focus)
|
|
||||||
- (dark mode)? (only works for gtk apps)
|
|
||||||
- need to set other apps individually to dark mode
|
|
||||||
|
|
||||||
#### VsCode
|
|
||||||
|
|
||||||
fenix appears to include it in the default image, but it doesn't launch from the menu and shell says code not found. Search for code and it will pull up an entry with VsCode logo labeled as Text Editor. Use that.
|
|
||||||
|
|
||||||
to see how I set it up VsCode for a myriad of tasks, see the VsCode guide for tsys at:
|
|
||||||
|
|
||||||
<https://git.turnsys.com/TSGTechops/docs-techops/src/branch/master/src/Systems/Admin-RandD/TSYS-DevEnv-VsCode.md>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### CTO Stuff
|
|
||||||
|
|
||||||
#### mbed studio
|
|
||||||
#### eclipse
|
|
||||||
#### android studio
|
|
||||||
#### dbeaver
|
|
||||||
#### postman
|
|
||||||
#### sweethome3d
|
|
||||||
#### ghidra
|
|
||||||
|
|
||||||
#### Upstream vendor software to checkout
|
|
||||||
|
|
||||||
This is a massive work in progress , is mostly for Charles own notes only, really only applicable for large upstream packages that TSYS needs to support
|
|
||||||
long term/sync regularly with upstream, or part of a broader protfolio initiative etc.
|
|
||||||
|
|
||||||
Unless you have been specfically directed todo so in your roject readme, you don't need todo the below. In almost all cases , the work below is abstracted
|
|
||||||
for/from you into our artifact repository and build process.
|
|
||||||
|
|
||||||
##### Projects
|
|
||||||
|
|
||||||
- openwrt
|
|
||||||
- openmct
|
|
||||||
- raspi kernel
|
|
||||||
- FreeRTOS
|
|
||||||
- freedombox
|
|
||||||
- serval
|
|
||||||
- genode
|
|
||||||
- balena
|
|
||||||
|
|
||||||
##### Special considerations for upstream
|
|
||||||
|
|
||||||
|
|
||||||
## Workstation details - iPAD
|
|
||||||
|
|
||||||
- Operating System: iPAD OS
|
|
||||||
- Hardware: iPAD Mini 5th Generation
|
|
||||||
- Accessories:
|
|
||||||
- Lightining to USB3
|
|
||||||
- Lightining to HDMI
|
|
||||||
- I use same KB/Mouse that I do with the rPI
|
|
||||||
- Key Applications
|
|
||||||
- Working Copy
|
|
||||||
- Buffer Text Editor
|
|
||||||
- Blink.sh
|
|
||||||
- Jump remote Desktop
|
|
||||||
- GitJournal
|
|
||||||
- Microsoft Todo
|
|
||||||
- Neat
|
|
||||||
- Discourse
|
|
||||||
- FreeScout
|
|
||||||
- ErpNext
|
|
||||||
|
|
||||||
### Remaining projects
|
|
||||||
|
|
||||||
These items remain todo and document. They are listed in decreasing order of importance.
|
|
||||||
|
|
||||||
|
|
||||||
#### SSH / GPT private key HSM
|
|
||||||
|
|
||||||
- kleopatra
|
|
||||||
- yubikey ssh key
|
|
||||||
- yubikey gpg key
|
|
||||||
|
|
||||||
(not strictly related but in same family)
|
|
||||||
- xca (build from source)
|
|
||||||
|
|
||||||
#### TurboVNC (3d accelerated) on rpi as client
|
|
||||||
|
|
||||||
#### Select an Investigative notebook
|
|
||||||
|
|
||||||
- <https://github.com/kpcyrd/sn0int>
|
|
||||||
- <https://www.spiderfoot.net/>
|
|
||||||
- <https://github.com/smicallef/spiderfoot?ref=d>
|
|
||||||
- modelio <https://www.modelio.org/>
|
|
||||||
- <https://gephi.org/>
|
|
||||||
|
|
||||||
#### Research source material organization
|
|
||||||
|
|
||||||
- zotero
|
|
||||||
- docear <https://opensource.com/life/16/8/organize-your-scholarly-research-docear>
|
|
||||||
|
|
||||||
#### activitywatch
|
|
||||||
|
|
||||||
Effortless self instrumentation. Performed initial attempts/exploration. It builds (I think)
|
|
||||||
|
|
||||||
#### Get photo processing workflow setup
|
|
||||||
|
|
||||||
- currently exploring kphotoablbum
|
|
||||||
- Browser based Sharing / browsing via Photoprism (or perhaps piwgio ultimately, with photoprism as part of a processing work flow)?
|
|
||||||
- need something to sync to "cloud" with auto capture from phone
|
|
||||||
- reference material:
|
|
||||||
- <https://photoprism.app/>
|
|
||||||
- <https://kn100.me/declouding-replacing-google-photos-part-1/>
|
|
||||||
- <https://willem.com/blog/2020-08-31_free-from-the-icloud-escaping-apple-photos/>
|
|
||||||
|
|
||||||
#### switch mail from (just) thunderbird to thunderbird/(neo)mutt/notmuch/task warrior
|
|
||||||
|
|
||||||
This has been an ongoing on-again/off-again adventure....
|
|
||||||
|
@@ -1,302 +1 @@
|
|||||||
# TSYS Group - Engineering Documentation - Visual Studio Code Environment Setup Guide
|
# Systems - VsCode Configuration Guide
|
||||||
|
|
||||||
- [TSYS Group - Engineering Documentation - Visual Studio Code Environment Setup Guide](#tsys-group---engineering-documentation---visual-studio-code-environment-setup-guide)
|
|
||||||
- [Introduction](#introduction)
|
|
||||||
- [Environmental considerations/assumptions](#environmental-considerationsassumptions)
|
|
||||||
- [External Software Programs/Services Used](#external-software-programsservices-used)
|
|
||||||
- [Short version](#short-version)
|
|
||||||
- [Requirements and dependencies](#requirements-and-dependencies)
|
|
||||||
- [Languages Used](#languages-used)
|
|
||||||
- [Deployment Targets](#deployment-targets)
|
|
||||||
- [General setup](#general-setup)
|
|
||||||
- [Plugins - Team-*](#plugins---team-)
|
|
||||||
- [General Tooling](#general-tooling)
|
|
||||||
- [Docker / k8s](#docker--k8s)
|
|
||||||
- [Git](#git)
|
|
||||||
- [(Cross) Compile / (Remote) Debug / (Remote) development](#cross-compile--remote-debug--remote-development)
|
|
||||||
- [Markdown (and documentation in )](#markdown-and-documentation-in-)
|
|
||||||
- [Data](#data)
|
|
||||||
- [Bash](#bash)
|
|
||||||
- [Plugins - Team-SWEng](#plugins---team-sweng)
|
|
||||||
- [API (rest) development](#api-rest-development)
|
|
||||||
- [Web App development](#web-app-development)
|
|
||||||
- [YAML](#yaml)
|
|
||||||
- [Rust](#rust)
|
|
||||||
- [C/C++](#cc)
|
|
||||||
- [Arduino/Seeduino](#arduinoseeduino)
|
|
||||||
- [CUDA](#cuda)
|
|
||||||
- [Java](#java)
|
|
||||||
- [PHP](#php)
|
|
||||||
- [Python](#python)
|
|
||||||
- [Plugins - Team-MechEng](#plugins---team-mecheng)
|
|
||||||
- [Octave](#octave)
|
|
||||||
- [R](#r)
|
|
||||||
- [Jupyter](#jupyter)
|
|
||||||
- [STL](#stl)
|
|
||||||
- [G-code](#g-code)
|
|
||||||
- [Gerber](#gerber)
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
This is the TSYS Visual Studio Code setup guide. It covers how to setup VsCode for all aspects of TSSY Group.
|
|
||||||
|
|
||||||
We have a very complex total stack, but don't despair, you will only need a small subset of this.
|
|
||||||
|
|
||||||
Which subset of course depends on what part of the TSYS mission you are supporting!
|
|
||||||
|
|
||||||
### Environmental considerations/assumptions
|
|
||||||
|
|
||||||
- Charles setup is the most comprehensive, as he is the co-founder and (as of Q3 2021) (acting) CTO and needs to develop for all pieces of the stack/products.
|
|
||||||
- Do not just blindly follow this guide! Pick the pieces you need for your work. If you have any questions, ask in Discord or post to Discourse.
|
|
||||||
|
|
||||||
- Working against a remote server/container/k8s cluster over SSH via VsCode Remote
|
|
||||||
- VsCode Remote Dev is heavily utilized (almost if not exclusively)
|
|
||||||
- Source code resides in home directory on the server farm, but is edited "locally" on your workstation with VsCode (Remote)
|
|
||||||
|
|
||||||
- Using TSYS self hosted Gitea git instance
|
|
||||||
- Using TSYS self hosted Jenkins CI
|
|
||||||
- docker/kubectl commands are present and configured to run against the cluster (and you are connected to the VPN)
|
|
||||||
|
|
||||||
- Developing in Windows 10/Mac OSX/Linux with a GUI environment running native VsCode (CNW daily driver is a raspberry pi 4 with 8gb ram to help ensure lowest common denominator support/good performance)
|
|
||||||
- Using Chrome web browser (firefox/safari may work, but are not supported at all)
|
|
||||||
|
|
||||||
- Developing primarily at the "git push, magic happens" abstraction layer
|
|
||||||
- Need to occasionally inspect/debug the magic at various stages of the pipeline
|
|
||||||
- Need to frequently debug running code on a variety of targets (pi/arduino etc)
|
|
||||||
|
|
||||||
- All text documentation is written in Markdown and is posted to Git/Discourse as Markdown
|
|
||||||
- (tbd soon, actively experimenting)
|
|
||||||
- All diagrams are created via text language
|
|
||||||
- All diagrams are produced using
|
|
||||||
- (blockdiag?
|
|
||||||
- uml?
|
|
||||||
- markdown extensions?
|
|
||||||
- all (or some mix) of the above?
|
|
||||||
- what extension(s)to use?)
|
|
||||||
|
|
||||||
### External Software Programs/Services Used
|
|
||||||
|
|
||||||
You'll need to setup some external tools and services to support the TSYS mission (in addition to VsCode).
|
|
||||||
|
|
||||||
Setup of external tools/services is outside the scope of this document. For guidance on tool/service selection and setup, please see the following links:
|
|
||||||
|
|
||||||
- <https://git.turnsys.com/TSGTechops/docs-techops/src/branch/master/src/Systems/Admin-Application/AppsAndServices.md>
|
|
||||||
- <https://git.turnsys.com/TSGTechops/docs-techops/src/branch/master/src/Systems/Admin-RandD/EngineeringWorkstatioNBuildBuide.md>
|
|
||||||
|
|
||||||
Once you've setup your needed external tools and services , return to this document and continue with setup of VsCode as needed to work with the tooling you installed.
|
|
||||||
|
|
||||||
### Short version
|
|
||||||
|
|
||||||
very soon (june 2021) you'll have two options for EZ stack deployment for your product development environment :
|
|
||||||
|
|
||||||
1) docker pull TSYSVSC and use with <https://code.visualstudio.com/docs/remote/containers>
|
|
||||||
|
|
||||||
2) Login to <https://desktop.turnsys.com> and get a full engineering stack for whatever product you are working on.
|
|
||||||
|
|
||||||
Read on to understand the pieces and particulars in case you want to build your own setup.
|
|
||||||
|
|
||||||
## Requirements and dependencies
|
|
||||||
|
|
||||||
Here is the tool and language requirements of all the TSYS engineering projects/programs/products.
|
|
||||||
|
|
||||||
### Languages Used
|
|
||||||
|
|
||||||
| Language | Used By | Product Scope |
|
|
||||||
|----------------------------------|--------------|------------------------------------|
|
|
||||||
| bash | TSYS wide | All |
|
|
||||||
| c/c++ | Team-SwEng | MorseFlyer |
|
|
||||||
| CUDA | Team MechEng | MorseFlyer (envelope/airframe) |
|
|
||||||
| dockerfile/docker compose | TSYS wide | All |
|
|
||||||
| geo spatial data | Team SwEng | MorseFlyer (avionics) |
|
|
||||||
| Gerber | Team HwEng | MorseSkynet, MorseFlyer (avionics) |
|
|
||||||
| Go | Team-SwEng | HFNOC/HFNFC/RackRental |
|
|
||||||
| helm charts | TSYS wide | All |
|
|
||||||
| Java | Team SwEng | MorseTrackerHUD,MorseTracker |
|
|
||||||
| javascript | Team SwEng | MorseTrackerHUD |
|
|
||||||
| Markdown | TSYS wide | All |
|
|
||||||
| octave | Team MechEng | MorseFlyer (envelope/airframe) |
|
|
||||||
| OpenFAAS | Team-SwEng | RackRental.net |
|
|
||||||
| PHP | TEam-SwEng | RackRental.net , HFNOC/HFNFC |
|
|
||||||
| python (Jupyter and stand alone) | Team MechEng | MorseFlyer (envelope/airframe) |
|
|
||||||
| R | Team MechEng | MorseFlyer (envelope/airframe) |
|
|
||||||
| Ruby | Team-SwEng | All (as part of SDLC testing) |
|
|
||||||
| Rust | Team-SwEng | HFNOC/HFNFC/RackRental |
|
|
||||||
| tcl/tk | Team HwEng | MorseSkynet |
|
|
||||||
| Xilinx | Team HwEng | MorseSkynet |
|
|
||||||
| YAML | TSYS wide | All |
|
|
||||||
|
|
||||||
### Deployment Targets
|
|
||||||
|
|
||||||
| Target | Used By | Product Scope |
|
|
||||||
|-----------------------------------------------------|-------------|------------------------------------|
|
|
||||||
| Arduino (cross compiled) | Team-SwEng | MorseFlyer (Avionics) |
|
|
||||||
| FreeRTOS (cross compiled) | Team-SwEng | MorseFlyer (Avionics) |
|
|
||||||
| Jenkins build pipelines | All teams | All |
|
|
||||||
| OpenMCT farm (java/micro services) | Team-SwEng | MorseTracker/MorseTrackerHUD |
|
|
||||||
| Raspberry Pi (cross compiled) | Team-SwEng | MorseFlyer (Avionics) |
|
|
||||||
| Subo pi farm (multi arch) Docker / k3s (and balena) | Team-SwEng | MorseFlyer (Avionics), MorseSkynet |
|
|
||||||
| TSYS K3S sandbox/dev/prod clusters | All teams | All |
|
|
||||||
| TSYS Web Farm (lots of PHP (wordpress etc)) | Team-WebEng | RackRental.net, HFNOC, HFNFC |
|
|
||||||
|
|
||||||
## General setup
|
|
||||||
|
|
||||||
These are steps you need to take before starting development in earnest.
|
|
||||||
|
|
||||||
Linux (or at least a mostly linux (WSL/mobaxterm)) environment is presumed for all the below.
|
|
||||||
|
|
||||||
You may well find GUI replacements and use them, especially on Windows/MACOSX. They are not supported in any way.
|
|
||||||
|
|
||||||
- Setup gitea
|
|
||||||
- Login once to <https://git.turnsys.com> so you can be added to the appropriate repos/teams/orgs.
|
|
||||||
- Customize any profile etc settings that you wish.
|
|
||||||
- Obtain API key to use with gitea-issues plugin
|
|
||||||
- Setup SSH
|
|
||||||
- Setup SSH key
|
|
||||||
- Add SSH public key to gitea
|
|
||||||
- Setup git
|
|
||||||
- For all git users:
|
|
||||||
- $ git config --global user.name "John Doe"
|
|
||||||
- $ git config --global user.email johndoe@example.com
|
|
||||||
- Setup git lg : git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
|
|
||||||
- for zsh users (and you really should use zsh/oh-my-zsh :)
|
|
||||||
- git config --add oh-my-zsh.hide-status 1
|
|
||||||
- git config --add oh-my-zsh.hide-dirty 1
|
|
||||||
|
|
||||||
## Plugins - Team-*
|
|
||||||
|
|
||||||
The plugins documented here are known to work, and are in active/frequent use by Charles as CTO as he hacks on the stack.
|
|
||||||
Other options exist for almost all the below. If you find something that works better for you, use it!
|
|
||||||
|
|
||||||
Consider the below as a suggested/supported baseline.
|
|
||||||
|
|
||||||
### General Tooling
|
|
||||||
|
|
||||||
- Code Spell Checker <https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker>
|
|
||||||
- Vim <https://marketplace.visualstudio.com/items?itemName=vscodevim.vim>
|
|
||||||
|
|
||||||
### Docker / k8s
|
|
||||||
|
|
||||||
- Docker:
|
|
||||||
- <https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker>
|
|
||||||
- <https://code.visualstudio.com/docs/containers/overview>
|
|
||||||
- Bridge to K8s <https://marketplace.visualstudio.com/items?itemName=mindaro.mindaro> <https://code.visualstudio.com/docs/containers/bridge-to-kubernetes>
|
|
||||||
|
|
||||||
### Git
|
|
||||||
|
|
||||||
- Git Extension Pack <https://marketplace.visualstudio.com/items?itemName=donjayamanne.git-extension-pack>
|
|
||||||
- Git Tree Compare <https://marketplace.visualstudio.com/items?itemName=letmaik.git-tree-compare>
|
|
||||||
- Git Tags <https://marketplace.visualstudio.com/items?itemName=howardzuo.vscode-git-tags>
|
|
||||||
- Gitea-VsCode <https://marketplace.visualstudio.com/items?itemName=ijustdev.gitea-vscode>
|
|
||||||
|
|
||||||
### (Cross) Compile / (Remote) Debug / (Remote) development
|
|
||||||
|
|
||||||
This section is a work in progress. Below is the current guides/plugins that are being tested. Roughly in decreasing order of confirmed stability/active usage.
|
|
||||||
YMMV, DD , Buyer Beware etc etc etc.
|
|
||||||
|
|
||||||
- <https://code.visualstudio.com/docs/remote/remote-overview>
|
|
||||||
- <https://code.visualstudio.com/docs/remote/ssh>
|
|
||||||
- <https://dimamoroz.com/2021/03/09/intel-nuc-for-development/>
|
|
||||||
- <https://github.com/Ed-Yang/rpidebug>
|
|
||||||
- <https://enes-ozturk.medium.com/remote-debugging-with-gdb-b4b0ca45b8c1>
|
|
||||||
- <https://enes-ozturk.medium.com/cross-compiling-with-cmake-and-vscode-9ca4976fdd1>
|
|
||||||
- <https://gist.github.com/aakashpk/e90d4651b074248b4823f6d2dc3373a0>
|
|
||||||
- <https://marketplace.visualstudio.com/items?itemName=webfreak.debug>
|
|
||||||
- <https://code.visualstudio.com/docs/cpp/config-linux>
|
|
||||||
|
|
||||||
### Markdown (and documentation in )
|
|
||||||
|
|
||||||
- Markdown All in One <https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-oneoo>
|
|
||||||
- Markdown Preview Enhanced <https://marketplace.visualstudio.com/items?itemName=shd101wyy.markdown-preview-enhanced>
|
|
||||||
- markdownlint <https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint>
|
|
||||||
- Excel to markdown table <https://marketplace.visualstudio.com/items?itemName=csholmq.excel-to-markdown-table>
|
|
||||||
- MdTableEditor < <https://marketplace.visualstudio.com/items?itemName=clover.md-table-editor>>
|
|
||||||
- Markdown Table Formatter https://marketplace.visualstudio.com/items?itemName=fcrespo82.markdown-table-formatter
|
|
||||||
- Gitdoc <https://marketplace.visualstudio.com/items?itemName=vsls-contrib.gitdoc>
|
|
||||||
- Draw.io integration <https://marketplace.visualstudio.com/items?itemName=hediet.vscode-drawio>
|
|
||||||
- PlantUML
|
|
||||||
- <https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml>
|
|
||||||
- <https://www.freecodecamp.org/news/inserting-uml-in-markdown-using-vscode/>
|
|
||||||
- Latex Workshop <https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop>
|
|
||||||
|
|
||||||
### Data
|
|
||||||
|
|
||||||
- <https://marketplace.visualstudio.com/items?itemName=mtxr.sqltools>
|
|
||||||
- <https://marketplace.visualstudio.com/items?itemName=RandomFractalsInc.vscode-data-preview>
|
|
||||||
- <https://marketplace.visualstudio.com/items?itemName=RandomFractalsInc.geo-data-viewer>
|
|
||||||
- <https://marketplace.visualstudio.com/items?itemName=mechatroner.rainbow-csv>
|
|
||||||
|
|
||||||
### Bash
|
|
||||||
|
|
||||||
- <https://marketplace.visualstudio.com/items?itemName=mads-hartmann.bash-ide-vscode>
|
|
||||||
|
|
||||||
## Plugins - Team-SWEng
|
|
||||||
|
|
||||||
### API (rest) development
|
|
||||||
|
|
||||||
- <https://marketplace.visualstudio.com/items?itemName=humao.rest-client>
|
|
||||||
|
|
||||||
### Web App development
|
|
||||||
|
|
||||||
- <https://marketplace.visualstudio.com/items?itemName=iceworks-team.iceworks>
|
|
||||||
|
|
||||||
### YAML
|
|
||||||
|
|
||||||
- <https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml>
|
|
||||||
|
|
||||||
### Rust
|
|
||||||
|
|
||||||
- <https://marketplace.visualstudio.com/items?itemName=rust-lang.rust>
|
|
||||||
|
|
||||||
### C/C++
|
|
||||||
|
|
||||||
- <https://ludwiguer.medium.com/configure-visual-studio-code-to-compile-and-run-c-c-3cef24b4f690>
|
|
||||||
- <https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools-extension-pack0>
|
|
||||||
- <https://marketplace.visualstudio.com/items?itemName=formulahendry.code-runner>
|
|
||||||
|
|
||||||
#### Arduino/Seeduino
|
|
||||||
|
|
||||||
-_<https://marketplace.visualstudio.com/items?itemName=vsciot-vscode.vscode-arduino>
|
|
||||||
|
|
||||||
#### CUDA
|
|
||||||
|
|
||||||
TBD. Pull requests welcome.
|
|
||||||
|
|
||||||
### Java
|
|
||||||
|
|
||||||
- <https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack>
|
|
||||||
|
|
||||||
### PHP
|
|
||||||
|
|
||||||
- <https://github.com/cytopia/devilbox/blob/50ab236ea9780e6c3ba35d357a451d48aba9a5d2/docs/intermediate/configure-php-xdebug/linux/vscode.rst>
|
|
||||||
|
|
||||||
### Python
|
|
||||||
|
|
||||||
- <https://marketplace.visualstudio.com/items?itemName=ms-python.python>
|
|
||||||
|
|
||||||
## Plugins - Team-MechEng
|
|
||||||
|
|
||||||
### Octave
|
|
||||||
|
|
||||||
TBD. Pull requests welcome.
|
|
||||||
|
|
||||||
### R
|
|
||||||
|
|
||||||
TBD. Pull requests welcome.
|
|
||||||
|
|
||||||
### Jupyter
|
|
||||||
|
|
||||||
- <https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter>
|
|
||||||
|
|
||||||
### STL
|
|
||||||
|
|
||||||
- <https://marketplace.visualstudio.com/items?itemName=xdan.stlint-vscode-plugin>
|
|
||||||
- <https://marketplace.visualstudio.com/items?itemName=md2perpe.vscode-3dviewer>
|
|
||||||
- <https://marketplace.visualstudio.com/items?itemName=slevesque.vscode-3dviewer>
|
|
||||||
|
|
||||||
### G-code
|
|
||||||
|
|
||||||
TBD. Pull requests welcome.
|
|
||||||
|
|
||||||
### Gerber
|
|
||||||
|
|
||||||
TBD. Pull requests welcome.
|
|
||||||
|
@@ -1 +1 @@
|
|||||||
# TSYS Systems Overview
|
# Systems - Overview
|
||||||
|
@@ -1,38 +0,0 @@
|
|||||||
host buildbox
|
|
||||||
host ca
|
|
||||||
host canonmfc
|
|
||||||
host db1
|
|
||||||
host db2
|
|
||||||
host db2
|
|
||||||
host nvr
|
|
||||||
host pfv-consrv01
|
|
||||||
host pfv-core-ap01
|
|
||||||
host pfv-core-rtr01
|
|
||||||
host pfv-core-sw01
|
|
||||||
host pfv-lab-sw01
|
|
||||||
host pfv-lab-sw02
|
|
||||||
host pfv-lab-sw03
|
|
||||||
host pfv-stor1
|
|
||||||
host pfv-stor1-oob
|
|
||||||
host pfv-stor2
|
|
||||||
host pfv-stor2-oob
|
|
||||||
host pfv-time1
|
|
||||||
host pfv-toolbox
|
|
||||||
host pfv-vmsrv-01
|
|
||||||
host pfv-vmsrv-02
|
|
||||||
host pfv-vmsrv-03
|
|
||||||
host pfv-vmsrv-04
|
|
||||||
host pfv-vmsrv-06
|
|
||||||
host pihole1
|
|
||||||
host pihole2
|
|
||||||
host sipwise
|
|
||||||
host subodev
|
|
||||||
host suboqa
|
|
||||||
host suboprod
|
|
||||||
host tsys-dc-01
|
|
||||||
host tsys-dc-02
|
|
||||||
host tsys-dc-03
|
|
||||||
host tsys-dc-04
|
|
||||||
host www1
|
|
||||||
host www2
|
|
||||||
host 3dpsrv
|
|
@@ -1,27 +0,0 @@
|
|||||||
|
|
||||||
- [Things to document](#things-to-document)
|
|
||||||
- [System Admin](#system-admin)
|
|
||||||
- [Facilities](#facilities)
|
|
||||||
- [Network](#network)
|
|
||||||
- [Hypervisor](#hypervisor)
|
|
||||||
- [Storage](#storage)
|
|
||||||
- [Authentication](#authentication)
|
|
||||||
- [SRE](#sre)
|
|
||||||
|
|
||||||
# Things to document
|
|
||||||
|
|
||||||
## System Admin
|
|
||||||
|
|
||||||
### Facilities
|
|
||||||
|
|
||||||
### Network
|
|
||||||
|
|
||||||
VPN user addition to algo (opnsense soon)
|
|
||||||
|
|
||||||
### Hypervisor
|
|
||||||
|
|
||||||
### Storage
|
|
||||||
|
|
||||||
### Authentication
|
|
||||||
|
|
||||||
## SRE
|
|
@@ -1 +0,0 @@
|
|||||||
# CTO
|
|
Binary file not shown.
@@ -1,66 +0,0 @@
|
|||||||
Link collection from emails
|
|
||||||
|
|
||||||
## Batteries
|
|
||||||
|
|
||||||
* <https://www.nasa.gov/pdf/287383main_RP-08-75%2006-069-I%20NASA%20Aerospace%20Flight%20Battery%20Program%20_Part%20I-Volume%20II_FINAL_7-10-08_.pdf>
|
|
||||||
|
|
||||||
## Lorawan
|
|
||||||
|
|
||||||
* <https://www.thethingsnetwork.org/article/ground-breaking-world-record-lorawan-packet-received-at-702-km-436-miles-distance>
|
|
||||||
* <https://youtu.be/adhWIo-7gr4>
|
|
||||||
|
|
||||||
## Parafoil
|
|
||||||
|
|
||||||
* <https://www.nps.edu/documents/106608270/107784480/Fields+-+Lower+Stratospheric+Deployment+Testing+of+a+Ram-Air+Parafoil+System.pdf/be8ab409-185b-495b-8a18-5546be31b288>
|
|
||||||
* <http://www.sjsu.edu/people/nikos.mourtos/docs/Benton.S12.pdf>
|
|
||||||
* <https://www.google.com/search?rlz=1CDGOYI_enUS805US805&hl=en-US&ei=myTqW5atLoqsjwTTgruwCQ&ins=false&q=high+altitude+balloon+parafoil+return+filetype%3Apdf&oq=high+altitude+balloon+parafoil+return+filetype%3Apdf&gs_l=mobile-gws-wiz-serp.3...1966.5964..6035...0.0..0.205.1692.0j11j1......0....1.........33i299j33i160.s48wBBrSxoA>
|
|
||||||
* <http://mindworks.shoutwiki.com/wiki/Guided_Parafoil_System>
|
|
||||||
* <https://scholar.sun.ac.za/bitstream/handle/10019.1/85757/vanderkolf_flight_2013.pdf?sequence=2&isAllowed=y>
|
|
||||||
* <https://www.google.com/search?q=parafoil+guidance+navigation+control&rlz=1CDGOYI_enUS805US805&oq=parafoil+guidance+navigation+control&aqs=chrome..69i57.12019j0j9&hl=en-US&sourceid=chrome-mobile&ie=UTF-8>
|
|
||||||
* <https://www.google.com/search?q=autonomous+parafoil+balloon&rlz=1CDGOYI_enUS805US805&oq=autonomous+parafoil+balloon&aqs=chrome..69i57j69i60j69i61.11987j1j4&hl=en-US&sourceid=chrome-mobile&ie=UTF-8>
|
|
||||||
* <https://hal.archives-ouvertes.fr/hal-01853228/document>
|
|
||||||
* <https://mospace.umsystem.edu/xmlui/bitstream/handle/10355/64176/Thesis_2018_Herrington.pdf?sequence=1&isAllowed=y>
|
|
||||||
|
|
||||||
## Envelope
|
|
||||||
|
|
||||||
* <https://www.google.com/search?rlz=1CDGOYI_enUS805US805&hl=en-US&ei=m1TqW5TXFKTHjgSBmp3wCQ&ins=false&q=super+pressure+balloon+calculator&oq=super+pressure+balloon+calculator&gs_l=mobile-gws-wiz-serp.3...8931.10259..10506...0.0..0.138.1037.0j8......0....1.........0i71j35i304i39j30i10j33i10.BxG5bln1yuw>
|
|
||||||
* <https://github.com/stanford-ssi/balloons-Parafoil?files=1>
|
|
||||||
* <https://www.google.com/search?q=winzen+engineering&rlz=1CDGOYI_enUS805US805&oq=winzen+engineering&aqs=chrome..69i57.3827j1j9&hl=en-US&sourceid=chrome-mobile&ie=UTF-8>
|
|
||||||
* <https://www.google.com/search?q=ukhas+super+pressure.&rlz=1CDGOYI_enUS805US805&oq=ukhas+super+pressure.&aqs=chrome..69i57.7282j0j4&hl=en-US&sourceid=chrome-mobile&ie=UTF-8>
|
|
||||||
|
|
||||||
## General talent and links of interest
|
|
||||||
|
|
||||||
* <http://tt7hab.blogspot.com/?m=1>
|
|
||||||
* <https://stanfordssi.org/teams/balloons>
|
|
||||||
|
|
||||||
## FAA Regulations
|
|
||||||
|
|
||||||
* <https://www.law.cornell.edu/cfr/text/14/part-101>
|
|
||||||
|
|
||||||
## Satcom
|
|
||||||
|
|
||||||
* <http://www.rock7mobile.com/>
|
|
||||||
|
|
||||||
## Ads-b
|
|
||||||
|
|
||||||
* <https://www.aopa.org/news-and-media/all-news/2017/january/19/ads-b-requirement-clarified-for-nonelectrical-aircraft>
|
|
||||||
* <https://commons.erau.edu/cgi/viewcontent.cgi?article=3674&context=space-congress-proceedings>
|
|
||||||
* <https://uavionix.com/uas/>
|
|
||||||
|
|
||||||
## Avionics / Ground station
|
|
||||||
|
|
||||||
* <http://wiki.glidernet.org/esp32-ogn-tracker>
|
|
||||||
* <https://www.google.com/search?q=mavlink+lora&rlz=1CDGOYI_enUS805US805&oq=mavlink+lora&aqs=chrome..69i57j0.4939j1j4&hl=en-US&sourceid=chrome-mobile&ie=UTF-8>
|
|
||||||
* <https://www.google.com/search?q=ardupilot+lora&rlz=1CDGOYI_enUS805US805&oq=ardupilot+lora&aqs=chrome..69i57.4479j0j9&hl=en-US&sourceid=chrome-mobile&ie=UTF-8>
|
|
||||||
* <https://www.google.com/search?rlz=1CDGOYI_enUS805US805&hl=en-US&biw=375&bih=638&ei=K2TzW4_NMevMjgTKjL6IBA&ins=false&q=mavlink+lora+high+altitude&oq=mavlink+lora+high+altitude&gs_l=mobile-gws-wiz-serp.3..33i299l2.13851.18077..18247...0.0..0.297.2190.0j13j1......0....1.........0i22i30j33i160.BK3CXBmeiAo>
|
|
||||||
* <https://github.com/Octanis1/Octanis1-Field-Station>
|
|
||||||
* <https://wiki.octanis.org/orb/fieldbasestation>
|
|
||||||
|
|
||||||
## Questions asked
|
|
||||||
|
|
||||||
* On Nov 12, 2018, at 16:56, Mark S Harris <marksharristx@gmail.com> wrote:
|
|
||||||
|
|
||||||
> The balloon is likely to be more stable than the parafoil. So part of my concern was maintainomg that kind of pointing accuracy on the parafoil. In addition I didn't think the parafoil was going to be air bourne that long.
|
|
||||||
>
|
|
||||||
> Any idea on time from being dropped to landing? And of that, how much time is it in freefall before it needs to be up and running and extending the parafoil and then time to when control is needed?
|
|
||||||
>
|
|
@@ -1,38 +0,0 @@
|
|||||||
## Device fleet management
|
|
||||||
|
|
||||||
### Backend:
|
|
||||||
|
|
||||||
- https://resin.io/how-it-works/
|
|
||||||
- https://www.digitalocean.com/community/tutorials/how-to-set-up-a-private-docker-registry-on-ubuntu-14-04
|
|
||||||
- https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-getting-startedr
|
|
||||||
|
|
||||||
|
|
||||||
### Client side
|
|
||||||
- http://www.berryterminal.com/doku.php/berryboot
|
|
||||||
- http://www.berryterminal.com/doku.php/berryboot/adding_custom_distributions
|
|
||||||
- http://blog.hypriot.com/downloads/
|
|
||||||
- http://blog.hypriot.com/
|
|
||||||
- http://blog.hypriot.com/post/heavily-armed-after-major-upgrade-raspberry-pi-with-docker-1-dot-5-0/
|
|
||||||
|
|
||||||
### Telemetry
|
|
||||||
|
|
||||||
- https://richardstechnotes.wordpress.com/2015/12/26/iot-streaming-with-mqtt-and-apache-nifi/
|
|
||||||
- https://github.com/richards-tech/RTMQTT
|
|
||||||
- https://github.com/richards-tech/RTNiFiStreamProcessors
|
|
||||||
- https://github.com/richards-tech/RTIMULib2
|
|
||||||
- http://cpham.perso.univ-pau.fr/LORA/RPIgateway.html
|
|
||||||
- http://www.dragino.com/products/module/item/106-lora-gps-hat.html
|
|
||||||
- http://wiki.dragino.com/index.php?title=Lora/GPS_HAT#Example1_--_Use_with_LMIC_library_for_LoraWAN_compatible
|
|
||||||
- http://www.eleduino.com/Dragino-Lora-GPS_HAT-for-Raspberry-Pi-p10580.html
|
|
||||||
- http://www.aliexpress.com/store/product/Long-distance-wireless-433-868-915Mhz-Lora-and-GPS-Expansion-Board-for-Raspberry-Pi/1390863_32672385182.html
|
|
||||||
|
|
||||||
### Cross compile for pi and make custom images.
|
|
||||||
- http://rpi-cloud.com/guide-install-jenkins-on-rpi/
|
|
||||||
- http://software-novotny.de/raspberry-pi-remote-compilation-with-jenkins
|
|
||||||
- http://watchmysys.com/blog/tag/cross-compile/
|
|
||||||
- https://github.com/andrius/build-raspbian-image
|
|
||||||
- https://github.com/debian-pi/raspbian-ua-netinst
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
http://csis.org/files/attachments/151216_Unmanned_Systems.pdf
|
|
@@ -1,131 +1 @@
|
|||||||
# TSYS Group Handbook - Engineering Documentation - Team HwEng - Supply Chain
|
# TeamHwEng - Supply Chain
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
This article covers the high level overview of the hardware supply chain for all aspects of
|
|
||||||
the orbiter:
|
|
||||||
|
|
||||||
* orbiter envelope
|
|
||||||
* orbiter parafoil
|
|
||||||
|
|
||||||
* orbiter part 101 requirements
|
|
||||||
* orbiter cutdown
|
|
||||||
* ads
|
|
||||||
|
|
||||||
* orbiter avionics
|
|
||||||
* arduino
|
|
||||||
* pi
|
|
||||||
|
|
||||||
* ground station hardware for receiving avionics data
|
|
||||||
|
|
||||||
## Pi Systems and USB accessories
|
|
||||||
|
|
||||||
* raspberry pi
|
|
||||||
* subopi1
|
|
||||||
* MorsePOD M6
|
|
||||||
* subopi2
|
|
||||||
* Lora Concentrator Pi Hat (Rak 833, 915mhz, SPI, FCC: 2AF6B-RAK833)
|
|
||||||
* Arduino Uno connected to motor shield connected to
|
|
||||||
* Servo
|
|
||||||
* subopi3
|
|
||||||
* USB Lora Concentrator
|
|
||||||
* subopi4
|
|
||||||
* Dragino Lora/GPS hat
|
|
||||||
* subopi5
|
|
||||||
* SenseHAT
|
|
||||||
* Seeduino LorawanGPS connected to
|
|
||||||
* IMU
|
|
||||||
* Motor Controller
|
|
||||||
* subopi6
|
|
||||||
* SenseHAT
|
|
||||||
* Seeduino LorawanGPS connected to
|
|
||||||
* IMU
|
|
||||||
* Motor Controller
|
|
||||||
|
|
||||||
## Orbiter Envelope
|
|
||||||
|
|
||||||
Much to write here, very soon.
|
|
||||||
|
|
||||||
## Orbiter parafoil
|
|
||||||
|
|
||||||
Much to write here, very soon.
|
|
||||||
|
|
||||||
## Orbiter Part 101 requirements
|
|
||||||
|
|
||||||
### Reflector
|
|
||||||
|
|
||||||
Much to write here, very soon.
|
|
||||||
|
|
||||||
### Redundancy
|
|
||||||
|
|
||||||
Much to write here, very soon.
|
|
||||||
|
|
||||||
### Orbiter Cutdowon
|
|
||||||
|
|
||||||
Much to write here, very soon.
|
|
||||||
|
|
||||||
## Orbiter Avionics - Seeduino
|
|
||||||
|
|
||||||
This is the core of the "smarts" (electronic) system for the orbiter. It's where all domain awareness and decision making happens (along with communication), and is subject to full regulatory review/compliance requirements.
|
|
||||||
|
|
||||||
It must do very few things, and it must do them perfectly.
|
|
||||||
|
|
||||||
It will be running FreeRTOS, with a handful of custom routines.
|
|
||||||
|
|
||||||
* The POC utilizes Seedunio LoraWANGPS boards:
|
|
||||||
|
|
||||||
* <https://www.seeedstudio.com/Seeeduino-LoRaWAN-W-GPS-p-2781.html>
|
|
||||||
|
|
||||||
* With the following groove boards connected to the seeduino:
|
|
||||||
|
|
||||||
* IMU: <https://www.seeedstudio.com/Grove-IMU-10DOF-p-2386.html>
|
|
||||||
|
|
||||||
* Motor driver board: <https://www.seeedstudio.com/Grove-I2C-Motor-Driver-L298P-p-4534.html> (or very similar , need to confirm)
|
|
||||||
|
|
||||||
* Motors (need to document)
|
|
||||||
|
|
||||||
### Power Management
|
|
||||||
|
|
||||||
* Core power control:
|
|
||||||
This is where the batteries, cells, load all comes together:
|
|
||||||
|
|
||||||
* <http://www.switchdoc.com/sunairplus-solar-power-controllerdata-collector/>
|
|
||||||
|
|
||||||
### Hardware Watchdog
|
|
||||||
|
|
||||||
This is a critical fail safe component, and will reboot the seeduino or pi automatically if countdown timer expires:
|
|
||||||
|
|
||||||
* <https://shop.switchdoc.com/collections/break-out-boards/products/switchdoc-labs-dual-watchdog-timer-board-for-arduino-raspberry-pi>
|
|
||||||
|
|
||||||
## Orbiter Avionics - Raspberry pi
|
|
||||||
|
|
||||||
The pi is essentially a large disk (for geospatial db, holding avionics firmware, holding log data etc) and beefy CPU (for geo spatial lookups, processing ads-b data, perhaps some data crunching for local optimizations based on weather) attached to the avionics. The pi is important, but not completely critical. It can crash (and if not fixed by watchdog) can remain offline and the orbiter can come in for service safely. We will utilize best practices with the pi, to ensure it's as reliable/available as possible.
|
|
||||||
|
|
||||||
In poc the pi will be attached via USB (and also serving as a host for the arduino for firware updates of the avionics ), in prototype/prod it will be on an integrated board as a Pi CM.
|
|
||||||
|
|
||||||
* Payload power control:
|
|
||||||
|
|
||||||
Control of the power payload, on a geo spatial basis, in a black box/non customer changeable is also super critical, and will likely receive the second most regulatory scrutiny.
|
|
||||||
|
|
||||||
This is used for power cycling the payload for regulatory compliance (geofence):
|
|
||||||
|
|
||||||
* <https://shop.switchdoc.com/collections/break-out-boards/products/usb-powercontrol-board-v2-w-grove-control-usb-to-usb-solid-state-relay-for-raspberry-pi-and-arduinos-v2>
|
|
||||||
|
|
||||||
* SenseHat
|
|
||||||
|
|
||||||
We have a SenseHat on the raspberry pi, to provide additional sensor data, as a second source of data for comparsion purposes/redundancy.
|
|
||||||
|
|
||||||
## Ground Station
|
|
||||||
|
|
||||||
From a hardware perspective, not too much involved here. The lora concentrators we have
|
|
||||||
for modulating/demodulating lora packets are:
|
|
||||||
|
|
||||||
(attached via USB)
|
|
||||||
|
|
||||||
* <https://github.com/RAKWireless>
|
|
||||||
* <https://github.com/RAKWireless/RAK831-LoRaGateway-RPi>
|
|
||||||
* <https://store.rakwireless.com/products/rak831-gateway-module?variant=22375114801252>
|
|
||||||
|
|
||||||
and
|
|
||||||
|
|
||||||
(pi hat)
|
|
||||||
|
@@ -1,104 +1 @@
|
|||||||
# TSYS Group Handbook - Engineering Documentation - Team HwEng - Tooling
|
# TeamHwEng - Tooling
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
This article covers the support stack of software and hardware used by the hardware engineering
|
|
||||||
team to develop the orbiter.
|
|
||||||
|
|
||||||
Topics covered by this documentation:
|
|
||||||
|
|
||||||
* Computer Systems
|
|
||||||
* Dev/qa/prod systems
|
|
||||||
|
|
||||||
* (Custom) Hardware machines/tools for prototypes
|
|
||||||
* Envelope Sealer
|
|
||||||
* Inflator
|
|
||||||
* Pressure chamber
|
|
||||||
* Reflow Oven
|
|
||||||
* RF Testing chamber
|
|
||||||
* Environmental Testing - Temperature
|
|
||||||
* Environmental Testing - UV
|
|
||||||
|
|
||||||
* Software
|
|
||||||
|
|
||||||
See the following links for the software setup guides
|
|
||||||
|
|
||||||
- <https://git.turnsys.com/TSGTechops/docs-techops/src/branch/master/TSYS-DevEnv-VsCode.md>
|
|
||||||
- <https://git.turnsys.com/mrcharles/dotfiles/src/branch/master/README.md>
|
|
||||||
|
|
||||||
|
|
||||||
## Computer Systems
|
|
||||||
|
|
||||||
* Raspberry Pi
|
|
||||||
* subobench (all lab equipment with a digital interface is attached to this). Documented on discourse.
|
|
||||||
|
|
||||||
* x86 servers
|
|
||||||
* subodev We develop workloads here. Once a day update or so. (After any needed iterations on our dev workstations)
|
|
||||||
* suboqa We run qa/unit/integration/burn in etc tests here on all workloads. Expect once a week updates or so.
|
|
||||||
* suboprod We run production workloads here. All things on here should be expected to come under regulatory review. May be considered a system of record, need to ponder. This is CUDA enabled (quadro). Expected to be under cluster control (slurm).
|
|
||||||
|
|
||||||
* Tegra cluster
|
|
||||||
* suboprod01-05
|
|
||||||
|
|
||||||
## (custom) tooling for prototypes
|
|
||||||
|
|
||||||
### Envelope Heat Sealer
|
|
||||||
|
|
||||||
* Overview
|
|
||||||
|
|
||||||
This is used for assembling the envelopes. It's a customized heat sealer, controlled by an Arduino for precision temperature control.
|
|
||||||
|
|
||||||
* Bill of Materials
|
|
||||||
|
|
||||||
### Inflator
|
|
||||||
|
|
||||||
* Overview
|
|
||||||
|
|
||||||
This is used for inflating the envelopes once they've been assembled (in particular for leak detection).
|
|
||||||
|
|
||||||
It's a customized pump , controlled by an Arduino for precision pressure control.
|
|
||||||
|
|
||||||
* Bill of Materials
|
|
||||||
|
|
||||||
### Pressure chamber
|
|
||||||
|
|
||||||
* Overview
|
|
||||||
|
|
||||||
* Bill of Materials
|
|
||||||
|
|
||||||
### Reflow Oven
|
|
||||||
|
|
||||||
* Overview
|
|
||||||
|
|
||||||
This is used
|
|
||||||
|
|
||||||
* Bill of Materials
|
|
||||||
|
|
||||||
### Cameo Silhouette
|
|
||||||
|
|
||||||
* Overview
|
|
||||||
|
|
||||||
This is used to (primarily) make solder stencils for PCB re-work we will be doing on prototypes.
|
|
||||||
|
|
||||||
### RF Testing Chamber
|
|
||||||
|
|
||||||
We will do as much EMC testing in house as we can. This will save us 10s of thousands of dollars
|
|
||||||
and will increase our first pass chances at the FCC certified lab immensely. We can also rent out the chamber when we aren't using it.
|
|
||||||
|
|
||||||
* Major components
|
|
||||||
* Considerations/concerns
|
|
||||||
* Budget/BoM
|
|
||||||
|
|
||||||
### Environmental Testing
|
|
||||||
|
|
||||||
We will do as much environmental testing in house as we can. Need to research if any external testing is required by regulation, but currently (03/03/2021) I'm un-aware of any that is required.
|
|
||||||
Of course we will test extensively , for robustness etc.
|
|
||||||
|
|
||||||
* Major components
|
|
||||||
* Considerations/concerns
|
|
||||||
* Budget/BoM
|
|
||||||
|
|
||||||
#### UV
|
|
||||||
|
|
||||||
#### Extreme cold
|
|
||||||
|
|
||||||
|
@@ -1,100 +0,0 @@
|
|||||||
# Lab Component Inventory
|
|
||||||
|
|
||||||
| Drawer # | Contents | Source|
|
|
||||||
|---|---|---|
|
|
||||||
| 1 | Jumper Wires F2F 6" |to be identified|
|
|
||||||
| 2 | Jumper Wires F2F 6" |to be identified|
|
|
||||||
| 3 | Jumper Wires M2M 6" |to be identified|
|
|
||||||
| 4 | Jumper Wires M2M 6" |to be identified|
|
|
||||||
| 5 | Jumper Wires M2F 6" |to be identified|
|
|
||||||
| 6 | Mixed Jumper Wires M2M 6" |to be identified|
|
|
||||||
| 7 | Header Strips|to be identified|
|
|
||||||
| 8 | Heatshrink Tubing|<https://www.harborfreight.com/120-piece-heat-shrink-tubing-set-67530.html>|
|
|
||||||
| 9 | Heatshrink Tubing|""|
|
|
||||||
| 10 | Heatshrink Tubing|""|
|
|
||||||
| 11 | Wire Connector Butt Splice| <https://www.harborfreight.com/30-pack-watertight-heat-shrink-butt-connectors-66729.html> |
|
|
||||||
| 12| Zipties| <https://www.homedepot.com/p/Commercial-Electric-4-in-Cable-Tie-Natural-1000-Pack-GT-100M/203531927>|
|
|
||||||
| 13| Push Buttons| amz,ck|
|
|
||||||
| 14| LED Screen|unknown origin|
|
|
||||||
| 15| Relays | amz but no specific link|
|
|
||||||
| 16| Sound | ck |
|
|
||||||
| 17| Diodes | <https://www.amazon.com/gp/product/B007L4DX6Q/ref=ppx_yo_dt_b_asin_title_o04_s01?ie=UTF8&psc=1>|
|
|
||||||
| 18| Crystal Oscillators | <https://www.amazon.com/gp/product/B07C4WN68Z/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1> |
|
|
||||||
| 19| Switches | ck |
|
|
||||||
| 20| Empty Drawer | n/a |
|
|
||||||
| 21| Empty Drawer | n/a |
|
|
||||||
| 22| Empty Drawer | n/a |
|
|
||||||
| 23| Empty Drawer | n/a |
|
|
||||||
| 24| Empty Drawer | n/a |
|
|
||||||
| 25| Empty Drawer | n/a |
|
|
||||||
| 26| Empty Drawer | n/a |
|
|
||||||
| 27| Empty Drawer | n/a |
|
|
||||||
| 28| Empty Drawer | n/a |
|
|
||||||
| 29| Empty Drawer | n/a |
|
|
||||||
| 30| Empty Drawer | n/a |
|
|
||||||
| 31| USB to DB9 | <https://www.altex.com/manhattan-18-usb-to-serial-converter> |
|
|
||||||
| 32| LiPO Batteries | misc |
|
|
||||||
| 33| LED assortment | <https://www.amazon.com/gp/product/B005GL9ENC/ref=ppx_yo_dt_b_asin_title_o04_s00?ie=UTF8&psc=1> |
|
|
||||||
| 34| Dual Row DIP IC Socket Adaptor Assortment | <https://www.amazon.com/gp/product/B07CFWWQ1M/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1> |
|
|
||||||
| 35| Inductors | <https://www.amazon.com/gp/product/B085Y6XJL1/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1> |
|
|
||||||
| 36| Elenco CK Kit Electronic components not otherwise categorized| ck |
|
|
||||||
| 37| Resistors | <https://www.amazon.com/gp/product/B0002HBQHW/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&psc=1> |
|
|
||||||
| 38| Resistors | ""|
|
|
||||||
| 39| Empty Drawer | "" |
|
|
||||||
| 40| LED | amz |
|
|
||||||
| 41| USBA-proprietary | misc|
|
|
||||||
| 42| USBA-proprietary| misc |
|
|
||||||
| 43| USB (misc to misc) | misc |
|
|
||||||
| 44| Electrical Clip Assortment | <https://www.harborfreight.com/28-piece-electrical-clip-set-67589.html?_br_psugg_q=electrical+connectors> |
|
|
||||||
| 45| Test Leads | <https://www.harborfreight.com/18-inch-low-voltage-multi-colored-test-leads-66717.html> |
|
|
||||||
| 46| USBA-Mini | misc |
|
|
||||||
| 47| USBA-Micro| misc |
|
|
||||||
| 48| Empty Drawer | n/a |
|
|
||||||
| 49| Empty Drawer | n/a |
|
|
||||||
| 50|Empty Drawer | n/a |
|
|
||||||
| 51|Empty Drawer | n/a |
|
|
||||||
| 52|Empty Drawer | n/a |
|
|
||||||
| 53|Empty Drawer | n/a |
|
|
||||||
| 54| Misc electronics/Rpi etc | misc |
|
|
||||||
| 55| Empty Drawer | n/a|
|
|
||||||
| 56| Wifi components | misc |
|
|
||||||
| 57| USB networking devices | misc|
|
|
||||||
| 58| Electrical Terminals | <https://www.harborfreight.com/150-piece-terminal-and-connector-set-67683.html> |
|
|
||||||
| 59| Electrical Terminals | "" |
|
|
||||||
| 60| Electrical Terminals | "" |
|
|
||||||
| 61| misc electronic components to be identified | amz |
|
|
||||||
| 62| misc electronic components to be identified | amz |
|
|
||||||
| 63| Wire| misc electronic components to be identified |
|
|
||||||
| 64| empty drawer| n/a|
|
|
||||||
| 65| empty drawer| n/a |
|
|
||||||
| 66| empty drawer| n/a |
|
|
||||||
| 67| empty drawer| n/a |
|
|
||||||
| 68| empty drawer| n/a |
|
|
||||||
| 69| screw terminals | misc electronic components to be identified |
|
|
||||||
| 70| misc electronic components to be identified | |
|
|
||||||
| 71| servos | unknown |
|
|
||||||
| 72| servos | unknown |
|
|
||||||
| 73| motors | unknown |
|
|
||||||
| 74| Transitors | <https://www.amazon.com/gp/product/B00D8J4EZ2/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1> |
|
|
||||||
| 75| Transistors| "" |
|
|
||||||
| 76| Transistors | "" |
|
|
||||||
| 77| Capacitors | <https://www.amazon.com/gp/product/B004YHZDW0/ref=ppx_yo_dt_b_asin_title_o04_s00?ie=UTF8&psc=1> |
|
|
||||||
| 78| Capacitors | "" |
|
|
||||||
| 79| Capacitors | "" |
|
|
||||||
| 80| mystery component | amz
|
|
||||||
| 81| mystery component | amz
|
|
||||||
| 82| empty drawer | n/a
|
|
||||||
| 83| empty drawer | n/a
|
|
||||||
| 84| empty drawer | n/a
|
|
||||||
| 85| empty drawer | n/a
|
|
||||||
| 86| empty drawer | n/a
|
|
||||||
| 87| empty drawer | n/a
|
|
||||||
| 88| empty drawer | n/a
|
|
||||||
| 89| empty drawer | n/a
|
|
||||||
| 90| empty drawer | n/a
|
|
||||||
| 91| empty drawer | n/a
|
|
||||||
| 92| empty drawer | n/a
|
|
||||||
| 93| empty drawer | n/a
|
|
||||||
| 94| empty drawer | n/a
|
|
||||||
| 95| LED Strip Connectors | misc |
|
|
||||||
| 96| empty drawer
|
|
1
src/CTO/team-hweng/labComponentInventory.md
Normal file
1
src/CTO/team-hweng/labComponentInventory.md
Normal file
@@ -0,0 +1 @@
|
|||||||
|
# TeamHwEng - Component Inventory
|
@@ -1 +1 @@
|
|||||||
#MechEng Supply Chain
|
# TeamMecheng - Supply Chain
|
||||||
|
@@ -1 +1 @@
|
|||||||
#MechEng Tooling
|
# TeamMecheng - Tooling
|
||||||
|
@@ -1 +0,0 @@
|
|||||||
Team Mecheng overview
|
|
Binary file not shown.
@@ -1,13 +0,0 @@
|
|||||||
# Team RFENG - Supply Chain
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
This documents the supply chain for TSYS RF engineering team. Vendors, links to bills of materials etc.
|
|
||||||
|
|
||||||
## RF Enclosure
|
|
||||||
|
|
||||||
## VNA
|
|
||||||
|
|
||||||
## Antenna material
|
|
||||||
|
|
||||||
## Other
|
|
@@ -1,25 +0,0 @@
|
|||||||
# Team RFEng - Tooling
|
|
||||||
|
|
||||||
## Software
|
|
||||||
|
|
||||||
* [http://openems.de/index.php/Tutorials][1]
|
|
||||||
* [https://www.qsl.net/ua3avr/][2]
|
|
||||||
* [https://res.mdpi.com/d\_attachment/electronics/electronics-08-01506/article\_deploy/electronics-08-01506.pdf][3]
|
|
||||||
* [https://www.paraview.org/][4]
|
|
||||||
* [https://www.eevblog.com/forum/rf-microwave/freeopen-source-antenna-simulation-tools/][5]
|
|
||||||
* [https://www.google.com/search?q=nec-2+cuda&rlz=1C9BKJA\_enUS945US945&oq=nec-2+cuda&aqs=chrome..69i57.3796j0j7&hl=en-US&sourceid=chrome-mobile&ie=UTF-8][6]
|
|
||||||
|
|
||||||
## Hardware
|
|
||||||
|
|
||||||
### RF Testing Enclosure
|
|
||||||
|
|
||||||
### VNA for use in Enclosure
|
|
||||||
|
|
||||||
### Spectrum analyzer
|
|
||||||
|
|
||||||
[1]: http://openems.de/index.php/Tutorials
|
|
||||||
[2]: https://www.qsl.net/ua3avr/
|
|
||||||
[3]: https://res.mdpi.com/d_attachment/electronics/electronics-08-01506/article_deploy/electronics-08-01506.pdf "Overview of FLO RF modeling"
|
|
||||||
[4]: https://www.paraview.org/
|
|
||||||
[5]: https://www.eevblog.com/forum/rf-microwave/freeopen-source-antenna-simulation-tools/
|
|
||||||
[6]: https://www.google.com/search?q=nec-2+cuda&rlz=1C9BKJA_enUS945US945&oq=nec-2+cuda&aqs=chrome..69i57.3796j0j7&hl=en-US&sourceid=chrome-mobile&ie=UTF-8
|
|
@@ -1,240 +1 @@
|
|||||||
# TSYS Group Handbook - Engineering Documentation - Team SwEng - Supply Chain
|
# TeamSwEng - Supply Chain
|
||||||
|
|
||||||
## Version
|
|
||||||
|
|
||||||
* 1.0 published 03/11/2021 at 08:30 CST
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
This article covers the high level overview of the software supply chain for the orbiter, ground station, operations center.
|
|
||||||
|
|
||||||
It touches very briefly on the hardware that will be used in the proof of concept. We have a separate article, that goes into far more detail about the hardware.
|
|
||||||
|
|
||||||
This article also doesn't touch on the software tooling (compilers and such), which is extensive and is documented in another article.
|
|
||||||
|
|
||||||
## Avionics - Seeduino
|
|
||||||
|
|
||||||
This is the core of the software system for the orbiter. It's where the magic happens, and is subject to full regulatory review/compliance requirements. It must do very few things, and it must do them perfectly.
|
|
||||||
|
|
||||||
This is all going to be custom code.
|
|
||||||
|
|
||||||
### Main board
|
|
||||||
|
|
||||||
* The proof of concept utilizes Seeduino LoraWANGPS boards:
|
|
||||||
|
|
||||||
Overview: <https://www.seeedstudio.com/Seeeduino-LoRaWAN-W-GPS-p-2781.html>
|
|
||||||
|
|
||||||
Technical Documentation: <https://wiki.seeedstudio.com/Seeeduino_LoRAWAN/> (unfortunately no ability to deep link on that page, so read it over for example code of Lora send/receive, battery checking etc)
|
|
||||||
|
|
||||||
* The boards will be running all code via FreeRTOS:
|
|
||||||
|
|
||||||
* <https://www.freertos.org/FreeRTOS-quick-start-guide.html>
|
|
||||||
* <https://wiki.seeedstudio.com/Software-FreeRTOS/>
|
|
||||||
* <https://github.com/Seeed-Studio/Seeed_Arduino_FreeRTOS>
|
|
||||||
* <https://github.com/Seeed-Studio/Seeed_Arduino_ooFreeRTOS>
|
|
||||||
|
|
||||||
FreeRTOS will need to interface with the following groove boards connected to the Seeduino via i2c:
|
|
||||||
|
|
||||||
(see <https://wiki.seeedstudio.com/Arduino_Software_I2C_user_guide/> for notes on multiple i2c)
|
|
||||||
|
|
||||||
### IMU
|
|
||||||
|
|
||||||
* This is where all the sensor data will come from.
|
|
||||||
|
|
||||||
* IMU:
|
|
||||||
|
|
||||||
<https://www.seeedstudio.com/Grove-IMU-10DOF-p-2386.html>
|
|
||||||
|
|
||||||
<https://wiki.seeedstudio.com/Grove-IMU_10DOF/>
|
|
||||||
|
|
||||||
<https://github.com/Seeed-Studio/Seeed_Arduino_IMU10DOF>
|
|
||||||
|
|
||||||
* Functions
|
|
||||||
* ReadPitch
|
|
||||||
* ReadYaw
|
|
||||||
* ReadRoll
|
|
||||||
* ReadTime
|
|
||||||
* ReadTemp
|
|
||||||
* ...(etc) (whatever the board can provide) (maybe a single function that takes an argument, whatever)
|
|
||||||
|
|
||||||
### Parafoil Control
|
|
||||||
|
|
||||||
* Control of the parafoil is critical, and will likely receive the most regulatory scrutiny.
|
|
||||||
|
|
||||||
* Motor driver board:
|
|
||||||
|
|
||||||
<https://wiki.seeedstudio.com/Grove-I2C_Motor_Driver_V1.3/>
|
|
||||||
|
|
||||||
<https://github.com/Seeed-Studio/Grove_I2C_Motor_Driver_v1_3/>
|
|
||||||
|
|
||||||
* Functions
|
|
||||||
* OrbiterOperateParafoil (left,right,up,down) [to operate the parafoil motors]
|
|
||||||
* OrbiterCutDown
|
|
||||||
* EnvelopePop
|
|
||||||
* DeployParafoil
|
|
||||||
* OrbiterSelfDestruct
|
|
||||||
|
|
||||||
### Power Management
|
|
||||||
|
|
||||||
Where the batteries, cells, load all comes together. The below board will be interfaced to (for data reading purposes) from the Seeduino via (I believe GPIO, but maybe i2c (check the docs)):
|
|
||||||
|
|
||||||
<http://www.switchdoc.com/sunairplus-solar-power-controllerdata-collector/>
|
|
||||||
|
|
||||||
* Functions
|
|
||||||
* ReadVoltage
|
|
||||||
* ReadCurrent
|
|
||||||
* ReadAmps
|
|
||||||
* ReadChargeLevel
|
|
||||||
* ... (etc)
|
|
||||||
|
|
||||||
### Telemetry
|
|
||||||
|
|
||||||
This key data:
|
|
||||||
|
|
||||||
* Charge levels
|
|
||||||
* Full IMU data
|
|
||||||
* Full sensor data (light,temp,etc)
|
|
||||||
|
|
||||||
needs to be broadcast to:
|
|
||||||
|
|
||||||
* Ground stations (via lora)
|
|
||||||
* other aircraft (via ads-b)
|
|
||||||
|
|
||||||
* Functions:
|
|
||||||
* (future, we have no ads-b currently) ADS-B(send) [for sending data over ads-b]
|
|
||||||
* (future, we have no ads-b currently) ADS-B(receive) [for receiving (listening) data over ads-b] (all smarts for processing would be on pi)
|
|
||||||
* lora(send) [to dump out telemetry to ground stations]
|
|
||||||
* lora(receive) [to receive operator instructions]
|
|
||||||
* IMU Sensor Read (logs to memory buffer in pi, so tile38 can read)
|
|
||||||
* IMU Sensor Send (broadcast on air)
|
|
||||||
* Data Logging
|
|
||||||
* GPS Read
|
|
||||||
* GPS Send
|
|
||||||
* Charge Status
|
|
||||||
* Voltage of Battery
|
|
||||||
|
|
||||||
Technical Documentation for the above, along with example code : <https://wiki.seeedstudio.com/Seeeduino_LoRAWAN/> (unfortunately no ability to deep link on that page, so read it over for example code of Lora send/receive, battery checking etc)
|
|
||||||
|
|
||||||
### Overhead / Housekeeping
|
|
||||||
|
|
||||||
Various things will be needed for regular management/housekeeping duties.
|
|
||||||
|
|
||||||
* Functions:
|
|
||||||
|
|
||||||
* TickleTheTail [keep the watchdog from activating]
|
|
||||||
|
|
||||||
<https://shop.switchdoc.com/collections/break-out-boards/products/switchdoc-labs-dual-watchdog-timer-board-for-arduino-raspberry-pi>>
|
|
||||||
is the hardware watchdog timer that we have in the shop.
|
|
||||||
|
|
||||||
This will be used to supervise/recover both the arduino and the pi.
|
|
||||||
|
|
||||||
## Avionics - Raspberry pi
|
|
||||||
|
|
||||||
The pi is essentially a large disk (for geo spatial db, holding avionics firmware, holding log data etc) and beefy CPU (for geo spatial lookups, processing ads-b data, perhaps some data crunching for local optimizations based on weather) attached to the avionics. The pi is important, but not completely critical. It can crash (and if not fixed by watchdog) can remain offline and the orbiter can come in for service safely. We will utilize best practices with the pi, to ensure it's as reliable/available as possible.
|
|
||||||
|
|
||||||
In poc the pi will be attached via USB (and also serving as a host for the arduino for firmware updates of the avionics ), in prototype/prod it will be on an integrated board as a Pi CM.
|
|
||||||
|
|
||||||
### Payload Power Management
|
|
||||||
|
|
||||||
Control of the power payload, on a geo fence basis, in a black box/non customer changeable is also super critical, and will likely receive the second most regulatory scrutiny.
|
|
||||||
|
|
||||||
In the prototype, the geo fence will utilize this board to cut/restore power:
|
|
||||||
|
|
||||||
<https://shop.switchdoc.com/collections/break-out-boards/products/usb-powercontrol-board-v2-w-grove-control-usb-to-usb-solid-state-relay-for-raspberry-pi-and-arduinos-v2>
|
|
||||||
|
|
||||||
* Functions
|
|
||||||
* Payload Power On
|
|
||||||
* Payload Power Off
|
|
||||||
* Payload Location Lookup
|
|
||||||
|
|
||||||
### geo gencing
|
|
||||||
|
|
||||||
<https://tile38.com/>
|
|
||||||
|
|
||||||
This will be utilized for geo-fencing. The pi will periodic query
|
|
||||||
GPS (or just read off the serial feed from the arduino) and cut off power to the payload (and restore it) at appropriate locations.
|
|
||||||
|
|
||||||
### operating system
|
|
||||||
|
|
||||||
Most likely will utilize a combination of
|
|
||||||
|
|
||||||
* balena os https://www.balena.io/os/
|
|
||||||
* openmtc https://www.openmtc.org/
|
|
||||||
|
|
||||||
### avionics updating
|
|
||||||
|
|
||||||
Updating the seeduino firmware image in flight, Will utilize the
|
|
||||||
|
|
||||||
* arduino-cli
|
|
||||||
|
|
||||||
system.
|
|
||||||
|
|
||||||
## Ground Station Avionics
|
|
||||||
|
|
||||||
This will be a relatively simple system, designed todo two functions:
|
|
||||||
|
|
||||||
* Receive lora broadcasts
|
|
||||||
* Convert the lora data to IP packets and push the packets to a bus for listeners to consume.
|
|
||||||
|
|
||||||
The ground station avionics software will do nothing else.
|
|
||||||
|
|
||||||
For receiving broadcasts:
|
|
||||||
|
|
||||||
* <https://github.com/RAKWireless>
|
|
||||||
* <https://github.com/RAKWireless/RAK831-LoRaGateway-RPi>
|
|
||||||
|
|
||||||
* For converting lora packets to IP and relaying data to an endpoint: <https://www.chirpstack.io/gateway-bridge/gateway/raspberrypi/>
|
|
||||||
|
|
||||||
* General lorawan software
|
|
||||||
<https://github.com/Lora-net>
|
|
||||||
|
|
||||||
* relaying to timeseries database
|
|
||||||
|
|
||||||
<https://github.com/mhe/mqtt2influxdb>
|
|
||||||
|
|
||||||
## Operations Center / Device fleet management
|
|
||||||
|
|
||||||
We must implement one bus listener: the Ops Center. Other parties may implement additional listeners as needed.
|
|
||||||
|
|
||||||
Primary software packages involved:
|
|
||||||
|
|
||||||
* <https://nasa.github.io/openmct/>
|
|
||||||
* <https://www.chirpstack.io/>
|
|
||||||
|
|
||||||
* Balena
|
|
||||||
* <https://www.balena.io/os/?>
|
|
||||||
* <https://www.balena.io/engine/?>
|
|
||||||
* <https://www.balena.io/open/?>
|
|
||||||
* <https://github.com/balena-io/open-balena?d_id=7632b330-6018-41b8-82ca-e5fab4fabf15R>
|
|
||||||
|
|
||||||
### Backend
|
|
||||||
|
|
||||||
### Client side
|
|
||||||
* <http://www.berryterminal.com/doku.php/berryboot>
|
|
||||||
* <http://www.berryterminal.com/doku.php/berryboot/adding_custom_distributions>
|
|
||||||
|
|
||||||
### Telemetry
|
|
||||||
|
|
||||||
* <https://richardstechnotes.wordpress.com/2015/12/26/iot-streaming-with-mqtt-and-apache-nifi/>
|
|
||||||
* <https://github.com/richards-tech/RTMQTT>
|
|
||||||
* <https://github.com/richards-tech/RTNiFiStreamProcessors>
|
|
||||||
* <https://github.com/richards-tech/RTIMULib2>
|
|
||||||
* <http://cpham.perso.univ-pau.fr/LORA/RPIgateway.html>
|
|
||||||
* <http://www.dragino.com/products/module/item/106-lora-gps-hat.html>
|
|
||||||
* <http://wiki.dragino.com/index.php?title=Lora/GPS_HAT#Example1_--_Use_with_LMIC_library_for_LoraWAN_compatible>
|
|
||||||
* <http://www.eleduino.com/Dragino-Lora-GPS_HAT-for-Raspberry-Pi-p10580.html>
|
|
||||||
* <http://www.aliexpress.com/store/product/Long-distance-wireless-433-868-915Mhz-Lora-and-GPS-Expansion-Board-for-Raspberry-Pi/1390863_32672385182.html>
|
|
||||||
* <http://csis.org/files/attachments/151216_Unmanned_Systems.pdf>
|
|
||||||
|
|
||||||
## Ground Station Payload
|
|
||||||
|
|
||||||
This will be written up later, and is for a dedicated payload team to worry about.
|
|
||||||
|
|
||||||
For knowledge capture purposes, some things to consider:
|
|
||||||
|
|
||||||
* <https://github.com/jhshi/openofdm>
|
|
||||||
* <https://openofdm.readthedocs.io/en/latest/overview.html>
|
|
||||||
* <https://news.ycombinator.com/item?id=25814237>
|
|
||||||
* <https://www.nuand.com/bladeRF-wiphy/>
|
|
||||||
* <https://news.ycombinator.com/item?id=24273919>
|
|
||||||
* <https://github.com/open-sdr/openwifi>
|
|
||||||
|
@@ -1,225 +1 @@
|
|||||||
# TSYS Group Handbook - Engineering Documentation - Team SwEng - Tooling
|
# TeamSwEng - Tooling
|
||||||
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
This article covers the tools and support stack/systems used by the software engineering team at Suborbital Systems. It should be read by everyone in the engineering organization.
|
|
||||||
|
|
||||||
## Sw Engineering Systems
|
|
||||||
|
|
||||||
* Build/dev/test systems
|
|
||||||
|
|
||||||
* buildbox (All compiles happen here (either directly or via jenkins invoking)
|
|
||||||
* subodev / suboqa (All dev/testing is done on these systems, in particular for hardware engineering test suite iteration etc)
|
|
||||||
|
|
||||||
* Production systems
|
|
||||||
|
|
||||||
* suboprod (All production workloads, validations, simulations run here, cuda enabled for speed. May use docker in future to allow easy sharing of cuda card and versioning workloads)
|
|
||||||
* suboprod01-05 (cuda tk1 cluster)
|
|
||||||
* opc01/02 (op center systems)
|
|
||||||
|
|
||||||
## General Information
|
|
||||||
|
|
||||||
* All systems have NTP sync time, and working DNS
|
|
||||||
* All systems have an MOTD covering the basics and pointers to detailed documentation
|
|
||||||
* All systems have /subo mounted via NFS
|
|
||||||
|
|
||||||
### /subo directory
|
|
||||||
|
|
||||||
localuser@buildbox:~$ ls /subo/
|
|
||||||
SupplyChain Tooling
|
|
||||||
localuser@buildbox:~$
|
|
||||||
|
|
||||||
* **SupplyChain** is for upstream software that is used in deliverables produced by engineering. It would also contain any libraries/custom software etc that engineering produces
|
|
||||||
|
|
||||||
* **Tooling** is for off the shelf , upstream, vendor software that is used to support engineering operations. Things like (cross) compilers, custom builds of software etc go in it.
|
|
||||||
|
|
||||||
Each directory has the same top-level layout:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
SupplyChain:
|
|
||||||
bin lib scripts src
|
|
||||||
|
|
||||||
Tooling:
|
|
||||||
bin lib scripts src
|
|
||||||
```
|
|
||||||
|
|
||||||
* bin is for installed packages (either stand alone (go/java) executables , or compiled software distributions) (with sub directories off of bin for each package, even if it's a single executable (we like clean systems and toolboxes))
|
|
||||||
|
|
||||||
```bash
|
|
||||||
root@buildbox:/subo/Tooling/bin# ls team-sweng/
|
|
||||||
arduino-cli
|
|
||||||
|
|
||||||
root@buildbox:/subo/Tooling/bin# ls team-sweng/arduino-cli/
|
|
||||||
arduino-cli
|
|
||||||
root@buildbox:/subo/Tooling/bin#
|
|
||||||
```
|
|
||||||
|
|
||||||
This is then referenced in /etc/profile as part of the path:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
|
|
||||||
export PATH="/subo/Tooling/bin/team-mecheng/openvsp/OpenVSP-3.23.0-Linux:\
|
|
||||||
/subo/Tooling/lib/miniconda/bin:\
|
|
||||||
/subo/Tooling/bin/team-sweng/arduino-cli:\
|
|
||||||
$PATH"
|
|
||||||
|
|
||||||
|
|
||||||
localuser@buildbox:~$ echo $PATH
|
|
||||||
/subo/Tooling/bin/team-mecheng/openvsp/OpenVSP-3.23.0-Linux:/subo/Tooling/lib/miniconda/bin:/subo/Tooling/bin/team-mecheng/openvsp/OpenVSP-3.23.0-Linux:/subo/Tooling/lib/miniconda/bin:/subo/Tooling/bin/team-sweng/arduino-cli:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
|
|
||||||
localuser@buildbox:~$
|
|
||||||
```
|
|
||||||
|
|
||||||
We will probably create a /subo/bin directory and symlink things to it and add that to the path (if/when the $PATH environment variable becomes too long)
|
|
||||||
|
|
||||||
The path in /etc/profile must be updated on subodev/qa/prod when new software is built on buildbox (and installed to /subo/..../bin)
|
|
||||||
|
|
||||||
* lib is for any non apt-get installed libraries needed for anything we are building from source
|
|
||||||
|
|
||||||
* src is for the (typically) git clone/checkout of upstream software, with a sub directory for each package, just like bin.
|
|
||||||
|
|
||||||
* scripts is for scripts (see immediately below for two key scripts)
|
|
||||||
|
|
||||||
### Dependency tracking
|
|
||||||
|
|
||||||
```bash
|
|
||||||
root@buildbox:/subo/Tooling/scripts# ls
|
|
||||||
install-build-deps.sh install-runtime-deps.sh
|
|
||||||
root@buildbox:/subo/Tooling/scripts#
|
|
||||||
```
|
|
||||||
|
|
||||||
* Tracking Build Dependencies
|
|
||||||
|
|
||||||
If you apt-get a package/packages to make cmake/configure work, capture it in
|
|
||||||
**install-build-deps.sh**
|
|
||||||
|
|
||||||
* Tracking Runtime Dependencies
|
|
||||||
If you apt-get a package/packages to make cmake/configure work, capture it in
|
|
||||||
**install-runtime-deps.sh**
|
|
||||||
|
|
||||||
## Cross Compilers
|
|
||||||
|
|
||||||
### Cross compile for pi and make custom images
|
|
||||||
|
|
||||||
* <http://rpi-cloud.com/guide-install-jenkins-on-rpi/>
|
|
||||||
* <http://software-novotny.de/raspberry-pi-remote-compilation-with-jenkins>
|
|
||||||
* <http://watchmysys.com/blog/tag/cross-compile/>
|
|
||||||
* <https://github.com/andrius/build-raspbian-image>
|
|
||||||
* <https://github.com/debian-pi/raspbian-ua-netinst>
|
|
||||||
|
|
||||||
* atmel (arduino mega/uno)
|
|
||||||
|
|
||||||
* Documentation: <https://medium.com/swlh/how-to-create-an-automated-build-pipeline-for-your-arduino-project-1df9826f2a5e>
|
|
||||||
|
|
||||||
* Location on buildbox:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
/subo/Tooling/src/team-sweng/cross-compile/rpi
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
* pi
|
|
||||||
* Documentation: <https://www.raspberrypi.org/documentation/linux/kernel/building.md> and
|
|
||||||
<https://blog.kitware.com/cross-compiling-for-raspberry-pi/>
|
|
||||||
|
|
||||||
* Location on buildbox:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
/subo/Tooling/src/team-sweng/cross-compile/rpi
|
|
||||||
```
|
|
||||||
|
|
||||||
which contains the current checkout (as of 03/02/2021)
|
|
||||||
|
|
||||||
* cortex (m0)
|
|
||||||
|
|
||||||
* Documentation: <https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm>
|
|
||||||
|
|
||||||
* Location on buildbox:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
|
|
||||||
/subo/Tooling/src/team-sweng/cross-compile/cortexm0
|
|
||||||
|
|
||||||
root@buildbox:/subo/Tooling/src/team-sweng/cross-compile/cortexm0 ls
|
|
||||||
binutils-gdb gcc newlib-cygwin
|
|
||||||
root@buildbox:/subo/Tooling/src/team-sweng/cross-compile/cortexm0
|
|
||||||
```
|
|
||||||
|
|
||||||
* crosstool-ng
|
|
||||||
|
|
||||||
* Documentation: <http://crosstool-ng.github.io/docs/install/>
|
|
||||||
|
|
||||||
* Location on buildobx:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
/subo/Tooling/src/team-sweng/cross-compile/crosstool-ng
|
|
||||||
```
|
|
||||||
|
|
||||||
which may well prove easier/better than the raw cloned sources enumerated in the last bullet point.
|
|
||||||
|
|
||||||
* nvidia
|
|
||||||
|
|
||||||
We will be making extensive use of Nvidia systems at subo, especially in R&d (for engineering/validation etc)
|
|
||||||
|
|
||||||
* Documentation: * <https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/> and * <https://elinux.org/Jetson/Installing_CUDA>
|
|
||||||
|
|
||||||
Also see below under Software Development Kits , the CUDA bullet.
|
|
||||||
|
|
||||||
## Regular Compilers
|
|
||||||
|
|
||||||
buildbox is Ubuntu 20.04 and has bison/flex/autoconf/gcc/g++/build-essential (etc etc) via apt-get install as of 03/02/2021. run apt-get update/upgrade at any time (since anything regulatory scope, we build/install/version lock in /subo/....)
|
|
||||||
|
|
||||||
## Meta tooling
|
|
||||||
|
|
||||||
* distcc ?
|
|
||||||
* ccache ?
|
|
||||||
* ninja make?
|
|
||||||
|
|
||||||
## Software Development Kits
|
|
||||||
|
|
||||||
### CUDA / JetPack
|
|
||||||
|
|
||||||
* <https://developer.nvidia.com/cuda-downloads>
|
|
||||||
* <https://developer.nvidia.com/embedded/jetpack>
|
|
||||||
|
|
||||||
So this will be a bit tricky. We have three CUDA targets:
|
|
||||||
|
|
||||||
1 suboprod vm (hosted on pfv-vmsrv-02)
|
|
||||||
|
|
||||||
```bash
|
|
||||||
root@pfv-vmsrv-02:~# lspci |grep -i nv
|
|
||||||
01:00.0 VGA compatible controller: NVIDIA Corporation GF104GLM [Quadro 3000M] (rev a1)
|
|
||||||
```
|
|
||||||
|
|
||||||
2 jetson nano (<https://developer.nvidia.com/embedded/jetson-nano-developer-kit>) (this might? use cuda)
|
|
||||||
|
|
||||||
3 suboprod01-05 (tk1) (kepler)
|
|
||||||
|
|
||||||
* <https://developer.nvidia.com/blog/jetson-tk1-mobile-embedded-supercomputer-cuda-everywhere/>
|
|
||||||
(this uses cuda actual)
|
|
||||||
* <https://developer.nvidia.com/embedded-computing>
|
|
||||||
* <https://developer.nvidia.com/embedded/jetson-developer-kits>
|
|
||||||
* <http://mercury.pr.erau.edu/~siewerts/cec450/documents/Jetson/Tegra_Linux_Driver_Package_Developers_Guide.pdf>
|
|
||||||
|
|
||||||
Charles may tackle this, either way it's a (for now) low priority as far as tooling goes for
|
|
||||||
software engineering tooling. On the other hand, hardware/mechanical engineering will have much greater need for this stack for simulations/validation etc (for example <https://developer.nvidia.com/blog/drop-in-acceleration-gnu-octave/>).
|
|
||||||
|
|
||||||
### Areas to explore
|
|
||||||
|
|
||||||
* CUDA clustering
|
|
||||||
* mixed gpu gens/archs
|
|
||||||
|
|
||||||
### Links
|
|
||||||
|
|
||||||
* <https://www.google.com/search?client=firefox-b-e&q=ubuntu+20.04+cuda+cross+compile&oq=ubuntu+20.04+cuda+cross+compile&aqs=heirloom-srp>..
|
|
||||||
|
|
||||||
* <https://www.google.com/search?q=cuda+jenkins&oq=cuda+jenkins&aqs=chrome..69i57.2296j0j7&sourceid=chrome&ie=UTF-8>
|
|
||||||
|
|
||||||
* <https://www.google.com/search?client=firefox-b-e&q=cuda+build+server>
|
|
||||||
* <https://www.google.com/search?client=firefox-b-e&ei=cFxIYKzcDJaStAaMsKrICA&q=cuda+ci+server&oq=cuda+ci+server&gs_lcp=Cgdnd3Mtd2l6EAM6BwgAEEcQsANQ3idYmShg3SloAnACeACAAYYDiAH6BJIBBzAuMi4wLjGYAQCgAQGqAQdnd3Mtd2l6yAEIuAECwAEB&sclient=gws-wiz&ved=0ahUKEwis1PyjgqXvAhUWCc0KHQyYCokQ4dUDCA4&uact=5>
|
|
||||||
* <https://www.vitaarca.net/post/tech/install-cuda-and-cudnn-to-ubuntu-server/>
|
|
||||||
* <https://stackoverflow.com/questions/63309619/is-it-possible-to-build-an-nvidia-cuda-based-image-on-a-server-without-a-gpu>
|
|
||||||
* <https://jupyterhub.readthedocs.io/en/latest/>
|
|
||||||
* <https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html>
|
|
||||||
* <https://crosstool-ng.github.io/docs/>
|
|
||||||
|
|
||||||
|
@@ -1,109 +0,0 @@
|
|||||||
# Tooling Task List
|
|
||||||
|
|
||||||
## Add architecture-specific directories to file tree
|
|
||||||
|
|
||||||
### Various cross-compiler parts
|
|
||||||
|
|
||||||
-----
|
|
||||||
|
|
||||||
From <https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm>, you can find the following:
|
|
||||||
|
|
||||||
### GNU C/C++ Compiler
|
|
||||||
|
|
||||||
You can find the sources to Arm Embedded GCC at [git://gcc.gnu.org/git/gcc.git](git://gcc.gnu.org/git/gcc.git). All contributions are made to trunk. Patches are cherry-picked as needed to the Arm embedded branches.
|
|
||||||
|
|
||||||
### Binutils
|
|
||||||
|
|
||||||
You can find the sources to Arm Embedded Binutils at [git://sourceware.org/git/binutils-gdb.git](git://sourceware.org/git/binutils-gdb.git). All embedded branches are under [users/ARM/embedded-binutils-[version]-branch](users/ARM/embedded-binutils-[version]-branch). Contribution is similar to GCC.
|
|
||||||
|
|
||||||
### GDB
|
|
||||||
|
|
||||||
You can find the sources to Arm Embedded Binutils at [users/ARM/embedded-binutils-[version]-branch](git://sourceware.org/git/binutils-gdb.git). All embedded branches are at [users/ARM/embedded-gdb-[version]-branch](users/ARM/embedded-gdb-[version]-branch). You can contribute in the same way that you contribute to GCC.
|
|
||||||
|
|
||||||
### Newlib
|
|
||||||
|
|
||||||
You can find the sources at [users/ARM/embedded-gdb-[version]-branch](users/ARM/embedded-gdb-[version]-branch). We contribute to master, and the toolchain is based on master branch.
|
|
||||||
|
|
||||||
-----
|
|
||||||
|
|
||||||
### crosstool-NG [http://crosstool-ng.org/#download_and_usage](http://crosstool-ng.org/#download_and_usage)
|
|
||||||
|
|
||||||
x86 install (buildbox)
|
|
||||||
|
|
||||||
### Arduino-cli
|
|
||||||
|
|
||||||
x86 - RPi cluster install (into /subo/arm directory), deploying Uno and Mega Arduinos)
|
|
||||||
|
|
||||||
### Cross-compilers
|
|
||||||
|
|
||||||
x86-to-ARM cross-compiler (gcc, binutils, gdb), deploying RPi
|
|
||||||
|
|
||||||
x86-to-M0 cross-compiler (gcc, binutils, gdb), deploying M0
|
|
||||||
|
|
||||||
x86-to-AVR cross-compiler (gcc, etc.?), deploying Uno, Mega
|
|
||||||
|
|
||||||
### CUDA / JetPack (low priority)
|
|
||||||
|
|
||||||
suboprod
|
|
||||||
jetson nano
|
|
||||||
suboprod[n] - 01 through 05
|
|
||||||
|
|
||||||
### Configure Jenkins
|
|
||||||
|
|
||||||
-----
|
|
||||||
|
|
||||||
## Avionics - Seeeduino
|
|
||||||
|
|
||||||
### Install FreeRTOS
|
|
||||||
|
|
||||||
### IMU - Interface with
|
|
||||||
|
|
||||||
Multiple i2c
|
|
||||||
IMU
|
|
||||||
Functions - ReadPitch, ReadYaw, ReadRoll, ReadTime, ReadTemp, etc.
|
|
||||||
|
|
||||||
### Parafoil Control
|
|
||||||
|
|
||||||
Motor driver board drivers
|
|
||||||
Functions - OrbiterOperateParafoil (motor left, right, up, down), OrbiterCutDown, EnvelopePop, DeployParafoil, OrbiterSelfDestruct
|
|
||||||
|
|
||||||
### Power Management
|
|
||||||
|
|
||||||
Functions - ReadVoltage, ReadCurrent, ReadAmps, ReadChargeLevel, etc.
|
|
||||||
|
|
||||||
### Telemetry
|
|
||||||
|
|
||||||
Key data - Charge levels, Full IMU data, Full sensor data (light, temp, etc.)
|
|
||||||
Broadcast to ground stations (via lora), other aircraft (via ads-b)
|
|
||||||
Functions
|
|
||||||
|
|
||||||
> Future, no ads-b yet, ADS-B(send), ADS-B(receive)
|
|
||||||
>
|
|
||||||
> Lora(send), lora(receive), IMU Sensor Read, IMU
|
|
||||||
Sensor Send, Data Logging, GPS Read, GPS Send, Charge Status, Battery Voltage
|
|
||||||
|
|
||||||
### Overhead / Housekeeping
|
|
||||||
|
|
||||||
Functions - TickleTheTail
|
|
||||||
|
|
||||||
## Avionics - Raspberry Pi
|
|
||||||
|
|
||||||
Payload Power Management
|
|
||||||
|
|
||||||
### Functions - Payload Power On, Payload PowerOff, Payload Location Lookup
|
|
||||||
|
|
||||||
### Geo Fencing obtain tile38 data
|
|
||||||
|
|
||||||
### Operating System - Balena OS, Openmtc
|
|
||||||
|
|
||||||
### Avionics Updating will use Arduino-cli
|
|
||||||
|
|
||||||
## Ground Station Avionics
|
|
||||||
|
|
||||||
### Receive lora broadcasts
|
|
||||||
|
|
||||||
### Convert lora data to IP packets, push packets to a bus
|
|
||||||
|
|
||||||
### Set up chirpserver
|
|
||||||
|
|
||||||
### Set up openmtc
|
|
@@ -1,4 +0,0 @@
|
|||||||
|
|
||||||
CNW 05/27/2021 at 11:19 am
|
|
||||||
|
|
||||||
https://github.com/arduino/toolchain-avr
|
|
@@ -1,129 +0,0 @@
|
|||||||
|
|
||||||
# Cross Compiler Notes - cotextm0
|
|
||||||
|
|
||||||
Begin active work (other than git clone and such ) at 18:09 on 05/28/2021
|
|
||||||
|
|
||||||
Quick look at bash history (to document git clones)
|
|
||||||
|
|
||||||
738 02/19/2021 20:56:24 git clone --depth=1 https://github.com/raspberrypi/linux
|
|
||||||
874 03/02/2021 21:04:48 git clone git://sourceware.org/git/newlib-cygwin.git
|
|
||||||
876 03/02/2021 21:03:33 git clone git://sourceware.org/git/binutils-gdb.git
|
|
||||||
897 03/02/2021 20:52:16 git clone git://gcc.gnu.org/git/gcc.git
|
|
||||||
914 03/02/2021 21:02:45 git clone https://github.com/crosstool-ng/crosstool-ng.git
|
|
||||||
1099 03/07/2021 15:22:03 git clone https://github.com/librenms/librenms-agent.git
|
|
||||||
1497 05/28/2021 13:58:59 git clone git://gcc.gnu.org/git/gcc.git
|
|
||||||
1513 05/28/2021 18:08:05 history |grep git|grep clone
|
|
||||||
|
|
||||||
So this has been on again/off again for about two months. Glad to be wrapping it up.
|
|
||||||
|
|
||||||
Attempting to run the build script (./build-prerequisites.sh) gives us an error:
|
|
||||||
|
|
||||||
```console
|
|
||||||
+2021-05-28:18:13:57 (./build-prerequisites.sh:132): echo Task '[I-0]' /x86_64-linux-gnu/zlib/
|
|
||||||
Task [I-0] /x86_64-linux-gnu/zlib/
|
|
||||||
+2021-05-28:18:13:57 (./build-prerequisites.sh:133): rm -rf /subo/Tooling/src/team-sweng/cross-compile/arduino-m0/gcc-arm-none-eabi-10-2020-q4-major/build-native/zlib
|
|
||||||
+2021-05-28:18:13:57 (./build-prerequisites.sh:134): copy_dir_clean /subo/Tooling/src/team-sweng/cross-compile/arduino-m0/gcc-arm-none-eabi-10-2020-q4-major/src/zlib-1.2.8 /subo/Tooling/src/team-sweng/cross-compile/arduino-m0/gcc-arm-none-eabi-10-2020-q4-major/build-native/zlib
|
|
||||||
+2021-05-28:18:13:57 (/subo/Tooling/src/team-sweng/cross-compile/arduino-m0/gcc-arm-none-eabi-10-2020-q4-major/build-common.sh:50): copy_dir_clean(): set +u
|
|
||||||
+2021-05-28:18:13:57 (/subo/Tooling/src/team-sweng/cross-compile/arduino-m0/gcc-arm-none-eabi-10-2020-q4-major/build-common.sh:51): copy_dir_clean(): mkdir -p /subo/Tooling/src/team-sweng/cross-compile/arduino-m0/gcc-arm-none-eabi-10-2020-q4-major/build-native/zlib
|
|
||||||
+2021-05-28:18:13:57 (/subo/Tooling/src/team-sweng/cross-compile/arduino-m0/gcc-arm-none-eabi-10-2020-q4-major/build-common.sh:52): copy_dir_clean(): cd /subo/Tooling/src/team-sweng/cross-compile/arduino-m0/gcc-arm-none-eabi-10-2020-q4-major/src/zlib-1.2.8
|
|
||||||
/subo/Tooling/src/team-sweng/cross-compile/arduino-m0/gcc-arm-none-eabi-10-2020-q4-major/build-common.sh: line 52: cd: /subo/Tooling/src/team-sweng/cross-compile/arduino-m0/gcc-arm-none-eabi-10-2020-q4-major/src/zlib-1.2.8: No such file or directory
|
|
||||||
+2021-05-28:18:13:57 (/subo/Tooling/src/team-sweng/cross-compile/arduino-m0/gcc-arm-none-eabi-10-2020-q4-major/build-common.sh:56): copy_dir_clean(): cd /subo/Tooling/src/team-sweng/cross-compile/arduino-m0/gcc-arm-none-eabi-10-2020-q4-major/build-native/zlib
|
|
||||||
+2021-05-28:18:13:57 (/subo/Tooling/src/team-sweng/cross-compile/arduino-m0/gcc-arm-none-eabi-10-2020-q4-major/build-common.sh:56): copy_dir_clean(): tar xf -
|
|
||||||
tar: This does not look like a tar archive
|
|
||||||
tar: Exiting with failure status due to previous errors
|
|
||||||
root@buildbox:/subo/Tooling/src/team-sweng/cross-compile/arduino-m0/gcc-arm-none-eabi-10-2020-q4-major# ls build-native/
|
|
||||||
zlib
|
|
||||||
root@buildbox:/subo/Tooling/src/team-sweng/cross-compile/arduino-m0/gcc-arm-none-eabi-10-2020-q4-major# ls build-native/
|
|
||||||
.stage zlib/
|
|
||||||
root@buildbox:/subo/Tooling/src/team-sweng/cross-compile/arduino-m0/gcc-arm-none-eabi-10-2020-q4-major# ls build-native/zlib/
|
|
||||||
```
|
|
||||||
|
|
||||||
Which is expected as zlib isn't downloaded, though it arguably should be by install-sources.sh which utilizes build-common.sh which is where you find the
|
|
||||||
actual download URLs. Light edit I did, was changing URLs from ftp to http. Between release.txt and the How-to-build-toolchain.pdf I got the following results:
|
|
||||||
|
|
||||||
```console
|
|
||||||
root@buildbox:/subo/Tooling/src/team-sweng/cross-compile/arduino-m0/gcc-arm-none-eabi-10-2020-q4-major# ls src/
|
|
||||||
binutils-gdb gcc gmp-6.1.0.tar.bz2 isl-0.18.tar.xz mpc-1.0.3.tar.gz mpfr-3.1.4.tar.bz2 newlib-cygwin
|
|
||||||
root@buildbox:/subo/Tooling/src/team-sweng/cross-compile/arduino-m0/gcc-arm-none-eabi-10-2020-q4-major#
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
Since this was written for ubuntu 14.04 , i'm guessing URLs are out of date.... so...
|
|
||||||
|
|
||||||
```
|
|
||||||
GMP_URL=https://gmplib.org/download/gmp/$GMP_PACK
|
|
||||||
MPFR_URL=http://www.mpfr.org/$MPFR/$MPFR_PACK
|
|
||||||
MPC_URL=http://ftp.gnu.org/gnu/mpc/$MPC_PACK
|
|
||||||
ISL_URL=http://isl.gforge.inria.fr/$ISL_PACK
|
|
||||||
EXPAT_URL=https://downloads.sourceforge.net/project/expat/expat/$EXPAT_VER/$EXPAT_PACK
|
|
||||||
LIBELF_URL=https://fossies.org/linux/misc/old/$LIBELF_PACK
|
|
||||||
LIBICONV_URL=https://ftp.gnu.org/pub/gnu/libiconv/$LIBICONV_PACK
|
|
||||||
ZLIB_URL=http://www.zlib.net/fossils/$ZLIB_PACK
|
|
||||||
ENV_VAR_UPDATE_URL=http://nsis.sourceforge.net/mediawiki/images/a/ad/$ENV_VAR_UPDATE_PACK
|
|
||||||
PYTHON_WIN_URL=https://www.python.org/ftp/python/$PYTHON_WIN_VER/$PYTHON_WIN_PACK
|
|
||||||
BUGURL="https://developer.arm.com/open-source/gnu-toolchain/gnu-rm"
|
|
||||||
|
|
||||||
root@buildbox:/subo/Tooling/src/team-sweng/cross-compile/arduino-m0/gcc-arm-none-eabi-10-2020-q4-major# grep PACK build-common.sh
|
|
||||||
PACKAGEDIR=$ROOT/pkg
|
|
||||||
GMP_PACK=$GMP.tar.bz2
|
|
||||||
MPFR_PACK=$MPFR.tar.bz2
|
|
||||||
MPC_PACK=$MPC.tar.gz
|
|
||||||
ISL_PACK=$ISL.tar.xz
|
|
||||||
EXPAT_PACK=$EXPAT.tar.bz2
|
|
||||||
LIBELF_PACK=$LIBELF.tar.gz
|
|
||||||
LIBICONV_PACK=$LIBICONV.tar.gz
|
|
||||||
ZLIB_PACK=$ZLIB.tar.gz
|
|
||||||
ENV_VAR_UPDATE_PACK=$ENV_VAR_UPDATE.7z
|
|
||||||
PYTHON_WIN_PACK=$PYTHON_WIN.msi
|
|
||||||
GMP_URL=https://gmplib.org/download/gmp/$GMP_PACK
|
|
||||||
MPFR_URL=http://www.mpfr.org/$MPFR/$MPFR_PACK
|
|
||||||
MPC_URL=http://ftp.gnu.org/gnu/mpc/$MPC_PACK
|
|
||||||
ISL_URL=http://isl.gforge.inria.fr/$ISL_PACK
|
|
||||||
EXPAT_URL=https://downloads.sourceforge.net/project/expat/expat/$EXPAT_VER/$EXPAT_PACK
|
|
||||||
LIBELF_URL=https://fossies.org/linux/misc/old/$LIBELF_PACK
|
|
||||||
LIBICONV_URL=https://ftp.gnu.org/pub/gnu/libiconv/$LIBICONV_PACK
|
|
||||||
ZLIB_URL=http://www.zlib.net/fossils/$ZLIB_PACK
|
|
||||||
ENV_VAR_UPDATE_URL=http://nsis.sourceforge.net/mediawiki/images/a/ad/$ENV_VAR_UPDATE_PACK
|
|
||||||
PYTHON_WIN_URL=https://www.python.org/ftp/python/$PYTHON_WIN_VER/$PYTHON_WIN_PACK
|
|
||||||
PACKAGE_NAME_SUFFIX="${host_arch}-linux"
|
|
||||||
PACKAGE_NAME_SUFFIX=mac-$(sw_vers -productVersion)
|
|
||||||
PACKAGE_NAME=gcc-$TARGET-$GCC_VER_NAME-$RELEASEVER
|
|
||||||
PACKAGE_NAME_NATIVE=$PACKAGE_NAME-$PACKAGE_NAME_SUFFIX
|
|
||||||
PACKAGE_NAME_MINGW=$PACKAGE_NAME-win32
|
|
||||||
INSTALL_PACKAGE_NAME=gcc-$TARGET-$GCC_VER_NAME-$RELEASEVER
|
|
||||||
|
|
||||||
root@buildbox:/subo/Tooling/src/team-sweng/cross-compile/arduino-m0/gcc-arm-none-eabi-10-2020-q4-major# grep VER build-common.sh
|
|
||||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
WORKSPACE | SRC_VERSION)
|
|
||||||
GMP_VER=6.1.0
|
|
||||||
MPFR_VER=3.1.4
|
|
||||||
MPC_VER=1.0.3
|
|
||||||
ISL_VER=0.18
|
|
||||||
EXPAT_VER=2.1.1
|
|
||||||
LIBELF_VER=0.8.13
|
|
||||||
LIBICONV_VER=1.15
|
|
||||||
ZLIB_VER=1.2.8
|
|
||||||
PYTHON_WIN_VER=2.7.7
|
|
||||||
GMP=gmp-$GMP_VER
|
|
||||||
MPFR=mpfr-$MPFR_VER
|
|
||||||
MPC=mpc-$MPC_VER
|
|
||||||
ISL=isl-$ISL_VER
|
|
||||||
EXPAT=expat-$EXPAT_VER
|
|
||||||
LIBELF=libelf-$LIBELF_VER
|
|
||||||
LIBICONV=libiconv-$LIBICONV_VER
|
|
||||||
ZLIB=zlib-$ZLIB_VER
|
|
||||||
PYTHON_WIN=python-$PYTHON_WIN_VER
|
|
||||||
EXPAT_URL=https://downloads.sourceforge.net/project/expat/expat/$EXPAT_VER/$EXPAT_PACK
|
|
||||||
PYTHON_WIN_URL=https://www.python.org/ftp/python/$PYTHON_WIN_VER/$PYTHON_WIN_PACK
|
|
||||||
RELEASEVER=${release_year}-q1-update
|
|
||||||
RELEASEVER=${release_year}-q2-preview
|
|
||||||
RELEASEVER=${release_year}-q3-update
|
|
||||||
RELEASEVER=${release_year}-q4-major
|
|
||||||
GCC_VER=`cat $SRCDIR/$GCC/gcc/BASE-VER`
|
|
||||||
GCC_VER_NAME=`echo $GCC_VER | cut -d'.' -f1`
|
|
||||||
GCC_VER_SHORT=$GCC_VER_NAME
|
|
||||||
PKGVERSION="GNU Arm Embedded Toolchain $GCC_VER_NAME-$RELEASEVER"
|
|
||||||
PACKAGE_NAME=gcc-$TARGET-$GCC_VER_NAME-$RELEASEVER
|
|
||||||
INSTALL_PACKAGE_NAME=gcc-$TARGET-$GCC_VER_NAME-$RELEASEVER
|
|
||||||
APPNAME="$PKGVERSION $GCC_VER_SHORT $release_year"
|
|
||||||
```
|
|
@@ -1,38 +0,0 @@
|
|||||||
CNW
|
|
||||||
|
|
||||||
05/27/2021 at 10:49
|
|
||||||
|
|
||||||
<https://deardevices.com/2019/04/18/how-to-crosscompile-raspi/>
|
|
||||||
|
|
||||||
git clone <https://github.com/raspberrypi/tools>
|
|
||||||
killed that
|
|
||||||
|
|
||||||
found a better option (uses docker so it's nicely contained)
|
|
||||||
|
|
||||||
<https://github.com/Pro/raspi-toolchain>
|
|
||||||
|
|
||||||
realized that might be (only for) rpi0 dug into source material and found
|
|
||||||
|
|
||||||
<https://solarianprogrammer.com/2018/05/06/building-gcc-cross-compiler-raspberry-pi/>
|
|
||||||
|
|
||||||
Light modifications to the instructions (--werror and path adjustments):
|
|
||||||
|
|
||||||
```console
|
|
||||||
../glibc-2.28/configure --prefix=/subo/Tooling/bin/team-sweng/cross-compile/rpi/arm-linux-gnueabihf --build=$MACHTYPE --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf --with-arch=armv6 --with-fpu=vfp --with-float=hard --with-headers=/subo/Tooling/bin/team-sweng/cross-compile/rpi/arm-linux-gnueabihf/include --disable-multilib libc_cv_forced_unwind=yes --disable-werror
|
|
||||||
install csu/crt1.o csu/crti.o csu/crtn.o /subo/Tooling/bin/team-sweng/cross-compile/rpi/arm-linux-gnueabihf/lib
|
|
||||||
arm-linux-gnueabihf-gcc -nostdlib -nostartfiles -shared -x c /dev/null -o /subo/Tooling/bin/team-sweng/cross-compile/rpi/arm-linux-gnueabihf/lib/libc.so
|
|
||||||
touch /subo/Tooling/bin/team-sweng/cross-compile/rpi/arm-linux-gnueabihf/include/gnu/stubs.h
|
|
||||||
```
|
|
||||||
|
|
||||||
Glibc build well underway as of 17:58 on 05/28/2021
|
|
||||||
|
|
||||||
Executable built on buildbox , scp to my pi, run. Patient closed at 18:27 on 05/28/2021
|
|
||||||
|
|
||||||
```console
|
|
||||||
|
|
||||||
root@buildbox:~# arm-linux-gnueabihf-gcc hello-pi.c -o hello-pi
|
|
||||||
root@buildbox:~# file hello-pi
|
|
||||||
hello-pi: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, BuildID[sha1]=ee4a21a234906299467b7e0ec735d400497c5ad8, for GNU/Linux 3.2.0, not stripped
|
|
||||||
> ./hello-pi
|
|
||||||
Hello rpi cross!% ~ 18:26:12
|
|
||||||
```
|
|
@@ -1,93 +0,0 @@
|
|||||||
|
|
||||||
# Accounts and Records
|
|
||||||
|
|
||||||
## Records and Accounting; Reports; Fiscal Affairs
|
|
||||||
|
|
||||||
Proper and complete records and books of accounting of the business of the Company,
|
|
||||||
including a list of names, addresses and interests of all Members, shall
|
|
||||||
be maintained under the direction of the Board Of Directors at the
|
|
||||||
Company's principal place of business. Each Member or his or her duly
|
|
||||||
authorized representative may examine the books of account of the
|
|
||||||
Company records, reports and other papers regarding the business and
|
|
||||||
financial condition of the Company, make copies and extracts therefrom
|
|
||||||
at such Member's expense, and discuss the affairs, finances and accounts
|
|
||||||
of the Company with independent public accountants of the Company, all
|
|
||||||
at such reasonable times and as often as may be reasonably requested.
|
|
||||||
|
|
||||||
The books and records of the Company shall be kept on a cash basis in
|
|
||||||
accordance with generally accepted accounting principles applied on a
|
|
||||||
consistent basis, and in all events shall conform with Generally
|
|
||||||
Accepted Accounting Policies and Procedures.
|
|
||||||
|
|
||||||
## Fiscal Year End
|
|
||||||
The fiscal year end of the Company shall be December 31.
|
|
||||||
|
|
||||||
## Keeper of the Books
|
|
||||||
At all times during the term of existence of
|
|
||||||
the Company, and beyond that term if deemed by Board Of Directors to be
|
|
||||||
necessary, the CFO shall keep or cause to be kept the books of accounts
|
|
||||||
referred to in this section and the following:
|
|
||||||
|
|
||||||
* A current list of the full name and last known business or
|
|
||||||
residence address of each Member and Director, together with the
|
|
||||||
Capital Contribution and the share in Profits and Losses of each Member;
|
|
||||||
|
|
||||||
* A copy of the Certificate of Formation, as amended;
|
|
||||||
|
|
||||||
* Executed counterparts of this Agreement, as amended;
|
|
||||||
|
|
||||||
* Executed Supplements and Consents, if any;
|
|
||||||
|
|
||||||
* Any powers of attorney under which the Company takes action;
|
|
||||||
|
|
||||||
* Copies of the Company's federal, state, and local income tax or
|
|
||||||
information returns and reports, if any, for the six (6) most recent
|
|
||||||
taxable years;
|
|
||||||
|
|
||||||
* Financial statements of the Company for the six (6) most recent
|
|
||||||
fiscal years; and
|
|
||||||
|
|
||||||
* All Company records as they relate to the Company's internal
|
|
||||||
affairs for the current and past four (4) fiscal years.
|
|
||||||
|
|
||||||
## Member Examination of Records
|
|
||||||
|
|
||||||
Each Member, at its expense and under
|
|
||||||
the circumstance and conditions set forth in the BOC, may at all
|
|
||||||
reasonable times during usual business hours, audit, examine and make
|
|
||||||
copies of account records, files and bank statements of the Company.
|
|
||||||
Such right may be exercised by any Member or by its designated agents or employees.
|
|
||||||
|
|
||||||
## Bank Accounts
|
|
||||||
All funds of the Company shall be deposited in one or
|
|
||||||
more accounts with one or more recognized financial institutions in the
|
|
||||||
name of the Company, at such locations as shall be determined by the
|
|
||||||
Board Of Directors and CFO. Withdrawal from such accounts shall require
|
|
||||||
the signature of such Person or Persons as the Board Of Directors and
|
|
||||||
Members jointly designate.
|
|
||||||
|
|
||||||
## Members' Tax Requirements
|
|
||||||
Within fifteen (15) days after the end of
|
|
||||||
each taxable year, the Company shall forward to each Member all
|
|
||||||
information necessary for the Members to complete their federal and
|
|
||||||
state income tax or information returns, and a copy of the Company's
|
|
||||||
federal, state, and local income tax or information returns for such
|
|
||||||
year.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Membership Records
|
|
||||||
The
|
|
||||||
|
|
||||||
* name
|
|
||||||
|
|
||||||
* e-mail address
|
|
||||||
|
|
||||||
* Capital Contributions
|
|
||||||
|
|
||||||
* Percentage Interest
|
|
||||||
|
|
||||||
of each of the Members is set forth in Supplement 4.
|
|
||||||
|
|
@@ -1,19 +0,0 @@
|
|||||||
|
|
||||||
# Creation of Additional Membership Interests
|
|
||||||
|
|
||||||
Additional Membership Interests may be created and issued to existing or new
|
|
||||||
Members or Persons, and such other Persons may be admitted to
|
|
||||||
the Company as Members in one or more classes, with the unanimous written
|
|
||||||
conset of the Board Of Directors, and all Company Members on such terms and
|
|
||||||
conditions as the Board Of Directors and Company Members may approve at
|
|
||||||
the time of admission.
|
|
||||||
|
|
||||||
The creation of new Membership Interests, the
|
|
||||||
admission of any new Members, or the creation of any new class or group
|
|
||||||
of Members in accordance with this Agreement may
|
|
||||||
|
|
||||||
* (i) result in the dilution of the Sharing Ratios of existing Members
|
|
||||||
|
|
||||||
* (ii) be reflected as an amendment to this Agreement or a Supplement which shall
|
|
||||||
be valid if executed by the entirety of the Board Of Directors, all existing
|
|
||||||
Company Members and the new Member.
|
|
@@ -1,37 +0,0 @@
|
|||||||
|
|
||||||
# Capital Contributions and Finance
|
|
||||||
|
|
||||||
## Capital Contribution
|
|
||||||
|
|
||||||
No Member shall have any obligation to make any Capital Contribution.
|
|
||||||
Company members, in their sole and absolute discretion, may at any time elect
|
|
||||||
to fund or not fund further Capital Contributions with respect to the
|
|
||||||
Company or any Investment, Investment Entity, without any
|
|
||||||
liability whatsoever to the Company or any Member, even if such failure
|
|
||||||
to contribute results in the loss of any opportunity or the forfeiture
|
|
||||||
of any Investment or interest in any Investment Entity, or results in
|
|
||||||
any other penalty or liability.
|
|
||||||
|
|
||||||
## Return of Contributions
|
|
||||||
|
|
||||||
Except as expressly provided herein, no
|
|
||||||
Member shall be entitled to the return of any part of its Capital
|
|
||||||
Contributions, to be paid interest in respect of either its Capital
|
|
||||||
Account or any Capital Contribution made by it or paid for the fair
|
|
||||||
market value of its Membership Interest upon withdrawal or otherwise.
|
|
||||||
|
|
||||||
Unrepaid Capital Contributions shall not be a liability of the Company,
|
|
||||||
or of any Member.
|
|
||||||
|
|
||||||
No Member shall be required to contribute or lend any cash or property
|
|
||||||
to the Company to enable the Company to return any Member's Capital Contributions.
|
|
||||||
|
|
||||||
## Member Guaranties
|
|
||||||
No Member shall undertake to guarantee or otherwise become liable for any obligation
|
|
||||||
of the Company, or any Investment Entity.
|
|
||||||
|
|
||||||
## Investments
|
|
||||||
|
|
||||||
Investments. All Investments by the Company shall be made on such
|
|
||||||
terms and conditions as the Board Of Directors and Members may determine.
|
|
||||||
|
|
@@ -1,17 +0,0 @@
|
|||||||
|
|
||||||
# Closing
|
|
||||||
|
|
||||||
IN WITNESS WHEREOF, the undersigned, intending to be legally bound hereby,
|
|
||||||
has duly executed this
|
|
||||||
|
|
||||||
* Company NDA
|
|
||||||
|
|
||||||
* Company IP Assignment
|
|
||||||
|
|
||||||
* Company Operating Agreement
|
|
||||||
|
|
||||||
|
|
||||||
# Signature Page
|
|
||||||
|
|
||||||
The parties sign this Agreement on the date below by their electronic signatures.
|
|
||||||
|
|
@@ -1,283 +0,0 @@
|
|||||||
|
|
||||||
# Common terms and conditions
|
|
||||||
|
|
||||||
## Not registered securities
|
|
||||||
|
|
||||||
THE LIMITED LIABILITY COMPANY UNITS REFERRED TO HEREIN (THE “UNITS”) HAVE NOT
|
|
||||||
BEEN REGISTERED UNDER THE SECURITIES ACT OF 1933, AS AMENDED (THE “1933 ACT”).
|
|
||||||
SUCH INTERESTS ARE BEING OFFERED OR SOLD UNDER THE EXEMPTION PROVIDED BY SECTION
|
|
||||||
4(2) OF THE 1933 ACT AND RULE 506 THEREUNDER NOR HAVE THEY BEEN REGISTERED UNDER
|
|
||||||
THE SECURITIES OR BLUE SKY LAWS OF ANY OTHER JURISDICTION.
|
|
||||||
|
|
||||||
A PURCHASER OR RECEIVER OF UNITS MUST BE PREPARED TO BEAR THE ECONOMIC RISK OF THE
|
|
||||||
INVESTMENT FOR AN INDEFINITE PERIOD OF TIME BECAUSE THE UNITS HAVE NOT BEEN REGISTERED
|
|
||||||
UNDER THE 1933 ACT AND, THEREFORE, CANNOT BE SOLD UNLESS THEY ARE SUBSEQUENTLY
|
|
||||||
REGISTERED OR AN EXEMPTION FROM REGISTRATION IS AVAILABLE.
|
|
||||||
|
|
||||||
THERE IS NO OBLIGATION OF THE ISSUER TO REGISTER THE UNITS UNDER THE 1933 ACT.
|
|
||||||
|
|
||||||
## Entire Agreement
|
|
||||||
|
|
||||||
All parties agree that this Agreement is the final, complete and exclusive statement of
|
|
||||||
the mutual understanding of the parties and supersedes and cancels all previous written
|
|
||||||
and oral agreements and communications relating to the subject matter of this Agreement.
|
|
||||||
|
|
||||||
This Agreement and its exhibits constitute the entire agreement between the parties.
|
|
||||||
Except as otherwise provided herein, no amendments to this Agreement shall be
|
|
||||||
binding upon any Member unless set forth in a document duly executed by such Member.
|
|
||||||
|
|
||||||
The parties will amend this agreement only by cosigned, written agreement.
|
|
||||||
|
|
||||||
## Binding Arbitration and waiver of rights
|
|
||||||
|
|
||||||
IF FOR ANY REASON THIS
|
|
||||||
ARBITRATION CLAUSE BECOMES NOT APPLICABLE, THEN EACH PARTY, TO THE
|
|
||||||
FULLEST EXTENT PERMITTED BY APPLICABLE LAW, HEREBY IRREVOCABLY WAIVES
|
|
||||||
ALL RIGHT TO TRIAL BY JURY OR BENCH TRIAL AS TO ANY ISSUE RELATING HERETO IN ANY
|
|
||||||
ACTION, PROCEEDING OR COUNTERCLAIM ARISING OUT OF OR RELATING TO THIS
|
|
||||||
AGREEMENT OR ANY OTHER MATTER INVOLVING THE PARTIES HERETO.
|
|
||||||
|
|
||||||
Any controversy, claim or dispute arising out of or relating to this
|
|
||||||
Agreement, shall be settled by binding arbitration in Pflugerville TX
|
|
||||||
at the companys primary place of business located at
|
|
||||||
<>
|
|
||||||
|
|
||||||
All such controversies, claims or disputes shall be settled in this manner
|
|
||||||
in lieu of any action at law or equity.
|
|
||||||
|
|
||||||
The following rights are irrevocably waived now and forever more:
|
|
||||||
|
|
||||||
* rights to sue in all possible venues
|
|
||||||
|
|
||||||
* trial by Judge
|
|
||||||
|
|
||||||
* trial by Judge/Jury
|
|
||||||
|
|
||||||
* trial by any other form either previously used, currently in use, or used in the
|
|
||||||
future
|
|
||||||
|
|
||||||
* public or private disclosure of any Member conflict with the Company
|
|
||||||
|
|
||||||
Such arbitration shall be conducted in accordance with the then prevailing
|
|
||||||
commercial arbitration rules of American Arbitration Association
|
|
||||||
("**AAA**"), with the following exceptions if in conflict:
|
|
||||||
|
|
||||||
* one arbitrator shall be chosen by the AAA (the "**Arbitrator**");
|
|
||||||
|
|
||||||
* each party to the arbitration will pay its pro rata share of
|
|
||||||
the expenses and fees of the arbitrator, together with other expenses of the arbitration
|
|
||||||
incurred or approved by the Arbitrator;
|
|
||||||
|
|
||||||
* arbitration may proceed in the absence of any party if written notice (pursuant to the
|
|
||||||
Arbitrator's rules and regulations) of the proceeding has been given to
|
|
||||||
such party.
|
|
||||||
|
|
||||||
* The parties agree to abide soley by all decisions and awards rendered in such proceedings.
|
|
||||||
|
|
||||||
* Such decisions and awards rendered by the arbitrator shall be final and conclusive.
|
|
||||||
|
|
||||||
* The Arbitrator shall not have the right to award punitive damages or
|
|
||||||
speculative damages to either party and shall not have the power to
|
|
||||||
amend this Agreement.
|
|
||||||
|
|
||||||
## Ownership of Property and No Right of Partition
|
|
||||||
* A Member's interest in the Company shall be personal property for all purposes.
|
|
||||||
|
|
||||||
* No Member shall have any right to partition the property owned by the Company.
|
|
||||||
|
|
||||||
* The Membership Interest:
|
|
||||||
|
|
||||||
**IS NOT**
|
|
||||||
|
|
||||||
and
|
|
||||||
|
|
||||||
**SHALL NOT**
|
|
||||||
|
|
||||||
be considered community property at any time (including but not limited to):
|
|
||||||
|
|
||||||
* before the execution of this Agreement
|
|
||||||
|
|
||||||
* after this Agreement is executed
|
|
||||||
|
|
||||||
* while the Agreement is in effect
|
|
||||||
|
|
||||||
* after the Agreement is no longer in effect due to resignation or expulsion
|
|
||||||
|
|
||||||
|
|
||||||
* By signing this agreement, Member hereby agrees that:
|
|
||||||
|
|
||||||
* any and all rights
|
|
||||||
* any and all interests
|
|
||||||
|
|
||||||
under this agreement (and applicable law incorporated by reference) are hereby:
|
|
||||||
|
|
||||||
* suspended
|
|
||||||
* revoked
|
|
||||||
* rendered null and void now and forever more.
|
|
||||||
|
|
||||||
for any
|
|
||||||
|
|
||||||
* spouse
|
|
||||||
|
|
||||||
* significant other
|
|
||||||
|
|
||||||
* domestic partner
|
|
||||||
|
|
||||||
* any future lawful definition of a similar type of close/constant party
|
|
||||||
|
|
||||||
## Involvement of Members in Certain Proceedings
|
|
||||||
|
|
||||||
Should any Member become involved in legal proceedings unrelated to the
|
|
||||||
Company's business in which the Company is required to provide books, records, an
|
|
||||||
accounting, or other information, then such Member :
|
|
||||||
|
|
||||||
* shall indemnify the Company from all expenses incurred in conjunction therewith.
|
|
||||||
|
|
||||||
* Member agrees that this involvement in such a proceeding may be considered a:
|
|
||||||
|
|
||||||
* material breach of contract
|
|
||||||
* violation of Duty Of Care
|
|
||||||
* violation of Fidicuary Duty
|
|
||||||
|
|
||||||
and agrees that the Member may face immediate expulsion for exposing the Company
|
|
||||||
in such an irresonsible manner and that the Company may pursue the Member for any
|
|
||||||
and all remedies under law.
|
|
||||||
|
|
||||||
## No Third-Party Enforcement
|
|
||||||
|
|
||||||
Only the parties to this agreement may enforce rights under this agreement.
|
|
||||||
|
|
||||||
## Waiver
|
|
||||||
|
|
||||||
No consent or waiver, express or implied, by any Member of
|
|
||||||
any breach or default by any other Member in the performance by the
|
|
||||||
other Member of its obligations hereunder shall be deemed or construed
|
|
||||||
to be a consent or waiver to or of any other breach or default in the
|
|
||||||
performance by such other Member of the same or any other obligation
|
|
||||||
hereunder. Failure on the part of any Member to complain of any act or
|
|
||||||
to declare any other Member in default, irrespective of how long such
|
|
||||||
failure continues, shall not constitute a waiver of rights hereunder.
|
|
||||||
|
|
||||||
## Severability
|
|
||||||
|
|
||||||
If any provision of this Agreement or the application
|
|
||||||
thereof to any Person or circumstances shall be judged by
|
|
||||||
any court of competent jurisdiction to be unenforceable or invalid,
|
|
||||||
to any extent, and such invalidity or unenforceability does not destroy
|
|
||||||
the basis of the bargain between the parties, then the remainder of this
|
|
||||||
Agreement and the application of such provisions to other Persons or
|
|
||||||
circumstances shall not be affected thereby and shall be enforced to the
|
|
||||||
greatest extent permitted by law.
|
|
||||||
|
|
||||||
## Legal Relationship
|
|
||||||
|
|
||||||
The parties to this agreement remain independent parties. This agreement does not
|
|
||||||
create any partnership, joint venture, agency, or similar relationship between the
|
|
||||||
parties.
|
|
||||||
|
|
||||||
## No Assignment or Delegation
|
|
||||||
|
|
||||||
* No party may assign any right or delegate any obligation under this agreement
|
|
||||||
|
|
||||||
* This Agreement is not assignable or transferable by Member
|
|
||||||
|
|
||||||
* Any attempt to assign or delegate will have no legal effect.
|
|
||||||
|
|
||||||
* No failure to exercise, and no delay in exercising, on the part of either party, any privilege,
|
|
||||||
any power or any rights hereunder will operate as a waiver thereof, nor will any single or
|
|
||||||
partial exercise of any right or power hereunder preclude further exercise of any other right
|
|
||||||
hereunder.
|
|
||||||
|
|
||||||
## Governing Law
|
|
||||||
This Agreement and the obligations of the Members
|
|
||||||
hereunder shall be construed and enforced in accordance with the laws of
|
|
||||||
the State of Texas, excluding any conflicts of law rule or principle
|
|
||||||
which might refer such construction to the laws of another state or
|
|
||||||
country.
|
|
||||||
|
|
||||||
## Signature
|
|
||||||
|
|
||||||
An electronically signed copy of this agreement delivered by e-mail or other electronic
|
|
||||||
means has the same legal effect as delivering a printed and signed original.
|
|
||||||
|
|
||||||
|
|
||||||
## Notices
|
|
||||||
|
|
||||||
* The parties shall send every notice, demand, consent, request, or other communication
|
|
||||||
required or allowed by this agreement by e-mail to the e-mail address the other party provided
|
|
||||||
with their signature
|
|
||||||
|
|
||||||
* All notices given in accordance with this Agreement shall be effective upon delivery
|
|
||||||
at the e-mail address of the addressee.
|
|
||||||
|
|
||||||
* By giving written notice thereof, each Member shall have the right from time to time to
|
|
||||||
change its address pursuant hereto.
|
|
||||||
|
|
||||||
## No Agreement to Employ
|
|
||||||
|
|
||||||
Nothing in this Agreement shall affect any right that Participant may have to be employed or to maintain employment or a similar relationship (if applicable) with the Company or with any affiliated entity.
|
|
||||||
|
|
||||||
## Captions, References
|
|
||||||
|
|
||||||
Pronouns wherever used herein, and of
|
|
||||||
whatever gender, shall include natural persons and corporations and
|
|
||||||
associations of every kind and character, and the singular shall include
|
|
||||||
the plural wherever and as often as may be appropriate. Article and
|
|
||||||
section headings are for convenience of reference and shall not affect
|
|
||||||
the construction or interpretation of this Agreement. Whenever the terms
|
|
||||||
"hereof," "hereby," "herein," or words of similar import are used in
|
|
||||||
this Agreement they shall be construed as referring to this Agreement in
|
|
||||||
its entirety rather than to a particular section or provision, unless
|
|
||||||
the context specifically indicates to the contrary. Any reference to a
|
|
||||||
particular "Article" or a "Section" shall be construed as referring to
|
|
||||||
the indicated article or section of this Agreement unless the context
|
|
||||||
indicates to the contrary.
|
|
||||||
|
|
||||||
## Place of Business and Office; Resident Agent
|
|
||||||
The address of the registered agent of the Company for service of process on the
|
|
||||||
Company in the State of Texas (and also the Company primary office)
|
|
||||||
is located at: <>
|
|
||||||
|
|
||||||
## Term
|
|
||||||
The term of the Company shall commence upon the filing of the
|
|
||||||
Certificate of Formation with the Texas Secretary of State and shall
|
|
||||||
have perpetual existence unless it shall be dissolved and its affairs
|
|
||||||
shall have been wound up as provided in Section Dissolution and Winding Up of Business.
|
|
||||||
|
|
||||||
## Qualification in Other Jurisdictions.
|
|
||||||
The Company may register in any other jurisdiction upon the approval of the Board Of Directors.
|
|
||||||
|
|
||||||
## No State Law Partnership.
|
|
||||||
The Company shall not be a partnership or
|
|
||||||
joint venturer under any state or federal law, and no Member or Director
|
|
||||||
shall be a partner or joint venture of any other Member or Director for
|
|
||||||
any purposes; other than under the Code or other applicable tax laws,
|
|
||||||
and this Agreement may not be construed otherwise.
|
|
||||||
|
|
||||||
## General Restrictions on Dispositions of Membership Interests
|
|
||||||
A Member may not make an assignment, transfer or
|
|
||||||
other disposition (voluntarily, involuntarily or by operation of law) (a
|
|
||||||
"**Transfer**") of all or any portion of his or her Membership Interest,
|
|
||||||
nor pledge, mortgage, hypothecate, grant a security interest in, or
|
|
||||||
otherwise encumber (an "**Encumbrance**") all or any portion of its
|
|
||||||
Membership Interest,
|
|
||||||
|
|
||||||
Any attempted Transfer of all or any portion of a Membership Interest,
|
|
||||||
shall be void and result in the immediate (no vote required) expulsion
|
|
||||||
of the Member and forefiture of Member interest and the right of the Company
|
|
||||||
to pursue the Member for any and all remedies under law.
|
|
||||||
|
|
||||||
## Duty of care
|
|
||||||
|
|
||||||
Each Member shall discharge their duties in a good and proper manner
|
|
||||||
as provided for in this Agreement. Each Member, on behalf of the
|
|
||||||
Company shall enforce agreements entered into
|
|
||||||
by the Company and conduct or cause to be
|
|
||||||
conducted the ordinary business and affairs of the Company in
|
|
||||||
accordance with good industry practice and the provisions of this
|
|
||||||
Agreement.
|
|
||||||
|
|
||||||
## Liability to Third Parties
|
|
||||||
No Member or Director, solely by reason of being a
|
|
||||||
member or Director, shall be liable for the debts, obligations, or liabilities of
|
|
||||||
the Company.
|
|
@@ -1,41 +0,0 @@
|
|||||||
# Introduction
|
|
||||||
In order to form a limited liability company pursuant to and in
|
|
||||||
accordance with the Texas Business Organization Code (BOC), as amended
|
|
||||||
from time to time, the Members hereby agree as follows:
|
|
||||||
|
|
||||||
# Company Name
|
|
||||||
The name of the limited liability company formed hereby shall be:
|
|
||||||
<company name LLC>
|
|
||||||
|
|
||||||
# Company Purpose
|
|
||||||
The Company shall have the power (whether conducted
|
|
||||||
directly or indirectly through any type of Investment in any type of
|
|
||||||
Person) to engage in the following activities:
|
|
||||||
|
|
||||||
* acquiring
|
|
||||||
|
|
||||||
* owning
|
|
||||||
|
|
||||||
* holding
|
|
||||||
|
|
||||||
* maintaining
|
|
||||||
|
|
||||||
* improving
|
|
||||||
|
|
||||||
* developing
|
|
||||||
|
|
||||||
* operating
|
|
||||||
|
|
||||||
* managing
|
|
||||||
|
|
||||||
* leasing
|
|
||||||
|
|
||||||
* selling
|
|
||||||
|
|
||||||
* exchanging
|
|
||||||
|
|
||||||
* the financing of any of the foregoing activities
|
|
||||||
|
|
||||||
* and otherwise dealing with
|
|
||||||
|
|
||||||
All things related to <Company name LLC>
|
|
@@ -1,260 +0,0 @@
|
|||||||
|
|
||||||
# Definitions
|
|
||||||
|
|
||||||
The following terms as used in this Agreement shall be defined as follows:
|
|
||||||
|
|
||||||
## "**Certificate of Formation**"
|
|
||||||
means the document filed with the Texas Secretary of State required to form a
|
|
||||||
limited liability company in Texas.
|
|
||||||
|
|
||||||
## "**Person**"
|
|
||||||
whether capitalized or not, means any individual, sole
|
|
||||||
proprietorship, joint venture, partnership, corporation, company, firm,
|
|
||||||
bank, association, cooperative, trust, estate, government, governmental
|
|
||||||
agency, regulatory authority, or other entity of any nature.
|
|
||||||
|
|
||||||
## "**Company**"
|
|
||||||
means the organization defined in Section Company Name
|
|
||||||
|
|
||||||
## "**Membership Interest**" or "**Beneficial Interest**"
|
|
||||||
means a Person\'s right to share in the income, gains, losses, deductions,
|
|
||||||
credit or similar items of, and to receive distributions from, the
|
|
||||||
Company, but does not include any other rights of a Member,
|
|
||||||
including the right to vote or to participate in management.
|
|
||||||
|
|
||||||
## "**Member**"
|
|
||||||
means a Person who acquires a Membership Interest in the Company,
|
|
||||||
as permitted under this Agreement, and who remains a Member of the Company.
|
|
||||||
|
|
||||||
## "**Assignee**"
|
|
||||||
means a Person who has acquired a Member's Membership
|
|
||||||
Interest in the Company , through a Transfer in accordance with the
|
|
||||||
terms of this Agreement.
|
|
||||||
|
|
||||||
## "**Board Of Directors**"
|
|
||||||
means the collective group of persons hereafter designated as Board Of Directors in
|
|
||||||
accordance with this Agreement.
|
|
||||||
|
|
||||||
## "**Director**"
|
|
||||||
means any natural person elected to the Board Of Directors
|
|
||||||
in accordance with this Agreement unti such time they are removed from the
|
|
||||||
Board Of Directors in accordance with this Agreement.
|
|
||||||
|
|
||||||
## "**Indepdent Directors**"
|
|
||||||
A natural person, that the Members and Board Of Directors has determined
|
|
||||||
has 'no material relationship' with the Company, either directly or as a
|
|
||||||
partner, shareholder or officer of an organization that has a relationship
|
|
||||||
with the company.
|
|
||||||
|
|
||||||
## "**Accounting Policies and Procedures**"
|
|
||||||
means the policies and procedures adapted from time to time by the Board Of Directors for
|
|
||||||
preparation of the Company financial statement, financial projects and
|
|
||||||
other accounting reports.
|
|
||||||
|
|
||||||
## "**Adverse Consequences**"
|
|
||||||
means all actions, suits, proceedings,
|
|
||||||
hearings, investigations, charges, complaints, demands, injunctions,
|
|
||||||
judgments, orders, decrees, rulings, damages, dues, penalties, fines,
|
|
||||||
costs, amounts paid in settlement, liabilities, obligations, liens,
|
|
||||||
losses, expenses, and fees, including court costs and reasonable
|
|
||||||
attorney's fees and expenses.
|
|
||||||
|
|
||||||
## "**Affiliate**"
|
|
||||||
means, with respect to a Person, another Person,
|
|
||||||
directly or indirectly, through one or more intermediaries, controlling,
|
|
||||||
controlled by, or under common control with the Person in question. The
|
|
||||||
term "control" shall mean the possession, directly or indirectly, of the
|
|
||||||
power to direct or cause the direction of the management or policies of
|
|
||||||
the controlled Person.
|
|
||||||
|
|
||||||
## "**Assigning Member**"
|
|
||||||
means a Member who by means of a Transfer
|
|
||||||
has transferred his or her Membership Interest in the Company to an
|
|
||||||
Assignee.
|
|
||||||
|
|
||||||
## "**Business Day**"
|
|
||||||
means any day other than Saturday, Sunday or
|
|
||||||
other day on which commercial banks in Texas are authorized or required
|
|
||||||
to be closed under the laws of the state of Texas.
|
|
||||||
|
|
||||||
## "**Capital Account**"
|
|
||||||
means, as to any Member, a separate account maintained and adjusted in accordance
|
|
||||||
with Section "Distributions To Members".
|
|
||||||
|
|
||||||
## "**Capital Contribution**"
|
|
||||||
means, with respect to any Member, the
|
|
||||||
amount of money, the forgiveness of any debt, the Fair Market Value of
|
|
||||||
any services or property (other than money) contributed to the Company
|
|
||||||
(net of liabilities secured by such contributed property that the
|
|
||||||
Company is considered to assume or take "subject to" under IRC Section
|
|
||||||
752) in consideration of a Percentage Interest held by such Member.
|
|
||||||
Under no conditions shall a Capital Contribution be deemed a loan.
|
|
||||||
|
|
||||||
## "**Code"** or "**The Code**" or "**IRC**"
|
|
||||||
means the Internal Revenue Code of 1986, as amended, and any successor provision.
|
|
||||||
|
|
||||||
## "**Company Property**"
|
|
||||||
means all assets, real, personal and other,
|
|
||||||
owned by the Company, whether or not contributed to the Company by a
|
|
||||||
Member.
|
|
||||||
|
|
||||||
## "**Encumbrance**"
|
|
||||||
means, with respect to any Membership Interest,
|
|
||||||
or any element thereof, a mortgage, pledge, security interest, lien,
|
|
||||||
proxy coupled with an interest (other than as contemplated in this
|
|
||||||
Agreement), option, or preferential right to purchase.
|
|
||||||
|
|
||||||
## "**Encumber**"
|
|
||||||
means the act of creating or purporting to create an
|
|
||||||
Encumbrance, whether or not perfected under applicable law.
|
|
||||||
|
|
||||||
## "**Fair Market Value**" or "**FMV**"
|
|
||||||
means, with respect to any
|
|
||||||
item Company Property, the item\'s adjusted basis for federal income tax
|
|
||||||
purposes, except as follows:
|
|
||||||
|
|
||||||
A. The Fair Market Value of any property contributed by a Member to the
|
|
||||||
Company shall be the value of such property, as mutually agreed by the
|
|
||||||
contributing Member and the Company Members; and
|
|
||||||
|
|
||||||
B. The Fair Market Value of any item of Company Property distributed
|
|
||||||
to any Member shall be the value of such item of property on the date of
|
|
||||||
distribution, as mutually agreed by the receiving Member and the Company.
|
|
||||||
|
|
||||||
## "**Family**"
|
|
||||||
means, with respect to a specified individual, such
|
|
||||||
individual's lineal or adopted descendants, his or her parents, spouse,
|
|
||||||
domestic partner, significant other, siblings, and lineal or adopted
|
|
||||||
descendants of any thereof, and any family limited partnership, trust or
|
|
||||||
other fiduciary or other entity solely for the benefit of (x) such
|
|
||||||
individual, (y) such individual's lineal or adopted descendants or (z)
|
|
||||||
such individual's parents, spouse, domestic partner, significant other,
|
|
||||||
siblings or lineal or adopted descendants of any thereof.
|
|
||||||
|
|
||||||
## "**Fiscal Year**"
|
|
||||||
shall be from January 1 of each year until or unless changed by a Majority Vote of the Members.
|
|
||||||
|
|
||||||
## "**Investment Entity**"
|
|
||||||
means any Person in which the Company has an Investment.
|
|
||||||
|
|
||||||
## "**Involuntary Transfer**"
|
|
||||||
means, with respect to any Membership
|
|
||||||
Interest, or any element thereof, any Transfer or Encumbrance, whether
|
|
||||||
by operation of law, pursuant to court order, foreclosure of a security
|
|
||||||
interest, execution of a judgment or other legal process, or otherwise,
|
|
||||||
including a purported transfer to or from a trustee in bankruptcy,
|
|
||||||
receiver, or assignee for the benefit of creditors.
|
|
||||||
|
|
||||||
## "**Member Percentage Interest"**
|
|
||||||
means the percentage set forth in the Company agreement.
|
|
||||||
|
|
||||||
## "**Profits and Losses**"
|
|
||||||
means, for each fiscal year or other
|
|
||||||
period specified in this Agreement, an amount equal to the Company\'s
|
|
||||||
taxable income or loss for such year or period, determined in accordance
|
|
||||||
with Section 703 (a) of the Code.
|
|
||||||
|
|
||||||
## "**Reserve Amount**"
|
|
||||||
means the amount from time to time established
|
|
||||||
by the Board Of Directors as a reserve to meet the reasonably
|
|
||||||
anticipated working capital needs of the Company.
|
|
||||||
|
|
||||||
## "**Selling Member**"
|
|
||||||
means a Member desires to sell any of his or her Membership Interests.
|
|
||||||
|
|
||||||
## "**Sharing Ratios**"
|
|
||||||
means the percentages in which Members participate in and bear, certain items.
|
|
||||||
|
|
||||||
## "**Substituted Member**"
|
|
||||||
means a Transferee, other than an existing Member, of the Membership Interest
|
|
||||||
who may be admitted as a Member with respect to such Membership Interest.
|
|
||||||
|
|
||||||
## "**Successor in Interest**"
|
|
||||||
means an Assignee, a successor of a
|
|
||||||
Person by merger or otherwise by operation of law, or a transferee of
|
|
||||||
all or substantially all of the business or assets of a Person.
|
|
||||||
|
|
||||||
## "**Cause**"
|
|
||||||
means (A) a finding by a court or other government body
|
|
||||||
or a plea or similar agreement admitting that an act or omission
|
|
||||||
constitutes a felony under the laws of the United States or the state of
|
|
||||||
Texas, or a violation of the securities law of any United States
|
|
||||||
governmental or self-regulatory body, (B) a material and/or fiduciary
|
|
||||||
breach of this agreement, or (C) fraudulent behavior.
|
|
||||||
|
|
||||||
## "**Adjusted Capital Account**"
|
|
||||||
means, with respect to a Member,
|
|
||||||
such Member's Capital Account as of the end of each fiscal year, as the
|
|
||||||
same is specially computed to reflect the adjustments required or
|
|
||||||
permitted to be taken into account in applying Regulations Section
|
|
||||||
1.704-1(b)(2)(ii)*(d)* (including adjustments for Partnership Minimum
|
|
||||||
Gain and Partner Nonrecourse Debt Minimum Gain).
|
|
||||||
|
|
||||||
## "**Code**"
|
|
||||||
means the Internal Revenue Code of 1986, as amended
|
|
||||||
from time to time, and any corresponding provisions of succeeding law.
|
|
||||||
|
|
||||||
## "**Depreciation**"
|
|
||||||
means, for each taxable year or other period,
|
|
||||||
an amount equal to the depreciation, amortization or other cost recovery
|
|
||||||
deduction allowable with respect to an asset for the year or other
|
|
||||||
period, except that if the Gross Asset Value of an asset differs from
|
|
||||||
its adjusted basis for federal income tax purposes at the beginning of
|
|
||||||
the year or other period, Depreciation will be an amount which bears the
|
|
||||||
same ratio to the beginning Gross Asset Value as the federal income tax
|
|
||||||
depreciation, amortization or other cost recovery deduction for the year
|
|
||||||
or other period bears to the beginning adjusted tax basis, provided that
|
|
||||||
if the federal income tax depreciation, amortization, or other cost
|
|
||||||
recovery deduction for the year or other period is zero, Depreciation
|
|
||||||
will be determined with reference to the beginning Gross Asset Value
|
|
||||||
using any reasonable method selected by the Board Of Directors.
|
|
||||||
|
|
||||||
## "**Partner Nonrecourse Debt**"
|
|
||||||
has the meaning assigned to it in
|
|
||||||
Regulations Sections 1.704-2(b)(4) and 1.752-2.
|
|
||||||
|
|
||||||
## "**Partner Nonrecourse Debt Minimum Gain**"
|
|
||||||
has the meaning assigned to it in Regulations Section 1.704-2(i)(3).
|
|
||||||
|
|
||||||
## "**Partner Nonrecourse Deductions**"
|
|
||||||
has the meaning assigned to it in Regulations Section 1.704-2(i)(2).
|
|
||||||
|
|
||||||
## "**Partnership Minimum Gain**"
|
|
||||||
has the meaning assigned to it in Regulations Section 1.704-2(d).
|
|
||||||
|
|
||||||
## "**Profits**" and "**Losses**"
|
|
||||||
mean, for each taxable year or
|
|
||||||
other period, an amount equal to the Company's taxable income or loss
|
|
||||||
for the year or other period determined in
|
|
||||||
accordance with Section 703(a) of the Code (including all items of
|
|
||||||
income, gain, loss or deduction required to be stated separately under
|
|
||||||
Section 703(a)(1) of the Code), with the following adjustments:
|
|
||||||
|
|
||||||
* Any income that is exempt from federal income tax and not
|
|
||||||
otherwise taken into account in computing Profits or Losses will be
|
|
||||||
added to taxable income or loss;
|
|
||||||
|
|
||||||
* Any expenditures described in Code Section 705(a)(2)(B) or treated
|
|
||||||
as Section 705(a)(2)(B) expenditures under Regulations Section
|
|
||||||
1.704-1(b)(2)(iv)*(i)*, and not otherwise taken into account in
|
|
||||||
computing Profits or Losses, will be subtracted from taxable income or
|
|
||||||
loss;
|
|
||||||
|
|
||||||
* Gain or loss resulting from any disposition of property with respect
|
|
||||||
to which gain or loss is recognized for federal income tax purposes will
|
|
||||||
be computed by reference to the Gross Asset Value of the property,
|
|
||||||
notwithstanding that the adjusted tax basis of the property differs from
|
|
||||||
its Gross Asset Value;
|
|
||||||
|
|
||||||
* In lieu of depreciation, amortization and other cost recovery
|
|
||||||
deductions taken into account in computing taxable income or loss, there
|
|
||||||
will be taken into account Depreciation for the taxable year or other
|
|
||||||
period;
|
|
||||||
|
|
||||||
## "**Regulations**"
|
|
||||||
means the regulations promulgated by the United
|
|
||||||
States Department of the Treasury pursuant to and in respect of
|
|
||||||
provisions of the Code. All references herein to sections of the
|
|
||||||
Regulations shall include any corresponding provisions of succeeding,
|
|
||||||
similar, substitute proposed or final Regulations.
|
|
||||||
|
|
@@ -1,75 +0,0 @@
|
|||||||
|
|
||||||
# Withdrawal, Dissolution, Liquidation and Termination
|
|
||||||
|
|
||||||
## Dissolution, Liquidation, and Termination Generally
|
|
||||||
|
|
||||||
The Company shall be dissolved upon the first to occur of any of
|
|
||||||
the following:
|
|
||||||
|
|
||||||
* The sale or disposition of all assets of the Company and the receipt, in cash, of
|
|
||||||
all consideration therefor, and the determination of the Board Of Directors and all
|
|
||||||
Members not to continue the business of the Company directly or through an Investment
|
|
||||||
Entity.
|
|
||||||
|
|
||||||
* The occurrence of any event which, as a matter of law, requires that the
|
|
||||||
Company be dissolved.
|
|
||||||
|
|
||||||
|
|
||||||
## Liquidation and Termination
|
|
||||||
Upon dissolution of the Company such Person as the Board Of Directors
|
|
||||||
may designate shall act as liquidator. The liquidator shall
|
|
||||||
proceed diligently to wind up the
|
|
||||||
affairs of the applicable Company and make final distributions
|
|
||||||
as provided herein. The costs of liquidation shall be a Company
|
|
||||||
expense, as applicable. Until final distribution, the liquidator
|
|
||||||
shall continue to operate the Company with all of the power
|
|
||||||
and authority of the Board Of Directors, as applicable
|
|
||||||
hereunder. The steps to be accomplished by the liquidator are as
|
|
||||||
follows:
|
|
||||||
|
|
||||||
* as promptly as possible after dissolution and again after final
|
|
||||||
liquidation, the liquidator shall cause a proper accounting to be made
|
|
||||||
by a firm of certified public liquidator, which shall cause a proper
|
|
||||||
accounting to be made by a firm of certified public accountants
|
|
||||||
acceptable to the Board Of Directors of the Company's
|
|
||||||
assets, liabilities, and operations through the last day of the
|
|
||||||
calendar month in which the dissolution shall occur or the final
|
|
||||||
liquidation shall be completed, as applicable
|
|
||||||
|
|
||||||
* the liquidator shall cause the Company to
|
|
||||||
satisfy all of the debts and liabilities of the Company and
|
|
||||||
(whether by payment or the making of reasonable provision for payment
|
|
||||||
thereof)
|
|
||||||
|
|
||||||
* all remaining assets of the Company shall be distributed
|
|
||||||
to the Members as follows:
|
|
||||||
|
|
||||||
* (a) the liquidator may sell any or all applicable Company
|
|
||||||
property and the sum of:
|
|
||||||
|
|
||||||
* (b) any resulting gain or loss from each sale plus
|
|
||||||
|
|
||||||
* (c) the fair market value of such property that has not been sold
|
|
||||||
shall be determined and (notwithstanding the provisions of Section
|
|
||||||
Capital Accounts income, gain, loss, and deduction inherent in such
|
|
||||||
property (that has not been reflected in the Capital Accounts
|
|
||||||
previously) shall be allocated among the Members to the extent possible
|
|
||||||
to cause the Capital Account balance of each Member to equal the amount
|
|
||||||
distributable to such Member under this Section.
|
|
||||||
|
|
||||||
* Company property as applicable shall be distributed to
|
|
||||||
the Members as provided in Section "Distributions to Members".
|
|
||||||
|
|
||||||
## Cancellation of Certificate.
|
|
||||||
In the case of the dissolution,
|
|
||||||
liquidation and termination of the Company, on completion of the
|
|
||||||
distribution of Company assets, the Board Of Directors (or such other
|
|
||||||
Person as the BOC may require or permit) shall file a Certificate of
|
|
||||||
Cancellation with the Secretary of State of Texas, cancel any other
|
|
||||||
filings made pursuant to Section "Qualification in Other Jurisdictions".
|
|
||||||
and take such other actions as may be necessary to
|
|
||||||
terminate the existence of the Company. In the case of the dissolution,
|
|
||||||
liquidation and termination of the Company, the CEO shall file such
|
|
||||||
certificates as may be required by the BOC or other law in respect
|
|
||||||
thereof.
|
|
||||||
|
|
@@ -1,41 +0,0 @@
|
|||||||
|
|
||||||
# Distributions to Members
|
|
||||||
|
|
||||||
## Distributions in General
|
|
||||||
|
|
||||||
From time to time, but not less often than
|
|
||||||
monthly, the CEO and CFO shall determine (i) the amount, if any, by
|
|
||||||
which the Company's funds then on hand exceed the Reserve Amount (such
|
|
||||||
excess being referred to herein as "**Excess Funds**").
|
|
||||||
|
|
||||||
If the CEO and CFO determines that there are
|
|
||||||
Excess Funds subject to distribution but that additional Capital Contributions
|
|
||||||
will be required for future Company needs within the next two
|
|
||||||
(2) calendar month period, then the CEO and CFO may elect to not make
|
|
||||||
a distribution of such Excess Funds.
|
|
||||||
|
|
||||||
Not later than the 15th day of each calendar month, the Excess Funds derived
|
|
||||||
from the business shall be distributed to the Company Members in accordance with
|
|
||||||
their Sharing Ratios.
|
|
||||||
|
|
||||||
|
|
||||||
## Withholding
|
|
||||||
|
|
||||||
The Company may withhold distributions or portions
|
|
||||||
thereof if it is required to do so by any applicable rule, regulation,
|
|
||||||
or law, and each Member hereby authorizes the Company to withhold from
|
|
||||||
or pay on behalf of or with respect to such Member any amount of
|
|
||||||
federal, state, local or foreign taxes that the Board Of Directors, CEO
|
|
||||||
and CFO reasonably determines that the Company is required to withhold
|
|
||||||
or pay with respect to any amount distributable or allocatable to such
|
|
||||||
Member pursuant to this Agreement. Any amounts so paid or withheld with
|
|
||||||
respect to a Member pursuant to this Section shall be treated as having
|
|
||||||
been distributed to such Member and shall reduce any amounts otherwise
|
|
||||||
distributable to such Member (either currently or in the future)
|
|
||||||
pursuant to Section "Distributions to Members" or Section
|
|
||||||
"Withdrawl, Dissolution, Liquidation and Termination".
|
|
||||||
|
|
||||||
The Company desires to issue Units in respect of the Company designated as
|
|
||||||
“Profits Interest Units” to Participant in connection with Participant’s performance
|
|
||||||
of services to or for the benefit of the Company.
|
|
||||||
|
|
@@ -1 +0,0 @@
|
|||||||
The following sections are the material we use in our operating agreements.
|
|
@@ -1,60 +0,0 @@
|
|||||||
|
|
||||||
# Indemnification; Reimbursement of Expenses; Insurance
|
|
||||||
|
|
||||||
To the fullest extent permitted by law, and subject to the limitations set
|
|
||||||
forth in this Section, and with, in each case, the Board Of Directors
|
|
||||||
prior approval:
|
|
||||||
|
|
||||||
* the Company may (at the Members sole discretion) indemnify any or each Director
|
|
||||||
for any Adverse Consequences
|
|
||||||
that a Director may suffer including, but not limited to, any
|
|
||||||
Director who, is to be made a party to any pending or
|
|
||||||
completed action, suit or proceeding ("**Proceeding**"), any appeal
|
|
||||||
therein, or any inquiry or investigation preliminary thereto, solely by
|
|
||||||
reason of the fact that he or she is or was a Director, Member and was
|
|
||||||
acting within scope of duties or under the authority of the Company and
|
|
||||||
was not in breach of agreements or violating fiduciary responsibility
|
|
||||||
as determned by the Members;
|
|
||||||
|
|
||||||
* the Company may (at the Members sole discretion) pay a Director for expenses incurred by him or her:
|
|
||||||
|
|
||||||
(1) in advance of any deposition of a Proceeding to which such Director is a party, and
|
|
||||||
|
|
||||||
(2) in connection with his or her appearance as a witness or other participation in any Proceeding.
|
|
||||||
|
|
||||||
Such indemnification may also include counsel fees.
|
|
||||||
|
|
||||||
The Company may indemnify and advance expenses to an employee or agent of the Company to
|
|
||||||
the same extent and subject to the same conditions under which it may
|
|
||||||
indemnify and advance expenses to the Director or Members under the
|
|
||||||
preceding sentence.
|
|
||||||
|
|
||||||
The provisions of this Section shall not be exclusive of any other right
|
|
||||||
under any law, provision of the Certificate or this Agreement, or otherwise.
|
|
||||||
|
|
||||||
Notwithstanding the foregoing, this indemnity shall not apply to actions constituting :
|
|
||||||
|
|
||||||
* gross negligence
|
|
||||||
|
|
||||||
* simple negligence
|
|
||||||
|
|
||||||
* willful misconduct
|
|
||||||
|
|
||||||
* bad faith
|
|
||||||
|
|
||||||
* involving a material or fiduciary breach of this Agreement or the duties set forth herein,
|
|
||||||
|
|
||||||
* any other reason in the Members and/or Board Of Directors discretion
|
|
||||||
which reason, in the Board Of Directors or Members reasonable opinion, causes a substantial
|
|
||||||
loss to the Company.
|
|
||||||
|
|
||||||
## Option to Purchase Insurance
|
|
||||||
|
|
||||||
The Company may purchase and maintain insurance to protect itself and any
|
|
||||||
Director, Member, employee or agent of the Company, whether or not the
|
|
||||||
Company would have the power to indemnify such Person under this Section.
|
|
||||||
|
|
||||||
## Limits of Coverage
|
|
||||||
|
|
||||||
This indemnification obligation shall be limited to $1,000.00 and no Member
|
|
||||||
shall be required to make a Capital Contribution in respect thereof.
|
|
@@ -1,107 +0,0 @@
|
|||||||
|
|
||||||
# Company IP Assignment
|
|
||||||
|
|
||||||
## Assignment of Intellectual Property
|
|
||||||
|
|
||||||
Member hereby assigns to Company exclusively and throughout the world and universe all right,
|
|
||||||
title and interest (whether or not now existing) in
|
|
||||||
|
|
||||||
* (a) work done for the Company
|
|
||||||
|
|
||||||
* (b) all precursors, portions and works in progress with respect thereto
|
|
||||||
|
|
||||||
* (c) and all inventions, works of authorship, mask works, technology, information,
|
|
||||||
know-how, materials and tools relating thereto or to the development,
|
|
||||||
support or maintenance thereof
|
|
||||||
|
|
||||||
(d) all copyrights, patent rights, trade secret rights, trademark rights,
|
|
||||||
mask works rights, sui generis, database rights and all other intellectual and
|
|
||||||
industrial property rights of any sort
|
|
||||||
|
|
||||||
(e) all business, contract rights, causes of action, and goodwill in,
|
|
||||||
incorporated or embodied in, used to develop, or related to any of the
|
|
||||||
foregoing (collectively, “Intellectual Property”).
|
|
||||||
|
|
||||||
To the extent allowed by applicable law, this Section includes all
|
|
||||||
rights of paternity (for example, including but not limited to the right
|
|
||||||
to be identified as author), integrity, disclosure and withdrawal and
|
|
||||||
any other rights that may be known as or referred to as moral rights,
|
|
||||||
artist’s rights, droit moral or the like (collectively, “Moral Rights”).
|
|
||||||
|
|
||||||
To the extent Member retains any Moral Rights under applicable law,
|
|
||||||
Member hereby ratifies and consents, and hereby provides all necessary
|
|
||||||
ratifications and consents, to any action that may be taken with respect
|
|
||||||
to such Moral Rights by or authorized by Company,
|
|
||||||
and Member agrees not to assert any Moral Rights with respect thereto.
|
|
||||||
|
|
||||||
The foregoing applies to the subject matter enumerated in Exhibit A.
|
|
||||||
Member will confirm any such ratification, consent or agreement from
|
|
||||||
time to time as requested by Company.
|
|
||||||
|
|
||||||
## Consideration
|
|
||||||
|
|
||||||
Company agrees to distribute to Member certain percentage of profit of the Company
|
|
||||||
on an ongoing basis, pursuant to the provisions of this Agreement between Company
|
|
||||||
and Member.
|
|
||||||
|
|
||||||
Such distributions shall be the only consideration required of Company
|
|
||||||
with respect to the subject matter of this Agreement.
|
|
||||||
|
|
||||||
|
|
||||||
## Further Assurances
|
|
||||||
|
|
||||||
Member agrees to assist Company in every proper way to evidence, record
|
|
||||||
and perfect the Section (Assignment Of Intellectual Property)
|
|
||||||
and to apply for and obtain recording of
|
|
||||||
and from time to time enforce, maintain and defend the assigned rights.
|
|
||||||
|
|
||||||
If Company is unable for any reason whatsoever to secure Members
|
|
||||||
signature to any document it is entitled to under this Section,
|
|
||||||
Member hereby irrevocably designates and appoints Company and
|
|
||||||
its duly authorized officers and agents, as his agents and
|
|
||||||
attorneys-in-fact with full power of substitution to act for
|
|
||||||
and on his behalf and instead of Member, only to execute and
|
|
||||||
file any such document or documents and to do all other lawfully
|
|
||||||
permitted acts to further the purposes of the foregoing with the
|
|
||||||
same legal force and effect as if executed by Member.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Restrictions Of Use re Confidential Information and Intellectual Property of Third Parties
|
|
||||||
|
|
||||||
Member will not use, assign, disclose to the Company any technical or business information
|
|
||||||
or plans of Third Parties , except to the extent Member
|
|
||||||
can document that it is generally available (through no fault of Member)
|
|
||||||
for use and disclosure by the public without any charge license or restriction,
|
|
||||||
such as public domain or approved OSI licensed or CC licensed code/documenation,
|
|
||||||
|
|
||||||
Member recognizes and agrees that any breach or threatened breach of this
|
|
||||||
Section will cause irreparable harm to Company for which damages would
|
|
||||||
not be an adequate remedy, and, therefore, Company will be entitled to equitable relief
|
|
||||||
(including without limitation, injunctions) with respect thereto in addition to any
|
|
||||||
other civil or criminal remedies.
|
|
||||||
|
|
||||||
## Warranty
|
|
||||||
|
|
||||||
Member represents and warrants to Company that Member
|
|
||||||
|
|
||||||
* (a) was the sole owner (other than Company) of all rights, title and interest
|
|
||||||
in and to the Technology and Intellectual Property,
|
|
||||||
|
|
||||||
* (b) has not assigned, transferred, licensed, pledged or otherwise encumbered any
|
|
||||||
Technology or Intellectual Property or agreed to do so,
|
|
||||||
|
|
||||||
* (c) has full power and authority to enter into this Agreement and to make the
|
|
||||||
assignment provided in Section (Assignment Of Intellectual Property),
|
|
||||||
|
|
||||||
* (d) is not aware of any violation, infringement or misappropriation of any
|
|
||||||
third party’s rights (or any claim thereof) by the Technology or Intellectual Property,
|
|
||||||
|
|
||||||
* (e) was not acting within the scope of employment by any third party when conceiving,
|
|
||||||
creating or otherwise performing any activity with respect to anything
|
|
||||||
purportedly assigned in Section (Assignment Of Intellectual Property)
|
|
||||||
|
|
||||||
* (f) is not aware of any questions or challenges with respect to the patentability
|
|
||||||
or validity of any claims of any existing patents or patent applications
|
|
||||||
relating to the Intellectual Property.
|
|
||||||
|
|
@@ -1,126 +0,0 @@
|
|||||||
|
|
||||||
# Management of the Company
|
|
||||||
|
|
||||||
## Member authority
|
|
||||||
Company Members shall be fully empowered and authorized to
|
|
||||||
implement the terms and provisions of the Board Of Directors approved
|
|
||||||
Business Plan and Annual Budget on behalf of the Company, subject to the
|
|
||||||
limitations set forth in Section "Major Decisions".
|
|
||||||
|
|
||||||
The Company may rely upon any action taken or document executed by the
|
|
||||||
any Officer without duty of further inquiry and may assume that such
|
|
||||||
Officer has the requisite power and authority to take the action or
|
|
||||||
execute the document in question.
|
|
||||||
|
|
||||||
## Major Decisions
|
|
||||||
|
|
||||||
* causing the Company to enter into any agreement which
|
|
||||||
would subject the Company or its assets to any recourse
|
|
||||||
liability for borrowings, or for capital contributions to any Person;
|
|
||||||
|
|
||||||
* causing the Company to grant any interests in the
|
|
||||||
assets, profit, and income of the Company;
|
|
||||||
|
|
||||||
* causing a dissolution of the Company;
|
|
||||||
|
|
||||||
* regarding the Company assets, any sale, transfer, exchange,
|
|
||||||
mortgage, financing, hypothecation or encumbrance of all or any part
|
|
||||||
thereof, or any modification of the terms of the foregoing;
|
|
||||||
|
|
||||||
* regarding the Company financial affairs, (A)
|
|
||||||
determination of major accounting policies including selection of
|
|
||||||
accounting methods and making various decisions regarding treatment and
|
|
||||||
allocation of transactions for federal and state income, franchise or
|
|
||||||
other tax purposes (B) determination of the terms and conditions of all
|
|
||||||
borrowings of the Company and the identity of the lender
|
|
||||||
thereof (or (i) applicable Budget therefor;
|
|
||||||
|
|
||||||
* regarding the Company operations, approval of insurance coverages,
|
|
||||||
the underwriters thereof and claims related thereto, the settlement of
|
|
||||||
any litigation that is not fully covered by insurance involving more
|
|
||||||
than $1000.00, entering into any contract which obligates the Company
|
|
||||||
for more than $500.00 (except to the extent expressly set
|
|
||||||
forth in an Annual Budget) or which cannot be cancelled without payment
|
|
||||||
of a cancellation fee or other premium on not more than 30 days prior
|
|
||||||
notice; and entering into any lease for office space;
|
|
||||||
|
|
||||||
* filing of any petition or consenting to the filing of any petition
|
|
||||||
that would subject the Company to a bankruptcy or similar
|
|
||||||
proceeding;
|
|
||||||
|
|
||||||
* any other action which, considered before the taking thereof,
|
|
||||||
could reasonably be expected to have a material effect upon the business
|
|
||||||
or affairs of the Company or is a breach of fiduciary duty.
|
|
||||||
|
|
||||||
|
|
||||||
## Annual requirements of members
|
|
||||||
Not later than February 1 of each year, the Members shall
|
|
||||||
deliver to the Board Of Directors a detailed proposed business plan (the
|
|
||||||
"**Business Plan**") for the Company's next succeeding fiscal year,
|
|
||||||
which shall include the proposed budget for such year (the "**Annual
|
|
||||||
Budget**").
|
|
||||||
|
|
||||||
## Business Plan and Annual Budget
|
|
||||||
|
|
||||||
The Business Plan and Annual Budget shall contain such other information
|
|
||||||
as the Members wishes to include and shall contain such
|
|
||||||
information as the Board Of Directors may request.
|
|
||||||
|
|
||||||
The Board Of Directors will review the proposed Annual Budget and Business Plan,
|
|
||||||
and subject to required revisions, approve the same for the next succeeding
|
|
||||||
fiscal year no later than February 15 of each year.
|
|
||||||
|
|
||||||
The Business Plan and Annual Budget shall include projected revenues,
|
|
||||||
expenses for the year in question, projected investment activities and
|
|
||||||
such other matters as the Members and Board Of Directos may deem appropriate.
|
|
||||||
If the Annual Budget provides for a contingency or similar line item, then
|
|
||||||
unless otherwise specifically provided to the contrary therein, the
|
|
||||||
Members shall be empowered to expend the amount set forth in such
|
|
||||||
line item for the Company obligations. If the Business Plan is not
|
|
||||||
approved by the date set forth above, then:
|
|
||||||
|
|
||||||
* any items or portions thereof that have been approved will become operative
|
|
||||||
immediately
|
|
||||||
|
|
||||||
* with respect to the Annual Budget, the Members may expend,
|
|
||||||
in respect of noncapital or recurring expenses in any quarter of the
|
|
||||||
then current calendar year, an amount equal to the budget amount for the
|
|
||||||
corresponding quarter of the immediately preceding calendar year, as set
|
|
||||||
forth on the last approved Annual Budget after giving effect to any
|
|
||||||
material changes to the Company or its properties during the prior year;
|
|
||||||
however, if any contract approved as a part of any prior approved Annual
|
|
||||||
Budget or Business Plan provides for automatic increases in costs
|
|
||||||
thereunder after the beginning of the then current calendar year, then
|
|
||||||
the Members may expend the amount of that increase.
|
|
||||||
|
|
||||||
Following submission and recording of the final version of the
|
|
||||||
Business Plan and Annual Budget, the Members shall be authorized
|
|
||||||
to take the actions, incur obligations and make the expenditures therein
|
|
||||||
expressly set forth. The Members shall not have any authority or
|
|
||||||
power to take any action on behalf of the Company that would
|
|
||||||
constitute a Major Decision, unless it has been
|
|
||||||
expressly approved in writing by the Board Of Directors.
|
|
||||||
|
|
||||||
## Compensation of Members
|
|
||||||
Except as otherwise specifically provided herein, no compensatory payment shall be made by
|
|
||||||
the Company to any Member for the services to the Company.
|
|
||||||
|
|
||||||
## Officers
|
|
||||||
The Board Of Directors may from time to time, designate
|
|
||||||
one or more Persons to be officers or agents of the Company (an
|
|
||||||
"**Officer**"). Any Officer so designated shall have such title and
|
|
||||||
authority and perform such duties as the Board Of Directors may, from
|
|
||||||
time to time, designate. Unless the Board Of Directors decides
|
|
||||||
otherwise, if the title is one commonly used for officers of a business
|
|
||||||
corporation, the assignment of such title shall constitute the
|
|
||||||
delegation to such Officer of the authority and duties that are normally
|
|
||||||
associated with that office, subject to any specific delegation of
|
|
||||||
authority and duties made to such Officer by the Board Of Directors.
|
|
||||||
Each Officer shall hold office until his successor shall be duly
|
|
||||||
designated and shall qualify or until his death or until he shall resign
|
|
||||||
or shall have been removed. The salaries or other compensation, if any,
|
|
||||||
of the Officers and agents of the Company shall be fixed from time to
|
|
||||||
time by the Board Of Directors. Any Officer may resign as such at any
|
|
||||||
time. Any Officer may be removed as such, with or without Cause, by the
|
|
||||||
Board Of Directors. Designation of an Officer shall not, in and of
|
|
||||||
itself, create contract rights.
|
|
@@ -1,24 +0,0 @@
|
|||||||
|
|
||||||
# Resignation and Removal of Members
|
|
||||||
|
|
||||||
## Expulsion of a member for Cause
|
|
||||||
|
|
||||||
Expulsion of a Member requires an affirmative vote by a 2/3 or greater majority of
|
|
||||||
the Board Of Directors (in accordance with the Board Manual and Charter in effect
|
|
||||||
at that time) and by written unanimous consent of the Company Members.
|
|
||||||
|
|
||||||
The Member subject to expulsion is not eligible to vote in the proceeding.
|
|
||||||
|
|
||||||
The Member subject to explulsion forefits all equity/interests/rights/contributions
|
|
||||||
and any/all Membership interest immediately upon expulsion.
|
|
||||||
|
|
||||||
## Self withdrawal of a Member
|
|
||||||
|
|
||||||
Self withdrawal of a Member requires an affirmative vote by a 2/3 or greater majority
|
|
||||||
of the Board Of Directors (in accordance with the Board Manual and Charter in effect
|
|
||||||
at that time) and by written unanimous consent of the Company Members.
|
|
||||||
|
|
||||||
The Member requesting self withdrawal is not eligible to vote in the proceeding.
|
|
||||||
|
|
||||||
The Member subject to explulsion forefits all equity/interests/rights/contributions
|
|
||||||
and any/all Membership interest immediately upon resignation.
|
|
@@ -1,203 +0,0 @@
|
|||||||
|
|
||||||
# Company NDA
|
|
||||||
|
|
||||||
## Purpose
|
|
||||||
Joining the Company organization as a Member to discuss material non public information related
|
|
||||||
to the Company
|
|
||||||
|
|
||||||
## Governing State Law
|
|
||||||
Texas, USA
|
|
||||||
|
|
||||||
## Parties involved and agreeing to Mutual Nondisclosure
|
|
||||||
|
|
||||||
"Disclosing Party" describes each party with respect to Confidential Information it discloses to the other party.
|
|
||||||
|
|
||||||
"Receiving Party" describes each party with respect to Confidential Information it receives from the other party.
|
|
||||||
|
|
||||||
## Purpose
|
|
||||||
|
|
||||||
The parties anticipate disclosure of Confidential Information for the purpose on
|
|
||||||
the accompanying standard form certificate (the "Purpose").
|
|
||||||
|
|
||||||
## Confidential Information
|
|
||||||
|
|
||||||
### Categories of Confidential Information
|
|
||||||
|
|
||||||
Subject to Section (Exclusions from Confidential Information), "Confidential Information"
|
|
||||||
means the following kinds of information:
|
|
||||||
|
|
||||||
* information disclosed by Disclosing Party during the term of this agreement that is related to the business of Disclosing Party;
|
|
||||||
|
|
||||||
* the fact that the parties are pursuing the Purpose;
|
|
||||||
|
|
||||||
* the terms of this agreement;
|
|
||||||
|
|
||||||
* the fact that the parties have entered into this agreement; and
|
|
||||||
|
|
||||||
* other information derived from these kinds of information.
|
|
||||||
|
|
||||||
## Exclusions from Confidential Information
|
|
||||||
|
|
||||||
* Public Information.
|
|
||||||
|
|
||||||
Information that is now public is not Confidential Information. Confidential Information that becomes public, other than as
|
|
||||||
a result of breach of this agreement, ceases to be Confidential Information.
|
|
||||||
|
|
||||||
### Otherwise Acquired Information
|
|
||||||
|
|
||||||
Information that Receiving Party receives other than from Disclosing Party is not Confidential
|
|
||||||
Information, unless the disclosure breached a confidentiality obligation to Disclosing Party that Disclosing Party made known to Receiving Party.
|
|
||||||
|
|
||||||
* Independently Developed Information.
|
|
||||||
|
|
||||||
Information Receiving Party develops independently is not, or ceases to be, Confidential Information
|
|
||||||
of Disclosing Party. Receiving Party shall bear the burden of proving independent development using contemporaneous documentary evidence.
|
|
||||||
|
|
||||||
## Confidentiality Obligations
|
|
||||||
|
|
||||||
### Nondisclosure
|
|
||||||
|
|
||||||
Except as described in Section (Permitted Disclosure), Receiving Party shall not disclose Confidential Information to anyone.
|
|
||||||
|
|
||||||
* (b) Permitted Disclosure.
|
|
||||||
|
|
||||||
Receiving Party may disclose Confidential Information to the following personnel:
|
|
||||||
|
|
||||||
* if Receiving Party is a legal entity, employees, independent contractors, officers, directors, and agents of Receiving Party ("Personnel") who:
|
|
||||||
|
|
||||||
* have a need to know the Confidential Information to advance the Purpose;
|
|
||||||
|
|
||||||
* have entered written confidentiality agreements with Receiving Party that impose
|
|
||||||
confidentiality obligations, affording as much or more protection as
|
|
||||||
those of this agreement, that apply to the Confidential Information
|
|
||||||
|
|
||||||
* legal and financial advisers providing services to Receiving Party under
|
|
||||||
confidentiality obligations imposed either by law or by professional
|
|
||||||
rules ("Advisers").
|
|
||||||
|
|
||||||
* (c) Limited Use.
|
|
||||||
|
|
||||||
Receiving Party shall use Confidential Information only to advance the Purpose.
|
|
||||||
|
|
||||||
* (d) Security Measures.
|
|
||||||
|
|
||||||
Receiving Party shall take measures to secure materials embodying Confidential Information at least as protective as those Receiving Party employs to
|
|
||||||
secure its own Confidential Information, but in any event no less than reasonable measures.
|
|
||||||
|
|
||||||
* (e) Preserve Proprietary Notices.
|
|
||||||
|
|
||||||
Receiving Party shall not remove any proprietary notices attached to materials embodying Confidential Information.
|
|
||||||
|
|
||||||
* (f) No Illegal Dealing in Securities.
|
|
||||||
|
|
||||||
Receiving Party shall not break securities laws by purchasing, selling, or otherwise dealing in securities of Disclosing Party on the basis of
|
|
||||||
Confidential Information that is material, nonpublic information. Receiving Party shall instruct anyone to whom it discloses Confidential
|
|
||||||
Information that may be material, nonpublic information not to break securities laws by dealing in securities of Disclosing Party.
|
|
||||||
|
|
||||||
* (g) No Reverse Engineering.
|
|
||||||
|
|
||||||
Receiving Party shall not reverse engineer any material embodying Confidential Information.
|
|
||||||
|
|
||||||
* (h) Mitigate Legally Required Disclosure.
|
|
||||||
|
|
||||||
The following obligations apply when the law requires disclosure of Confidential Information and when Receiving Party reasonably expects that the law may
|
|
||||||
require disclosure of Confidential Information:
|
|
||||||
|
|
||||||
* (i) Give Notice of Required Disclosure.
|
|
||||||
|
|
||||||
If legally permitted, Receiving Party shall promptly notify Disclosing Party of the nature of the requirement and the Confidential Information affected.
|
|
||||||
If practical, Receiving Party shall give notice quickly enough to afford Disclosing Party practical chance to start a proceeding to protect the
|
|
||||||
confidentiality of the Confidential Information. On Disclosing Party request, Receiving Party shall cooperate with Disclosing Party in any such
|
|
||||||
proceeding by providing reasonable assistance.
|
|
||||||
|
|
||||||
* (ii) Reimburse Expenses of Cooperation.
|
|
||||||
|
|
||||||
Disclosing Party shall reimburse Receiving Party's reasonable out-of-pocket expenses of cooperating in
|
|
||||||
any proceeding described in Section (Give Notice of Required Disclosure).
|
|
||||||
|
|
||||||
* (i) Give Notice of Leaks.
|
|
||||||
|
|
||||||
Receiving Party shall give Disclosing Party notice when Receiving Party becomes aware, suspects, or anticipates that Confidential Information
|
|
||||||
has been or will be disclosed or used in breach of this agreement or other confidentiality agreements with Disclosing Party.
|
|
||||||
|
|
||||||
* (j) Return and Destruction.
|
|
||||||
|
|
||||||
(i) Subject to Section (Records Policy), when this agreement terminates, Receiving Party shall promptly:
|
|
||||||
|
|
||||||
* (A) return all materials embodying Confidential Information that Disclosing Party provided with request to return; and
|
|
||||||
|
|
||||||
* (B) destroy all parts of other materials that embody Confidential Information.
|
|
||||||
|
|
||||||
* (k) Records Policy.
|
|
||||||
|
|
||||||
When this agreement terminates, if Receiving Party has a written records retention policy for the creation and
|
|
||||||
scheduled destruction of archival or backup records, and only specialized personnel can routinely access those records, then Receiving Party
|
|
||||||
may retain materials embodying Confidential Information until destroyed under that policy.
|
|
||||||
|
|
||||||
* (l) Comply with Export Controls.
|
|
||||||
|
|
||||||
Both parties shall comply with export and reexport laws with respect to Confidential Information.
|
|
||||||
|
|
||||||
* (m) Compliance and Oversight.
|
|
||||||
|
|
||||||
* (i) Receiving Party shall ensure that its Advisers abide by the confidentiality obligations of Receiving Party under this agreement.
|
|
||||||
If Receiving Party is a legal entity, Receiving Party shall also ensure that its Personnel abide by the confidentiality obligations of
|
|
||||||
Receiving Party under this agreement.
|
|
||||||
|
|
||||||
Breach of Receiving Party obligations by Receiving Party Personnel or Receiving Party Advisers will be deemed breach of this agreement by
|
|
||||||
Receiving Party itself.
|
|
||||||
|
|
||||||
* (ii) If Receiving Party is a legal entity, Receiving Party shall provide Disclosing Party copies of confidentiality agreements with Personnel
|
|
||||||
who receive Confidential Information on Disclosing Party request.
|
|
||||||
|
|
||||||
5. Clarifications.
|
|
||||||
|
|
||||||
* (a) No Obligation to Disclose. No terms of this agreement obligate Disclosing Party to disclose any Confidential Information.
|
|
||||||
|
|
||||||
* (b) No Obligation to Do Business. No terms of this agreement obligate either party to enter any business relationship or agreement,
|
|
||||||
related to the Purpose or otherwise.\
|
|
||||||
|
|
||||||
* (c) No License. No terms of this agreement grant any license for any patent, trademark, copyright, or other intellectual property.
|
|
||||||
|
|
||||||
* (d) No Warranty. Disclosing Party makes no warranty that Confidential Information will be complete or accurate.
|
|
||||||
|
|
||||||
* (e) Freedom to Operate. No terms of this agreement prohibit either party from:
|
|
||||||
|
|
||||||
* (i) entering into any business relationship with any non-party; or
|
|
||||||
|
|
||||||
* (ii) assigning and reassigning Personnel and Advisers in its sole discretion.
|
|
||||||
|
|
||||||
6. 18 U.S.C. 1833(b) Notice.
|
|
||||||
|
|
||||||
* (a) An individual shall not be held criminally or civilly liable under any Federal or State trade secret law for the disclosure of a trade secret that:
|
|
||||||
|
|
||||||
* (i) is made:
|
|
||||||
|
|
||||||
* (A) in confidence to a Federal, State, or local government official, either directly or indirectly, or to an attorney; and
|
|
||||||
|
|
||||||
* (B) solely for the purpose of reporting or investigating a suspected violation of law; or
|
|
||||||
|
|
||||||
* (ii) is made in a complaint or other document filed in a lawsuit or other proceeding, if such filing is made under seal.
|
|
||||||
|
|
||||||
* (b) An individual who files a lawsuit for retaliation by an employer for reporting a suspected violation of law may disclose the trade
|
|
||||||
secret to the attorney of the individual and use the trade secret information in the court proceeding, if the individual:
|
|
||||||
|
|
||||||
* (i) files any document containing the trade secret under seal; and
|
|
||||||
|
|
||||||
* (ii) does not disclose the trade secret, except pursuant to court
|
|
||||||
order.
|
|
||||||
|
|
||||||
7. Term.
|
|
||||||
|
|
||||||
* (a) Expiration.
|
|
||||||
This agreement does not expire.
|
|
||||||
|
|
||||||
* (b) Survival.
|
|
||||||
Obligations under Section (Confidentiality Obligations)
|
|
||||||
for Confidential Information disclosed during the term survive the term of
|
|
||||||
this agreement as follows:
|
|
||||||
|
|
||||||
* (i) Obligations for Confidential Information that Receiving Party knew or reasonably should have known constituted a trade secret survive as long
|
|
||||||
as the Confidential Information remains a trade secret.
|
|
||||||
|
|
||||||
* (ii) Obligations for other Confidential Information survive forever.
|
|
@@ -1,115 +0,0 @@
|
|||||||
|
|
||||||
# Outside Capital Raising
|
|
||||||
|
|
||||||
insert any terms and conditions here....
|
|
||||||
|
|
||||||
perhaps mention sources of revenue, markets being pursued etc...
|
|
||||||
|
|
||||||
## Non Equity and Non Debt based
|
|
||||||
|
|
||||||
Capital will be primarily sought through the pursuit of abc from xyz (but not
|
|
||||||
limited to):
|
|
||||||
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
|
|
||||||
## Restrictions on Capital Sources
|
|
||||||
|
|
||||||
*
|
|
||||||
*
|
|
||||||
|
|
||||||
## Equity Based Raises
|
|
||||||
|
|
||||||
### General Conditions and Requirements
|
|
||||||
|
|
||||||
Any grant of equity in exchange for outside capital investment in the Company
|
|
||||||
shall be on the following (or substantially similiar) terms and conditions ,
|
|
||||||
and require unamious written consent of the Members and the Board Of Directors.
|
|
||||||
|
|
||||||
### Terms and Conditions
|
|
||||||
|
|
||||||
[PUBLIC] Earnest Shared Earnings Agreement v1.3
|
|
||||||
SHARED EARNINGS AGREEMENT BETWEEN EARNEST CAPITAL AND Company.
|
|
||||||
|
|
||||||
Date
|
|
||||||
|
|
||||||
The following is a summary of the principal terms with respect to the proposed financing of _______________ (the “Company”). Except for the section entitled “Confidentiality,” this summary of terms does not constitute a legally binding obligation. The parties intend to enter into a legally binding obligation only pursuant to definitive agreements to be negotiated and executed by the parties.
|
|
||||||
Amount of Investment
|
|
||||||
|
|
||||||
$___________
|
|
||||||
|
|
||||||
Shared Earnings
|
|
||||||
By the 10th day of each quarter, the Company will pay the Investor the Percentage
|
|
||||||
(as defined below) of: the Company's Founder Earnings (as defined below)
|
|
||||||
less the proportional Founder Earnings Threshold (as defined below),
|
|
||||||
in the preceding quarter.
|
|
||||||
|
|
||||||
Shared Earnings shall continue until the Investor has received the Shared Earnings Cap.
|
|
||||||
|
|
||||||
The Percentage
|
|
||||||
The Percentage shall be ___%.
|
|
||||||
|
|
||||||
Net Income
|
|
||||||
Net Income means net income determined in accordance with GAAP.
|
|
||||||
|
|
||||||
Founder Earnings
|
|
||||||
Founder Earnings means Net Income, adding back any founders' salaries.
|
|
||||||
|
|
||||||
Founder Earnings Threshold
|
|
||||||
$________ per founder per year.
|
|
||||||
|
|
||||||
Shared Earnings Cap
|
|
||||||
The Shared Earnings Cap will be __X the investment amount.
|
|
||||||
|
|
||||||
Equity Basis
|
|
||||||
The Equity Basis will be the greater of (i) any unpaid portion of the Shared Earnings Cap,
|
|
||||||
or (ii) the Amount of Investment.
|
|
||||||
|
|
||||||
Equity Conversion
|
|
||||||
The Investor has the right, at its option, to convert the Equity Basis into the shares
|
|
||||||
sold by the Company in its next fixed-price round of financing, at a price per share
|
|
||||||
equal to the lesser of
|
|
||||||
(i) the price of the securities sold in the next financing,
|
|
||||||
or (ii) at a price per share calculated by dividing the Valuation Cap (defined below)
|
|
||||||
by all issued and outstanding shares plus all shares reserved for issuance
|
|
||||||
under any equity incentive plan at the time of the closing of the next financing.
|
|
||||||
|
|
||||||
Valuation Cap
|
|
||||||
$_____________
|
|
||||||
|
|
||||||
Sale
|
|
||||||
On a sale of the Company, the Investor is entitled to receive the
|
|
||||||
greater of
|
|
||||||
(i) any unpaid amount of the Shared Earnings Cap or
|
|
||||||
(ii) the amount the Investor would be entitled to receive if it converted the Equity Basis
|
|
||||||
at the Valuation Cap.
|
|
||||||
|
|
||||||
Information Rights
|
|
||||||
The Investor is entitled to standard information and inspection rights including any
|
|
||||||
records of accounting necessary to verify Shared Earnings calculations.
|
|
||||||
|
|
||||||
Board Observer
|
|
||||||
The Investor will be entitled to attend Board Meetings as an observer upon its request,
|
|
||||||
subject to executing a standard form observer confidentiality agreement.
|
|
||||||
|
|
||||||
Participation Rights
|
|
||||||
The Investor will have the right to participate on a pro rata basis in subsequent
|
|
||||||
issuances of Membership Interests, subject to customary exclusions.
|
|
||||||
|
|
||||||
Confidentiality
|
|
||||||
Without the consent of the Investor, the Company shall not disclose these terms to
|
|
||||||
anyone other than the Company's officers, directors, and key service providers.
|
|
||||||
|
|
||||||
COMPANY:
|
|
||||||
|
|
||||||
Name:
|
|
||||||
Title:
|
|
||||||
Date:
|
|
||||||
INVESTOR:
|
|
||||||
|
|
||||||
Name:
|
|
||||||
Title:
|
|
||||||
Date:
|
|
@@ -1,174 +0,0 @@
|
|||||||
|
|
||||||
#Profit Interests
|
|
||||||
|
|
||||||
## Introduction
|
|
||||||
|
|
||||||
The Profits Interest Units below are issued to Party on the terms and conditions
|
|
||||||
set forth in this Agreement.
|
|
||||||
|
|
||||||
Party shall make no Capital Contribution to the Company in connection with the
|
|
||||||
Profits Interest Units issued hereunder and, as a result,
|
|
||||||
Parties Capital Account balance in the Company immediately after their receipt of
|
|
||||||
the Profits Interest Units shall be equal to zero.
|
|
||||||
|
|
||||||
Notwithstanding anything to the contrary contained in the LLC Agreement or set forth
|
|
||||||
herein, with respect to the rights of Party related to, in respect of and in connection
|
|
||||||
with the Company, Board Of Directors and other Members, Party and the Profits Interest
|
|
||||||
Units owned thereby shall have only a right to share in or be allocated Net Profits and
|
|
||||||
Net Losses and receive or share in distributions of the Company as set forth in
|
|
||||||
the Agreement.
|
|
||||||
|
|
||||||
Party agrees to execute a counterpart signature page to the Agreement, in the form
|
|
||||||
attached hereto and shall thereupon become a Member as of the Effective Date.
|
|
||||||
|
|
||||||
The Profits Interest Units acquired pursuant to this Agreement shall be fully
|
|
||||||
subject to the terms and conditions contained in this Agreement, and Party
|
|
||||||
hereby acknowledges that Participant has read and understands the terms and conditions
|
|
||||||
contained therein.
|
|
||||||
|
|
||||||
|
|
||||||
## Prohibition on Transfer of Profits Interest Units
|
|
||||||
|
|
||||||
The Profits Interest Units acquired pursuant to this Agreement may not be transferred,
|
|
||||||
sold, pledged, hypothecated or otherwise disposed of, voluntarily or involuntarily, by
|
|
||||||
operation of law or otherwise,
|
|
||||||
|
|
||||||
## Investment Representations
|
|
||||||
|
|
||||||
Participant acknowledges that he or she is aware that the Profits Interest Units issued
|
|
||||||
to him by the Company pursuant to this Agreement have not been registered under the
|
|
||||||
Securities Act of 1933, as amended (the “Securities Act”), on the basis of certain exemptions
|
|
||||||
from such registration requirement. In this connection,
|
|
||||||
|
|
||||||
## Section 83(b) Election.
|
|
||||||
|
|
||||||
Participant shall execute and deliver to the Company with this executed Agreement,
|
|
||||||
a copy of the Acknowledgment and Statement of Decision Regarding Election Pursuant
|
|
||||||
to Section 83(b) of the Internal Revenue Code (the “Acknowledgment”) substantially in
|
|
||||||
the form attached hereto.
|
|
||||||
|
|
||||||
Participant shall execute and submit with the Acknowledgment a copy of the Election Pursuant
|
|
||||||
to Section 83(b) of the Internal Revenue Code, substantially in the form attached hereto
|
|
||||||
if Participant has indicated in the Acknowledgment his or her decision to make such an election.
|
|
||||||
|
|
||||||
Participant represents that Participant is not relying on the Company with respect to
|
|
||||||
such decision and has consulted any tax consultant(s) that Participant deems advisable in
|
|
||||||
connection with the filing of an election under Section 83(b) of the Code and
|
|
||||||
similar tax provisions.
|
|
||||||
|
|
||||||
Participant acknowledges that it is Participant’s sole responsibility and not the Company’s to
|
|
||||||
timely file an election under Section 83(b) of the Code, even if Participant requests that the
|
|
||||||
Company or any representative of the Company make such filing on Participant’s behalf.
|
|
||||||
|
|
||||||
Participant should consult his or her tax advisor to determine if there is a comparable election
|
|
||||||
to file in the state of his or her residence and whether such filing is desirable under the
|
|
||||||
circumstances.
|
|
||||||
|
|
||||||
## Taxes
|
|
||||||
|
|
||||||
The Company and Party intend that (i) the Profits Interest Units be treated as “profits interests” within the meaning of the Code, Treasury Regulations promulgated thereunder, and any published guidance by the Internal Revenue Service with respect thereto, including, without limitation, Internal Revenue Service Revenue Procedure 93-27, as clarified by Internal Revenue Service Revenue Procedure 2001-43, (ii) the issuance of such interests not be a taxable event to the Company or Participant as provided in such Revenue Procedure, and (iii) the Agreement be interpreted consistently with such intent.
|
|
||||||
|
|
||||||
In furtherance of such intent, effective immediately prior to the issuance of the Profits Interest Units, the Company will cause the Gross Asset Value (as defined in the Agreement) of all Company assets to be adjusted to equal their respective gross fair market values, and make the resulting adjustments to the Capital Accounts of the Members, in each case as set forth in the Agreement.
|
|
||||||
|
|
||||||
The Company may withhold from Participant’s wages, or require Participant to pay to the Company, any applicable withholding or employment taxes resulting from the issuance of the Profits Interest Units hereunder, from the vesting or lapse of any restrictions imposed on the Profits Interest Units, or from the ownership or disposition of the Profits Interest Units.
|
|
||||||
|
|
||||||
## Code Section 409A
|
|
||||||
|
|
||||||
The Profits Interest Units are not intended to constitute or provide for “nonqualified deferred compensation” within the meaning of Section 409A of the Code (“Section 409A”), and, provided that Section 409A of the Code, Treasury Regulations and related Department of Treasury guidance do not require otherwise, the Company shall not treat the Profits Interest Units as nonqualified deferred compensation. However, notwithstanding any other provision of this Agreement, if at any time the Board Of Directors determine that the Profits Interest Units may be subject to Section 409A, the Board Of Directors
|
|
||||||
shall have the right, in their sole discretion, to adopt such amendments to this Agreement or take such other actions (including amendments and actions with retroactive effect) as the Board Of Directors determine are necessary or appropriate for the
|
|
||||||
Profits Interest Units to be exempt from the application of Section 409A or to comply with the requirements of Section 409A; provided, however, if such action would diminish the value of the Profits Interest Units, such action may not be taken without Members written consent.
|
|
||||||
|
|
||||||
|
|
||||||
## ACKNOWLEDGMENT AND STATEMENT OF DECISION REGARDING ELECTION PURSUANT TO SECTION 83(b) OF THE INTERNAL REVENUE CODE
|
|
||||||
|
|
||||||
The undersigned, a Member of the “Company” and holder of Profits Interest
|
|
||||||
in the Company designated as “Profits Interest Units” (the “Award”) of the Company,
|
|
||||||
hereby states, as of the date of issuance of the Award, as follows:
|
|
||||||
|
|
||||||
1. The undersigned acknowledges receipt of a copy of the Agreement. The undersigned has carefully reviewed the Agreement.
|
|
||||||
|
|
||||||
2. The undersigned either [check as applicable]:
|
|
||||||
____ (a) has consulted, and has been fully advised by, the undersigned’s own tax advisor, __________________________________________, whose business address is ________________________________, regarding the federal, state and local tax consequences of being issued the Award under the Agreement, and particularly regarding the advisability of making elections pursuant to Section 83(b) of the Internal Revenue Code of 1986, as amended (the “Code”), and pursuant to the corresponding provisions, if any, of applicable state laws; or
|
|
||||||
|
|
||||||
____ (b) has knowingly chosen not to consult such tax advisor.
|
|
||||||
|
|
||||||
3. The undersigned hereby states that the undersigned either [check as applicable]:
|
|
||||||
|
|
||||||
_____ (a) has decided to make an election pursuant to Section 83(b) of the Code and is submitting to the Company, together with the undersigned’s executed Agreement, a copy of an executed election form which is attached to the Agreement; or
|
|
||||||
|
|
||||||
____ (b) has knowingly chosen not to make an election pursuant to Section 83(b) of the Code.
|
|
||||||
|
|
||||||
4. Neither the Company nor any subsidiary or representative of the Company has made any warranty or representation to the undersigned with respect to the tax consequences of the issuance of the Award to the undersigned pursuant to the Agreement or of the making or failure to make an election pursuant to Section 83(b) of the Code or corresponding provisions, if any, of applicable state law.
|
|
||||||
|
|
||||||
5. The undersigned is also submitting to the Company, together with the Agreement, a copy of an executed election form, if an election is made, of the undersigned pursuant to provisions of state law corresponding to Section 83(b) of the Code, if any, which are applicable to the issuance of the Award to the undersigned pursuant to the Agreement.
|
|
||||||
|
|
||||||
|
|
||||||
ELECTION PURSUANT TO SECTION 83(b) OF THE INTERNAL REVENUE CODE TO INCLUDE IN GROSS
|
|
||||||
INCOME THE EXCESS OVER THE PURCHASE PRICE, IF ANY, OF THE VALUE OF PROPERTY TRANSFERRED
|
|
||||||
IN CONNECTION WITH SERVICES
|
|
||||||
|
|
||||||
The undersigned hereby elects pursuant to Section 83(b) of the Internal Revenue Code of 1986, as amended, to include in the undersigned’s gross income for the taxable year the excess (if any) of the fair market value of the property described below, over the amount the undersigned paid for such property, if any, and supplies herewith the following information in accordance with the Treasury regulations promulgated under Section 83(b):
|
|
||||||
|
|
||||||
1. The undersigned’s name, address and taxpayer identification (social security) number are:
|
|
||||||
Name:
|
|
||||||
Address:
|
|
||||||
TIN:
|
|
||||||
|
|
||||||
2. The property with respect to which the election is made consists of
|
|
||||||
[•] Units in the Company designated as “Profits Interest Units” (the “Award”) of the Company representing an interest in the future profits, losses and distributions of the Company.
|
|
||||||
|
|
||||||
3. The date on which the above property was transferred to the undersigned was [•], and the taxable year to which this election relates is [•].
|
|
||||||
|
|
||||||
4. The above property is subject to the following restrictions:
|
|
||||||
|
|
||||||
(a) forfeiture and/or a right of repurchase by the Company if the undersigned ceases
|
|
||||||
to be an employee of, or consultant or service provider to, the Company under certain circumstances pursuant to the LLC Agreement of the Company, as amended from time to time (the “LLC Agreement”), and
|
|
||||||
(b) certain other restrictions pursuant to the LLC Agreement should the undersigned wish to transfer the Award (in whole or in part).
|
|
||||||
|
|
||||||
5. The fair market value of the above property at the time of transfer (determined without regard to any restrictions other than those which by their terms will never lapse) is $0.
|
|
||||||
|
|
||||||
6. The amount paid for the above property by the undersigned was $0.
|
|
||||||
|
|
||||||
7. A copy of this election has been furnished to the Company, and the original will be filed with the income tax return of the undersigned to which this election relates.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Other profif file merge in:
|
|
||||||
|
|
||||||
|
|
||||||
# Grant Of Profit Interests To Members (capitalization table)
|
|
||||||
|
|
||||||
The Company desires to issue a percentage of the Company profits
|
|
||||||
designated as “Profits Interest Units” to the Member in connection with
|
|
||||||
Members performance of services for the benefit of the Company.
|
|
||||||
|
|
||||||
The parties intend that the Profits Interest Units issued pursuant to this Agreement constitute “profits interests,”
|
|
||||||
as described in Section 4.01 of Rev. Proc. 93-27, 1993-2 C.B. 343, as clarified by
|
|
||||||
Rev. Proc. 2001-43, 2001-34 I.R.B. 191, issued by the Internal Revenue Service.
|
|
||||||
|
|
||||||
The Company will revalue its assets as of the Effective Date in accordance with Treasury Regulations Section
|
|
||||||
1.704-1(b)(2)(iv)(f)(5)(iii) and the Capital Accounts of the Members of the Company will be adjusted to reflect
|
|
||||||
such revaluation.
|
|
||||||
|
|
||||||
In consideration of Members providing services for the benefit of the Company, the Company hereby issues to Members
|
|
||||||
the percentage interests below:
|
|
||||||
|
|
||||||
FILLTHISIN
|
|
||||||
|
|
||||||
|
|
||||||
*
|
|
||||||
|
|
||||||
*
|
|
||||||
|
|
||||||
*
|
|
||||||
|
|
||||||
The above interests are fully vested.
|
|
||||||
|
|
||||||
* Reserved for future members pre SEAL capital raise :
|
|
||||||
|
|
||||||
* Reserved for SEAL raise :
|
|
||||||
|
|
||||||
The above two interests are subject to negoiation in regards to vesting.
|
|
||||||
|
|
||||||
FILLTHISIN (put vesting terms if any here) (or remove this whole section as desired)
|
|
||||||
|
|
@@ -1,27 +0,0 @@
|
|||||||
|
|
||||||
# Rights to Company Information
|
|
||||||
|
|
||||||
In addition to the other rights specifically
|
|
||||||
set forth in this Agreement, each Member is entitled to the following
|
|
||||||
information under the circumstances and conditions set forth in the BOC:
|
|
||||||
|
|
||||||
* true and full information regarding the status of the business and
|
|
||||||
financial condition of the Company
|
|
||||||
|
|
||||||
* promptly after becoming available, a copy of the Company's federal,
|
|
||||||
state and local income tax returns for each year
|
|
||||||
|
|
||||||
* a current list of the name and last known business, or mailing address
|
|
||||||
of each Member and Director
|
|
||||||
|
|
||||||
* a copy of this Agreement ,the Company's Certificate of Formation, and all amendments to
|
|
||||||
such documents
|
|
||||||
|
|
||||||
* true and full information regarding the amount of cash and a description and statement
|
|
||||||
of the agreed value of any other property or services contributed by
|
|
||||||
each Member and which each Member has agreed to contribute in the
|
|
||||||
future, and the date on which each became a Member
|
|
||||||
|
|
||||||
* other information regarding the affairs of the Company to which that
|
|
||||||
Member is entitled pursuant to the BOC (including all the Company books and
|
|
||||||
records)
|
|
@@ -1,70 +0,0 @@
|
|||||||
|
|
||||||
#Taxes
|
|
||||||
|
|
||||||
## Members Bound
|
|
||||||
Members shall be bound by the provisions of this Section in reporting their shares of
|
|
||||||
Company income for income tax purposes.
|
|
||||||
|
|
||||||
## Tax Returns
|
|
||||||
The Board Of Directors shall cause to be prepared and filed all
|
|
||||||
necessary federal and state income tax returns for the Company,
|
|
||||||
including making the elections described in Section "Tax Elections".
|
|
||||||
|
|
||||||
Each Member shall furnish to the Board Of Directors all pertinent
|
|
||||||
information in its possession relating to Company operations that is
|
|
||||||
necessary to enable such income tax returns to be prepared and filed.
|
|
||||||
|
|
||||||
## Tax Elections.
|
|
||||||
|
|
||||||
The following elections shall be made on the appropriate returns of the Company:
|
|
||||||
|
|
||||||
* to adopt the calendar year as the Company's fiscal year;
|
|
||||||
|
|
||||||
* to keep the Company's books and records on the income-tax method;
|
|
||||||
|
|
||||||
* if there is a distribution of Company property as described in
|
|
||||||
section 734 of the Code or if there is a transfer of a Company interest
|
|
||||||
as described in section 743 of the Code, upon written request of any
|
|
||||||
Member, to elect, pursuant to section 754 of the Code, to adjust the
|
|
||||||
basis of Company properties; and
|
|
||||||
|
|
||||||
* to elect to amortize the organizational expenses of the Company
|
|
||||||
ratably over a period of twelve (12) or sixty (60) months as permitted by section
|
|
||||||
709(b) of the Code.
|
|
||||||
|
|
||||||
No election shall be made by the Company or any Member to be excluded
|
|
||||||
from the application of the provisions of subchapter K of chapter 1 of
|
|
||||||
subtitle A of the Code or any similar provisions of applicable state
|
|
||||||
laws.
|
|
||||||
|
|
||||||
## Tax Matters Partner.
|
|
||||||
|
|
||||||
The Board Of Directors and CFO collectivley shall be the "**tax matters partner**"
|
|
||||||
of the Company pursuant
|
|
||||||
to section 6231(a)(7) of the Code. As
|
|
||||||
tax matters partner, they shall take such action as may be
|
|
||||||
necessary to cause each other Member to become a "**notice partner**"
|
|
||||||
within the meaning of section 6223 of the Code. Such Member shall inform
|
|
||||||
each other Member of all significant matters that may come to its
|
|
||||||
attention in its capacity as tax matters partner by giving notice
|
|
||||||
thereof within ten days after becoming aware thereof and, within such
|
|
||||||
time, shall forward to each other Member copies of all significant
|
|
||||||
written communications it may receive in such capacity. Such Member
|
|
||||||
shall not take any action contemplated by sections 6222 through 6232 of
|
|
||||||
the Code without the consent of the Board Of Directors. This provision is not
|
|
||||||
intended to authorize such Member to take any action left to the
|
|
||||||
determination of an individual Member under sections 6222 through 6232
|
|
||||||
of the Code.
|
|
||||||
|
|
||||||
## Allocations on Transfer of Interests.
|
|
||||||
The Company income, gain,
|
|
||||||
loss or deduction allocable to any Member in respect of any interest in
|
|
||||||
the Company which may have been transferred shall be allocated during
|
|
||||||
such year based upon an interim closing of the Company's books as
|
|
||||||
described in the first sentence of Treasury Regulations §
|
|
||||||
1.706-1(c)(2)(ii), taking into account the actual results of Company
|
|
||||||
operations during the portion of the year in which such Member was the
|
|
||||||
owner thereof, and the date, amount and recipient of any distribution
|
|
||||||
which may have been made with respect to such interest.
|
|
||||||
|
|
||||||
|
|
@@ -1,43 +0,0 @@
|
|||||||
|
|
||||||
# Time and Capital Requirements of members
|
|
||||||
No Member shall be required to devote a particular
|
|
||||||
amount of time or capital to the Company's business,
|
|
||||||
but shall devote sufficient time to perform their duties hereunder.
|
|
||||||
|
|
||||||
|
|
||||||
# Capital Contributions and Finance
|
|
||||||
|
|
||||||
## Capital Contribution
|
|
||||||
|
|
||||||
No Member shall have any obligation to make any Capital Contribution.
|
|
||||||
Company members, in their sole and absolute discretion, may at any time elect
|
|
||||||
to fund or not fund further Capital Contributions with respect to the
|
|
||||||
Company or any Investment, Investment Entity, without any
|
|
||||||
liability whatsoever to the Company or any Member, even if such failure
|
|
||||||
to contribute results in the loss of any opportunity or the forfeiture
|
|
||||||
of any Investment or interest in any Investment Entity, or results in
|
|
||||||
any other penalty or liability.
|
|
||||||
|
|
||||||
## Return of Contributions
|
|
||||||
|
|
||||||
Except as expressly provided herein, no
|
|
||||||
Member shall be entitled to the return of any part of its Capital
|
|
||||||
Contributions, to be paid interest in respect of either its Capital
|
|
||||||
Account or any Capital Contribution made by it or paid for the fair
|
|
||||||
market value of its Membership Interest upon withdrawal or otherwise.
|
|
||||||
|
|
||||||
Unrepaid Capital Contributions shall not be a liability of the Company,
|
|
||||||
or of any Member.
|
|
||||||
|
|
||||||
No Member shall be required to contribute or lend any cash or property
|
|
||||||
to the Company to enable the Company to return any Member's Capital Contributions.
|
|
||||||
|
|
||||||
## Member Guaranties
|
|
||||||
No Member shall undertake to guarantee or otherwise become liable for any obligation
|
|
||||||
of the Company, or any Investment Entity.
|
|
||||||
|
|
||||||
## Investments
|
|
||||||
|
|
||||||
Investments. All Investments by the Company shall be made on such
|
|
||||||
terms and conditions as the Board Of Directors and Members may determine.
|
|
||||||
|
|
2
src/PitchDeck/.gitignore
vendored
2
src/PitchDeck/.gitignore
vendored
@@ -1,2 +0,0 @@
|
|||||||
export
|
|
||||||
.idea/
|
|
@@ -1,22 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<title></title>
|
|
||||||
<link rel="stylesheet" href="style.css">
|
|
||||||
<script src="remark.min.js"></script>
|
|
||||||
<script>
|
|
||||||
function create() {
|
|
||||||
return remark.create({
|
|
||||||
sourceUrl: 'CoverPage.md',
|
|
||||||
ratio: '16:9',
|
|
||||||
highlightLines: true,
|
|
||||||
countIncrementalSlides: false,
|
|
||||||
highlightStyle: 'github'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
</head>
|
|
||||||
<body onload="slideshow = create()">
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@@ -1,22 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<title></title>
|
|
||||||
<link rel="stylesheet" href="style.css">
|
|
||||||
<script src="remark.min.js"></script>
|
|
||||||
<script>
|
|
||||||
function create() {
|
|
||||||
return remark.create({
|
|
||||||
sourceUrl: 'README.md',
|
|
||||||
ratio: '16:9',
|
|
||||||
highlightLines: true,
|
|
||||||
countIncrementalSlides: false,
|
|
||||||
highlightStyle: 'github'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
</head>
|
|
||||||
<body onload="slideshow = create()">
|
|
||||||
</body>
|
|
||||||
</html>
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,22 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<title></title>
|
|
||||||
<link rel="stylesheet" href="style.css">
|
|
||||||
<script src="remark.min.js"></script>
|
|
||||||
<script>
|
|
||||||
function create() {
|
|
||||||
return remark.create({
|
|
||||||
sourceUrl: 'presentation.md',
|
|
||||||
ratio: '16:9',
|
|
||||||
highlightLines: true,
|
|
||||||
countIncrementalSlides: false,
|
|
||||||
highlightStyle: 'github'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
</head>
|
|
||||||
<body onload="slideshow = create()">
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@@ -1 +0,0 @@
|
|||||||
*{box-sizing:border-box}body{font-family:Arial,Helvetica,sans-serif}h1,h2,h3,h4,h5,h6{margin:0 0 20px 0;font-family:Arial,Helvetica,sans-serif}h1{color:#3F51B5}h2{color:#009688}h3{color:#757575}li{margin-bottom:.25em}pre,code{text-align:left;font-family:"Lucida Console",Monaco,monospace;color:#009688;background:#F8F8F8}a,a:visited,a:hover,a:active{color:#212121}img{vertical-align:inherit}blockquote{border-left:8px solid;padding-left:.5em;color:#757575;text-align:left;margin:1em 0}blockquote>p{margin:0}.remark-code{font-size:.9em}.remark-container{background:#333}.remark-slide-scaler{box-shadow:none}.remark-notes{font-size:1.5em}.remark-slide-content{font-size:28px;padding:1em 2em;color:#212121;background-size:cover}.remark-slide-number{color:#fff;right:1em;opacity:.6;font-size:0.8em;z-index:2}.no-counter .remark-slide-number{display:none}.impact{background-color:#3F51B5;vertical-align:middle;text-align:center}.impact,.impact h1,.impact h2{color:#fff}.impact h1{font-size:128px}.full,.full h1,.full h2{color:#fff}.fulliframe{height:calc(66.66667% - 1.2em);width:66.66667%;transform:scale(1.5);transform-origin:0 0;border:0}.bottom-bar{background-color:#3F51B5;color:#fff;position:absolute;bottom:0;left:0;right:0;font-size:20px;padding:.8em;text-align:left;z-index:1}.bottom-bar p{margin:0}.impact .bottom-bar,.full .bottom-bar{display:none}.side-layer{position:absolute;left:0;width:100%;padding:0 2em}.middle,.middle img,.middle span{vertical-align:middle}.top{vertical-align:top}.bottom{vertical-align:bottom}.inline-block p,.inline-block ul,.inline-block ol,.inline-block blockquote{display:inline-block;text-align:left}.no-margin,.no-margin>p,.no-margin>pre,.no-margin>ul,.no-margin>ol{margin:0}.no-padding{padding:0}.space-left{padding-left:1em}.space-right{padding-right:1em}.responsive>img{width:100%;height:auto}.contain{background-size:contain}.overlay{box-shadow:inset 0 0 0 9999px rgba(0,0,0,0.5)}.left{text-align:left}.right{text-align:right}.center{text-align:center}.justify{text-align:justify}.primary{color:#3F51B5}.primary-bg{background-color:#3F51B5}.secondary{color:#009688}.secondary-bg{background-color:#009688}.tertiary{color:#757575}.tertiary-bg{background-color:#757575}.alt{color:#009688}.em{color:#757575}.thin{font-weight:200}.huge{font-size:2em}.big{font-size:1.5em}.small{font-size:.8em}.strike{text-decoration:line-through}.dark{color:#333}.dark-bg{background-color:#333}.light{color:#fff}.light-bg{background-color:#fff}.alt-bg{background-color:#009688}.row{width:100%}.row::after{content:'';display:table;clear:both}.row.table{display:table}.row.table [class^="col-"]{float:none;display:table-cell;vertical-align:inherit}[class^="col-"]{float:left}[class^="col-"].inline-block{float:none;display:inline-block}.col-1{width:8.33333%}.col-2{width:16.66667%}.col-3{width:25%}.col-4{width:33.33333%}.col-5{width:41.66667%}.col-6{width:50%}.col-7{width:58.33333%}.col-8{width:66.66667%}.col-9{width:75%}.col-10{width:83.33333%}.col-11{width:91.66667%}.col-12{width:100%}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.animation-fade{animation-duration:300ms;animation-fill-mode:both;animation-timing-function:ease-out}.remark-visible .animation-fade{animation-name:fadeIn}@page{size:1210px 681px;margin:0}@media print{.remark-slide-scaler{width:100% !important;height:100% !important;transform:scale(1) !important;top:0 !important;left:0 !important}}
|
|
@@ -1,6 +0,0 @@
|
|||||||
# Materials Provided to United States Government
|
|
||||||
|
|
||||||
This is a collection of all data/information assets provided to the United States government. Listed in chronological order of submission.
|
|
||||||
|
|
||||||
* [RFI Response](./USGAssets/RFIResponse-W56KGY-18-R-AISR.pdf)
|
|
||||||
* [NSF SBIR Submittal - June/July 2021 ](./USGAssets/JuneJulySBIRSTIRSubmittedProjectPitch.pdf)
|
|
@@ -1,9 +0,0 @@
|
|||||||
# TSYS Group - Cooperative Component
|
|
||||||
|
|
||||||
## Finance network builds
|
|
||||||
|
|
||||||
* High Flight Network Finance Company
|
|
||||||
|
|
||||||
## Build/own/operate networks
|
|
||||||
|
|
||||||
* High Flight Network Operating Company
|
|
@@ -1,13 +0,0 @@
|
|||||||
# TSYS Group - Non Profit Component
|
|
||||||
|
|
||||||
## Advocate
|
|
||||||
|
|
||||||
* Side Door Group PAC INC
|
|
||||||
|
|
||||||
## Legislate
|
|
||||||
|
|
||||||
* Side Door Solutions Group INC (emerging 501c4)
|
|
||||||
|
|
||||||
## Educate
|
|
||||||
|
|
||||||
* Americans For A Better Network INC (emerging 501c3)
|
|
@@ -1,24 +0,0 @@
|
|||||||
# TSYS Group - Not Primarily For Profit Component
|
|
||||||
|
|
||||||
## Product Development
|
|
||||||
|
|
||||||
### Suborbital Systems
|
|
||||||
|
|
||||||
* MorsePod
|
|
||||||
* MorseTown
|
|
||||||
* MorseFlyer
|
|
||||||
|
|
||||||
## Professional Support Staffing and Infrastructure Services
|
|
||||||
|
|
||||||
### Education
|
|
||||||
|
|
||||||
* RackRental
|
|
||||||
|
|
||||||
### Professional Services
|
|
||||||
|
|
||||||
* TeamRental
|
|
||||||
|
|
||||||
### Infrastructure Services
|
|
||||||
|
|
||||||
* YourDreamNameHere
|
|
||||||
* Known Element Enterprises
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user