Merge branch 'master' of git+ssh://code.ungleich.ch/ungleich-public/ungleich-staticcms
This commit is contained in:
commit
d818d02ae9
22 changed files with 995 additions and 153 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,3 +1,4 @@
|
||||||
venv/
|
venv/
|
||||||
.DS_Store
|
.DS_Store
|
||||||
.idea/
|
.idea/
|
||||||
|
.history
|
||||||
|
|
BIN
assets/u/image/cards/infrastructure-availability.jpg
Normal file
BIN
assets/u/image/cards/infrastructure-availability.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 261 KiB |
BIN
assets/u/image/cards/service-hours.jpg
Normal file
BIN
assets/u/image/cards/service-hours.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 264 KiB |
BIN
assets/u/image/cards/sla-levels.jpg
Normal file
BIN
assets/u/image/cards/sla-levels.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 201 KiB |
BIN
assets/u/image/cards/support-packages.jpg
Normal file
BIN
assets/u/image/cards/support-packages.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 275 KiB |
BIN
assets/u/image/product.jpg
Normal file
BIN
assets/u/image/product.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.8 MiB |
|
@ -9,3 +9,25 @@
|
||||||
.headlinebold {
|
.headlinebold {
|
||||||
font-family: "Nimbus Sans L";
|
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;
|
||||||
|
}
|
|
@ -25,6 +25,20 @@ header h1 {
|
||||||
font-size: 42px;
|
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 {
|
header nav ul {
|
||||||
list-style: none;
|
list-style: none;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
|
200
content/u/blog/ipv6-vpn-dns-entries/contents.lr
Normal file
200
content/u/blog/ipv6-vpn-dns-entries/contents.lr
Normal 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).
|
|
@ -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
|
|
|
@ -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/)
|
135
content/u/products/ungleich-service-hour/contents.lr
Normal file
135
content/u/products/ungleich-service-hour/contents.lr
Normal 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
|
|
@ -1,4 +1,4 @@
|
||||||
_discoverable: no
|
_discoverable: yes
|
||||||
---
|
---
|
||||||
_hidden: no
|
_hidden: no
|
||||||
---
|
---
|
||||||
|
@ -6,12 +6,30 @@ title: ungleich SLA levels
|
||||||
---
|
---
|
||||||
subtitle: ungleich service level agreements
|
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:
|
description1:
|
||||||
|
|
||||||
What is the right SLA (service level agreement) for you? At ungleich
|
Our Service Level Agreements (SLAs) define the reachability as well
|
||||||
we know that every organisation has individual needs and resources.
|
as the reaction times. As every customer situation is unique, we allow
|
||||||
Depending on your need, we offer different types of service level
|
customization of the service level per customer.
|
||||||
agreements.
|
|
||||||
|
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
|
## 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
|
us, the standard SLA will apply. This SLA covers standard operations
|
||||||
and is suitable for non-critical deployments. The standard SLA covers:
|
and is suitable for non-critical deployments. The standard SLA covers:
|
||||||
|
|
||||||
* Target uptime of all services: 99.9%
|
* Best effort reaction times
|
||||||
* Service level: best effort
|
* Support via support@ungleich.ch (answered 09:00-17:00 on work days)
|
||||||
* Included for all products
|
* Best effort telephone support
|
||||||
* Support via support@ungleich.ch (answered 9-17 on work days)
|
* Included in all products
|
||||||
* Individual Development and Support available at standard rate of 220 CHF/h
|
|
||||||
* No telephone support
|
|
||||||
|
|
||||||
|
### 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
|
offer1_title: Business SLA: 450 CHF/month
|
||||||
---
|
|
||||||
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_text:
|
offer1_text:
|
||||||
|
* Guaranteed response time within 1 business day
|
||||||
* Target uptime of all services: 99.9%
|
* Efficient support handling with support history
|
||||||
* Service level: guaranteed reaction within 1 business day
|
* Suitable for SME and smaller projects
|
||||||
* 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
|
|
||||||
|
|
||||||
---
|
---
|
||||||
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:
|
offer2_text:
|
||||||
|
* Guaranteed response time 4h during business hours
|
||||||
** Requires High availability setup for all services with separate pricing
|
* Guaranteed reachability via telephone during business hours
|
||||||
* Service level: reaction within 4 hours
|
* Efficient support handling with support history
|
||||||
* Telephone support (24x7 work days)
|
* Suitable when fast response during business day is important
|
||||||
* Services are provided in multiple data centers
|
|
||||||
* Included out of business hours hotline (180 CHF/h)
|
|
||||||
* 18'000 CHF/6 months
|
|
||||||
|
|
||||||
---
|
---
|
||||||
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:
|
offer3_text:
|
||||||
|
* Guaranteed response time 4h during **extended** business hours
|
||||||
* Uptime guarantees >= 99.99%
|
* Covering most time of the day (16h)
|
||||||
* Ticketing system reaction time < 3h
|
* Guaranteed reachability via telephone during **extended** business hours
|
||||||
* 24x7 telephone support
|
* Efficient support handling with support history
|
||||||
* Applications running in multiple data centers
|
* Suitable when fast response during even outside business hours is required
|
||||||
* 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.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
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)
|
||||||
|
|
150
content/u/products/ungleich-support-package/contents.lr
Normal file
150
content/u/products/ungleich-support-package/contents.lr
Normal 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/)
|
|
@ -76,7 +76,7 @@ offer1_text:
|
||||||
* **One free IPv6 VPN** included for increased security
|
* **One free IPv6 VPN** included for increased security
|
||||||
* Datacenter location: Glarus, Switzerland
|
* Datacenter location: Glarus, Switzerland
|
||||||
* Enhanced security by limiting access to only your devices
|
* 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
|
* 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/)
|
* [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
|
* **One free IPv6 VPN** included for increased security
|
||||||
* Datacenter location: Glarus, Switzerland
|
* Datacenter location: Glarus, Switzerland
|
||||||
* Enhanced security by limiting access to only your devices
|
* 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
|
* 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/)
|
* [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/
|
offer2_link: https://ungleich.ch/product/0carboncloud-s-500GB/
|
||||||
|
@ -108,7 +108,7 @@ offer3_text:
|
||||||
* **One free IPv6 VPNs** included for increased security
|
* **One free IPv6 VPNs** included for increased security
|
||||||
* Datacenter location: Glarus, Switzerland
|
* Datacenter location: Glarus, Switzerland
|
||||||
* Enhanced security by limiting access to only your devices
|
* 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
|
* 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/)
|
* [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
|
* **Two free IPv6 VPNs** included for increased security
|
||||||
* Datacenter location: Glarus, Switzerland
|
* Datacenter location: Glarus, Switzerland
|
||||||
* Enhanced security by limiting access to only your devices
|
* 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
|
* 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/)
|
* [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:
|
offer5_text:
|
||||||
|
|
||||||
* **One free IPv6 VPNs** included for increased security
|
* **Two free IPv6 VPNs** included for increased security
|
||||||
* Datacenter location: Glarus, Switzerland
|
* Datacenter location: Glarus, Switzerland
|
||||||
* Enhanced security by limiting access to only your devices
|
* 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
|
* 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/)
|
* [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:
|
offer6_text:
|
||||||
|
|
||||||
* **Three free IPv6 VPNs** included for increased security
|
* **Five free IPv6 VPNs** included for increased security
|
||||||
* Datacenter location: Glarus, Switzerland
|
* Datacenter location: Glarus, Switzerland
|
||||||
* Enhanced security by limiting access to only your devices
|
* 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
|
* 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/)
|
* [1 time initial setup fee 35 CHF](https://ungleich.ch/product/0carboncloud-setup/)
|
||||||
|
|
||||||
|
|
41
content/u/projects/privacy-policy/contents.lr
Normal file
41
content/u/projects/privacy-policy/contents.lr
Normal 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.
|
|
@ -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
10
templates/README.md
Normal 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
|
|
@ -98,9 +98,9 @@
|
||||||
</ul>
|
</ul>
|
||||||
<form class="form-inline my-2 my-lg-0"
|
<form class="form-inline my-2 my-lg-0"
|
||||||
action="https://search.ungleich.ch/yacysearch.html" method="get">
|
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">
|
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>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
|
@ -4,39 +4,50 @@
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{% if this.description1 %}
|
{% if this.description1 %}
|
||||||
<div class="container">
|
<section class="section">
|
||||||
<div class="row mb-3">
|
<div class="container">
|
||||||
<div class="col-md-12">
|
<div class="row mb-3">
|
||||||
{{ this.description1 }}
|
<div class="col-md-12">
|
||||||
|
{{ this.description1 }}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</section>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<div class="container">
|
<section class="section">
|
||||||
<div class="row mb-5">
|
<div class="container">
|
||||||
<div class="col-md-4">
|
<div class="row">
|
||||||
<h3 class="font-weight-normal">{{ this.feature1_title }}</h3>
|
<div class="col-sm-4 col-lg-4 mb-5 mb-lg-0">
|
||||||
<p class="font-weight-normal">{{ this.feature1_text }}</p>
|
<div class="featured-box">
|
||||||
</div>
|
<h3>{{ this.feature1_title }}</h3>
|
||||||
<div class="col-md-4">
|
<p class="text-3">{{ this.feature1_text }}</p>
|
||||||
<h3 class="font-weight-normal">{{ this.feature2_title }}</h3>
|
</div>
|
||||||
<p class="font-weight-normal">{{ this.feature2_text }}</p>
|
</div>
|
||||||
</div>
|
<div class="col-sm-4 col-lg-4 mb-5 mb-lg-0">
|
||||||
<div class="col-md-4">
|
<div class="featured-box">
|
||||||
<h3 class="font-weight-normal">{{ this.feature3_title }}</h3>
|
<h3>{{ this.feature2_title }}</h3>
|
||||||
<p class="font-weight-normal">{{ this.feature3_text }}</p>
|
<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>
|
</div>
|
||||||
</div>
|
</section>
|
||||||
|
|
||||||
{% if this.description2 %}
|
{% if this.description2 %}
|
||||||
<div class="container">
|
<section class="section">
|
||||||
<div class="row mb-3">
|
<div class="container">
|
||||||
<div class="col-md-12">
|
<div class="row mb-3">
|
||||||
{{ this.description2 }}
|
<div class="col-md-12">
|
||||||
|
{{ this.description2 }}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</section>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if this.content1_text %}
|
{% if this.content1_text %}
|
||||||
|
@ -64,14 +75,14 @@
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row mb-3">
|
<div class="row">
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
{% if this.offer1_title and this.offer1_text and this.offer1_link %}
|
{% if this.offer1_title and this.offer1_text and this.offer1_link %}
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h5 class="card-title">{{ this.offer1_title }}</h5>
|
<h5 class="card-title">{{ this.offer1_title }}</h5>
|
||||||
<p class="card-text">{{ this.offer1_text }}</p>
|
<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>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -82,7 +93,7 @@
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h5 class="card-title">{{ this.offer2_title }}</h5>
|
<h5 class="card-title">{{ this.offer2_title }}</h5>
|
||||||
<p class="card-text">{{ this.offer2_text }}</p>
|
<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>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -93,22 +104,25 @@
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h5 class="card-title">{{ this.offer3_title }}</h5>
|
<h5 class="card-title">{{ this.offer3_title }}</h5>
|
||||||
<p class="card-text">{{ this.offer3_text }}</p>
|
<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>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<hr/>
|
||||||
<hr/>
|
</div>
|
||||||
|
|
||||||
{% if this.description4 %}
|
{% if this.description4 %}
|
||||||
<div class="container">
|
<section class="section">
|
||||||
<div class="row mb-3">
|
<div class="container">
|
||||||
<div class="col-md-12">
|
<div class="row mb-3">
|
||||||
{{ this.description4 }}
|
<div class="col-md-12">
|
||||||
|
{{ this.description4 }}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</section>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if this.content2_text %}
|
{% if this.content2_text %}
|
||||||
|
@ -159,7 +173,7 @@
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h5 class="card-title">{{ this.offer4_title }}</h5>
|
<h5 class="card-title">{{ this.offer4_title }}</h5>
|
||||||
<p class="card-text">{{ this.offer4_text }}</p>
|
<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>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -170,7 +184,7 @@
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h5 class="card-title">{{ this.offer5_title }}</h5>
|
<h5 class="card-title">{{ this.offer5_title }}</h5>
|
||||||
<p class="card-text">{{ this.offer5_text }}</p>
|
<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>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -181,7 +195,7 @@
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h5 class="card-title">{{ this.offer6_title }}</h5>
|
<h5 class="card-title">{{ this.offer6_title }}</h5>
|
||||||
<p class="card-text">{{ this.offer6_text }}</p>
|
<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>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
{% block subtitle %}{{ this.subtitle }}{% endblock %}
|
{% block subtitle %}{{ this.subtitle }}{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
<div class="section">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
{% for childpage in this.children %}
|
{% for childpage in this.children %}
|
||||||
|
|
||||||
|
@ -63,4 +63,5 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -3,4 +3,4 @@ name = ungleich: IPv6 - Linux - FOSS
|
||||||
url = https://ungleich.ch
|
url = https://ungleich.ch
|
||||||
|
|
||||||
[packages]
|
[packages]
|
||||||
lektor-atom = 0.3
|
lektor-atom = 0.4.0
|
||||||
|
|
Loading…
Reference in a new issue