Merge branch 'master' of git+ssh://code.ungleich.ch/ungleich-public/ungleich-staticcms

This commit is contained in:
sanghee 2021-11-01 20:37:48 +01:00
commit d818d02ae9
22 changed files with 995 additions and 153 deletions

1
.gitignore vendored
View file

@ -1,3 +1,4 @@
venv/
.DS_Store
.idea/
.history

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 KiB

BIN
assets/u/image/product.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 MiB

View file

@ -9,3 +9,25 @@
.headlinebold {
font-family: "Nimbus Sans L";
}
.colored-table {
text-align: center;
background: #E5EDF1;
}
.colored-table td, .colored-table th {
border: 1px solid #fff;
}
.colored-table thead th {
border-bottom: 2px solid #fff;
}
.bg-offer {
background-color: #c0dcf3;
}
.table-responsive {
font-family: "Rubik", sans-serif;
font-size: 13px;
line-height: 22px;
}

View file

@ -25,6 +25,20 @@ header h1 {
font-size: 42px;
}
// Sanghee, 2021-09-20
h2 {
font-size: 1.65rem;
line-height: 2;
font-weight: 700;
}
// Sanghee, 2021-09-20
h3 {
font-size: 1rem;
text-transform: uppercase;
font-weight: 700;
}
header nav ul {
list-style: none;
margin: 0;

View file

@ -0,0 +1,200 @@
title: IPv6, VPN and DNS entries
---
pub_date: 2021-10-13
---
author: Nico Schottelius
---
twitter_handle: NicoSchottelius
---
_hidden: no
---
_discoverable: yes
---
abstract:
Looking at how the patterns of VPN and DNS names changes with IPv6
---
body:
## TL; DR
With IPv6, DNS management of protected networks can be
simplified. IPv6 VPNs can use simplified DNS configurations to
simplify the network configurations by just using public, restricted
DNS entries.
## VPN and DNS in the IPv4 world
VPNs in the IPv4 world are often used to create site-to-site tunnels,
allowing different networks to talk to each other. A typical case is
that organisation A needs to access protected resources of
organisation B and maybe even vice-versa. So a typical VPN looks like
this:
```
Organisation A
--------------
Protected Host A ---------- Router/VPN gateway
(10.0.0.42/24) |
|
|
Organisation B (Internet)
-------------- |
|
|
Protected Host B ---------- Router/VPN gateway
(10.20.0.42/24)
Host name: lakeside.int.org-b.example.com
```
Now if the Protected Host A and Protected Host B want to communicate
with each other on IP basis, this is no problem (I am not elaborating
on the problems of IP collisions in this article, a follow up article
will follow soon).
However if Protected Host A wants to reach the Protected Host B via
its internal DNS name **lakeside.int.org-b.example.com**, this is
usually a problem, for multiple reasons:
* Protected Host A might not know the right internal DNS server to
query for int.org-b.example.com.
* Protected Host A might know the right internal DNS server to
query for int.org-b.example.com, but might not have access to it via
the VPN
* The DNS records for int.org-b.example.com often are intentionally
not published to public DNS for multiple reasons: privacy related or
because administrators don't like to publish RFC1918 records into
public DNS records
## VPN and DNS in the IPv6 world
There are multiple ways of how VPNs can be built in the IPv6 world,
including usage of the private IPv4 addresses equivalent named Unique
Local Address (ULA). However instead of using ULA, I will today show
an approach that is more "IPv6 native", using Global Unique Addresses
(GUA), or what is simply known as "public IPv6 address".
While you might have heard it, I will repeat nonetheless: there are
enough IPv6 addresses for every practical use case that we imagine at
the moment. This is important, because we can use **globally unique
IPv6 addresses** inside the VPN.
Isn't that a problem? Publicly reachable IPv6 addresses inside a VPN?
It would, if the addresses were **globally reachable**. In the IPv6
world nothing speaks against having **globally unique, but non-routed
IPv6 addresses**. This is actually a perfect match and much better
than we can do in the IPv4 world:
* Both organisations A and B can acquire globally unique
addresses. Let's say they organisation A acquires 2001:db8:0::/48 and
organisation B acquires 2001:db8:1::/48.
* Both organisations have two options: they can announce their IPv6
range to the Internet and block access to their internal network or
* both they can even consider not to announce their network at all
(there is not route in the Internet for it)
In either case, both organisations will usually select a sub network
of size /64 for the resources they want to expose via the VPN. Let's
say organisation A chooses 2001:db8:0:cafe::/64 and organisation B
chooses 2001:db8:1:7ea::/64. Putting this in context, their VPN now
looks like this:
```
Organisation A
--------------
Protected Host A ---------- Router/VPN gateway
(2001:db8:0:cafe::42/64) |
|
|
Organisation B (Internet)
-------------- |
|
|
Protected Host B ---------- Router/VPN gateway
(2001:db8:1:7ea::42/64) |
Host name: lakeside.int.org-b.example.com
```
Now, how does this change the DNS server situation? Because we are
using IPv6, we have many more options:
* a) We can publish the DNS records of the domain
int.org-b.example.com globally. While access to the network
2001:db8:1:7ea::/64 is only possible via VPN, nothing speaks against
having the records in a public DNS server. However, some
administrators advocate to not publish them publicly for privacy
reasons. That is the same logic as publishing or not publish the
RFC1918 (10.x.y.z) addresses in the IPv4 world.
* b) We can publicly/globally delegate the domain
int.org-b.example.com to a nameserver that is only reachable via the
VPN.
* c) We can proceed the same as in the IPv4 world and have a
disconnect, internal DNS server that is responsible for
int.org-b.example.com.
Option (a) is often seen as a security risk and it can be debated
whether someone who can already guess the correct hostname and
retrieve it's IP address is really a significant higher security
thread than anybody just guessing IP addresses.
Option (c) is the typical case for IPv4 based VPNs and is causing
above illustrated issues.
Option (b) is the one that makes IPv6 VPNs much more interesting than
IPv4 based VPNs:
* The world can know that there is an internal domain
**int.org-b.example.com** and find out which DNS servers are
responsible for it.
* However an attacker easily guesses that internal networks exist
anyway.
Let's have a look at sample nameserver entries in detail:
```
int.org-b.example.com. NS ns-int1.org-b.example.com.
int.org-b.example.com. NS ns-int2.org-b.example.com.
```
What does that mean? Anyone in the world can retrieve the information
that int.org-b.example.com has two DNS servers. However the DNS
servers responsible for org-b.example.com can hide the IP addresses of
ns-int1.org-b.example.com and ns-int2.org-b.example.com for everyone,
but hosts coming from organisation A. Or even if the IP addressses of
ns-int1.org-b.example.com and ns-int2.org-b.example.com are world
known, access to them can easily be prevented.
The measures for this can for instance be DNS views or firewall
entries. In practice this means for VPNs in the IPv6 world:
```
Organisation A
--------------
Protected Host A: what is the IP address of lakeside.int.org-b.example.com?
DNS Server of Organisation B: 2001:db8:1:7ea::42
Outside party
-------------
Outside Hosts: what is the IP address of lakeside.int.org-b.example.com?
a) DNS Server of Organisation B: there is no domain
int.org-b.example.com (DNS view restriction)
b) DNS Server of Organisation B: these are the nameserver for
int.org-b.example.com, but you cannot reach them (firewall protection)
```
## Summary
For IPv6 based VPNs you can get away without reconfiguring your source
networks for DNS servers of the destination party. The target party
always needs to ensure proper access control to internal resources, so
there is no additional overhead.
DNS, correctly used in the IPv6 VPN world, is a really smooth
operation. This is why we recommend to use
[IPv6 as a basis for VPNs](https://ipv6vpn.ch).

View file

@ -1,18 +0,0 @@
title: something i want to talk about
---
pub_date: 2020-04-11
---
author: Sanghee Kim
---
twitter_handle: ungleich
---
_hidden: yes
---
_discoverable: no
---
abstract:
this is test post
---
body:
This is test post

View file

@ -0,0 +1,113 @@
_discoverable: yes
---
_hidden: no
---
title: ungleich infrastructure availability
---
subtitle: Making your services dependable
---
image:/u/image/cards/infrastructure-availability.jpg
---
headline1: ungleich
---
headline2: Infrastructure
---
headline3: Availability
---
header_background_color: #568BD5
---
header_text_color: text-light
---
nav_classes: navbar-dark
---
description1:
## Infrastructure availability
This is version **1.0 of the ungleich infrastructure availability definition**.
Depending on your project or business case you have different
availbility requirements. At ungleich we accomodate the range
from "can be offline for a while" up to "is mission critical".
We orientate ourselves on the It standard availability definitions
"availability per year". The following table gives an overview of
typical availability rates:
```
| % | Accepted downtime / year |
|--------+--------------------------|
| 98 | 175.2h or 7.3 days |
| 99 | 87.6h or 3.65 days |
| 99.9 | 8.76h |
| 99.99 | 0.876h or 52.55 minutes |
| 99.999 | 5.25 minutes |
```
## General availability
If not otherwise specified, the **target availability** for every
service is 99.9%. This availability is **not guaranteed by
default**. However we offer **guaranteed availability** for a range of
our products.
## Guaranteed availability
We can guarantee availability of individual services depending on your
needs. As every customer need and product is individual, you can
[ask for an individual offer](/u/contact/) for your services.
## High Availability Methods
To improve the default availability, we offer a variety of
add-ons. Depending on the booked service, different methods are
applicable. In this section we describe the general methods we offer.
### Redundant storage
By default all data is replicated 3 times accross our decentralised
storage system. This protects against disk failures like a traditional
RAID system does. Note that this does not protect against
unintentional deletion, for this you require a backup.
### Offsite backup
To allow disaster recovery, we offer [offsite backups](../backup/)
for most of our services. The data is stored in a physical different
location so that even physical damage to a data center will allow you
to restore your data.
### Dedicated Internet uplinks and IP blocks
To protect you against DDoS and impacts on our general infrastructure,
we offer dedicated Internet uplinks that are reserved for your
service. This includes a /48 IPv6 address block by default for BGP
announcement. A /24 IPv4 address block for indidivual BGP announcement
can be added at an extra service cost.
### Redundant services / High availability (HA)
We realise high availability (HA) using redundant services. These
services can be placed in the same geographic or different geographic
data centers. Depending on the service architecture we offer
Cold-Standby, Hot-Standby or active-active services.
With different geographic locations separate data storage is included
by default. For services in the same location, an optional separate
data storage is also available.
### Load Balancing
For services that allow multiple backends, we offer load balancing
services to distribute the traffic. This can be combined with
dedicated uplinks per location, indivual IP address blocks and
distributed application deployments in multiple locations. You can
also easily realise [blue green
deployments](https://en.wikipedia.org/wiki/Blue-green_deployment) or
[Canary releases](https://martinfowler.com/bliki/CanaryRelease.html).
## Related pages
* [ungleich SLAs](../ungleich-sla/)
* [ungleich Service Hours](../ungleich-service-hour/)
* [ungleich Support Packages](../ungleich-support-package/)

View file

@ -0,0 +1,135 @@
_discoverable: yes
---
_hidden: no
---
title: ungleich service hours
---
subtitle: Let us solve your challenges
---
image:/u/image/cards/service-hours.jpg
---
headline1: ungleich
---
headline2: Service
---
headline3: Hours
---
header_background_color: #5996CE
---
header_text_color: text-light
---
nav_classes: navbar-dark
---
description1:
You can hire ungleich staff for solving your infrastructure,
software development and project management tasks. Below table
summarises our standard rates. For projects exceeding the specified
standard packages, [reach out to us individually](/u/contact/).
<div class="table-responsive mt-4">
<table class="table colored-table table-bordered">
<tr>
<th>Package/Feature</th>
<th>Default rate</th>
<th>Support package</th>
<th>Starter package</th>
<th>Collaboration package</th>
</tr>
<tr>
<th>Hourly Rate (during business hours)</th>
<td>220 CHF/h</td>
<td>210 CHF/h</td>
<td>200 CHF/h</td>
<td>180 CHF/h</td>
</tr>
<tr>
<th>Hours included during business hours</th>
<td>0</td>
<td>2</td>
<td>10</td>
<td>20</td>
</tr>
<tr>
<th>Hourly Rate (outside of business hours)</th>
<td>360 CHF/h</td>
<td>343 CHF/h</td>
<td>327 CHF/h</td>
<td>295 CHF/h</td>
</tr>
<tr>
<th>Hours included (outside of business hours)</th>
<td>0</td>
<td>0</td>
<td>2</td>
<td>5</td>
</tr>
<tr>
<th>Package valid for</th>
<td>on demand</td>
<td>30 days</td>
<td>30 days</td>
<td>60 days</td>
</tr>
<tr>
<th>Discount</th>
<td>0%</td>
<td>4.5%</td>
<td>9%</td>
<td>18%</td>
</tr>
<tr>
<th>Pricing</th>
<td>FREE</td>
<td>500</td>
<td>3'000</td>
<td>5'500</td>
</tr>
</table>
</div>
* Business hours are Mo-Fr, 9-17, excluding Swiss national holidays
* Hours not consumed during the given timeframe are expired.
* All packages are non-refundable
* Discounts available for Open Source and climate related projects
* For long term and bigger projects, ask for an individual quote.
## Related pages
* [ungleich Infrastructure Availability](../ungleich-infrastructure-availability)
* [ungleich SLAs](../ungleich-sla)
* [ungleich Support Packages](../ungleich-support-package)
---
offer1_title: Support Package 500 CHF
---
offer1_text:
* 2 hours included during business hours
* Further hours during business time: 210 CHF/h
* 4.5% discount compared to default hourly rate
* Valid for 30 days
---
offer1_link: https://ungleich.ch/product/support-package-500
---
offer2_title: Starter Package 3'000 CHF
---
offer2_text:
* 10 hours included during business hours
* 2 hours included outside business hours
* Further hours during business time: 210 CHF/h
* 9% discount compared to default hourly rate
* Valid for 30 days
---
offer2_link: https://ungleich.ch/product/starter-package-3000
---
offer3_title: Collaboration Package 5'500 CHF
---
offer3_text:
* 20 hours included during business hours
* 5 hours included outside business hours
* Further hours during business time: 180 CHF/h
* 18% discount compared to default hourly rate
* Valid for 60 days
---
offer3_link: https://ungleich.ch/product/collaboration-package-5500

View file

@ -1,4 +1,4 @@
_discoverable: no
_discoverable: yes
---
_hidden: no
---
@ -6,12 +6,30 @@ title: ungleich SLA levels
---
subtitle: ungleich service level agreements
---
image:/u/image/cards/sla-levels.jpg
---
headline1: Service
---
headline2: Level
---
headline3: Agreements
---
header_background_color: #61C1C0
---
header_text_color: text-light
---
nav_classes: navbar-dark
---
description1:
What is the right SLA (service level agreement) for you? At ungleich
we know that every organisation has individual needs and resources.
Depending on your need, we offer different types of service level
agreements.
Our Service Level Agreements (SLAs) define the reachability as well
as the reaction times. As every customer situation is unique, we allow
customization of the service level per customer.
In this document you can find what the default
SLA covers and which additional options you have.
This is **version 1.0** of the ungleich SLA levels.
## The standard SLA
@ -19,92 +37,237 @@ If not otherwise specified in the product or service you acquired from
us, the standard SLA will apply. This SLA covers standard operations
and is suitable for non-critical deployments. The standard SLA covers:
* Target uptime of all services: 99.9%
* Service level: best effort
* Included for all products
* Support via support@ungleich.ch (answered 9-17 on work days)
* Individual Development and Support available at standard rate of 220 CHF/h
* No telephone support
* Best effort reaction times
* Support via support@ungleich.ch (answered 09:00-17:00 on work days)
* Best effort telephone support
* Included in all products
### Overview of the SLA levels
<div class="table-responsive mt-4">
<table class="table colored-table table-bordered">
<thead>
<tr>
<th>Feature / SLA</th>
<th>Standard SLA</th>
<th>Business SLA</th>
<th>Professional SLA</th>
<th>Professional Plus SLA</th>
<th>Critical Services SLA</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Support via E-Mail</th>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
<td>yes</td>
</tr>
<tr>
<th scope="row">Guaranteed response time via E-Mail</th>
<td>best effort</td>
<td><a href="#1-business-day">1 business day</a></td>
<td><a href="#4h-business-hours">4h during business hours</a></td>
<td><a href="#4h-extended-business-hours">4h during extended business hours</a></td>
<td><a href="#4h-24x7">4h every day</a></td>
</tr>
<tr>
<th scope="row">Support via telephone</th>
<td>best effort</td>
<td>best effort</td>
<td>Mo-Fr 09:00-17:00</td>
<td>Mo-Fr 06:00-22:00</td>
<td>Mo-Su 00:00-23:59</td>
</tr>
<tr>
<th scope="row">Pricing (CHF/month)</th>
<td>Included for free</td>
<td>450</td>
<td>900</td>
<td>1'800</td>
<td>4'200</td>
</tr>
</tbody>
</table>
</div>
All prices are excluding the [service hours](../ungleich-service-hour).
---
feature1_title: Bronze SLA
---
feature1_text:
The business SLA is suited for running regular applications with a
focus of business continuity and individual support. Compared to the
standard SLA it **guarantees you responses within 5 hours** on work
days. You also can **reach our staff at extended** hours.
---
feature2_title: Enterprise SLA
---
feature2_text:
The Enterprise SLA is right for you if you need high availability, but
you don't require instant reaction times from our team.
How this works:
* All services are setup in a high availability setup (additional
charges for resources apply)
* The target uptime of services: 99.99%
---
feature3_title: High Availability (HA) SLA
---
feature3_text:
If your application is mission critical, this is the right SLA for
you. The **HA SLA** guarantees high availability, multi location
deployments with cross-datacenter backups and fast reaction times
on 24 hours per day.
---
offer1_title: Business SLA
offer1_title: Business SLA: 450 CHF/month
---
offer1_text:
* Target uptime of all services: 99.9%
* Service level: guaranteed reaction within 1 business day
* Development/Support (need to phrase this well): 180 CHF/h
* Telephone support (8-18 work days)
* Mail support (8-18 work days)
* Optional out of business hours hotline (360 CHF/h)
* 3'000 CHF/6 months
* Guaranteed response time within 1 business day
* Efficient support handling with support history
* Suitable for SME and smaller projects
---
offer1_link: https://ungleich.ch/u/contact/
offer1_link: https://ungleich.ch/product/business-sla/
---
offer2_title: Enterprise SLA
offer2_title: Professional SLA: 900 CHF/month
---
offer2_text:
** Requires High availability setup for all services with separate pricing
* Service level: reaction within 4 hours
* Telephone support (24x7 work days)
* Services are provided in multiple data centers
* Included out of business hours hotline (180 CHF/h)
* 18'000 CHF/6 months
* Guaranteed response time 4h during business hours
* Guaranteed reachability via telephone during business hours
* Efficient support handling with support history
* Suitable when fast response during business day is important
---
offer2_link: https://ungleich.ch/u/contact/
offer2_link: https://ungleich.ch/product/professional-sla/
---
offer3_title: HA SLA
offer3_title: Professional Plus SLA: 1'800 CHF/month
---
offer3_text:
* Uptime guarantees >= 99.99%
* Ticketing system reaction time < 3h
* 24x7 telephone support
* Applications running in multiple data centers
* Minimum monthly fee: 3000 CHF (according to individual service definition)
Individual pricing. Contact us on support@ungleich.ch for an indivual
quote and we will get back to you.
* Guaranteed response time 4h during **extended** business hours
* Covering most time of the day (16h)
* Guaranteed reachability via telephone during **extended** business hours
* Efficient support handling with support history
* Suitable when fast response during even outside business hours is required
---
offer3_link: https://ungleich.ch/u/contact/
offer3_link: https://ungleich.ch/product/professional-plus-sla/
---
offer4_title: Critical Services SLA: 4'200 CHF/month
---
offer4_text:
* Guaranteed response time 4h during **every day** (including national holidays)
* Covering the complete day (24h)
* Guaranteed reachability at any time
* Efficient support handling with support history
* Suitable for mission critical services
---
offer4_link: https://ungleich.ch/product/critical-services-sla/
---
description6:
## Services and reaction times in detail
### Business hours
Our reguar business hours are from 09:00-17:00, Monday to Friday, with the
exception of Swiss national holidays.
### Extended Business hours
The extended business hours are from 06:00-22:00, Monday to Friday, with the
exception of Swiss national holidays.
### <a name="1-business-day"></a> 1 business day reaction times
The request will be answered within the next business day. The table
below shows the details for every time of the week.
<div class="table-responsive mt-4">
<table class="table colored-table table-bordered">
<thead>
<tr>
<th>Request received</th>
<th>Answer guaranteed until</th>
</tr>
</thead>
<tbody>
<tr>
<td>Between Monday 09:00-17:00</th>
<td>Tuesday 17:00</th>
</tr>
<tr>
<td>Between Tuesday 09:00-17:00</th>
<td>Wednesday 17:00</th>
</tr>
<tr>
<td>Between Wednesday 09:00-17:00</th>
<td>Thursday 17:00</th>
</tr>
<tr>
<td>Between Thursday 09:00-17:00</th>
<td>Friday 17:00</th>
</tr>
<tr>
<td>Between Friday 17:00 and Monday 09:00</th>
<td>Monday 17:00</th>
</tr>
</tbody>
</table>
</div>
If a work day is a Swiss national holiday it is treated as Friday to
Monday period.
### <a name="4h-business-hours"></a> 4h during business hours reaction times
The request will be answered within the 4h during business hours. The
table below shows the details:
<div class="table-responsive mt-4">
<table class="table colored-table table-bordered">
<thead>
<tr>
<th>Request received</th>
<th>Answer guaranteed until</th>
</tr>
</thead>
<tbody>
<tr>
<td>Between 09:00-13:00 on a work day</td>
<td>Between 13:00-17:00 on the same work day</td>
</tr>
<tr>
<td>Between 13:00-17:00 on a work day</td>
<td>Between 09:00-13:00 on the next work day</td>
</tr>
</tbody>
</table>
</div>
### <a name="4h-extended-business-hours"></a> 4h during extended business hours reaction times
The request will be answered within the 4h during business hours. The
table below shows the details:
<div class="table-responsive mt-4">
<table class="table colored-table table-bordered">
<thead>
<tr>
<th>Request received</th>
<th>Answer guaranteed until</th>
</tr>
</thead>
<tbody>
<tr>
<td>Between 09:00-13:00 on a work day</th>
<td>Between 13:00-17:00 on the same work day</th>
</tr>
<tr>
<td>Between 13:00-17:00 on a work day</th>
<td>Between 09:00-13:00 on the next work day</th>
</tr>
</tbody>
</table>
</div>
### <a name="4h-24x7"></a> Every day 4h response time reaction times
The request will be answered within the 4h independent of the day or
time.
<div class="table-responsive mt-4">
<table class="table colored-table table-bordered">
<tr>
<th>Request received</th>
<th>Answer guaranteed until</th>
</tr>
<tr>
<td>Between 00:00-23:59 every day</th>
<td>Within 4 hours</th>
</tr>
</table>
</div>
### Business language
As our team is very international, our primary business language is
English, secondary language is German. On request, we are also
available in Korean and French.
## Related pages
* [ungleich Infrastructure Availability](../ungleich-infrastructure-availability)
* [ungleich Service Hours](../ungleich-service-hour)
* [ungleich Support Packages](../ungleich-support-package)

View file

@ -0,0 +1,150 @@
_discoverable: yes
---
_hidden: no
---
title: ungleich support packages
---
subtitle: Let us make your life easy
---
image:/u/image/cards/support-packages.jpg
---
headline1: ungleich
---
headline2: support
---
headline3: package
---
header_background_color: #79C161
---
header_text_color: text-light
---
nav_classes: navbar-dark
---
description1:
Every project and every business has invdiual needs in regards to
support reachablity, infrastructure uptime and development and
consultancy efforts.
We allow every project to individually select their
SLA, consultancy packages and availability requirements. Below we have
summarised typical selections from our customers for easy selection.
<div class="table-responsive mt-4">
<table class="table colored-table table-bordered">
<tr>
<th>Package/Feature</th>
<th>Business Light</th>
<th>Business Standard</th>
<th>Business Pro</th>
<th>Business Pro Plus</th>
<th>Critical Services</th>
</tr>
<tr>
<th>Working hour package</th>
<td>Support package</td>
<td>Starter package</td>
<td>Starter package</td>
<td>Collaboration package</td>
<td>Collaboration package</td>
</tr>
<tr>
<th>Working hours included (during business hours/outside
business hours)</th>
<td>2 / 0</td>
<td>10 / 2</td>
<td>10 / 2</td>
<td>20 / 5</td>
<td>20 / 5</td>
</tr>
<tr>
<th>SLA package</th>
<td>Business SLA</td>
<td>Business SLA</td>
<td>Professional SLA</td>
<td>Professional Plus SLA</td>
<td>Critical Services SLA</td>
</tr>
<tr>
<th>Reaction times</th>
<td>1 business day</td>
<td>1 business day</td>
<td>4h during business hours</td>
<td>4h during extended business hours</td>
<td>4h every day</td>
</tr>
<tr>
<th><a href="#availiblity">Targetted Minimum Availability</a></th>
<td>99%</td>
<td>99%</td>
<td>99.9%</td>
<td>99.99%</td>
<td>99.999%</td>
</tr>
<tr>
<th>Pricing (CHF/month)</th>
<td>950</td>
<td>3'450</td>
<td>3'900</td>
<td>7'300</td>
<td>9'700</td>
</tr>
</table>
</div>
## <a name="availiblity"></a> Targetted Minimum Availability
The availability of our services is defined individually depending on
the services booked. Find more information about it on the
[ungleich infrastructure
availability](../ungleich-infrastructure-availability) page.
---
offer1_title: Business Light: 950 CHF/month
---
offer1_text:
* Contains service hours Support package
* Contains Business SLA
---
offer1_link: https://ungleich.ch/product/support-business-light
---
offer2_title: Business Standard: 3'450 CHF/month
---
offer2_text:
* Contains service hours Starter package
* Contains Business SLA
---
offer2_link: https://ungleich.ch/product/support-business-standard
---
offer3_title: Business Pro: 3'900 CHF/month
---
offer3_text:
* Contains service hours Starter package
* Contains Professional SLA
---
offer3_link: https://ungleich.ch/product/support-business-pro
---
offer4_title: Business Pro Plus: 7'300 CHF/month
---
offer4_text:
* Contains service hours Collaboration package
* Contains Professional Plus SLA
---
offer4_link: https://ungleich.ch/product/support-business-pro-plus
---
offer5_title: Critical Services: 9'700 CHF/month
---
offer5_text:
* Contains service hours Collaboration package
* Contains Critical Services SLA
---
offer5_link: https://ungleich.ch/product/support-critical-services
---
description6:
## Related pages
* [ungleich Infrastructure Availability](../ungleich-infrastructure-availability/)
* [ungleich SLAs](../ungleich-sla/)
* [ungleich Service Hours](../ungleich-service-hour/)

View file

@ -76,7 +76,7 @@ offer1_text:
* **One free IPv6 VPN** included for increased security
* Datacenter location: Glarus, Switzerland
* Enhanced security by limiting access to only your devices
* Suitable for 1-5 ppeople with no additioal appps
* Suitable for 1-5 people with no additioal appps
* The cloud will run on a virtual machine with 1 Core, 2 GB RAM, 10 GB SSD, 100 GB HDD
* [1 time initial setup fee 35 CHF](https://ungleich.ch/product/0carboncloud-setup/)
@ -92,11 +92,11 @@ offer2_text:
* **One free IPv6 VPN** included for increased security
* Datacenter location: Glarus, Switzerland
* Enhanced security by limiting access to only your devices
* Suitable for 1-5 ppeople with no additioal appps
* Suitable for 1-5 people with no additioal appps
* The cloud will run on a virtual machine with 1 Core, 2 GB RAM, 10 GB SSD, 500 GB HDD
* [1 time initial setup fee 35 CHF](https://ungleich.ch/product/0carboncloud-setup/)
Recommended for your private use or for a smaller project.
Recommended for your private use or for a smaller project.
---
offer2_link: https://ungleich.ch/product/0carboncloud-s-500GB/
@ -108,7 +108,7 @@ offer3_text:
* **One free IPv6 VPNs** included for increased security
* Datacenter location: Glarus, Switzerland
* Enhanced security by limiting access to only your devices
* Suitable for 5-10 ppeople with 1-2 enable appps
* Suitable for 5-10 people with 1-2 enable appps
* The cloud will run on a virtual machine with 2 Core, 4 GB RAM, 10 GB SSD, 500 GB HDD
* [1 time initial setup fee 35 CHF](https://ungleich.ch/product/0carboncloud-setup/)
@ -124,7 +124,7 @@ offer4_text:
* **Two free IPv6 VPNs** included for increased security
* Datacenter location: Glarus, Switzerland
* Enhanced security by limiting access to only your devices
* Suitable for 5-10 ppeople with 1-2 enable appps
* Suitable for 5-10 people with 1-2 enable appps
* The cloud will run on a virtual machine with 2 Core, 4 GB RAM, 10 GB SSD, 5 TB HDD
* [1 time initial setup fee 35 CHF](https://ungleich.ch/product/0carboncloud-setup/)
@ -137,10 +137,10 @@ offer5_title: Cloud L-1 TB @ 76 CHF/month
---
offer5_text:
* **One free IPv6 VPNs** included for increased security
* **Two free IPv6 VPNs** included for increased security
* Datacenter location: Glarus, Switzerland
* Enhanced security by limiting access to only your devices
* Suitable for 10-20 ppeople with 3-4 enable appps
* Suitable for 10-20 people with 3-4 enable appps
* The cloud will run on a virtual machine with 4 Core, 8 GB RAM, 10 GB SSD, 1 TB HDD
* [1 time initial setup fee 35 CHF](https://ungleich.ch/product/0carboncloud-setup/)
@ -153,10 +153,10 @@ offer6_title: Cloud L-10 TB @ 256 CHF/month
---
offer6_text:
* **Three free IPv6 VPNs** included for increased security
* **Five free IPv6 VPNs** included for increased security
* Datacenter location: Glarus, Switzerland
* Enhanced security by limiting access to only your devices
* Suitable for 10-20 ppeople with 3-4 enable appps
* Suitable for 10-20 people with 3-4 enable appps
* The cloud will run on a virtual machine with 4 Core, 8 GB RAM, 10 GB SSD, 10 TB HDD
* [1 time initial setup fee 35 CHF](https://ungleich.ch/product/0carboncloud-setup/)

View file

@ -0,0 +1,41 @@
title: Privacy Policy
---
subtitle: ungleich's policy on your privacy
---
description1:
## Introduction
This is version 0.1 of our privacy policy from 2021-10-04.
## Privacy by default
At ungleich we are strong believers of **privacy by default**. That
means: you don't need to opt-in for privacy and you don't need to
opt-out for newsletters or marketing information. Privacy is a big
concern for us and our customers.
## Logging and data submission
By default all our services are configured to a minimum amount of
logging. We cannot claim a **zero log policy**, because for
operational measures (spammers, denial of service attacks, for
billing) we need to log some data.
We however **do not sell your data**. Our business is providing
services, not making money of your information.
## Third party access
We minimise the amount of data that is seen by third parties. At the
moment some of our websites use google analytics (for historic
reasons). We plan to remove this by the beginning of 2022.
Services like our [data storage](/u/products/data-storage/),
[the hosted matrix chat](/u/products/hosted-matrix-chat/),
[zero carbon VPS hosting](/u/products/virtual-machine-hosting/),
[zero carbon chat](/u/products/zero-carbon-chat/) and
[zero carbon cloud](/u/products/zero-carbon-cloud/) do not send any
data to third parties by default. There might be plugins or settings
that allow you to enable communication with third parties, but we do
not configure them by default. Above list is not exhaustive.

View file

@ -1,4 +0,0 @@
The structure of templates should be:
- layout.html: valid for everything
- product.html: valid for all products

10
templates/README.md Normal file
View file

@ -0,0 +1,10 @@
Installation
```
$ pip install lektor
```
The structure of templates should be:
- layout.html: valid for everything
- product.html: valid for all products

View file

@ -98,9 +98,9 @@
</ul>
<form class="form-inline my-2 my-lg-0"
action="https://search.ungleich.ch/yacysearch.html" method="get">
<input class="form-control mr-sm-2" type="search"
<input class="form-control p-2 mr-sm-2" type="search"
placeholder="Search" name="query" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
<button class="btn btn-outline-success my-2 my-sm-0 btn-sm" type="submit">Search</button>
</form>
</div>
</nav>

View file

@ -4,39 +4,50 @@
{% block content %}
{% if this.description1 %}
<div class="container">
<div class="row mb-3">
<div class="col-md-12">
{{ this.description1 }}
<section class="section">
<div class="container">
<div class="row mb-3">
<div class="col-md-12">
{{ this.description1 }}
</div>
</div>
</div>
</div>
</section>
{% endif %}
<div class="container">
<div class="row mb-5">
<div class="col-md-4">
<h3 class="font-weight-normal">{{ this.feature1_title }}</h3>
<p class="font-weight-normal">{{ this.feature1_text }}</p>
</div>
<div class="col-md-4">
<h3 class="font-weight-normal">{{ this.feature2_title }}</h3>
<p class="font-weight-normal">{{ this.feature2_text }}</p>
</div>
<div class="col-md-4">
<h3 class="font-weight-normal">{{ this.feature3_title }}</h3>
<p class="font-weight-normal">{{ this.feature3_text }}</p>
<section class="section">
<div class="container">
<div class="row">
<div class="col-sm-4 col-lg-4 mb-5 mb-lg-0">
<div class="featured-box">
<h3>{{ this.feature1_title }}</h3>
<p class="text-3">{{ this.feature1_text }}</p>
</div>
</div>
<div class="col-sm-4 col-lg-4 mb-5 mb-lg-0">
<div class="featured-box">
<h3>{{ this.feature2_title }}</h3>
<p class="text-3">{{ this.feature2_text }}</p>
</div>
</div>
<div class="col-sm-4 col-lg-4 mb-5 mb-sm-0">
<div class="featured-box">
<h3>{{ this.feature3_title }}</h3>
<p class="text-3">{{ this.feature3_text }}</p>
</div>
</div>
</div>
</div>
</section>
{% if this.description2 %}
<div class="container">
<div class="row mb-3">
<div class="col-md-12">
{{ this.description2 }}
<section class="section">
<div class="container">
<div class="row mb-3">
<div class="col-md-12">
{{ this.description2 }}
</div>
</div>
</div>
</div>
</section>
{% endif %}
{% if this.content1_text %}
@ -64,14 +75,14 @@
</div>
{% endif %}
<div class="container">
<div class="row mb-3">
<div class="row">
<div class="col-md-4">
{% if this.offer1_title and this.offer1_text and this.offer1_link %}
<div class="card">
<div class="card-body">
<h5 class="card-title">{{ this.offer1_title }}</h5>
<p class="card-text">{{ this.offer1_text }}</p>
<a href="{{ this.offer1_link }}" class="btn btn-primary">Order</a>
<a href="{{ this.offer1_link }}" class="btn btn-primary btn-sm">Order</a>
</div>
</div>
{% endif %}
@ -82,7 +93,7 @@
<div class="card-body">
<h5 class="card-title">{{ this.offer2_title }}</h5>
<p class="card-text">{{ this.offer2_text }}</p>
<a href="{{ this.offer2_link }}" class="btn btn-primary">Order</a>
<a href="{{ this.offer2_link }}" class="btn btn-primary btn-sm">Order</a>
</div>
</div>
{% endif %}
@ -93,22 +104,25 @@
<div class="card-body">
<h5 class="card-title">{{ this.offer3_title }}</h5>
<p class="card-text">{{ this.offer3_text }}</p>
<a href="{{ this.offer3_link }}" class="btn btn-primary">Order</a>
<a href="{{ this.offer3_link }}" class="btn btn-primary btn-sm">Order</a>
</div>
</div>
{% endif %}
</div>
</div>
</div>
<hr/>
<hr/>
</div>
{% if this.description4 %}
<div class="container">
<div class="row mb-3">
<div class="col-md-12">
{{ this.description4 }}
<section class="section">
<div class="container">
<div class="row mb-3">
<div class="col-md-12">
{{ this.description4 }}
</div>
</div>
</div>
</div>
</section>
{% endif %}
{% if this.content2_text %}
@ -159,7 +173,7 @@
<div class="card-body">
<h5 class="card-title">{{ this.offer4_title }}</h5>
<p class="card-text">{{ this.offer4_text }}</p>
<a href="{{ this.offer4_link }}" class="btn btn-primary">Order</a>
<a href="{{ this.offer4_link }}" class="btn btn-primary btn-sm">Order</a>
</div>
</div>
{% endif %}
@ -170,7 +184,7 @@
<div class="card-body">
<h5 class="card-title">{{ this.offer5_title }}</h5>
<p class="card-text">{{ this.offer5_text }}</p>
<a href="{{ this.offer5_link }}" class="btn btn-primary">Order</a>
<a href="{{ this.offer5_link }}" class="btn btn-primary btn-sm">Order</a>
</div>
</div>
{% endif %}
@ -181,7 +195,7 @@
<div class="card-body">
<h5 class="card-title">{{ this.offer6_title }}</h5>
<p class="card-text">{{ this.offer6_text }}</p>
<a href="{{ this.offer6_link }}" class="btn btn-primary">Order</a>
<a href="{{ this.offer6_link }}" class="btn btn-primary btn-sm">Order</a>
</div>
</div>
{% endif %}

View file

@ -3,7 +3,7 @@
{% block subtitle %}{{ this.subtitle }}{% endblock %}
{% block content %}
<div class="section">
<div class="container">
{% for childpage in this.children %}
@ -63,4 +63,5 @@
</div>
</div>
</div>
</div>
{% endblock %}

View file

@ -3,4 +3,4 @@ name = ungleich: IPv6 - Linux - FOSS
url = https://ungleich.ch
[packages]
lektor-atom = 0.3
lektor-atom = 0.4.0