Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2bd0eea138 |
@@ -0,0 +1,60 @@
|
|||||||
|
name: lint
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
push:
|
||||||
|
branches: [main, v0.1]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
markdownlint:
|
||||||
|
name: markdownlint (blocking)
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: node:20-bookworm
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Lint all markdown
|
||||||
|
run: npx -y markdownlint-cli@0.41.0 --config .markdownlint.yaml '**/*.md'
|
||||||
|
|
||||||
|
typos:
|
||||||
|
name: typos spell-check (blocking)
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: node:20-bookworm
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Install typos (pinned v1.50.1)
|
||||||
|
run: >
|
||||||
|
curl -fsSL
|
||||||
|
https://github.com/crate-ci/typos/releases/download/v1.50.1/typos-v1.50.1-x86_64-unknown-linux-musl.tar.gz
|
||||||
|
| tar -xz
|
||||||
|
- name: Run typos
|
||||||
|
run: ./typos --config .typos.toml
|
||||||
|
|
||||||
|
vale:
|
||||||
|
name: vale prose (advisory)
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: node:20-bookworm
|
||||||
|
continue-on-error: true
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Install vale (pinned v3.20.0)
|
||||||
|
run: >
|
||||||
|
curl -fsSL
|
||||||
|
https://github.com/vale-cli/vale/releases/download/v3.20.0/vale_3.20.0_Linux_64-bit.tar.gz
|
||||||
|
| tar -xz
|
||||||
|
- name: Fetch styles and lint prose
|
||||||
|
run: ./vale sync && ./vale --minAlertLevel=suggestion .
|
||||||
|
|
||||||
|
lychee:
|
||||||
|
name: lychee link-check (advisory)
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: node:20-bookworm
|
||||||
|
continue-on-error: true
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Install lychee (pinned v0.20.0)
|
||||||
|
run: >
|
||||||
|
curl -fsSL
|
||||||
|
https://github.com/lycheeverse/lychee/releases/download/v0.20.0/lychee-x86_64-unknown-linux-musl.tar.gz
|
||||||
|
| tar -xz
|
||||||
|
- name: Check links in content
|
||||||
|
run: ./lychee --no-progress './grav/**/*.md' README.md docs/*.md
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# Contract content is Grav markdown with frontmatter and legal prose.
|
||||||
|
MD013: false # line length — legal sentences are long
|
||||||
|
MD041: false # first-line heading — Grav pages start with frontmatter
|
||||||
|
MD033: false # inline HTML — allowed for embeds
|
||||||
|
MD036: false # no-emphasis-as-heading — legal drafting style
|
||||||
|
MD025: false # services page is a concatenation of catalog sections, each with an H1
|
||||||
|
MD024:
|
||||||
|
siblings_only: true # repeated headings across sections are fine
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
# Spell-check config (crate-ci/typos). Blocking in CI.
|
||||||
|
# Add deliberate non-word strings here as needed, e.g.:
|
||||||
|
# [default.extend-identifiers]
|
||||||
|
[default.extend-words]
|
||||||
|
KNEL = "KNEL"
|
||||||
|
kneldc = "kneldc"
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
MinAlertLevel = suggestion
|
||||||
|
|
||||||
|
Packages = proselint
|
||||||
|
|
||||||
|
[*.{md}]
|
||||||
|
BasedOnStyles = proselint
|
||||||
@@ -1,11 +1,71 @@
|
|||||||
# KNELContracts
|
# KNELContracts
|
||||||
|
|
||||||
This is an mdbook repository for the
|
Public services contract (template) of **Known Element Enterprises LLC**
|
||||||
|
(management company of Turnkey Network Systems LLC) for the support services
|
||||||
|
it provides to Turnkey Network Systems LLC and the component/series LLCs
|
||||||
|
under it.
|
||||||
|
|
||||||
Turnkey Network Systems LLC Management Company : Known Element Enterprises LLC
|
Each individual LLC (and Turnkey Network Systems LLC itself) will have a
|
||||||
|
private fork with a filled-out, executed copy of this contract (and the
|
||||||
|
operating agreement). The only permitted alterations in a fork are the ones
|
||||||
|
listed on the home page of the contract.
|
||||||
|
|
||||||
contract (template) for services it provides to Turnkey Network Systems LLC and various super cell/series LLCs under Turnkey Network Systems LLC.
|
Work is tracked on Redmine:
|
||||||
|
<https://projects.knownelement.com/issues/924>
|
||||||
|
|
||||||
Each individual LLC (and Turnkey Network Systems LLC) will have a private repository with an (filled out template) and executed copy of this contract (and operating agreement).
|
## Repository layout (Grav-native)
|
||||||
|
|
||||||
|
The repository IS the website content. There is no render pipeline —
|
||||||
|
no shell scripts, no mdbook, no templating. The Grav CMS renders it.
|
||||||
|
|
||||||
|
- `grav/user/pages/` — contract content (home, services, terms, sign,
|
||||||
|
execution)
|
||||||
|
- `grav/user/themes/knel-contract/` — site theme, including the e-signature
|
||||||
|
form page (targets the KNEL DocuSeal instance via the KNEL APISIX gateway;
|
||||||
|
endpoints live in `grav/user/themes/knel-contract/knel-contract.yaml` so
|
||||||
|
forks can retarget them)
|
||||||
|
|
||||||
|
## Sites
|
||||||
|
|
||||||
|
- **Release:** <https://contract.knownelement.com>
|
||||||
|
- **Branch previews:** `https://<branch>.contract.knownelement.com` — one
|
||||||
|
Grav install per branch, kept in sync by the Grav Git Sync plugin.
|
||||||
|
See [docs/branch-previews.md](docs/branch-previews.md).
|
||||||
|
(Branch names are lowercased and non-alphanumeric characters become `-`
|
||||||
|
to form the hostname.)
|
||||||
|
|
||||||
|
## Branching and pull requests
|
||||||
|
|
||||||
|
- `main` — **protected release branch.** Changes land ONLY via pull
|
||||||
|
request; direct pushes are blocked by branch protection. Merging a PR to
|
||||||
|
`main` is a human decision.
|
||||||
|
- `v0.1` — integration branch for the v0.1 contract stream (deployed
|
||||||
|
content tracks this).
|
||||||
|
- Feature work happens on `feature/<topic>` branches, PR'd into `v0.1`.
|
||||||
|
Releases are PR'd from `v0.1` into `main`.
|
||||||
|
|
||||||
|
## CI (lint on every PR)
|
||||||
|
|
||||||
|
Gitea Actions runs on every PR and on pushes to `main`/`v0.1`
|
||||||
|
(`.gitea/workflows/lint.yaml`):
|
||||||
|
|
||||||
|
| check | tool | blocking? |
|
||||||
|
|---|---|---|
|
||||||
|
| markdown lint | markdownlint-cli 0.41.0 | yes |
|
||||||
|
| spell check | typos v1.50.1 | yes |
|
||||||
|
| prose lint | vale v3.20.0 (proselint style) | no (advisory for now) |
|
||||||
|
| link check | lychee v0.20.0 | no (advisory for now) |
|
||||||
|
|
||||||
|
The goal: by the time a PR reaches a human reviewer, spelling, markdown
|
||||||
|
structure, prose quality, and link health have already been machine-checked.
|
||||||
|
Advisory checks graduate to blocking once their findings on the existing
|
||||||
|
content are triaged.
|
||||||
|
|
||||||
|
An `act_runner` must be registered on this repo (or the KNEL org) for the
|
||||||
|
workflow to execute.
|
||||||
|
|
||||||
|
## Deploys
|
||||||
|
|
||||||
|
Production deploys to contract.knownelement.com are production changes:
|
||||||
|
a GLPI CR is filed first, then the Grav content is synced into the app
|
||||||
|
(see docs/branch-previews.md for the LAMP/wildcard migration runbook).
|
||||||
|
|||||||
@@ -1,32 +0,0 @@
|
|||||||
## Introduction
|
|
||||||
|
|
||||||
- This contract is a public document showing the full terms and conditions of a proposed contract between:
|
|
||||||
- (Party 1) {{PARTY1}} (as the management company of Turnkey Network Systems LLC)
|
|
||||||
- (Party 2) {{PARTY2}}
|
|
||||||
|
|
||||||
for the provision of needed support services by {{PARTY1}} for {{PARTY2}} to conduct its front/middle/back office IT/business operations functions as a TSYS Group component.
|
|
||||||
|
|
||||||
- This contract is licensed under the AGPL v3.0 only, with a small amount of proprietary scoped components (listed below). This repository is meant to be forked to a private, proprietary / confidential repository for execution with the only permitted proprietary alterations being:
|
|
||||||
|
|
||||||
- {{PARTY2}} officer name/contact details
|
|
||||||
- Entity in scope
|
|
||||||
- Execution date
|
|
||||||
- Payment terms
|
|
||||||
- Length of contract term
|
|
||||||
- Renewal / extension options
|
|
||||||
|
|
||||||
- If any other modifications to this contract are needed (other than those listed above), they must be done in this repository and placed under AGPL v3.0 only.
|
|
||||||
|
|
||||||
- {{PARTY2}} may elect to have the forked repository be public/read only as they wish. {{PARTY1}} hereby agrees to that option automatically upon {{PARTY2}} election to do so.
|
|
||||||
|
|
||||||
- This contract is governed solely and entirely by the laws of the State of {{GOVERNING_STATE}}, without regard to its conflict-of-laws rules.
|
|
||||||
|
|
||||||
- {{PARTY2}} hereby certifies it has conducted extensive due diligence on {{PARTY1}} and its officers, including any public material and private material that may have been provided by the officers of {{PARTY1}}, and is entering into this agreement having fully read and understood it.
|
|
||||||
|
|
||||||
This contract documents the:
|
|
||||||
|
|
||||||
- Applications
|
|
||||||
- Systems
|
|
||||||
- Services
|
|
||||||
|
|
||||||
offered to all TSYS Group components.
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
## Definitions
|
|
||||||
|
|
||||||
For purposes of this contract:
|
|
||||||
|
|
||||||
- **"{{PARTY1}}"** ("**Party 1**", "**Provider**") means Known Element Enterprises LLC, the management company of Turnkey Network Systems LLC.
|
|
||||||
- **"{{PARTY2}}"** ("**Party 2**", "**Recipient**") means the TSYS Group component entity identified in the Parties section of this contract.
|
|
||||||
- **"TSYS Group"** means Turnkey Network Systems LLC and all component/series LLCs under it.
|
|
||||||
- **"Services"** means the applications, systems, and services listed in the sections titled "Services Offered by {{PARTY1}}", as amended from time to time by mutual written agreement.
|
|
||||||
- **"Group-wide Service"** means a Service offered to all TSYS Group components (the "All TSYS Group" catalogs).
|
|
||||||
- **"LOB Bespoke Service"** means a Service offered only to a specific line of business ("**LOB**") of Party 2 (the "LOB Bespoke" catalogs).
|
|
||||||
- **"SLA"** (Service Level Agreement) means the minimum availability commitment stated in the SLA/SLO section.
|
|
||||||
- **"SLO"** (Service Level Objective) means the internal availability target stated in the SLA/SLO section, which is aspirational and non-binding.
|
|
||||||
- **"Monthly Uptime"** means, for a given calendar month, the percentage of minutes in which the Service was reachable and responding, measured by {{PARTY1}}'s monitoring platform, excluding scheduled maintenance windows noticed at least 48 hours in advance.
|
|
||||||
- **"Confidential Information"** means non-public information disclosed by one party to the other that is marked confidential or that a reasonable person would understand to be confidential, including business, financial, and technical information.
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
## Dispute Resolution, Governing Law, and Waivers
|
|
||||||
|
|
||||||
### Governing law and venue
|
|
||||||
|
|
||||||
- This contract is governed solely and entirely by the laws of the State of {{GOVERNING_STATE}}, without regard to its conflict-of-laws rules.
|
|
||||||
- The exclusive venue for any action arising out of or relating to this contract is the state or federal courts located in {{VENUE_COUNTY}}, {{GOVERNING_STATE}}, and each party consents to personal jurisdiction and venue in those courts.
|
|
||||||
|
|
||||||
### Informal resolution first
|
|
||||||
|
|
||||||
- Before commencing any court or arbitration proceeding, the parties will attempt in good faith to resolve the dispute by direct negotiation between the officers identified in the Notices section, escalating to the chief executives of both parties if not resolved within 30 days of written notice of the dispute.
|
|
||||||
|
|
||||||
### Jury trial waiver
|
|
||||||
|
|
||||||
- TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, EACH PARTY KNOWINGLY, VOLUNTARILY, AND IRREVOCABLY WAIVES ITS RIGHT TO A TRIAL BY JURY IN ANY ACTION OR PROCEEDING ARISING OUT OF OR RELATING TO THIS CONTRACT.
|
|
||||||
- This waiver is mutual, is given in exchange for the other party's waiver, and does not waive either party's right to seek any remedy otherwise available at law or in equity, including injunctive and other equitable relief.
|
|
||||||
- Nothing in this contract limits either party's right to bring claims arising from the other party's fraud, willful misconduct, gross negligence, or violation of criminal law, or any claim that cannot be waived as a matter of law.
|
|
||||||
|
|
||||||
### Severability of waivers
|
|
||||||
|
|
||||||
- If any waiver or limitation in this section is held unenforceable, it will be enforced to the maximum extent permissible, and the remainder of this contract remains in full force and effect.
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
## General Terms and Conditions
|
|
||||||
|
|
||||||
### Term, renewal, and termination
|
|
||||||
|
|
||||||
- Initial term: {{CONTRACT_LENGTH}}, commencing on the Effective Date (the date of last signature below).
|
|
||||||
- Renewal: this contract automatically renews for successive {{RENEWAL_TERM}} terms unless either party gives at least 90 days' written notice of non-renewal.
|
|
||||||
- Termination for convenience: either party may terminate this contract on 180 days' written notice.
|
|
||||||
- Termination for cause: either party may terminate on 30 days' written notice if the other party materially breaches this contract and fails to cure within that period.
|
|
||||||
- Effect of termination: termination does not relieve Party 2 of the obligation to pay amounts already accrued, and Party 1 will provide reasonable transition assistance (including data export in open formats) for up to 60 days at then-standard rates.
|
|
||||||
|
|
||||||
### Payment
|
|
||||||
|
|
||||||
- The Services are offered for an all-inclusive delivered price of {{PAYMENT_AMOUNT}} {{PAYMENT_CURRENCY}} per TSYS Group component per {{PAYMENT_FREQUENCY}}.
|
|
||||||
- Invoices are issued {{INVOICE_CADENCE}} and are due within {{PAYMENT_DUE_DAYS}} days of receipt.
|
|
||||||
- Late amounts accrue interest at the lesser of 1.5% per month or the maximum rate permitted by law.
|
|
||||||
|
|
||||||
### SLA / SLO
|
|
||||||
|
|
||||||
- Group-wide and LOB Bespoke Services are provided with the following service levels, measured as Monthly Uptime:
|
|
||||||
- Service Level Agreement (SLA — contractual minimum): {{SERVICES_SLA}}
|
|
||||||
- Service Level Objective (SLO — internal target, aspirational and non-binding): {{SERVICES_SLO}}
|
|
||||||
- The SLO is a target only; only the SLA creates contractual obligations.
|
|
||||||
- Remedies for missing the SLA: {{SLA_PENALTY}}. For the avoidance of doubt, where the SLA penalty is "none", the SLA is enforced through the termination rights above and no service credits or damages are available for SLA misses.
|
|
||||||
|
|
||||||
### Liability
|
|
||||||
|
|
||||||
- To the maximum extent permitted by law, each party's aggregate liability arising out of or relating to this contract is capped at the total fees paid or payable under this contract in the 12 months preceding the event giving rise to the claim.
|
|
||||||
- Neither party is liable for indirect, incidental, special, consequential, or punitive damages, or for lost profits, even if advised of their possibility.
|
|
||||||
- Nothing in this contract limits liability for a party's fraud, willful misconduct, or gross negligence, or any liability that cannot be limited as a matter of law.
|
|
||||||
|
|
||||||
### Confidentiality
|
|
||||||
|
|
||||||
- Each party will protect the other's Confidential Information with at least the same care it uses for its own, use it only to perform this contract, and return or destroy it on written request. These obligations survive termination for 3 years.
|
|
||||||
|
|
||||||
### Intellectual property
|
|
||||||
|
|
||||||
- The contract text is licensed AGPL v3.0 only (see Introduction). Each party retains ownership of its pre-existing intellectual property. Deliverables and configurations created by Party 1 specifically for Party 2 under a LOB Bespoke Service are licensed to Party 2 for the term of this contract; Group-wide Services and the underlying platforms remain the property of Party 1.
|
|
||||||
|
|
||||||
### Force majeure
|
|
||||||
|
|
||||||
- Neither party is liable for delays or failures in performance caused by events beyond its reasonable control (natural disasters, war, civil unrest, labor disputes not involving that party, utility or internet backbone failures), provided the affected party gives prompt notice and resumes performance as soon as practicable.
|
|
||||||
|
|
||||||
### Assignment
|
|
||||||
|
|
||||||
- Neither party may assign this contract without the other's prior written consent, except to an affiliate or in connection with a merger or sale of substantially all assets, with notice to the other party.
|
|
||||||
|
|
||||||
### Notices
|
|
||||||
|
|
||||||
- Notices must be in writing and delivered by email with confirmation, or by certified mail, to the officers identified in the Parties section. Notice is effective on receipt.
|
|
||||||
|
|
||||||
### Electronic signature
|
|
||||||
|
|
||||||
- The parties agree that this contract may be executed by electronic signature (including via the KNEL DocuSeal e-signature platform), and that such electronic signatures have the same force and effect as original ink signatures.
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
|
|
||||||
## Parties To The Contract
|
|
||||||
|
|
||||||
### Party 1
|
|
||||||
|
|
||||||
{{PARTY1}}
|
|
||||||
|
|
||||||
### Party 2
|
|
||||||
|
|
||||||
{{PARTY2}}
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
## Execution
|
|
||||||
|
|
||||||
IN WITNESS WHEREOF, the parties have executed this contract as of the Effective Date.
|
|
||||||
|
|
||||||
### For {{PARTY1}}
|
|
||||||
|
|
||||||
- Name: ______________________________
|
|
||||||
- Title: ______________________________
|
|
||||||
- Signature: ______________________________
|
|
||||||
- Date: ______________________________
|
|
||||||
|
|
||||||
### For {{PARTY2}}
|
|
||||||
|
|
||||||
- Name: ______________________________
|
|
||||||
- Title: ______________________________
|
|
||||||
- Signature: ______________________________
|
|
||||||
- Date: ______________________________
|
|
||||||
|
|
||||||
### Electronic execution
|
|
||||||
|
|
||||||
This contract may be executed electronically via the KNEL e-signature platform:
|
|
||||||
|
|
||||||
[Sign this contract electronically](https://contract.knownelement.com/sign)
|
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
# Branch preview sites — `<branch>.contract.knownelement.com`
|
||||||
|
|
||||||
|
Goal: every branch of this repo gets a browsable Grav rendering of the
|
||||||
|
contract at `https://<branch>.contract.knownelement.com`, with
|
||||||
|
`https://contract.knownelement.com` serving the release branch. Reviewers
|
||||||
|
get a URL instead of a diff.
|
||||||
|
|
||||||
|
## Architecture
|
||||||
|
|
||||||
|
One Cloudron **LAMP** app with a wildcard alias:
|
||||||
|
|
||||||
|
- App location: `contract.knownelement.com`
|
||||||
|
- Wildcard alias: `*.contract.knownelement.com` (Cloudron provisions the
|
||||||
|
wildcard Let's Encrypt certificate via DNS-01)
|
||||||
|
- Apache maps the `Host` header to a per-branch docroot under
|
||||||
|
`/app/data/branches/<host>/` (mass virtual hosting via mod_rewrite)
|
||||||
|
- The root docroot `/app/data/public/` serves the release site
|
||||||
|
|
||||||
|
Each branch site is a **complete, standalone Grav install** whose
|
||||||
|
`user/pages` and `user/themes` come from the repo branch via the Grav
|
||||||
|
**Git Sync** plugin:
|
||||||
|
|
||||||
|
- Per-site Git Sync config: same repository, per-site branch
|
||||||
|
- Auto-pull on a cron schedule (every 5 minutes is plenty); gitea webhooks
|
||||||
|
can replace cron later
|
||||||
|
- Theme config (including e-sign endpoints) lives in the repo, so branch
|
||||||
|
sites inherit the right e-sign wiring automatically
|
||||||
|
|
||||||
|
## Branch name → hostname
|
||||||
|
|
||||||
|
Branch names are not DNS-safe in general, so the mapping is mechanical:
|
||||||
|
lowercase, every run of characters outside `[a-z0-9-]` becomes `-`.
|
||||||
|
Examples: `feature/grav-native-ci` → `feature-grav-native-ci`;
|
||||||
|
`v0.1` → `v0-1`. The wildcard covers every mapping — no per-branch DNS or
|
||||||
|
certificate work.
|
||||||
|
|
||||||
|
## Provisioning a new branch site (one-time per branch)
|
||||||
|
|
||||||
|
1. `composer create-project getgrav/grav /app/data/branches/<host>`
|
||||||
|
2. Copy `user/pages` and `user/themes/knel-contract` from the branch
|
||||||
|
checkout into the new install
|
||||||
|
3. Install + configure the Git Sync plugin (repository URL, the branch,
|
||||||
|
cron pull)
|
||||||
|
4. Reload Apache — the rewrite rule picks the site up by Host header
|
||||||
|
|
||||||
|
Deprovisioning is the reverse: delete the site directory when the branch
|
||||||
|
is deleted. Provisioning/deprovisioning is agent work (docker exec into
|
||||||
|
the LAMP app container is a permitted access path); the procedure is
|
||||||
|
scriptable and should be automated in CI once proven by hand.
|
||||||
|
|
||||||
|
## Migration runbook (production change — GLPI CR required first)
|
||||||
|
|
||||||
|
1. File the GLPI CR + Uptime Kuma maintenance window (evening, low traffic)
|
||||||
|
2. Back up the current Grav app (app id 757c60ba) appdata off-box
|
||||||
|
3. Uninstall the Grav app; install the LAMP app at the same location and
|
||||||
|
add the `*.contract.knownelement.com` wildcard alias
|
||||||
|
4. Restore the Grav content as the release site in `/app/data/public/`
|
||||||
|
(full Grav install; Git Sync → release branch)
|
||||||
|
5. Lay down the Apache branch-rewrite config in
|
||||||
|
`/app/data/apache-app.conf`
|
||||||
|
6. Smoke test: home/services/terms/sign/execution all 200 on the root
|
||||||
|
host; e-sign flow still POSTs through
|
||||||
|
apigw.knownelement.com/contract-sign (unchanged — endpoints are in the
|
||||||
|
theme config); provision one test branch site and confirm
|
||||||
|
`<host>.contract.knownelement.com` serves that branch
|
||||||
|
7. Post verification evidence on the CR and the Redmine ticket
|
||||||
|
|
||||||
|
Rollback: reinstall the Grav app at the same location from the backup taken
|
||||||
|
in step 2.
|
||||||
@@ -36,7 +36,6 @@ This contract documents the:
|
|||||||
|
|
||||||
offered to all TSYS Group components.
|
offered to all TSYS Group components.
|
||||||
|
|
||||||
|
|
||||||
## Parties To The Contract
|
## Parties To The Contract
|
||||||
|
|
||||||
### Party 1
|
### Party 1
|
||||||
|
|||||||
@@ -7,8 +7,9 @@ menu: Services
|
|||||||
# General Services Offered
|
# General Services Offered
|
||||||
|
|
||||||
- backups (of KNEL microservices and wordpress/grav site and bizapp application code/data (stored in KNEL microservice systems)
|
- backups (of KNEL microservices and wordpress/grav site and bizapp application code/data (stored in KNEL microservice systems)
|
||||||
|
|
||||||
# Services hosted in KNEL Cloudron, offered to all TSYS Group components
|
# Services hosted in KNEL Cloudron, offered to all TSYS Group components
|
||||||
|
|
||||||
|Function|Vendor|Instance|
|
|Function|Vendor|Instance|
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
|Business Intelligence|[Apache Superset](https://superset.apache.org/)|[KNEL BI](https://bi.knownelement.com)|
|
|Business Intelligence|[Apache Superset](https://superset.apache.org/)|[KNEL BI](https://bi.knownelement.com)|
|
||||||
@@ -58,7 +59,7 @@ menu: Services
|
|||||||
|Webmail/Inbound/outbound E-mai (with 1gb quota aggregate across all mailboxes) (for non customer/corporate/non-automated use only)|[Roundcube](https://roundcube.net/)|[KNEL Webmail](https://webmail.knownelement.com/)|
|
|Webmail/Inbound/outbound E-mai (with 1gb quota aggregate across all mailboxes) (for non customer/corporate/non-automated use only)|[Roundcube](https://roundcube.net/)|[KNEL Webmail](https://webmail.knownelement.com/)|
|
||||||
|
|
||||||
# Services hosted in KNEL Cloudron, offered to certain TSYS Group components under bespoke arrangement
|
# Services hosted in KNEL Cloudron, offered to certain TSYS Group components under bespoke arrangement
|
||||||
|
|
||||||
|Function|Vendor|Instance|
|
|Function|Vendor|Instance|
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
|Podcast Management - LOB bespoke arrangement|[Castopod](https://castopod.org/)|[Peernet Castopod](https://podcasts.thepeernet.com/)|
|
|Podcast Management - LOB bespoke arrangement|[Castopod](https://castopod.org/)|[Peernet Castopod](https://podcasts.thepeernet.com/)|
|
||||||
@@ -70,31 +71,31 @@ menu: Services
|
|||||||
|CRM - LOB bespoke arrangement| [CiviCRM](https://civicrm.org/)|[FNF CRM](https://crm.thefnf.net/)|
|
|CRM - LOB bespoke arrangement| [CiviCRM](https://civicrm.org/)|[FNF CRM](https://crm.thefnf.net/)|
|
||||||
|
|
||||||
# Services hosted in KNEL Coolify Techops Instance, offered to all TSYS Group components
|
# Services hosted in KNEL Coolify Techops Instance, offered to all TSYS Group components
|
||||||
|
|
||||||
|Function|Vendor|Instance|
|
|Function|Vendor|Instance|
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
|LLC Governance|TBD|TBD|
|
|LLC Governance|TBD|TBD|
|
||||||
|
|
||||||
# Services hosted in KNEL Coolify Techops Instance, offered to certain TSYS Group components under bespoke arrangement
|
# Services hosted in KNEL Coolify Techops Instance, offered to certain TSYS Group components under bespoke arrangement
|
||||||
|
|
||||||
|Function|Vendor|Instance|
|
|Function|Vendor|Instance|
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
|coming soon|coming soon|coming soon|
|
|coming soon|coming soon|coming soon|
|
||||||
|
|
||||||
# Services hosted in KNEL Coolify R&D Instance, offered to all TSYS Group components
|
# Services hosted in KNEL Coolify R&D Instance, offered to all TSYS Group components
|
||||||
|
|
||||||
|Function|Vendor|Instance|
|
|Function|Vendor|Instance|
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
|coming soon|coming soon|coming soon|
|
|coming soon|coming soon|coming soon|
|
||||||
|
|
||||||
# Services hosted in KNEL Coolify R&D Instance, offered to certain TSYS Group components under bespoke arrangement
|
# Services hosted in KNEL Coolify R&D Instance, offered to certain TSYS Group components under bespoke arrangement
|
||||||
|
|
||||||
|Function|Vendor|Instance|
|
|Function|Vendor|Instance|
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
|LOB bizapp compute/storage|TBD|TBD|
|
|LOB bizapp compute/storage|TBD|TBD|
|
||||||
|
|
||||||
# Services hosted in KNEL Datacenter, offered to all TSYS Group components
|
# Services hosted in KNEL Datacenter, offered to all TSYS Group components
|
||||||
|
|
||||||
|Function|Vendor|Instance|
|
|Function|Vendor|Instance|
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
|Sovereign Hosting|[Umbrel](https://umbrel.com/)|N/A(KNEL DC VPN no external access) |
|
|Sovereign Hosting|[Umbrel](https://umbrel.com/)|N/A(KNEL DC VPN no external access) |
|
||||||
@@ -105,7 +106,7 @@ menu: Services
|
|||||||
|Certificate Authority|details coming soon|N/A (KNEL DC VPN no external access)|
|
|Certificate Authority|details coming soon|N/A (KNEL DC VPN no external access)|
|
||||||
|
|
||||||
# Services hosted in KNEL Datacenter, offered to certain TSYS Group components under bespoke arrangement
|
# Services hosted in KNEL Datacenter, offered to certain TSYS Group components under bespoke arrangement
|
||||||
|
|
||||||
|Function|Vendor|Instance|
|
|Function|Vendor|Instance|
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
|SLURM/BOINC Managed Electronic design automation/RF lab/environmental lab/network interop lab/General Storage Compute Network Capacity| Dell/Nvidia/Netapp/other| N/A|
|
|SLURM/BOINC Managed Electronic design automation/RF lab/environmental lab/network interop lab/General Storage Compute Network Capacity| Dell/Nvidia/Netapp/other| N/A|
|
||||||
|
|||||||
@@ -1,45 +0,0 @@
|
|||||||
Business Intelligence,[Apache Superset](https://superset.apache.org/),[KNEL BI](https://bi.knownelement.com)
|
|
||||||
Reference Library,[Audio BookShelf](https://www.audiobookshelf.org/),Multiple
|
|
||||||
File sharing,[Cubby](https://getcubby.org/),[KNEL File Sharing](https://share.knownelement.com/#files/home/)
|
|
||||||
Forums,[Discourse](https://www.discourse.org/),[KNEL TSYS Group Community](https://community.turnsys.com)
|
|
||||||
Esignature,[Documenso](https://documenso.com/),[KNEL Esign](https://esign.knownelement.com)
|
|
||||||
ERP,[Dolibarr](https://www.dolibarr.org/),Multiple (one per TSYS Group component)
|
|
||||||
Finance,[Firefly III](https://www.firefly-iii.org/),Multiple
|
|
||||||
Helpdesk,[Freescout](https://freescout.net/),[KNEL Helpdesk](https://helpdesk.knownelement.com)
|
|
||||||
RSS Reader,[FreshRSS](https://freshrss.org/),[KNEL RSS](https://rss.knownelement.com)
|
|
||||||
Source/package management,[Gitea](https://github.com/go-gitea/gitea),[KNEL Gitea](https://git.knownelement.com)
|
|
||||||
Graphs/dashboards,[Grafana](https://grafana.com/),[KNEL Grafana](https://grafana.knownelement.com/)
|
|
||||||
RDP/SSH Portal,[Apache Guacamole](https://guacamole.apache.org/),[KNEL Desktop](https://jumpin.knownelement.com/#/)
|
|
||||||
Web document/presentation editing,[HedgeDoc](https://hedgedoc.org/),[KNEL Webdoc](https://webdocs.knownelement.com/)
|
|
||||||
Note/KB/Second brain,[Joplin Client/Server](https://joplinapp.org/),[KNEL Joplin](https://notes.knownelement.com)
|
|
||||||
Surveys,[Lime Survey](https://www.limesurvey.org/),[KNEL Surveys](https://surveys.knownelement.com/)
|
|
||||||
Federated Social Media Profile,[Mastodon](https://joinmastodon.org/),[KNEL Social](https://socialnet.turnsys.com/explore)
|
|
||||||
Web Analytics,[Matomo](https://matomo.org/),[KNEL Webstats](https://webstats.knownelement.com/)
|
|
||||||
Marketing Campaigns,[Mautic](https://www.mautic.org/),[KNEL Marketing](https://marketing.knownelement.com/s/login)
|
|
||||||
Object Storage,[Minio](https://min.io/),[KNEL Minio](https://objects.knownelement.com/)
|
|
||||||
Video/whiteboard/screenshare meeting,[MiroTalk](https://github.com/miroslavpejic85/mirotalk),[KNEL Conference](https://meet.knownelement.com/)
|
|
||||||
Learning Management System,[Moodle](https://moodle.org/),[KNEL LMS](https://learn.knownelement.com/)
|
|
||||||
Push Notifications,[ntfy](https://ntfy.sh/),[KNEL Push](https://notify.knownelement.com/)
|
|
||||||
Web Design/Mockup,[Penpot](https://penpot.app/),[KNEL Mockup](https://design.knownelement.com/)
|
|
||||||
Time series/alert manager,[Promethus Alert Manager](https://prometheus.io/docs/alerting/latest/alertmanager/),[KNEL PromAM](https://alertmanager.knownelement.com/login?redirect=/)
|
|
||||||
Meeting coordination,[Rally](https://github.com/lukevella/rallly),[KNEL Meeting Scheduler](https://companymeetings.knownelement.com/)
|
|
||||||
Project/task management,[Redmine](https://www.redmine.org/),[KNEL Project](https://projects.knownelement.com/)
|
|
||||||
Web Search,[SearXNG](https://docs.searxng.org/),[KNEL Websearch](https://websearch.knownelement.com/)
|
|
||||||
IT Asset Management,[Snipe-IT](https://snipeitapp.com/),[KNEL Asset Management](https://assets.knownelement.com/login)
|
|
||||||
Environment data management system,[Emoncms](https://emoncms.org/),Being deployed to [KNEL Emoncms](https://emoncms.knownelement.com/)
|
|
||||||
Up/down monitoring/alerting,[Uptime Kuma](https://uptime.kuma.pet/),[KNEL Up/down](https://status.knownelement.com/dashboard)
|
|
||||||
Automated Secrets Management,[Hashicorp Vault](https://www.vaultproject.io/),[KNEL Vault](https://vault.knownelement.com)
|
|
||||||
Password and (non)(automated) Secrets Management,[VaultWarden](https://github.com/dani-garcia/vaultwarden),[KNEL Passwords](https://pwvault.turnsys.com/#/login)
|
|
||||||
VPN,[Cloudron Wireguard VPN](https://www.cloudron.io/store/io.cloudron.openvpn.html),[KNEL VPN](https://vpn.knownelement.com/)
|
|
||||||
Whiteboard,[WBO](https://github.com/lovasoa/whitebophir),[KNEL Whiteboard](https://whiteboard.knownelement.com/login?redirect=/)
|
|
||||||
URL Sharing,[Yourls](https://yourls.org/),[KNEL URL](https://url.knownelement.com/)
|
|
||||||
Website Archiving,[Wallabag](https://wallabag.org/),[KNEL Archiver](https://readlater.knownelement.com/login)
|
|
||||||
CMS/App platform,[Cloudron Managed Wordpress](https://docs.cloudron.io/apps/wordpress-managed/),Multiple
|
|
||||||
CMS/App platform,[Cloudron Managed Grav](https://docs.cloudron.io/apps/grav/), Multiple
|
|
||||||
Photos,[Immich](https://immich.app/),[KNEL Photos](https://photos.knownelement.com/auth/login)
|
|
||||||
Forms Manager,[EasyForms](https://easyforms.dev/),[KNEL Forms](https://forms.knownelement.com/)
|
|
||||||
Advertising Network,[Revive](https://www.revive-adserver.com/),[KNEL Ads](https://ads.knownelement.com/www/admin/index.php)
|
|
||||||
IP Address Management,[phpipam](https://phpipam.net/),Being deployed to [KNEL IPAM](https://ipam.knownelement.com/)
|
|
||||||
Mailing List,[phplist](https://www.phplist.com/),Being deployed to [KNEL Mailing List](https://lists.knownelement.com)
|
|
||||||
Web office,[Nextcloud](https://nextcloud.com/),[KNEL Nextcloud](https://nextcloud.knownelement.com/)
|
|
||||||
Webmail/Inbound/outbound E-mai (with 1gb quota aggregate across all mailboxes) (for non customer/corporate/non-automated use only),[Roundcube](https://roundcube.net/),[KNEL Webmail](https://webmail.knownelement.com/)
|
|
||||||
|
@@ -1,7 +0,0 @@
|
|||||||
Podcast Management - LOB bespoke arrangement,[Castopod](https://castopod.org/),[Peernet Castopod](https://podcasts.thepeernet.com/)
|
|
||||||
Booking Management - LOB bespoke arrangement,[EasyAppointments](https://easyappointments.org/),Multiple
|
|
||||||
Matrix Chat - LOB bespoke arrangement ,[Element](https://element.io/),[ReachableCEO Enterprise Element](https://chat.reachableceo.com/)
|
|
||||||
Records Management System - LOB bespoke arrangement,[Paperless-NGX](https://docs.paperless-ngx.com/),[KNEL Paperless](https://paperless.knownelement.com/accounts/login/?next=/)
|
|
||||||
Wiki - LOB bespoke arrangement,[Mediawiki](https://www.mediawiki.org/wiki/MediaWiki),Multiple
|
|
||||||
Newsletter - LOB bespoke arrangement,[Ghost](https://ghost.org/),[ReachableCEO Enterprises Newsletter](https://newsletter.reachableceo.com/)
|
|
||||||
CRM - LOB bespoke arrangement, [CiviCRM](https://civicrm.org/),[FNF CRM](https://crm.thefnf.net/)
|
|
||||||
|
@@ -1 +0,0 @@
|
|||||||
coming soon,coming soon,coming soon
|
|
||||||
|
@@ -1 +0,0 @@
|
|||||||
LOB bizapp compute/storage,TBD,TBD
|
|
||||||
|
@@ -1 +0,0 @@
|
|||||||
LLC Governance,TBD,TBD
|
|
||||||
|
@@ -1 +0,0 @@
|
|||||||
coming soon,coming soon,coming soon
|
|
||||||
|
@@ -1,6 +0,0 @@
|
|||||||
Sovereign Hosting,[Umbrel](https://umbrel.com/),N/A(KNEL DC VPN no external access)
|
|
||||||
Bitcoin Node,details coming soon,N/A(KNEL DC VPN no external access)
|
|
||||||
Ethereum Node,details coming soon,N/A (KNEL DC VPN no external access)
|
|
||||||
Bitcoin Payment Processing,details coming soon,N/A (KNEL DC VPN no external access)
|
|
||||||
VOIP (inbound),details coming soon,N/A (KNEL DC VPN no external access)
|
|
||||||
Certificate Authority,details coming soon,N/A (KNEL DC VPN no external access)
|
|
||||||
|
@@ -1,5 +0,0 @@
|
|||||||
SLURM/BOINC Managed Electronic design automation/RF lab/environmental lab/network interop lab/General Storage Compute Network Capacity, Dell/Nvidia/Netapp/other, N/A
|
|
||||||
Production Big data/ETL etc processing,details coming soon, N/A (KNEL DC VPN no external access)
|
|
||||||
R&D Big data/ETL etc processing,details coming soon, N/A (KNEL DC VPN no external access)
|
|
||||||
NFS/SMB Fileserver,details coming soon,N/A (KNEL DC VPN no external access)
|
|
||||||
Value4Value,[Helipad](https://tryhelipad.com/),N/A(KNEL DC VPN no external access)
|
|
||||||
|
@@ -1,26 +0,0 @@
|
|||||||
# Introduction
|
|
||||||
|
|
||||||
- [Introduction](./introduction.md)
|
|
||||||
- [Definitions](./legal-definitions.md)
|
|
||||||
|
|
||||||
# Services Offered by Known Element Enterprises LLC
|
|
||||||
|
|
||||||
- [Cloudron All TSYS Group](./services-cloudron-all.md)
|
|
||||||
- [Cloudron LOB Bespoke](./services-cloudron-lob.md)
|
|
||||||
- [Coolify Techops All TSYS Group](./services-coolify-techops-all.md)
|
|
||||||
- [Coolify Techops LOB Bespoke](./services-coolify-techops-lob.md)
|
|
||||||
- [Coolify R&D All TSYS Group](./services-coolify-randd-all.md)
|
|
||||||
- [Coolify R&D LOB Bespoke](./services-coolify-randd-lob.md)
|
|
||||||
- [KNEL Datacenter All TSYS Group](./services-kneldc-all.md)
|
|
||||||
- [KNEL Datacenter LOB Bespoke](./services-kneldc-lob.md)
|
|
||||||
- [General Services](./services-general.md)
|
|
||||||
|
|
||||||
# Standard legal terms and conditions
|
|
||||||
|
|
||||||
- [Dispute Resolution, Governing Law, and Waivers](./legal-dispute-resolution.md)
|
|
||||||
- [General Terms and Conditions](./legal-general-terms.md)
|
|
||||||
|
|
||||||
# Contract Parties/Execution
|
|
||||||
|
|
||||||
- [Contract Parties](./parties.md)
|
|
||||||
- [Execution / Signatures](./signatures.md)
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
## Introduction
|
|
||||||
|
|
||||||
- This contract is a public document showing the full terms and conditions of a proposed contract between:
|
|
||||||
- (Party 1) Known Element Enterprises LLC (as the management company of Turnkey Network Systems LLC)
|
|
||||||
- (Party 2) TSYS Group Component
|
|
||||||
|
|
||||||
for the provision of needed support services by Known Element Enterprises LLC for TSYS Group Component to conduct its front/middle/back office IT/business operations functions as a TSYS Group component.
|
|
||||||
|
|
||||||
- This contract is licensed under the AGPL v3.0 only, with a small amount of proprietary scoped components (listed below). This repository is meant to be forked to a private, proprietary / confidential repository for execution with the only permitted proprietary alterations being:
|
|
||||||
|
|
||||||
- TSYS Group Component officer name/contact details
|
|
||||||
- Entity in scope
|
|
||||||
- Execution date
|
|
||||||
- Payment terms
|
|
||||||
- Length of contract term
|
|
||||||
- Renewal / extension options
|
|
||||||
|
|
||||||
- If any other modifications to this contract are needed (other than those listed above), they must be done in this repository and placed under AGPL v3.0 only.
|
|
||||||
|
|
||||||
- TSYS Group Component may elect to have the forked repository be public/read only as they wish. Known Element Enterprises LLC hereby agrees to that option automatically upon TSYS Group Component election to do so.
|
|
||||||
|
|
||||||
- This contract is governed solely and entirely by the laws of the State of Texas, without regard to its conflict-of-laws rules.
|
|
||||||
|
|
||||||
- TSYS Group Component hereby certifies it has conducted extensive due diligence on Known Element Enterprises LLC and its officers, including any public material and private material that may have been provided by the officers of Known Element Enterprises LLC, and is entering into this agreement having fully read and understood it.
|
|
||||||
|
|
||||||
This contract documents the:
|
|
||||||
|
|
||||||
- Applications
|
|
||||||
- Systems
|
|
||||||
- Services
|
|
||||||
|
|
||||||
offered to all TSYS Group components.
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
## Definitions
|
|
||||||
|
|
||||||
For purposes of this contract:
|
|
||||||
|
|
||||||
- **"Known Element Enterprises LLC"** ("**Party 1**", "**Provider**") means Known Element Enterprises LLC, the management company of Turnkey Network Systems LLC.
|
|
||||||
- **"TSYS Group Component"** ("**Party 2**", "**Recipient**") means the TSYS Group component entity identified in the Parties section of this contract.
|
|
||||||
- **"TSYS Group"** means Turnkey Network Systems LLC and all component/series LLCs under it.
|
|
||||||
- **"Services"** means the applications, systems, and services listed in the sections titled "Services Offered by Known Element Enterprises LLC", as amended from time to time by mutual written agreement.
|
|
||||||
- **"Group-wide Service"** means a Service offered to all TSYS Group components (the "All TSYS Group" catalogs).
|
|
||||||
- **"LOB Bespoke Service"** means a Service offered only to a specific line of business ("**LOB**") of Party 2 (the "LOB Bespoke" catalogs).
|
|
||||||
- **"SLA"** (Service Level Agreement) means the minimum availability commitment stated in the SLA/SLO section.
|
|
||||||
- **"SLO"** (Service Level Objective) means the internal availability target stated in the SLA/SLO section, which is aspirational and non-binding.
|
|
||||||
- **"Monthly Uptime"** means, for a given calendar month, the percentage of minutes in which the Service was reachable and responding, measured by Known Element Enterprises LLC's monitoring platform, excluding scheduled maintenance windows noticed at least 48 hours in advance.
|
|
||||||
- **"Confidential Information"** means non-public information disclosed by one party to the other that is marked confidential or that a reasonable person would understand to be confidential, including business, financial, and technical information.
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
## Dispute Resolution, Governing Law, and Waivers
|
|
||||||
|
|
||||||
### Governing law and venue
|
|
||||||
|
|
||||||
- This contract is governed solely and entirely by the laws of the State of Texas, without regard to its conflict-of-laws rules.
|
|
||||||
- The exclusive venue for any action arising out of or relating to this contract is the state or federal courts located in Collin County, Texas, and each party consents to personal jurisdiction and venue in those courts.
|
|
||||||
|
|
||||||
### Informal resolution first
|
|
||||||
|
|
||||||
- Before commencing any court or arbitration proceeding, the parties will attempt in good faith to resolve the dispute by direct negotiation between the officers identified in the Notices section, escalating to the chief executives of both parties if not resolved within 30 days of written notice of the dispute.
|
|
||||||
|
|
||||||
### Jury trial waiver
|
|
||||||
|
|
||||||
- TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, EACH PARTY KNOWINGLY, VOLUNTARILY, AND IRREVOCABLY WAIVES ITS RIGHT TO A TRIAL BY JURY IN ANY ACTION OR PROCEEDING ARISING OUT OF OR RELATING TO THIS CONTRACT.
|
|
||||||
- This waiver is mutual, is given in exchange for the other party's waiver, and does not waive either party's right to seek any remedy otherwise available at law or in equity, including injunctive and other equitable relief.
|
|
||||||
- Nothing in this contract limits either party's right to bring claims arising from the other party's fraud, willful misconduct, gross negligence, or violation of criminal law, or any claim that cannot be waived as a matter of law.
|
|
||||||
|
|
||||||
### Severability of waivers
|
|
||||||
|
|
||||||
- If any waiver or limitation in this section is held unenforceable, it will be enforced to the maximum extent permissible, and the remainder of this contract remains in full force and effect.
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
## General Terms and Conditions
|
|
||||||
|
|
||||||
### Term, renewal, and termination
|
|
||||||
|
|
||||||
- Initial term: 99 years, commencing on the Effective Date (the date of last signature below).
|
|
||||||
- Renewal: this contract automatically renews for successive one-year terms unless either party gives at least 90 days' written notice of non-renewal.
|
|
||||||
- Termination for convenience: either party may terminate this contract on 180 days' written notice.
|
|
||||||
- Termination for cause: either party may terminate on 30 days' written notice if the other party materially breaches this contract and fails to cure within that period.
|
|
||||||
- Effect of termination: termination does not relieve Party 2 of the obligation to pay amounts already accrued, and Party 1 will provide reasonable transition assistance (including data export in open formats) for up to 60 days at then-standard rates.
|
|
||||||
|
|
||||||
### Payment
|
|
||||||
|
|
||||||
- The Services are offered for an all-inclusive delivered price of 100.00 USD per TSYS Group component per month.
|
|
||||||
- Invoices are issued monthly and are due within 30 days of receipt.
|
|
||||||
- Late amounts accrue interest at the lesser of 1.5% per month or the maximum rate permitted by law.
|
|
||||||
|
|
||||||
### SLA / SLO
|
|
||||||
|
|
||||||
- Group-wide and LOB Bespoke Services are provided with the following service levels, measured as Monthly Uptime:
|
|
||||||
- Service Level Agreement (SLA — contractual minimum): 95%
|
|
||||||
- Service Level Objective (SLO — internal target, aspirational and non-binding): 99%
|
|
||||||
- The SLO is a target only; only the SLA creates contractual obligations.
|
|
||||||
- Remedies for missing the SLA: none. For the avoidance of doubt, where the SLA penalty is "none", the SLA is enforced through the termination rights above and no service credits or damages are available for SLA misses.
|
|
||||||
|
|
||||||
### Liability
|
|
||||||
|
|
||||||
- To the maximum extent permitted by law, each party's aggregate liability arising out of or relating to this contract is capped at the total fees paid or payable under this contract in the 12 months preceding the event giving rise to the claim.
|
|
||||||
- Neither party is liable for indirect, incidental, special, consequential, or punitive damages, or for lost profits, even if advised of their possibility.
|
|
||||||
- Nothing in this contract limits liability for a party's fraud, willful misconduct, or gross negligence, or any liability that cannot be limited as a matter of law.
|
|
||||||
|
|
||||||
### Confidentiality
|
|
||||||
|
|
||||||
- Each party will protect the other's Confidential Information with at least the same care it uses for its own, use it only to perform this contract, and return or destroy it on written request. These obligations survive termination for 3 years.
|
|
||||||
|
|
||||||
### Intellectual property
|
|
||||||
|
|
||||||
- The contract text is licensed AGPL v3.0 only (see Introduction). Each party retains ownership of its pre-existing intellectual property. Deliverables and configurations created by Party 1 specifically for Party 2 under a LOB Bespoke Service are licensed to Party 2 for the term of this contract; Group-wide Services and the underlying platforms remain the property of Party 1.
|
|
||||||
|
|
||||||
### Force majeure
|
|
||||||
|
|
||||||
- Neither party is liable for delays or failures in performance caused by events beyond its reasonable control (natural disasters, war, civil unrest, labor disputes not involving that party, utility or internet backbone failures), provided the affected party gives prompt notice and resumes performance as soon as practicable.
|
|
||||||
|
|
||||||
### Assignment
|
|
||||||
|
|
||||||
- Neither party may assign this contract without the other's prior written consent, except to an affiliate or in connection with a merger or sale of substantially all assets, with notice to the other party.
|
|
||||||
|
|
||||||
### Notices
|
|
||||||
|
|
||||||
- Notices must be in writing and delivered by email with confirmation, or by certified mail, to the officers identified in the Parties section. Notice is effective on receipt.
|
|
||||||
|
|
||||||
### Electronic signature
|
|
||||||
|
|
||||||
- The parties agree that this contract may be executed by electronic signature (including via the KNEL DocuSeal e-signature platform), and that such electronic signatures have the same force and effect as original ink signatures.
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
|
|
||||||
## Parties To The Contract
|
|
||||||
|
|
||||||
### Party 1
|
|
||||||
|
|
||||||
Known Element Enterprises LLC
|
|
||||||
|
|
||||||
### Party 2
|
|
||||||
|
|
||||||
TSYS Group Component
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
# Services hosted in KNEL Cloudron, offered to all TSYS Group components
|
|
||||||
|
|
||||||
|Function|Vendor|Instance|
|
|
||||||
|---|---|---|
|
|
||||||
|Business Intelligence|[Apache Superset](https://superset.apache.org/)|[KNEL BI](https://bi.knownelement.com)|
|
|
||||||
|Reference Library|[Audio BookShelf](https://www.audiobookshelf.org/)|Multiple|
|
|
||||||
|File sharing|[Cubby](https://getcubby.org/)|[KNEL File Sharing](https://share.knownelement.com/#files/home/)|
|
|
||||||
|Forums|[Discourse](https://www.discourse.org/)|[KNEL TSYS Group Community](https://community.turnsys.com)|
|
|
||||||
|Esignature|[Documenso](https://documenso.com/)|[KNEL Esign](https://esign.knownelement.com)|
|
|
||||||
|ERP|[Dolibarr](https://www.dolibarr.org/)|Multiple (one per TSYS Group component)|
|
|
||||||
|Finance|[Firefly III](https://www.firefly-iii.org/)|Multiple|
|
|
||||||
|Helpdesk|[Freescout](https://freescout.net/)|[KNEL Helpdesk](https://helpdesk.knownelement.com)|
|
|
||||||
|RSS Reader|[FreshRSS](https://freshrss.org/)|[KNEL RSS](https://rss.knownelement.com)|
|
|
||||||
|Source/package management|[Gitea](https://github.com/go-gitea/gitea)|[KNEL Gitea](https://git.knownelement.com)|
|
|
||||||
|Graphs/dashboards|[Grafana](https://grafana.com/)|[KNEL Grafana](https://grafana.knownelement.com/)|
|
|
||||||
|RDP/SSH Portal|[Apache Guacamole](https://guacamole.apache.org/)|[KNEL Desktop](https://jumpin.knownelement.com/#/)|
|
|
||||||
|Web document/presentation editing|[HedgeDoc](https://hedgedoc.org/)|[KNEL Webdoc](https://webdocs.knownelement.com/)|
|
|
||||||
|Note/KB/Second brain|[Joplin Client/Server](https://joplinapp.org/)|[KNEL Joplin](https://notes.knownelement.com)|
|
|
||||||
|Surveys|[Lime Survey](https://www.limesurvey.org/)|[KNEL Surveys](https://surveys.knownelement.com/)|
|
|
||||||
|Federated Social Media Profile|[Mastodon](https://joinmastodon.org/)|[KNEL Social](https://socialnet.turnsys.com/explore)|
|
|
||||||
|Web Analytics|[Matomo](https://matomo.org/)|[KNEL Webstats](https://webstats.knownelement.com/)|
|
|
||||||
|Marketing Campaigns|[Mautic](https://www.mautic.org/)|[KNEL Marketing](https://marketing.knownelement.com/s/login)|
|
|
||||||
|Object Storage|[Minio](https://min.io/)|[KNEL Minio](https://objects.knownelement.com/)|
|
|
||||||
|Video/whiteboard/screenshare meeting|[MiroTalk](https://github.com/miroslavpejic85/mirotalk)|[KNEL Conference](https://meet.knownelement.com/)|
|
|
||||||
|Learning Management System|[Moodle](https://moodle.org/)|[KNEL LMS](https://learn.knownelement.com/)|
|
|
||||||
|Push Notifications|[ntfy](https://ntfy.sh/)|[KNEL Push](https://notify.knownelement.com/)|
|
|
||||||
|Web Design/Mockup|[Penpot](https://penpot.app/)|[KNEL Mockup](https://design.knownelement.com/)|
|
|
||||||
|Time series/alert manager|[Promethus Alert Manager](https://prometheus.io/docs/alerting/latest/alertmanager/)|[KNEL PromAM](https://alertmanager.knownelement.com/login?redirect=/)|
|
|
||||||
|Meeting coordination|[Rally](https://github.com/lukevella/rallly)|[KNEL Meeting Scheduler](https://companymeetings.knownelement.com/)|
|
|
||||||
|Project/task management|[Redmine](https://www.redmine.org/)|[KNEL Project](https://projects.knownelement.com/)|
|
|
||||||
|Web Search|[SearXNG](https://docs.searxng.org/)|[KNEL Websearch](https://websearch.knownelement.com/)|
|
|
||||||
|IT Asset Management|[Snipe-IT](https://snipeitapp.com/)|[KNEL Asset Management](https://assets.knownelement.com/login)|
|
|
||||||
|Environment data management system|[Emoncms](https://emoncms.org/)|Being deployed to [KNEL Emoncms](https://emoncms.knownelement.com/)|
|
|
||||||
|Up/down monitoring/alerting|[Uptime Kuma](https://uptime.kuma.pet/)|[KNEL Up/down](https://status.knownelement.com/dashboard)|
|
|
||||||
|Automated Secrets Management|[Hashicorp Vault](https://www.vaultproject.io/)|[KNEL Vault](https://vault.knownelement.com)|
|
|
||||||
|Password and (non)(automated) Secrets Management|[VaultWarden](https://github.com/dani-garcia/vaultwarden)|[KNEL Passwords](https://pwvault.turnsys.com/#/login)|
|
|
||||||
|VPN|[Cloudron Wireguard VPN](https://www.cloudron.io/store/io.cloudron.openvpn.html)|[KNEL VPN](https://vpn.knownelement.com/)|
|
|
||||||
|Whiteboard|[WBO](https://github.com/lovasoa/whitebophir)|[KNEL Whiteboard](https://whiteboard.knownelement.com/login?redirect=/)|
|
|
||||||
|URL Sharing|[Yourls](https://yourls.org/)|[KNEL URL](https://url.knownelement.com/)|
|
|
||||||
|Website Archiving|[Wallabag](https://wallabag.org/)|[KNEL Archiver](https://readlater.knownelement.com/login)|
|
|
||||||
|CMS/App platform|[Cloudron Managed Wordpress](https://docs.cloudron.io/apps/wordpress-managed/)|Multiple|
|
|
||||||
|CMS/App platform|[Cloudron Managed Grav](https://docs.cloudron.io/apps/grav/)| Multiple|
|
|
||||||
|Photos|[Immich](https://immich.app/)|[KNEL Photos](https://photos.knownelement.com/auth/login)|
|
|
||||||
|Forms Manager|[EasyForms](https://easyforms.dev/)|[KNEL Forms](https://forms.knownelement.com/)|
|
|
||||||
|Advertising Network|[Revive](https://www.revive-adserver.com/)|[KNEL Ads](https://ads.knownelement.com/www/admin/index.php)|
|
|
||||||
|IP Address Management|[phpipam](https://phpipam.net/)|Being deployed to [KNEL IPAM](https://ipam.knownelement.com/)|
|
|
||||||
|Mailing List|[phplist](https://www.phplist.com/)|Being deployed to [KNEL Mailing List](https://lists.knownelement.com)|
|
|
||||||
|Web office|[Nextcloud](https://nextcloud.com/)|[KNEL Nextcloud](https://nextcloud.knownelement.com/)|
|
|
||||||
|Webmail/Inbound/outbound E-mai (with 1gb quota aggregate across all mailboxes) (for non customer/corporate/non-automated use only)|[Roundcube](https://roundcube.net/)|[KNEL Webmail](https://webmail.knownelement.com/)|
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
# Services hosted in KNEL Cloudron, offered to certain TSYS Group components under bespoke arrangement
|
|
||||||
|
|
||||||
|Function|Vendor|Instance|
|
|
||||||
|---|---|---|
|
|
||||||
|Podcast Management - LOB bespoke arrangement|[Castopod](https://castopod.org/)|[Peernet Castopod](https://podcasts.thepeernet.com/)|
|
|
||||||
|Booking Management - LOB bespoke arrangement|[EasyAppointments](https://easyappointments.org/)|Multiple|
|
|
||||||
|Matrix Chat - LOB bespoke arrangement |[Element](https://element.io/)|[ReachableCEO Enterprise Element](https://chat.reachableceo.com/)|
|
|
||||||
|Records Management System - LOB bespoke arrangement|[Paperless-NGX](https://docs.paperless-ngx.com/)|[KNEL Paperless](https://paperless.knownelement.com/accounts/login/?next=/)|
|
|
||||||
|Wiki - LOB bespoke arrangement|[Mediawiki](https://www.mediawiki.org/wiki/MediaWiki)|Multiple|
|
|
||||||
|Newsletter - LOB bespoke arrangement|[Ghost](https://ghost.org/)|[ReachableCEO Enterprises Newsletter](https://newsletter.reachableceo.com/)|
|
|
||||||
|CRM - LOB bespoke arrangement| [CiviCRM](https://civicrm.org/)|[FNF CRM](https://crm.thefnf.net/)|
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
# Services hosted in KNEL Coolify R&D Instance, offered to all TSYS Group components
|
|
||||||
|
|
||||||
|Function|Vendor|Instance|
|
|
||||||
|---|---|---|
|
|
||||||
|coming soon|coming soon|coming soon|
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
# Services hosted in KNEL Coolify R&D Instance, offered to certain TSYS Group components under bespoke arrangement
|
|
||||||
|
|
||||||
|Function|Vendor|Instance|
|
|
||||||
|---|---|---|
|
|
||||||
|LOB bizapp compute/storage|TBD|TBD|
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
# Services hosted in KNEL Coolify Techops Instance, offered to all TSYS Group components
|
|
||||||
|
|
||||||
|Function|Vendor|Instance|
|
|
||||||
|---|---|---|
|
|
||||||
|LLC Governance|TBD|TBD|
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
# Services hosted in KNEL Coolify Techops Instance, offered to certain TSYS Group components under bespoke arrangement
|
|
||||||
|
|
||||||
|Function|Vendor|Instance|
|
|
||||||
|---|---|---|
|
|
||||||
|coming soon|coming soon|coming soon|
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
|
|
||||||
# General Services Offered
|
|
||||||
|
|
||||||
- backups (of KNEL microservices and wordpress/grav site and bizapp application code/data (stored in KNEL microservice systems)
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
# Services hosted in KNEL Datacenter, offered to all TSYS Group components
|
|
||||||
|
|
||||||
|Function|Vendor|Instance|
|
|
||||||
|---|---|---|
|
|
||||||
|Sovereign Hosting|[Umbrel](https://umbrel.com/)|N/A(KNEL DC VPN no external access) |
|
|
||||||
|Bitcoin Node|details coming soon|N/A(KNEL DC VPN no external access)|
|
|
||||||
|Ethereum Node|details coming soon|N/A (KNEL DC VPN no external access)|
|
|
||||||
|Bitcoin Payment Processing|details coming soon|N/A (KNEL DC VPN no external access)|
|
|
||||||
|VOIP (inbound)|details coming soon|N/A (KNEL DC VPN no external access)|
|
|
||||||
|Certificate Authority|details coming soon|N/A (KNEL DC VPN no external access)|
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
# Services hosted in KNEL Datacenter, offered to certain TSYS Group components under bespoke arrangement
|
|
||||||
|
|
||||||
|Function|Vendor|Instance|
|
|
||||||
|---|---|---|
|
|
||||||
|SLURM/BOINC Managed Electronic design automation/RF lab/environmental lab/network interop lab/General Storage Compute Network Capacity| Dell/Nvidia/Netapp/other| N/A|
|
|
||||||
|Production Big data/ETL etc processing|details coming soon| N/A (KNEL DC VPN no external access)|
|
|
||||||
|R&D Big data/ETL etc processing|details coming soon| N/A (KNEL DC VPN no external access)|
|
|
||||||
|NFS/SMB Fileserver|details coming soon|N/A (KNEL DC VPN no external access)|
|
|
||||||
|Value4Value|[Helipad](https://tryhelipad.com/)|N/A(KNEL DC VPN no external access) |
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
---
|
|
||||||
title: 'Sign Electronically'
|
|
||||||
visible: true
|
|
||||||
---
|
|
||||||
|
|
||||||
## Sign this contract electronically
|
|
||||||
|
|
||||||
This contract can be executed electronically via the KNEL DocuSeal e-signature platform, reached through the KNEL APISIX API gateway. Enter the signer's details below; DocuSeal will email a signing link.
|
|
||||||
|
|
||||||
<form id="esign-form" onsubmit="return esignSubmit(event)">
|
|
||||||
<label for="esign-name">Full name</label>
|
|
||||||
<input type="text" id="esign-name" name="name" required style="display:block;margin-bottom:8px;min-width:280px;padding:6px;">
|
|
||||||
<label for="esign-email">Email address</label>
|
|
||||||
<input type="email" id="esign-email" name="email" required style="display:block;margin-bottom:12px;min-width:280px;padding:6px;">
|
|
||||||
<label for="esign-entity">Entity (Party 2)</label>
|
|
||||||
<input type="text" id="esign-entity" name="entity" required style="display:block;margin-bottom:12px;min-width:280px;padding:6px;">
|
|
||||||
<button type="submit" style="padding:8px 16px;">Request signature link</button>
|
|
||||||
</form>
|
|
||||||
|
|
||||||
<p id="esign-status" style="margin-top:12px;"></p>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
function esignSubmit(ev) {
|
|
||||||
ev.preventDefault();
|
|
||||||
var status = document.getElementById('esign-status');
|
|
||||||
status.textContent = 'Requesting signing link…';
|
|
||||||
var name = document.getElementById('esign-name').value;
|
|
||||||
var email = document.getElementById('esign-email').value;
|
|
||||||
var entity = document.getElementById('esign-entity').value;
|
|
||||||
fetch('https://apigw.knownelement.com/contract-sign/api/v1/submissions', {
|
|
||||||
method: 'POST',
|
|
||||||
headers: {'Content-Type': 'application/json'},
|
|
||||||
body: JSON.stringify({
|
|
||||||
template_id: Number(''),
|
|
||||||
submitters: [
|
|
||||||
{email: email, name: name, role: 'First Party'},
|
|
||||||
{email: email, name: name + ' (' + entity + ')', role: 'Second Party', is_invited: false}
|
|
||||||
]
|
|
||||||
})
|
|
||||||
}).then(function (r) {
|
|
||||||
if (!r.ok) throw new Error('gateway returned ' + r.status);
|
|
||||||
return r.json();
|
|
||||||
}).then(function (data) {
|
|
||||||
var slug = data.submitters && data.submitters[0] && data.submitters[0].slug;
|
|
||||||
if (slug) {
|
|
||||||
window.location.href = 'https://esign.knownelement.com/s/' + slug;
|
|
||||||
} else {
|
|
||||||
status.textContent = 'Signing request created. Check ' + email + ' for the signing link.';
|
|
||||||
}
|
|
||||||
}).catch(function (e) {
|
|
||||||
status.textContent = 'Could not create the signing request (' + e.message + '). Contact KNEL helpdesk.';
|
|
||||||
});
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
## Execution
|
|
||||||
|
|
||||||
IN WITNESS WHEREOF, the parties have executed this contract as of the Effective Date.
|
|
||||||
|
|
||||||
### For Known Element Enterprises LLC
|
|
||||||
|
|
||||||
- Name: ______________________________
|
|
||||||
- Title: ______________________________
|
|
||||||
- Signature: ______________________________
|
|
||||||
- Date: ______________________________
|
|
||||||
|
|
||||||
### For TSYS Group Component
|
|
||||||
|
|
||||||
- Name: ______________________________
|
|
||||||
- Title: ______________________________
|
|
||||||
- Signature: ______________________________
|
|
||||||
- Date: ______________________________
|
|
||||||
|
|
||||||
### Electronic execution
|
|
||||||
|
|
||||||
This contract may be executed electronically via the KNEL e-signature platform:
|
|
||||||
|
|
||||||
[Sign this contract electronically](https://contract.knownelement.com/sign)
|
|
||||||
Reference in New Issue
Block a user