diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index 2d2ecd6..0000000 --- a/.dockerignore +++ /dev/null @@ -1 +0,0 @@ -.git/ diff --git a/.gitignore b/.gitignore index d92c453..e9842fb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ venv/ .DS_Store .idea/ -.history diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5778c44..7a6dbe7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,7 +2,7 @@ stages: - build - deploy -image: code.ungleich.ch:5050/ungleich-public/ungleich-staticcms:latest +image: registry.gitlab.com/fnux/ungleich-images/staticcms-ci:latest variables: BUILDDIR: "build/" diff --git a/Dockerfile b/Dockerfile index e381543..ad99858 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,7 @@ -FROM alpine:3.24 +# This image used for CI. -RUN apk add --no-cache make python3 imagemagick -COPY . /build +FROM debian:latest +MAINTAINER Timothée Floure -WORKDIR /build -RUN make clean -RUN make build - -FROM nginx:alpine -COPY --from=0 /ungleich-staticcms-build /usr/share/nginx/html +RUN apt-get update +RUN apt-get install -y make lektor imagemagick openssh-client rsync diff --git a/Dockerfile.debian b/Dockerfile.debian deleted file mode 100644 index 9233d33..0000000 --- a/Dockerfile.debian +++ /dev/null @@ -1,8 +0,0 @@ -# This image used for CI. - -FROM debian:latest -MAINTAINER Timothée Floure - -RUN apt-get update -RUN apt-get install -y make python3-pip imagemagick openssh-client rsync git -RUN pip3 install git+https://github.com/lektor/lektor/ diff --git a/Makefile b/Makefile index 922705e..60083d2 100644 --- a/Makefile +++ b/Makefile @@ -1,46 +1,11 @@ BUILDDIR?=../ungleich-staticcms-build DESTINATION=ungleichstatic@staticweb.ungleich.ch:/home/services/www/ungleichstatic/staticcms.ungleich.ch/www/u/ -VENV_PATH=./venv -VERSION=$(shell git describe --always) -ARGOCD_HOME=$$HOME/vcs/k8s-config/cluster/p10/apps/templates/ -ARGOCD_YAML=staticweb-ungleich.yaml -ARGOCD_APP=$(ARGOCD_HOME)/$(ARGOCD_YAML) - -IMAGE_NAME=harbor.k8s.ungleich.ch/ungleich-public/ungleich-staticcms - -# These run outside the container -all: argocd - -argocd: container - sed -i "s,$(IMAGE_NAME):.*,$(IMAGE_NAME):$(VERSION)," $(ARGOCD_APP) - cd $(ARGOCD_HOME) && git pull && git add $(ARGOCD_YAML) && git commit -m "[staticweb] Update ungleich-staticcms to $(VERSION)" $(ARGOCD_YAML) && git push - -container: push - docker build -t $(IMAGE_NAME):$(VERSION) . - docker push $(IMAGE_NAME):$(VERSION) - -justcontainer: - docker build -t $(IMAGE_NAME):$(VERSION) . - -push: pull - git push +all: publish pull: git pull -run: justcontainer - docker run -p 8082:80 $(IMAGE_NAME):$(VERSION) - -# These run inside the container -build: venv - . $(VENV_PATH)/bin/activate && lektor build -O $(BUILDDIR) - -venv: requirements.txt - python3 -m venv $(VENV_PATH) - sh -c ". $(VENV_PATH)/bin/activate && pip install -r requirements.txt" - -# Pre container targets (kept for reference) publish: pull build deploy deploy: permissions @@ -51,5 +16,8 @@ permissions: build find $(BUILDDIR) -type f -exec chmod 0644 {} \; find $(BUILDDIR) -type d -exec chmod 0755 {} \; +build: + lektor build -O $(BUILDDIR) + clean: - rm -rf $(BUILDDIR) $(VENV_PATH) + rm -rf $(BUILDDIR) diff --git a/assets/u/image/blue-bg.jpg b/assets/u/image/blue-bg.jpg deleted file mode 100644 index 6297db6..0000000 Binary files a/assets/u/image/blue-bg.jpg and /dev/null differ diff --git a/assets/u/image/cards/100servers.jpg b/assets/u/image/cards/100servers.jpg deleted file mode 100644 index fef1610..0000000 Binary files a/assets/u/image/cards/100servers.jpg and /dev/null differ diff --git a/assets/u/image/cards/advent-1.jpg b/assets/u/image/cards/advent-1.jpg deleted file mode 100644 index e51504e..0000000 Binary files a/assets/u/image/cards/advent-1.jpg and /dev/null differ diff --git a/assets/u/image/cards/advent-10.jpg b/assets/u/image/cards/advent-10.jpg deleted file mode 100644 index a088881..0000000 Binary files a/assets/u/image/cards/advent-10.jpg and /dev/null differ diff --git a/assets/u/image/cards/advent-11.jpg b/assets/u/image/cards/advent-11.jpg deleted file mode 100644 index a592f71..0000000 Binary files a/assets/u/image/cards/advent-11.jpg and /dev/null differ diff --git a/assets/u/image/cards/advent-12.jpg b/assets/u/image/cards/advent-12.jpg deleted file mode 100644 index 6b80997..0000000 Binary files a/assets/u/image/cards/advent-12.jpg and /dev/null differ diff --git a/assets/u/image/cards/advent-13.jpg b/assets/u/image/cards/advent-13.jpg deleted file mode 100644 index b74d211..0000000 Binary files a/assets/u/image/cards/advent-13.jpg and /dev/null differ diff --git a/assets/u/image/cards/advent-14.jpg b/assets/u/image/cards/advent-14.jpg deleted file mode 100644 index 4472dd1..0000000 Binary files a/assets/u/image/cards/advent-14.jpg and /dev/null differ diff --git a/assets/u/image/cards/advent-15.jpg b/assets/u/image/cards/advent-15.jpg deleted file mode 100644 index af4b7b3..0000000 Binary files a/assets/u/image/cards/advent-15.jpg and /dev/null differ diff --git a/assets/u/image/cards/advent-16.jpg b/assets/u/image/cards/advent-16.jpg deleted file mode 100644 index 536aaa7..0000000 Binary files a/assets/u/image/cards/advent-16.jpg and /dev/null differ diff --git a/assets/u/image/cards/advent-17.jpg b/assets/u/image/cards/advent-17.jpg deleted file mode 100644 index 6477df6..0000000 Binary files a/assets/u/image/cards/advent-17.jpg and /dev/null differ diff --git a/assets/u/image/cards/advent-18.jpg b/assets/u/image/cards/advent-18.jpg deleted file mode 100644 index 1c8cf17..0000000 Binary files a/assets/u/image/cards/advent-18.jpg and /dev/null differ diff --git a/assets/u/image/cards/advent-19.jpg b/assets/u/image/cards/advent-19.jpg deleted file mode 100644 index f6c1be2..0000000 Binary files a/assets/u/image/cards/advent-19.jpg and /dev/null differ diff --git a/assets/u/image/cards/advent-2.jpg b/assets/u/image/cards/advent-2.jpg deleted file mode 100644 index bd4ede7..0000000 Binary files a/assets/u/image/cards/advent-2.jpg and /dev/null differ diff --git a/assets/u/image/cards/advent-20.jpg b/assets/u/image/cards/advent-20.jpg deleted file mode 100644 index b5d16f0..0000000 Binary files a/assets/u/image/cards/advent-20.jpg and /dev/null differ diff --git a/assets/u/image/cards/advent-21.jpg b/assets/u/image/cards/advent-21.jpg deleted file mode 100644 index 49d5933..0000000 Binary files a/assets/u/image/cards/advent-21.jpg and /dev/null differ diff --git a/assets/u/image/cards/advent-22.jpg b/assets/u/image/cards/advent-22.jpg deleted file mode 100644 index bbf6c58..0000000 Binary files a/assets/u/image/cards/advent-22.jpg and /dev/null differ diff --git a/assets/u/image/cards/advent-23.jpg b/assets/u/image/cards/advent-23.jpg deleted file mode 100644 index 0eeba6e..0000000 Binary files a/assets/u/image/cards/advent-23.jpg and /dev/null differ diff --git a/assets/u/image/cards/advent-24.jpg b/assets/u/image/cards/advent-24.jpg deleted file mode 100644 index 3eb2557..0000000 Binary files a/assets/u/image/cards/advent-24.jpg and /dev/null differ diff --git a/assets/u/image/cards/advent-3.jpg b/assets/u/image/cards/advent-3.jpg deleted file mode 100644 index ad36d8b..0000000 Binary files a/assets/u/image/cards/advent-3.jpg and /dev/null differ diff --git a/assets/u/image/cards/advent-4.jpg b/assets/u/image/cards/advent-4.jpg deleted file mode 100644 index 5088f21..0000000 Binary files a/assets/u/image/cards/advent-4.jpg and /dev/null differ diff --git a/assets/u/image/cards/advent-5.jpg b/assets/u/image/cards/advent-5.jpg deleted file mode 100644 index 7fc5e2f..0000000 Binary files a/assets/u/image/cards/advent-5.jpg and /dev/null differ diff --git a/assets/u/image/cards/advent-6.jpg b/assets/u/image/cards/advent-6.jpg deleted file mode 100644 index dbf8058..0000000 Binary files a/assets/u/image/cards/advent-6.jpg and /dev/null differ diff --git a/assets/u/image/cards/advent-7.jpg b/assets/u/image/cards/advent-7.jpg deleted file mode 100644 index 88c612b..0000000 Binary files a/assets/u/image/cards/advent-7.jpg and /dev/null differ diff --git a/assets/u/image/cards/advent-8.jpg b/assets/u/image/cards/advent-8.jpg deleted file mode 100644 index 44ee361..0000000 Binary files a/assets/u/image/cards/advent-8.jpg and /dev/null differ diff --git a/assets/u/image/cards/advent-9.jpg b/assets/u/image/cards/advent-9.jpg deleted file mode 100644 index 2553103..0000000 Binary files a/assets/u/image/cards/advent-9.jpg and /dev/null differ diff --git a/assets/u/image/cards/advent-sample.jpg b/assets/u/image/cards/advent-sample.jpg deleted file mode 100644 index b30b8ee..0000000 Binary files a/assets/u/image/cards/advent-sample.jpg and /dev/null differ diff --git a/assets/u/image/cards/advent.jpg b/assets/u/image/cards/advent.jpg deleted file mode 100644 index a29c658..0000000 Binary files a/assets/u/image/cards/advent.jpg and /dev/null differ diff --git a/assets/u/image/cards/ass.jpg b/assets/u/image/cards/ass.jpg deleted file mode 100644 index c6fa928..0000000 Binary files a/assets/u/image/cards/ass.jpg and /dev/null differ diff --git a/assets/u/image/cards/backup.jpg b/assets/u/image/cards/backup.jpg deleted file mode 100644 index fa945a0..0000000 Binary files a/assets/u/image/cards/backup.jpg and /dev/null differ diff --git a/assets/u/image/cards/bgp-peering.jpg b/assets/u/image/cards/bgp-peering.jpg deleted file mode 100644 index 0f0c71b..0000000 Binary files a/assets/u/image/cards/bgp-peering.jpg and /dev/null differ diff --git a/assets/u/image/cards/blackfriday20.jpg b/assets/u/image/cards/blackfriday20.jpg deleted file mode 100644 index 38d4585..0000000 Binary files a/assets/u/image/cards/blackfriday20.jpg and /dev/null differ diff --git a/assets/u/image/cards/blackfriday21.jpg b/assets/u/image/cards/blackfriday21.jpg deleted file mode 100644 index de16d38..0000000 Binary files a/assets/u/image/cards/blackfriday21.jpg and /dev/null differ diff --git a/assets/u/image/cards/blackfriday22.jpg b/assets/u/image/cards/blackfriday22.jpg deleted file mode 100644 index 01e83cb..0000000 Binary files a/assets/u/image/cards/blackfriday22.jpg and /dev/null differ diff --git a/assets/u/image/cards/comingsoon.jpg b/assets/u/image/cards/comingsoon.jpg deleted file mode 100644 index 8286e38..0000000 Binary files a/assets/u/image/cards/comingsoon.jpg and /dev/null differ diff --git a/assets/u/image/cards/dedicated-alpine.jpg b/assets/u/image/cards/dedicated-alpine.jpg deleted file mode 100644 index d5fab52..0000000 Binary files a/assets/u/image/cards/dedicated-alpine.jpg and /dev/null differ diff --git a/assets/u/image/cards/dedicated-december.jpg b/assets/u/image/cards/dedicated-december.jpg deleted file mode 100644 index 4d0ab84..0000000 Binary files a/assets/u/image/cards/dedicated-december.jpg and /dev/null differ diff --git a/assets/u/image/cards/django-hosting-best.jpg b/assets/u/image/cards/django-hosting-best.jpg deleted file mode 100644 index 8dd19ca..0000000 Binary files a/assets/u/image/cards/django-hosting-best.jpg and /dev/null differ diff --git a/assets/u/image/cards/django-hosting.jpg b/assets/u/image/cards/django-hosting.jpg deleted file mode 100644 index fe4da8c..0000000 Binary files a/assets/u/image/cards/django-hosting.jpg and /dev/null differ diff --git a/assets/u/image/cards/education.jpg b/assets/u/image/cards/education.jpg deleted file mode 100644 index 9c7f489..0000000 Binary files a/assets/u/image/cards/education.jpg and /dev/null differ diff --git a/assets/u/image/cards/giftcard.jpg b/assets/u/image/cards/giftcard.jpg deleted file mode 100644 index 39d9108..0000000 Binary files a/assets/u/image/cards/giftcard.jpg and /dev/null differ diff --git a/assets/u/image/cards/hackinghotel.jpg b/assets/u/image/cards/hackinghotel.jpg new file mode 100644 index 0000000..609009d Binary files /dev/null and b/assets/u/image/cards/hackinghotel.jpg differ diff --git a/assets/u/image/cards/hackingvilla.jpg b/assets/u/image/cards/hackingvilla.jpg deleted file mode 100644 index 52b24f3..0000000 Binary files a/assets/u/image/cards/hackingvilla.jpg and /dev/null differ diff --git a/assets/u/image/cards/hosted-netbox.jpg b/assets/u/image/cards/hosted-netbox.jpg deleted file mode 100644 index 10f7f42..0000000 Binary files a/assets/u/image/cards/hosted-netbox.jpg and /dev/null differ diff --git a/assets/u/image/cards/hotsummerstorage.jpg b/assets/u/image/cards/hotsummerstorage.jpg deleted file mode 100644 index c2a9087..0000000 Binary files a/assets/u/image/cards/hotsummerstorage.jpg and /dev/null differ diff --git a/assets/u/image/cards/infrastructure-availability.jpg b/assets/u/image/cards/infrastructure-availability.jpg deleted file mode 100644 index f8ce1fb..0000000 Binary files a/assets/u/image/cards/infrastructure-availability.jpg and /dev/null differ diff --git a/assets/u/image/cards/ipv4asaservice.jpg b/assets/u/image/cards/ipv4asaservice.jpg deleted file mode 100644 index 7add03c..0000000 Binary files a/assets/u/image/cards/ipv4asaservice.jpg and /dev/null differ diff --git a/assets/u/image/cards/ipv6-cartracker.jpg b/assets/u/image/cards/ipv6-cartracker.jpg deleted file mode 100644 index c781362..0000000 Binary files a/assets/u/image/cards/ipv6-cartracker.jpg and /dev/null differ diff --git a/assets/u/image/cards/ipv6-mobile-router.jpg b/assets/u/image/cards/ipv6-mobile-router.jpg deleted file mode 100644 index c3a4f3c..0000000 Binary files a/assets/u/image/cards/ipv6-mobile-router.jpg and /dev/null differ diff --git a/assets/u/image/cards/ipv6camera-new.jpg b/assets/u/image/cards/ipv6camera-new.jpg deleted file mode 100644 index 6e2fc21..0000000 Binary files a/assets/u/image/cards/ipv6camera-new.jpg and /dev/null differ diff --git a/assets/u/image/cards/ipv6camera.jpg b/assets/u/image/cards/ipv6camera.jpg deleted file mode 100644 index f50ab0e..0000000 Binary files a/assets/u/image/cards/ipv6camera.jpg and /dev/null differ diff --git a/assets/u/image/cards/ipv6consultancy.jpg b/assets/u/image/cards/ipv6consultancy.jpg deleted file mode 100644 index 2374646..0000000 Binary files a/assets/u/image/cards/ipv6consultancy.jpg and /dev/null differ diff --git a/assets/u/image/cards/ipv6education.jpg b/assets/u/image/cards/ipv6education.jpg deleted file mode 100644 index a228302..0000000 Binary files a/assets/u/image/cards/ipv6education.jpg and /dev/null differ diff --git a/assets/u/image/cards/ipv6holidaykit.jpg b/assets/u/image/cards/ipv6holidaykit.jpg deleted file mode 100644 index a38d267..0000000 Binary files a/assets/u/image/cards/ipv6holidaykit.jpg and /dev/null differ diff --git a/assets/u/image/cards/ipv6vpn-bestseller.jpg b/assets/u/image/cards/ipv6vpn-bestseller.jpg deleted file mode 100644 index c0538d5..0000000 Binary files a/assets/u/image/cards/ipv6vpn-bestseller.jpg and /dev/null differ diff --git a/assets/u/image/cards/ipv6vpn.jpg b/assets/u/image/cards/ipv6vpn.jpg deleted file mode 100644 index 24bdef4..0000000 Binary files a/assets/u/image/cards/ipv6vpn.jpg and /dev/null differ diff --git a/assets/u/image/cards/jobs.jpg b/assets/u/image/cards/jobs.jpg deleted file mode 100644 index e2deab7..0000000 Binary files a/assets/u/image/cards/jobs.jpg and /dev/null differ diff --git a/assets/u/image/cards/kubernetes.jpg b/assets/u/image/cards/kubernetes.jpg deleted file mode 100644 index bf9c522..0000000 Binary files a/assets/u/image/cards/kubernetes.jpg and /dev/null differ diff --git a/assets/u/image/cards/lowpower-kubernetes.jpg b/assets/u/image/cards/lowpower-kubernetes.jpg deleted file mode 100644 index 875cccc..0000000 Binary files a/assets/u/image/cards/lowpower-kubernetes.jpg and /dev/null differ diff --git a/assets/u/image/cards/mailhosting.jpg b/assets/u/image/cards/mailhosting.jpg deleted file mode 100644 index cf2d4f2..0000000 Binary files a/assets/u/image/cards/mailhosting.jpg and /dev/null differ diff --git a/assets/u/image/cards/managedipv4.jpg b/assets/u/image/cards/managedipv4.jpg deleted file mode 100644 index 09387cf..0000000 Binary files a/assets/u/image/cards/managedipv4.jpg and /dev/null differ diff --git a/assets/u/image/cards/mastodon.jpg b/assets/u/image/cards/mastodon.jpg deleted file mode 100644 index 8978e25..0000000 Binary files a/assets/u/image/cards/mastodon.jpg and /dev/null differ diff --git a/assets/u/image/cards/matrix-development.jpg b/assets/u/image/cards/matrix-development.jpg deleted file mode 100644 index 4f0331b..0000000 Binary files a/assets/u/image/cards/matrix-development.jpg and /dev/null differ diff --git a/assets/u/image/cards/matrix-hot.jpg b/assets/u/image/cards/matrix-hot.jpg deleted file mode 100644 index b0a53c8..0000000 Binary files a/assets/u/image/cards/matrix-hot.jpg and /dev/null differ diff --git a/assets/u/image/cards/monitoring.jpg b/assets/u/image/cards/monitoring.jpg deleted file mode 100644 index c56d8ad..0000000 Binary files a/assets/u/image/cards/monitoring.jpg and /dev/null differ diff --git a/assets/u/image/cards/pib.jpg b/assets/u/image/cards/pib.jpg deleted file mode 100644 index 1ceac5e..0000000 Binary files a/assets/u/image/cards/pib.jpg and /dev/null differ diff --git a/assets/u/image/cards/projectmanagement.jpg b/assets/u/image/cards/projectmanagement.jpg deleted file mode 100644 index 5a0e877..0000000 Binary files a/assets/u/image/cards/projectmanagement.jpg and /dev/null differ diff --git a/assets/u/image/cards/service-hours.jpg b/assets/u/image/cards/service-hours.jpg deleted file mode 100644 index 4bbb2de..0000000 Binary files a/assets/u/image/cards/service-hours.jpg and /dev/null differ diff --git a/assets/u/image/cards/sixnet.jpg b/assets/u/image/cards/sixnet.jpg deleted file mode 100644 index 2d928aa..0000000 Binary files a/assets/u/image/cards/sixnet.jpg and /dev/null differ diff --git a/assets/u/image/cards/sla-levels.jpg b/assets/u/image/cards/sla-levels.jpg deleted file mode 100644 index 4472c88..0000000 Binary files a/assets/u/image/cards/sla-levels.jpg and /dev/null differ diff --git a/assets/u/image/cards/stayhomesale.jpg b/assets/u/image/cards/stayhomesale.jpg deleted file mode 100644 index 9372db8..0000000 Binary files a/assets/u/image/cards/stayhomesale.jpg and /dev/null differ diff --git a/assets/u/image/cards/support-packages.jpg b/assets/u/image/cards/support-packages.jpg deleted file mode 100644 index be50c12..0000000 Binary files a/assets/u/image/cards/support-packages.jpg and /dev/null differ diff --git a/assets/u/image/cards/supportsystem.jpg b/assets/u/image/cards/supportsystem.jpg deleted file mode 100644 index 288c9bf..0000000 Binary files a/assets/u/image/cards/supportsystem.jpg and /dev/null differ diff --git a/assets/u/image/cards/timesale-2020-03.jpg b/assets/u/image/cards/timesale-2020-03.jpg deleted file mode 100644 index e5968b1..0000000 Binary files a/assets/u/image/cards/timesale-2020-03.jpg and /dev/null differ diff --git a/assets/u/image/cards/ubookmark.jpg b/assets/u/image/cards/ubookmark.jpg deleted file mode 100644 index fae6bdf..0000000 Binary files a/assets/u/image/cards/ubookmark.jpg and /dev/null differ diff --git a/assets/u/image/cards/ula-registry.jpg b/assets/u/image/cards/ula-registry.jpg deleted file mode 100644 index 6c06059..0000000 Binary files a/assets/u/image/cards/ula-registry.jpg and /dev/null differ diff --git a/assets/u/image/cards/videoconf.jpg b/assets/u/image/cards/videoconf.jpg deleted file mode 100644 index 48330f6..0000000 Binary files a/assets/u/image/cards/videoconf.jpg and /dev/null differ diff --git a/assets/u/image/cards/vigir.jpg b/assets/u/image/cards/vigir.jpg deleted file mode 100644 index 7d46f9b..0000000 Binary files a/assets/u/image/cards/vigir.jpg and /dev/null differ diff --git a/assets/u/image/cards/viirb-hot.jpg b/assets/u/image/cards/viirb-hot.jpg deleted file mode 100644 index 7fbc51e..0000000 Binary files a/assets/u/image/cards/viirb-hot.jpg and /dev/null differ diff --git a/assets/u/image/cards/viirb.jpg b/assets/u/image/cards/viirb.jpg deleted file mode 100644 index 761f874..0000000 Binary files a/assets/u/image/cards/viirb.jpg and /dev/null differ diff --git a/assets/u/image/cards/viwib-hot.jpg b/assets/u/image/cards/viwib-hot.jpg deleted file mode 100644 index ced8f5d..0000000 Binary files a/assets/u/image/cards/viwib-hot.jpg and /dev/null differ diff --git a/assets/u/image/cards/viwib.jpg b/assets/u/image/cards/viwib.jpg deleted file mode 100644 index 53341f2..0000000 Binary files a/assets/u/image/cards/viwib.jpg and /dev/null differ diff --git a/assets/u/image/cards/vpn-2021.jpg b/assets/u/image/cards/vpn-2021.jpg deleted file mode 100644 index 354c82d..0000000 Binary files a/assets/u/image/cards/vpn-2021.jpg and /dev/null differ diff --git a/assets/u/image/cards/vps-bestseller.jpg b/assets/u/image/cards/vps-bestseller.jpg deleted file mode 100644 index b163aac..0000000 Binary files a/assets/u/image/cards/vps-bestseller.jpg and /dev/null differ diff --git a/assets/u/image/cards/yearly-2020.jpg b/assets/u/image/cards/yearly-2020.jpg deleted file mode 100644 index 6d8b021..0000000 Binary files a/assets/u/image/cards/yearly-2020.jpg and /dev/null differ diff --git a/assets/u/image/chat-usecase.jpg b/assets/u/image/chat-usecase.jpg deleted file mode 100644 index 5e0d97b..0000000 Binary files a/assets/u/image/chat-usecase.jpg and /dev/null differ diff --git a/assets/u/image/co2-offset.jpg b/assets/u/image/co2-offset.jpg deleted file mode 100644 index ae5a9a9..0000000 Binary files a/assets/u/image/co2-offset.jpg and /dev/null differ diff --git a/assets/u/image/datacenter-location.jpg b/assets/u/image/datacenter-location.jpg deleted file mode 100644 index 2176722..0000000 Binary files a/assets/u/image/datacenter-location.jpg and /dev/null differ diff --git a/assets/u/image/datacenterlight-hydro-solar.jpg b/assets/u/image/datacenterlight-hydro-solar.jpg deleted file mode 100644 index 98a1612..0000000 Binary files a/assets/u/image/datacenterlight-hydro-solar.jpg and /dev/null differ diff --git a/assets/u/image/decarbonize-penguin.jpg b/assets/u/image/decarbonize-penguin.jpg deleted file mode 100644 index 2d9ef24..0000000 Binary files a/assets/u/image/decarbonize-penguin.jpg and /dev/null differ diff --git a/assets/u/image/decentralised-chat.jpg b/assets/u/image/decentralised-chat.jpg deleted file mode 100644 index f0612b6..0000000 Binary files a/assets/u/image/decentralised-chat.jpg and /dev/null differ diff --git a/assets/u/image/diesbach_outside_small.jpg b/assets/u/image/diesbach_outside_small.jpg deleted file mode 100644 index 4bfef09..0000000 Binary files a/assets/u/image/diesbach_outside_small.jpg and /dev/null differ diff --git a/assets/u/image/diy-backup.jpg b/assets/u/image/diy-backup.jpg deleted file mode 100644 index 8b521fc..0000000 Binary files a/assets/u/image/diy-backup.jpg and /dev/null differ diff --git a/assets/u/image/encrypted.jpg b/assets/u/image/encrypted.jpg deleted file mode 100644 index f11be9e..0000000 Binary files a/assets/u/image/encrypted.jpg and /dev/null differ diff --git a/assets/u/image/energysource.jpg b/assets/u/image/energysource.jpg deleted file mode 100644 index db3fc58..0000000 Binary files a/assets/u/image/energysource.jpg and /dev/null differ diff --git a/assets/u/image/environment-chat.jpg b/assets/u/image/environment-chat.jpg deleted file mode 100644 index 62583c6..0000000 Binary files a/assets/u/image/environment-chat.jpg and /dev/null differ diff --git a/assets/u/image/github-penguin.jpg b/assets/u/image/github-penguin.jpg deleted file mode 100644 index 6c7f329..0000000 Binary files a/assets/u/image/github-penguin.jpg and /dev/null differ diff --git a/assets/u/image/google-ipv6-2020-08-07.png b/assets/u/image/google-ipv6-2020-08-07.png deleted file mode 100644 index 052f1ba..0000000 Binary files a/assets/u/image/google-ipv6-2020-08-07.png and /dev/null differ diff --git a/assets/u/image/hack4glarus-2023-diesbach-camping.jpeg b/assets/u/image/hack4glarus-2023-diesbach-camping.jpeg deleted file mode 100644 index 236be56..0000000 Binary files a/assets/u/image/hack4glarus-2023-diesbach-camping.jpeg and /dev/null differ diff --git a/assets/u/image/hack4glarus-2023-diesbach-flowers.jpeg b/assets/u/image/hack4glarus-2023-diesbach-flowers.jpeg deleted file mode 100644 index 7fa4747..0000000 Binary files a/assets/u/image/hack4glarus-2023-diesbach-flowers.jpeg and /dev/null differ diff --git a/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-breakfast.jpeg b/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-breakfast.jpeg deleted file mode 100644 index f76154c..0000000 Binary files a/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-breakfast.jpeg and /dev/null differ diff --git a/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-cafe-snacks.jpeg b/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-cafe-snacks.jpeg deleted file mode 100644 index 11eda46..0000000 Binary files a/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-cafe-snacks.jpeg and /dev/null differ diff --git a/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-clubmate.jpeg b/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-clubmate.jpeg deleted file mode 100644 index de7da59..0000000 Binary files a/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-clubmate.jpeg and /dev/null differ diff --git a/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-coffee.jpeg b/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-coffee.jpeg deleted file mode 100644 index 0588350..0000000 Binary files a/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-coffee.jpeg and /dev/null differ diff --git a/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-day.jpg b/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-day.jpg deleted file mode 100644 index a63b957..0000000 Binary files a/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-day.jpg and /dev/null differ diff --git a/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-mountain.jpeg b/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-mountain.jpeg deleted file mode 100644 index 972b48a..0000000 Binary files a/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-mountain.jpeg and /dev/null differ diff --git a/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-night-building.jpg b/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-night-building.jpg deleted file mode 100644 index 3114cbe..0000000 Binary files a/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-night-building.jpg and /dev/null differ diff --git a/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-night.jpeg b/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-night.jpeg deleted file mode 100644 index e5c5fd2..0000000 Binary files a/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-night.jpeg and /dev/null differ diff --git a/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-pizza.jpeg b/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-pizza.jpeg deleted file mode 100644 index b3321b6..0000000 Binary files a/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-pizza.jpeg and /dev/null differ diff --git a/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-swimming-waterfall.jpeg b/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-swimming-waterfall.jpeg deleted file mode 100644 index 730b1c6..0000000 Binary files a/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-swimming-waterfall.jpeg and /dev/null differ diff --git a/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-waterfall.jpeg b/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-waterfall.jpeg deleted file mode 100644 index 889699f..0000000 Binary files a/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-waterfall.jpeg and /dev/null differ diff --git a/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-welcome.jpeg b/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-welcome.jpeg deleted file mode 100644 index b0f8a3c..0000000 Binary files a/assets/u/image/hack4glarus-2023-diesbach-hacking-villa-welcome.jpeg and /dev/null differ diff --git a/assets/u/image/hack4glarus-2023-diesbach-mountains-evening.jpeg b/assets/u/image/hack4glarus-2023-diesbach-mountains-evening.jpeg deleted file mode 100644 index bfa258e..0000000 Binary files a/assets/u/image/hack4glarus-2023-diesbach-mountains-evening.jpeg and /dev/null differ diff --git a/assets/u/image/hack4glarus-2023-hacking-villa-diesbach-cafe-presentation.jpeg b/assets/u/image/hack4glarus-2023-hacking-villa-diesbach-cafe-presentation.jpeg deleted file mode 100644 index 14c7d96..0000000 Binary files a/assets/u/image/hack4glarus-2023-hacking-villa-diesbach-cafe-presentation.jpeg and /dev/null differ diff --git a/assets/u/image/hack4glarus-2023-hacking-villa-diesbach-garden.jpeg b/assets/u/image/hack4glarus-2023-hacking-villa-diesbach-garden.jpeg deleted file mode 100644 index f2fedc9..0000000 Binary files a/assets/u/image/hack4glarus-2023-hacking-villa-diesbach-garden.jpeg and /dev/null differ diff --git a/assets/u/image/hack4glarus-2023-hacking-villa-diesbach-presentation-1.jpeg b/assets/u/image/hack4glarus-2023-hacking-villa-diesbach-presentation-1.jpeg deleted file mode 100644 index a7553c1..0000000 Binary files a/assets/u/image/hack4glarus-2023-hacking-villa-diesbach-presentation-1.jpeg and /dev/null differ diff --git a/assets/u/image/hack4glarus-2023-hacking-villa-diesbach-presentation-2.jpeg b/assets/u/image/hack4glarus-2023-hacking-villa-diesbach-presentation-2.jpeg deleted file mode 100644 index 5135444..0000000 Binary files a/assets/u/image/hack4glarus-2023-hacking-villa-diesbach-presentation-2.jpeg and /dev/null differ diff --git a/assets/u/image/hack4glarus-2023-hacking-villa-diesbach-presentation-3.JPG b/assets/u/image/hack4glarus-2023-hacking-villa-diesbach-presentation-3.JPG deleted file mode 100644 index 584bcd6..0000000 Binary files a/assets/u/image/hack4glarus-2023-hacking-villa-diesbach-presentation-3.JPG and /dev/null differ diff --git a/assets/u/image/hack4glarus-2023-hacking-villa-diesbach-presentation-4.jpeg b/assets/u/image/hack4glarus-2023-hacking-villa-diesbach-presentation-4.jpeg deleted file mode 100644 index 58504c2..0000000 Binary files a/assets/u/image/hack4glarus-2023-hacking-villa-diesbach-presentation-4.jpeg and /dev/null differ diff --git a/assets/u/image/hack4glarus-2023-hacking-villa-glarner-alpenbitter.jpeg b/assets/u/image/hack4glarus-2023-hacking-villa-glarner-alpenbitter.jpeg deleted file mode 100644 index 90a05ed..0000000 Binary files a/assets/u/image/hack4glarus-2023-hacking-villa-glarner-alpenbitter.jpeg and /dev/null differ diff --git a/assets/u/image/hack4glarus-2023-hacking-villa-x2go-team.jpeg b/assets/u/image/hack4glarus-2023-hacking-villa-x2go-team.jpeg deleted file mode 100644 index fe44619..0000000 Binary files a/assets/u/image/hack4glarus-2023-hacking-villa-x2go-team.jpeg and /dev/null differ diff --git a/assets/u/image/hack4glarus-2023-ipv6-tshirt.jpeg b/assets/u/image/hack4glarus-2023-ipv6-tshirt.jpeg deleted file mode 100644 index a938bd1..0000000 Binary files a/assets/u/image/hack4glarus-2023-ipv6-tshirt.jpeg and /dev/null differ diff --git a/assets/u/image/hack4glarus-2023-tibetan-momo.jpeg b/assets/u/image/hack4glarus-2023-tibetan-momo.jpeg deleted file mode 100644 index c20d792..0000000 Binary files a/assets/u/image/hack4glarus-2023-tibetan-momo.jpeg and /dev/null differ diff --git a/assets/u/image/hacking-villa-diesbach.jpg b/assets/u/image/hacking-villa-diesbach.jpg deleted file mode 100644 index 03fba86..0000000 Binary files a/assets/u/image/hacking-villa-diesbach.jpg and /dev/null differ diff --git a/assets/u/image/hotsummer.jpg b/assets/u/image/hotsummer.jpg deleted file mode 100644 index 7599eca..0000000 Binary files a/assets/u/image/hotsummer.jpg and /dev/null differ diff --git a/assets/u/image/ipv4-ipv6-nat-asymmetric.png b/assets/u/image/ipv4-ipv6-nat-asymmetric.png deleted file mode 100644 index 3e58687..0000000 Binary files a/assets/u/image/ipv4-ipv6-nat-asymmetric.png and /dev/null differ diff --git a/assets/u/image/ipv4-nat.png b/assets/u/image/ipv4-nat.png deleted file mode 100644 index d5e32f7..0000000 Binary files a/assets/u/image/ipv4-nat.png and /dev/null differ diff --git a/assets/u/image/ipv4-only-island-ipv6-reachable.png b/assets/u/image/ipv4-only-island-ipv6-reachable.png deleted file mode 100644 index 5c1aef1..0000000 Binary files a/assets/u/image/ipv4-only-island-ipv6-reachable.png and /dev/null differ diff --git a/assets/u/image/ipv4natandcgnat.png b/assets/u/image/ipv4natandcgnat.png deleted file mode 100644 index 645e876..0000000 Binary files a/assets/u/image/ipv4natandcgnat.png and /dev/null differ diff --git a/assets/u/image/ipv6-education.png b/assets/u/image/ipv6-education.png deleted file mode 100644 index 9bc966e..0000000 Binary files a/assets/u/image/ipv6-education.png and /dev/null differ diff --git a/assets/u/image/ipv6-mobile-router.jpg b/assets/u/image/ipv6-mobile-router.jpg deleted file mode 100644 index 6d62e79..0000000 Binary files a/assets/u/image/ipv6-mobile-router.jpg and /dev/null differ diff --git a/assets/u/image/ipv6-to-ipv4-proxy.png b/assets/u/image/ipv6-to-ipv4-proxy.png deleted file mode 100644 index f788778..0000000 Binary files a/assets/u/image/ipv6-to-ipv4-proxy.png and /dev/null differ diff --git a/assets/u/image/ipv6-vpn-ungleich-swiss.jpg b/assets/u/image/ipv6-vpn-ungleich-swiss.jpg deleted file mode 100644 index e984bed..0000000 Binary files a/assets/u/image/ipv6-vpn-ungleich-swiss.jpg and /dev/null differ diff --git a/assets/u/image/ipv6-with-the-viirb.png b/assets/u/image/ipv6-with-the-viirb.png deleted file mode 100644 index e65d358..0000000 Binary files a/assets/u/image/ipv6-with-the-viirb.png and /dev/null differ diff --git a/assets/u/image/jitsi-ungleich-confcall.jpg b/assets/u/image/jitsi-ungleich-confcall.jpg deleted file mode 100644 index 52ce433..0000000 Binary files a/assets/u/image/jitsi-ungleich-confcall.jpg and /dev/null differ diff --git a/assets/u/image/jitsi-ungleich.jpg b/assets/u/image/jitsi-ungleich.jpg deleted file mode 100644 index 95cd073..0000000 Binary files a/assets/u/image/jitsi-ungleich.jpg and /dev/null differ diff --git a/assets/u/image/k8s-v6-v4-dns.png b/assets/u/image/k8s-v6-v4-dns.png deleted file mode 100644 index eab1caf..0000000 Binary files a/assets/u/image/k8s-v6-v4-dns.png and /dev/null differ diff --git a/assets/u/image/managed-backup.jpg b/assets/u/image/managed-backup.jpg deleted file mode 100644 index ccfcc97..0000000 Binary files a/assets/u/image/managed-backup.jpg and /dev/null differ diff --git a/assets/u/image/managed-ipv4-explained.jpg b/assets/u/image/managed-ipv4-explained.jpg deleted file mode 100644 index 7b5375e..0000000 Binary files a/assets/u/image/managed-ipv4-explained.jpg and /dev/null differ diff --git a/assets/u/image/netbox.jpg b/assets/u/image/netbox.jpg deleted file mode 100644 index 6fc5714..0000000 Binary files a/assets/u/image/netbox.jpg and /dev/null differ diff --git a/assets/u/image/nextcloud-docediting.jpg b/assets/u/image/nextcloud-docediting.jpg deleted file mode 100644 index 3d19ca8..0000000 Binary files a/assets/u/image/nextcloud-docediting.jpg and /dev/null differ diff --git a/assets/u/image/nico-ripe79.jpeg b/assets/u/image/nico-ripe79.jpeg deleted file mode 100644 index 1773576..0000000 Binary files a/assets/u/image/nico-ripe79.jpeg and /dev/null differ diff --git a/assets/u/image/open-infrastructure-overview.jpg b/assets/u/image/open-infrastructure-overview.jpg deleted file mode 100644 index 584d4a7..0000000 Binary files a/assets/u/image/open-infrastructure-overview.jpg and /dev/null differ diff --git a/assets/u/image/open-infrastructure.jpg b/assets/u/image/open-infrastructure.jpg deleted file mode 100644 index 4cb46f0..0000000 Binary files a/assets/u/image/open-infrastructure.jpg and /dev/null differ diff --git a/assets/u/image/openwrt.svg b/assets/u/image/openwrt.svg deleted file mode 100644 index 9665031..0000000 --- a/assets/u/image/openwrt.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/assets/u/image/penguin-customer-support.jpg b/assets/u/image/penguin-customer-support.jpg deleted file mode 100644 index a8e5f4c..0000000 Binary files a/assets/u/image/penguin-customer-support.jpg and /dev/null differ diff --git a/assets/u/image/pro-ipv6-box-2.jpg b/assets/u/image/pro-ipv6-box-2.jpg deleted file mode 100644 index 81f618d..0000000 Binary files a/assets/u/image/pro-ipv6-box-2.jpg and /dev/null differ diff --git a/assets/u/image/pro-ipv6-box.jpg b/assets/u/image/pro-ipv6-box.jpg deleted file mode 100644 index 35d945a..0000000 Binary files a/assets/u/image/pro-ipv6-box.jpg and /dev/null differ diff --git a/assets/u/image/product.jpg b/assets/u/image/product.jpg deleted file mode 100644 index 06483a0..0000000 Binary files a/assets/u/image/product.jpg and /dev/null differ diff --git a/assets/u/image/security-class.jpg b/assets/u/image/security-class.jpg deleted file mode 100644 index cadebde..0000000 Binary files a/assets/u/image/security-class.jpg and /dev/null differ diff --git a/assets/u/image/southpole-projects.jpg b/assets/u/image/southpole-projects.jpg deleted file mode 100644 index e0e9fdd..0000000 Binary files a/assets/u/image/southpole-projects.jpg and /dev/null differ diff --git a/assets/u/image/southpole-ungleich-penguin-together.jpg b/assets/u/image/southpole-ungleich-penguin-together.jpg deleted file mode 100644 index 5502849..0000000 Binary files a/assets/u/image/southpole-ungleich-penguin-together.jpg and /dev/null differ diff --git a/assets/u/image/ungleich-chat-evolution.jpg b/assets/u/image/ungleich-chat-evolution.jpg deleted file mode 100644 index ab1fe7a..0000000 Binary files a/assets/u/image/ungleich-chat-evolution.jpg and /dev/null differ diff --git a/assets/u/image/ungleich-community.jpg b/assets/u/image/ungleich-community.jpg deleted file mode 100644 index 059c56a..0000000 Binary files a/assets/u/image/ungleich-community.jpg and /dev/null differ diff --git a/assets/u/image/vigir.jpg b/assets/u/image/vigir.jpg deleted file mode 100644 index 9b08ba9..0000000 Binary files a/assets/u/image/vigir.jpg and /dev/null differ diff --git a/assets/u/image/viirb-20201126-black.jpg b/assets/u/image/viirb-20201126-black.jpg deleted file mode 100644 index cad091e..0000000 Binary files a/assets/u/image/viirb-20201126-black.jpg and /dev/null differ diff --git a/assets/u/image/viirb-egg-1.jpg b/assets/u/image/viirb-egg-1.jpg deleted file mode 100644 index 5e10737..0000000 Binary files a/assets/u/image/viirb-egg-1.jpg and /dev/null differ diff --git a/assets/u/image/viirb-egg-2.jpg b/assets/u/image/viirb-egg-2.jpg deleted file mode 100644 index e0c473f..0000000 Binary files a/assets/u/image/viirb-egg-2.jpg and /dev/null differ diff --git a/assets/u/image/viirb-ipv6-box.png b/assets/u/image/viirb-ipv6-box.png deleted file mode 100644 index b1c6ecd..0000000 Binary files a/assets/u/image/viirb-ipv6-box.png and /dev/null differ diff --git a/assets/u/image/viirb-nico.jpg b/assets/u/image/viirb-nico.jpg deleted file mode 100644 index 5c73dcb..0000000 Binary files a/assets/u/image/viirb-nico.jpg and /dev/null differ diff --git a/assets/u/image/viirb-penguin.jpg b/assets/u/image/viirb-penguin.jpg deleted file mode 100644 index 950b59b..0000000 Binary files a/assets/u/image/viirb-penguin.jpg and /dev/null differ diff --git a/assets/u/image/viirb-ports.jpg b/assets/u/image/viirb-ports.jpg deleted file mode 100644 index 08e1559..0000000 Binary files a/assets/u/image/viirb-ports.jpg and /dev/null differ diff --git a/assets/u/image/viirb-snow.jpg b/assets/u/image/viirb-snow.jpg deleted file mode 100644 index 0a19825..0000000 Binary files a/assets/u/image/viirb-snow.jpg and /dev/null differ diff --git a/assets/u/image/viirb-strawberry.jpeg b/assets/u/image/viirb-strawberry.jpeg deleted file mode 100644 index 965efc1..0000000 Binary files a/assets/u/image/viirb-strawberry.jpeg and /dev/null differ diff --git a/assets/u/image/viirb-vertical.jpg b/assets/u/image/viirb-vertical.jpg deleted file mode 100644 index 6230597..0000000 Binary files a/assets/u/image/viirb-vertical.jpg and /dev/null differ diff --git a/assets/u/image/viwib-vertical.jpg b/assets/u/image/viwib-vertical.jpg deleted file mode 100644 index 13f679b..0000000 Binary files a/assets/u/image/viwib-vertical.jpg and /dev/null differ diff --git a/assets/u/image/viwib.jpg b/assets/u/image/viwib.jpg deleted file mode 100644 index 9697d92..0000000 Binary files a/assets/u/image/viwib.jpg and /dev/null differ diff --git a/assets/u/image/zerocarbon-chat-screen.jpg b/assets/u/image/zerocarbon-chat-screen.jpg deleted file mode 100644 index db67eb7..0000000 Binary files a/assets/u/image/zerocarbon-chat-screen.jpg and /dev/null differ diff --git a/assets/u/static/css/ungleich.css b/assets/u/static/css/ungleich.css deleted file mode 100755 index dad4589..0000000 --- a/assets/u/static/css/ungleich.css +++ /dev/null @@ -1,33 +0,0 @@ -/* Turns specific sections into bold for all platforms - Sanghee, Nico, 2020-04-29 -*/ -@font-face { - font-family: "Nimbus Sans L"; - src: url("/u/static/font/NimbusSans-Bold.otf") format("opentype"); -} - -.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; -} \ No newline at end of file diff --git a/assets/u/static/font/NimbusSans-Bold.otf b/assets/u/static/font/NimbusSans-Bold.otf deleted file mode 100644 index 5b1d298..0000000 Binary files a/assets/u/static/font/NimbusSans-Bold.otf and /dev/null differ diff --git a/assets/u/static/font/NimbusSans-Bold.ttf b/assets/u/static/font/NimbusSans-Bold.ttf deleted file mode 100644 index d364537..0000000 Binary files a/assets/u/static/font/NimbusSans-Bold.ttf and /dev/null differ diff --git a/assets/u/static/generic-header.css b/assets/u/static/generic-header.css index 34acc79..c8ccbcf 100644 --- a/assets/u/static/generic-header.css +++ b/assets/u/static/generic-header.css @@ -21,7 +21,7 @@ h2 { } .mb-5 { margin-bottom: 3rem !important; - } + } } @@ -32,7 +32,7 @@ h2 { .black-bg { background-color: black; } - + .red-bg { background-color: #d1240c; } @@ -53,8 +53,4 @@ h1.generic-header { font-size: 10vw; line-height: 12vw; } -} - -table, th, td { - border: 1px solid black; -} +} \ No newline at end of file diff --git a/assets/u/static/style.css b/assets/u/static/style.css index 459c337..7ff6e0b 100644 --- a/assets/u/static/style.css +++ b/assets/u/static/style.css @@ -25,20 +25,6 @@ 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; diff --git a/content/contents.lr b/content/contents.lr index b5f0c98..4775b03 100644 --- a/content/contents.lr +++ b/content/contents.lr @@ -8,16 +8,3 @@ There is not much here - everything is stored below /u/. You should actually not be able to see this page below ungleich.ch. If you do, please let us know. --- -slider: - -title: - -description: - -button_text: - -button_link: - -background_image: - -video_mp4: diff --git a/content/u/about/contents.lr b/content/u/about/contents.lr new file mode 100644 index 0000000..9edb4d5 --- /dev/null +++ b/content/u/about/contents.lr @@ -0,0 +1,7 @@ +title: About this Website +--- +body: + +This is a website that was made with the Lektor quickstart. + +And it does not contain a lot of information. diff --git a/content/u/advent-calendar/01/alpinelinux.jpg b/content/u/advent-calendar/01/alpinelinux.jpg deleted file mode 100644 index 62b2d0b..0000000 Binary files a/content/u/advent-calendar/01/alpinelinux.jpg and /dev/null differ diff --git a/content/u/advent-calendar/01/contents.lr b/content/u/advent-calendar/01/contents.lr deleted file mode 100644 index 00f90ae..0000000 --- a/content/u/advent-calendar/01/contents.lr +++ /dev/null @@ -1,74 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: IPv6-only Alpine Linux VMs ---- -subtitle: 20% off for the limited 10 VMs ---- -headline1: Surprise 01: ---- -headline2: 20% off ---- -headline3: IPv6-only Alpine Linux VMs ---- -header_background_color: #C12107 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -image: /u/image/cards/advent-1.jpg ---- -content1_text: - -## Welcome to our advent calender! - -Discover a new surprise everyday from 1st to 24th of December! The first deal starts with IPv6-Only, Alpine Linux. - -## IPv6 only, Alpine Linux VMs with 20% discount - -We are giving out IPv6 only, Alpine Linux VMs for a year with 20% discount. The deal is available for the first 10 orders. - -## About the product - -- OS: Alpine Linux -- 2 Core, 4 GB RAM, 20 GB SSD -- 1 year subscription -- 1 free IPv6 VPN is included -- full control over rDNS -- VM is running with 100% renewable energy(hydropower) in our [datacenter]((https://datacenterlight.ch)) in Glarus, Switzerland. - -## Why Alpine Linux? - - Alpine Linux is small and simple, realising the UNIX spirit to the core: doing one thing and doing it well. It is designed with minimalism at its best, enabling easier maintenance for security. - -## The discount - -* The standard price for IPv6 only VMs with 2 Cores, 4 GB RAM, 20 GB SSD is 21 CHF/month. -* The price with 20% discount: 16.8 CHF/month -* In a yearly plan, you pay 201.6 CHF instead of 252 CHF. You save 50.4 CHF -* Prices exclude VAT. - -## Scalable - -What if you want to scale the VM, or want to attach IPv4 address? You can scale your VM anytime or add HDD storage with our standard rate. You can drop a mail to our support and our team will help you. - -* 1 CPU: 3 CHF/month -* 1 GB RAM: 4 CHF/month -* 10 GB SSD: 3.5 CHF/month -* 100 GB HDD: 1.5 CHF/month -* Prices exclude VAT. - -## How to buy it - -You can order from the following link and send us your public SSH key to support-at-datacenterlight.ch. - -Our team will set up the VM in 1 business day and give you the access. - -Order an Alpine Linux VM for a year with 20% discount ---- -content1_image: alpinelinux.jpg ---- \ No newline at end of file diff --git a/content/u/advent-calendar/02/contents.lr b/content/u/advent-calendar/02/contents.lr deleted file mode 100644 index 8670cb1..0000000 --- a/content/u/advent-calendar/02/contents.lr +++ /dev/null @@ -1,38 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: Welcome, VIWIB! ---- -subtitle: A powerful little IPv6 box with WiFi! ---- -headline1: Surprise 02: ---- -headline2: Introducing VIWIB, ---- -headline3: IPv6 & Wifi everywhere ---- -header_background_color: #C12107 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -image: /u/image/cards/advent-2.jpg ---- -content1_image: /u/image/viwib-vertical.jpg ---- -content1_text: - -## Meet our VIWIB - -Today we are very proud to introduce you to our latest IPv6 enabler: -the [VIWIB](/u/products/viwib-wifi-ipv6-box/). It is the bigger sister -of our [VIIRB,](/u/products/viirb-ipv6-box/) and VIWIB brings IPv6 enabled WiFi to you! - -It is compatible with the VIIRB add-ons: VIWIB is also very -versatile. - -Now the preorder is open! diff --git a/content/u/advent-calendar/03/contents.lr b/content/u/advent-calendar/03/contents.lr deleted file mode 100644 index 51729fa..0000000 --- a/content/u/advent-calendar/03/contents.lr +++ /dev/null @@ -1,71 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: IPv6-only Ubuntu 20.10 VMs ---- -subtitle: 20% off for the 10 limited VMs ---- -image: /u/image/cards/advent-3.jpg ---- -header_background_color: #C12107 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -headline1: Surprise 03: ---- -headline2: 20% off ---- -headline3: Ubuntu 20.10 VMs ---- -content1_image: ubuntu.jpg ---- -content1_text: - -## IPv6 only, Ubuntu 20.10 VMs with 20% discount - -We want to enable anyone, anyone with IPv6. We are giving out IPv6 only, Ubuntu 20.10 VMs for a year with 20% discount. Only available for 10 VMs, grab it while you can. - -## About the product - -- OS: Ubuntu 20.10 -- 2 Core, 4 GB RAM, 20 GB SSD -- 1 year subscription -- 1 free IPv6 VPN is included -- full control over rDNS -- VM is running with 100% renewable energy(hydropower) in our [datacenter](https://datacenterlight.ch) in Glarus, Switzerland. - -## Why Ubuntu? - - Ubuntu is easy, Ubuntu is so likable! Ubuntu has the largest community amongst Linux operating systems so it is always nice to get support from friendly folks when you are stuck. The user-friendliness of Ubuntu has been one of its biggest strengths, not only for Linux beginners but for everybody. - -## The discount - -* The standard price for IPv6 only VMs with 2 Cores, 4 GB RAM, 20 GB SSD is 21 CHF/month -* The price with 20% discount: 16.8 CHF/month -* In a yearly plan, you pay 201.6 CHF instead of 252 CHF. You save 50.4 CHF. -* Prices exclude VAT. - -## Scalable - -What if you want to scale the VM, or want to attach IPv4 address? You can scale your VM anytime or add HDD storage with our standard rate. You can drop a mail to our support and our team will help you. - -* 1 CPU: 3 CHF/month -* 1 GB RAM: 4 CHF/month -* 10 GB SSD: 3.5 CHF/month -* 100 GB HDD: 1.5 CHF/month -* Prices exclude VAT. - -## How to buy it - -You can order from the following link and send us your public SSH key to support-at-datacenterlight.ch. - -Our team will set up the VM in 1 business day and give you the access. - -Order Ubuntu 20.10 VM for a year with 20% discount - ---- diff --git a/content/u/advent-calendar/03/ubuntu.jpg b/content/u/advent-calendar/03/ubuntu.jpg deleted file mode 100644 index fa37ab6..0000000 Binary files a/content/u/advent-calendar/03/ubuntu.jpg and /dev/null differ diff --git a/content/u/advent-calendar/04/contents.lr b/content/u/advent-calendar/04/contents.lr deleted file mode 100644 index a38146f..0000000 --- a/content/u/advent-calendar/04/contents.lr +++ /dev/null @@ -1,62 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: 10% off: Zero Carbon Cloud! ---- -subtitle: Get a year of our Cloud storage with 10% discount. ---- -image: /u/image/cards/advent-4.jpg ---- -header_background_color: #C12107 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -headline1: Surprise 04: ---- -headline2: 10% off ---- -headline3: Zero Carbon Cloud 100GB ---- -content1_image: security.jpg ---- -content1_text: - -## A yearly Zero Carbon Cloud with 10% discount - -You can order our [Zero Carbon Cloud](https://ungleich.ch/u/products/zero-carbon-cloud/) 100 GB plan for a year with 10% discount. Only available for 10 orders, grab it while you can. - -## About the product - -- Nextcloud instance -- Suitable for MacOS, Linux, Windows, and on mobile and tablet. -- 1 year subscription -- 1 IPv6 VPN is included for increased security -- Enhanced security by limiting access to only your devices -- Fully scalable storage and backup -- Unlimited bandwidth under fair use policy -- Safe data storage protected by Swiss privacy laws -- VM is running with 100% renewable energy (hydropower) in our [datacenter](https://datacenterlight.ch) in Glarus, Switzerland. - -## The discount - -* The standard price for Zero Carbon Cloud is one-time 35 CHF for setup, 25 CHF for monthly fee. -* The price with 10% discount: 22.5 CHF/month -* For the whole year you pay 305 CHF instead of 335 CHF. You save 30 CHF. -* Prices exclude VAT. - -## How to buy it - -You can order from the following link and write us the domain name you want for the cloud to support at datacenterlight.ch - -You can choose any domain name for your cloud under our domains glarner.cloud or 0co2.cloud for free, for example myname.glarner.cloud or myname.0co2.cloud. - -Our team will set up the cloud in 1 business day and give you the access. - -Order a Zero Carbon Cloud 100 GB for a year with 10% discount - ---- diff --git a/content/u/advent-calendar/04/security.jpg b/content/u/advent-calendar/04/security.jpg deleted file mode 100644 index fcc788d..0000000 Binary files a/content/u/advent-calendar/04/security.jpg and /dev/null differ diff --git a/content/u/advent-calendar/04/zerocarbon-yes.jpg b/content/u/advent-calendar/04/zerocarbon-yes.jpg deleted file mode 100644 index b68ee8a..0000000 Binary files a/content/u/advent-calendar/04/zerocarbon-yes.jpg and /dev/null differ diff --git a/content/u/advent-calendar/05/contents.lr b/content/u/advent-calendar/05/contents.lr deleted file mode 100644 index 53366f4..0000000 --- a/content/u/advent-calendar/05/contents.lr +++ /dev/null @@ -1,67 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: IPv6-only CentOS 8 VMs ---- -subtitle: 20% off for the 10 limited VMs ---- -image: /u/image/cards/advent-5.jpg ---- -header_background_color: #C12107 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -headline1: Surprise 05: ---- -headline2: 20% off ---- -headline3: CentOS 8 VMs ---- -content1_image: penguin-temperature.jpg ---- -content1_text: - -## IPv6 only, CentOS 8 VMs with 20% discount - -We are giving out IPv6 only, CentOS 8 VMs for a year with 20% discount. Only available for 10 VMs, grab it while you can. - -## About the product - -- OS: CentOS 8 -- 2 Core, 4 GB RAM, 20 GB SSD -- 1 year subscription -- 1 free IPv6 VPN is included -- full control over rDNS -- VM is running with 100% renewable energy(hydropower) in our [datacenter](https://datacenterlight.ch) in Glarus, Switzerland. - -## The discount - -* The standard price for IPv6 only VMs with 2 Cores, 4 GB RAM, 20 GB SSD is 21 CHF/month. -* The price with 20% discount: 16.8 CHF/month -* In a yearly plan, you pay 201.6 CHF instead of 252 CHF. You save 50.4 CHF. -* Prices exclude VAT. - -## Scalable - -What if you want to scale the VM, or want to attach IPv4 address? You can scale your VM anytime or add HDD storage with our standard rate. You can drop a mail to our support and our team will help you. - -* 1 CPU: 3 CHF/month -* 1 GB RAM: 4 CHF/month -* 10 GB SSD: 3.5 CHF/month -* 100 GB HDD: 1.5 CHF/month -* Prices exclude VAT. - -## How to buy it - -You can order from the following link and send us your public SSH key to support-at-datacenterlight.ch. - -Our team will set up the VM in 1 business day and give you the access. - -Order a CentOS 8 VM for a year with 20% discount - ---- diff --git a/content/u/advent-calendar/05/penguin-temperature.jpg b/content/u/advent-calendar/05/penguin-temperature.jpg deleted file mode 100644 index 18165b7..0000000 Binary files a/content/u/advent-calendar/05/penguin-temperature.jpg and /dev/null differ diff --git a/content/u/advent-calendar/06/contents.lr b/content/u/advent-calendar/06/contents.lr deleted file mode 100644 index a4a9d5e..0000000 --- a/content/u/advent-calendar/06/contents.lr +++ /dev/null @@ -1,56 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: The IPv6 ULA registry ---- -subtitle: The IPv6 ULA registry is back! ---- -image: /u/image/cards/advent-6.jpg ---- -header_background_color: #C12107 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -headline1: IPv6 ULA registry ---- -headline2: is back ---- -headline3: after 3 years ---- -content1_text: - -## Happy St Nicholas Day - -For St Nicholas Day we present you with something that has been -requested from the IPv6 community for a while: [A new IPv6 ULA -registry](https://ula.ungleich.ch). We have imported all the original -prefixes from SixXs. The following URLs might be helpful: - -* [The new IPv6 ULA registry](https://ula.ungleich.ch) -* [The Hack4Glarus development - ticket](https://redmine.ungleich.ch/issues/8673) -* [The ipv6ula open source project hompage](/u/projects/ipv6ula/) -* [The announcement on the IETF mailing list](https://mailarchive.ietf.org/arch/msg/ipv6/fFpPHY55pwKlEopyyAZyZI8azg0/) - -## Background - -The [original IPv6 ULA -registry](https://www.sixxs.net/tools/grh/ula/list/) was maintained by -SixXS. However with the sunset event of SixXS on 2017-06-06, the -database has essentially become static. - -At this point we want to say many, many thanks to the SixXS project for -having provided so much pioneer work and for having enabled people in -embracing IPv6. - -Also for providing such an early and machine-readable database - it -was a pleasure importing all the historic records. - -We try to continue the effort that SixXS started many years ago, -just in a different era. If you have any questions or comments, feel -free to join the [IPv6.Chat](https://IPv6.Chat). diff --git a/content/u/advent-calendar/07/contents.lr b/content/u/advent-calendar/07/contents.lr deleted file mode 100644 index 5e7202f..0000000 --- a/content/u/advent-calendar/07/contents.lr +++ /dev/null @@ -1,68 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: IPv6-only Debian VMs ---- -subtitle: 20% off for the 10 limited VMs ---- -image: /u/image/cards/advent-7.jpg ---- -header_background_color: #C12107 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -headline1: Surprise 07: ---- -headline2: 20% off ---- -headline3: Debian VMs ---- -content1_image: datacenterlight-penguin.jpg ---- -content1_text: - -## IPv6 only, Debian VMs with 20% discount - -We want to enable anyone, anyone with IPv6. We are giving out IPv6 only, Debian VMs for a year with 20% discount. Only available for 10 VMs, Grab it while you can. - -## About the product - -- OS: Debian -- 2 Core, 4 GB RAM, 20 GB SSD -- 1 year subscription -- 1 free IPv6 VPN is included -- full control over rDNS -- VM is running with 100% renewable energy(hydropower) in our [datacenter](https://datacenterlight.ch) in Glarus, Switzerland. - -## The discount - -* The standard price for IPv6 only VMs with 2 Cores, 4 GB RAM, 20 GB SSD is 21 CHF/month -* The price with 20% discount: 16.8 CHF/month -* In a yearly plan, you pay 201.6 CHF instead of 252 CHF. You save 50.4 CHF. -* Prices exclude VAT. - -## Scalable - -What if you want to scale the VM, or want to attach IPv4 address? You can scale your VM anytime or add HDD storage with our standard rate. You can drop a mail to our support and our team will help you. - -* 1 CPU: 3 CHF/month -* 1 GB RAM: 4 CHF/month -* 10 GB SSD: 3.5 CHF/month -* 100 GB HDD: 1.5 CHF/month -* Prices exclude VAT. - -## How to buy it - -You can order from the following link and send us your public SSH key to support-at-datacenterlight.ch - -Our team will set up the VM in 1 business day and give you the access. - - -Order Debian VM for a year with 20% discount - - diff --git a/content/u/advent-calendar/07/datacenterlight-penguin.jpg b/content/u/advent-calendar/07/datacenterlight-penguin.jpg deleted file mode 100644 index a0df7e3..0000000 Binary files a/content/u/advent-calendar/07/datacenterlight-penguin.jpg and /dev/null differ diff --git a/content/u/advent-calendar/08/contents.lr b/content/u/advent-calendar/08/contents.lr deleted file mode 100644 index c0faedf..0000000 --- a/content/u/advent-calendar/08/contents.lr +++ /dev/null @@ -1,55 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: Meet IPv6 ASS! ---- -subtitle: IPv6 Autonomous Security System ---- -image: /u/image/cards/advent-8.jpg ---- -header_background_color: #C12107 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -headline1: Surprise 08: ---- -headline2: IPv6 Autonomous ---- -headline3: Security System ---- -content1_image: ipv6-security-system.jpg ---- -content1_text: - -## IPv6 Autonomous Security System - -We are introducing our IPv6 Autonomous Security System - another cool way to use IPv6 in everyday. With IPv6 Autonomous Security System you can reach and track your target from anywhere you are via IPv6 directly. The data goes from your security system via [IPv6 VPN](https://ipv6vpn.ch) to you without compromises. - -## About the product - -The IPv6 Autonomous Security System can be used with VIIRB or VIWIB. - -The package contains the following. - -- 1 USB Hub -- 1 LTE/4G Router (Internet Uplink, excluding SIM card) -- GPS Tracker -- USB Camera -- 1 VIIRB or VIWIB (optional) - -## How to get it - -Our IPv6 Autonomous Security System with VIIRB is in production. Our IPv6 Autonomous Security System with VIWIB is in preorder state and will start to be shipped in mid December 2020. We ship world wide. - -You can visit our [IPv6 Autonomous Security System page](https://ungleich.ch/u/products/ipv6-autonomous-security-system/) for checking more details and placing an order. - - - - - ---- diff --git a/content/u/advent-calendar/08/ipv6-security-system.jpg b/content/u/advent-calendar/08/ipv6-security-system.jpg deleted file mode 100644 index 8c384c5..0000000 Binary files a/content/u/advent-calendar/08/ipv6-security-system.jpg and /dev/null differ diff --git a/content/u/advent-calendar/09/contents.lr b/content/u/advent-calendar/09/contents.lr deleted file mode 100644 index c358f19..0000000 --- a/content/u/advent-calendar/09/contents.lr +++ /dev/null @@ -1,76 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: IPv6-only Devuan VMs ---- -subtitle: 20% off for the limited 10 VMs ---- -image: /u/image/cards/advent-9.jpg ---- -header_background_color: #C12107 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -headline1: Surprise 09: ---- -headline2: 20% off ---- -headline3: Devuan VMs ---- -content1_image: devuan.jpg ---- -content1_text: - -## IPv6 only, Devuan VMs with 20% discount - -We are giving out IPv6 only, Devuan VMs for a year with 20% discount. The deal is available for the first 10 orders. - -## About the product - -- OS: Devuan -- 2 Core, 4 GB RAM, 20 GB SSD -- 1 year subscription -- 1 free IPv6 VPN is included -- full control over rDNS -- VM is running with 100% renewable energy(hydropower) in our [datacenter](https://datacenterlight.ch) in Glarus, Switzerland. - -## Why Devuan? - -Simply put, Devuan is Debian without systemd. It is a great choice if you are looking for Debian alternative without systemd. Devuan uses the same APT package manager as Debian, but it maintains its own repositories. Basically these repositories have the same base as Debian, but they contain patches that enable things to run without systemd. For init sytem, Devuan uses sysvinit as the default which used to be the standard for many versions of Linux, including Debian before systemd. - -## The discount - -* The standard price for IPv6 only VMs with 2 Cores, 4 GB RAM, 20 GB SSD is 21 CHF/month -* The price with 20% discount: 16.8 CHF/month -* In a yearly plan, you pay 201.6 CHF instead of 252 CHF. You save 50.4 CHF. -* Prices exclude VAT. - -## Scalable - -What if you want to scale the VM, or want to attach IPv4 address? You can scale your VM anytime or add HDD storage with our standard rate. - -You can drop a mail to our support and our team will help you. - -| upgrade | price per month(excl.VAT) | -| --------- | ---------------- | -| 1 CPU | 3 CHF | -| 1 GB RAM | 4 CHF | -| 10 GB SSD | 3.5 CHF | -| 100 GB HDD | 1.5 CHF | - - - -## How to buy it - -You can order from the following link and send us your public SSH key to support-at-datacenterlight.ch. - -Our team will set up the VM in 1 business day and give you the access. - -Order a Devuan VM for a year with 20% discount - ---- diff --git a/content/u/advent-calendar/09/devuan.jpg b/content/u/advent-calendar/09/devuan.jpg deleted file mode 100644 index 856664f..0000000 Binary files a/content/u/advent-calendar/09/devuan.jpg and /dev/null differ diff --git a/content/u/advent-calendar/10/contents.lr b/content/u/advent-calendar/10/contents.lr deleted file mode 100644 index 5b62ac8..0000000 --- a/content/u/advent-calendar/10/contents.lr +++ /dev/null @@ -1,70 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: IPv6 VPN for a year ---- -subtitle: with one free month ---- -image: /u/image/cards/advent-10.jpg ---- -header_background_color: #C12107 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -headline1: Surprise 10: ---- -headline2: One month for free ---- -headline3: IPv6 VPN ---- -content1_image: ipv6-vpn.jpg ---- -content1_text: - -## IPv6 VPN for a year, with one free month - -We want to enable anyone, anyone with IPv6. We are giving out IPv6 VPN for a year with one month discount. Only available for the fastest 10, grab it while you can. - -## About the product - -- Base technology: Wireguard -- Supported on Linux, BSD, MacOS, iOS, Windows, Android. -- 1 year subscription -- Encrypts the traffic until the endopoint in Switzerland -- 80 bit of IPv6 space -- Connection is encrypted, no network traffic is logged -- VM is running with 100% renewable energy(hydropower) in our [datacenter](https://datacenterlight.ch) in Glarus, Switzerland. - -## The discount - -* The standard price for IPv6 VPN is 120 CHF for a year. -* The price with one month discount is 110 CHF for a year. You save 10 CHF. You get to keep your discount next year as well, as long as your VPN subscription is active. - -## How to get it - -You can order from the following link. The payment link is visible as long as the deal is available. - -Order IPv6 VPN for a year with one month discount - -Our team will set up the VPN in 1 business day and give you the access. - -## Getting Wireguard public key - -To get started with your VPN, you will need to install Wireguard and send us your public key. - -1. Install Wireguard -https://www.wireguard.com/install/ - -2. Create your private key: -umask 077; wg genkey > privkey - -3. Get your public key -wg pubkey < privkey - -4. Send us the public key to support at ungleich.ch - diff --git a/content/u/advent-calendar/10/ipv6-vpn.jpg b/content/u/advent-calendar/10/ipv6-vpn.jpg deleted file mode 100644 index b303080..0000000 Binary files a/content/u/advent-calendar/10/ipv6-vpn.jpg and /dev/null differ diff --git a/content/u/advent-calendar/11/advent.jpg b/content/u/advent-calendar/11/advent.jpg deleted file mode 100644 index c1a387e..0000000 Binary files a/content/u/advent-calendar/11/advent.jpg and /dev/null differ diff --git a/content/u/advent-calendar/11/contents.lr b/content/u/advent-calendar/11/contents.lr deleted file mode 100644 index e0fe53b..0000000 --- a/content/u/advent-calendar/11/contents.lr +++ /dev/null @@ -1,69 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: IPv6-only FreeBSD VMs ---- -subtitle: 20% off for the the 10 limited VMs ---- -image: /u/image/cards/advent-11.jpg ---- -header_background_color: #C12107 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -headline1: Surprise 11: ---- -headline2: 20% off ---- -headline3: FreeBSD VMs ---- -content1_image: advent.jpg ---- -content1_text: - -## IPv6 only, FreeBSD VMs with 20% discount - -We want to enable anyone, anyone with IPv6. We are giving out IPv6 only, FreeBSD VMs for a year with 20% discount. Only available for the fastest 10! Grab it while you can. - -## About the product - -- OS: FreeBSD -- 2 Core, 4 GB RAM, 20 GB SSD -- 1 year subscription -- 1 free IPv6 VPN is included -- full control over rDNS -- VM is running with 100% renewable energy(hydropower) in our [datacenter](https://datacenterlight.ch) in Glarus, Switzerland. - -## The discount - -* The standard price for IPv6 only VMs with 2 Cores, 4 GB RAM, 20 GB SSD is 21 CHF/month -* The price with 20% discount: 16.8 CHF/month -* In a yearly plan, you pay 201.6 CHF instead of 252 CHF. You save 50.4 CHF. -* Prices exclude VAT. - - -## Scalable - -What if you want to scale the VM, or want to attach IPv4 address? You can scale your VM anytime or add HDD storage with our standard rate. You can drop a mail to our support and our team will help you. - -* 1 CPU: 3 CHF/month -* 1 GB RAM: 4 CHF/month -* 10 GB SSD: 3.5 CHF/month -* 100 GB HDD: 1.5 CHF/month -* Prices exclude VAT. - -## How to buy it - -You can order from the following link and send us your public SSH key to support-at-datacenterlight.ch - -Our team will set up the VM in 1 business day and give you the access. - -The payment link is visible as long as the deal is available. - -Order FreeBSD VM for a year with 20% discount - diff --git a/content/u/advent-calendar/12/contents.lr b/content/u/advent-calendar/12/contents.lr deleted file mode 100644 index 9609659..0000000 --- a/content/u/advent-calendar/12/contents.lr +++ /dev/null @@ -1,63 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: 10% off: Hosted Matrix Chat! ---- -subtitle: Get a year of our Matrix with 10% discount. ---- -image: /u/image/cards/advent-12.jpg ---- -header_background_color: #C12107 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -headline1: Surprise 12: ---- -headline2: 10% off ---- -headline3: Hosted Matrix Chat ---- -content1_image: penguin-matrix.jpg ---- -content1_text: - -## A year of hosted Matrix chat with 10% discount - -You can order our [Hosted Matrix Chat](https://ungleich.ch/u/products/hosted-matrix-chat/) plan for a year with 10% discount. Only available for 10 orders, grab it while you can. - -## About the product - -- Hosted Matrix -- Suitable for MacOS, Linux, Windows, and on mobile and tablet. -- 1 year subscription -- Built-in federation -- Fully scalable -- End-to-end encryption (E2EE) -- Safe data storage protected by Swiss privacy laws -- VM is running with 100% renewable energy (hydropower) in our [datacenter](https://datacenterlight.ch) in Glarus, Switzerland. - -## The discount - -* The standard price for Hosted Matrix-S with a VM with 1 Core, 2 GB RAM, 10 GB SSD, 100 GB HDD is one-time 30 CHF for setup, 40 CHF for monthly fee. -* The price with 10% discount: 36 CHF/month -* For the whole year you pay 462 CHF instead of 510 CHF. You save 48 CHF. -* Prices exclude VAT. - -## Migration and further customization - -You have an existing community you want to migrate? There are variety of ways to enable your community move to the secure Matrix, such as [Matterbridge](https://ungleich.ch/u/products/hosted-matrix-chat/). Get in touch with our team and let us know what you need on your Matric, we will help you step by step. - -## How to buy it - -You can order from the following link and write us the domain name you want for the chat to support at datacenterlight.ch - -Our team will get in touch with you and setup the Matrix for you, and give you the access. - -Order a Hosted Matrix Chat S for a year with 10% discount - ---- diff --git a/content/u/advent-calendar/12/penguin-matrix.jpg b/content/u/advent-calendar/12/penguin-matrix.jpg deleted file mode 100644 index fd53a02..0000000 Binary files a/content/u/advent-calendar/12/penguin-matrix.jpg and /dev/null differ diff --git a/content/u/advent-calendar/13/contents.lr b/content/u/advent-calendar/13/contents.lr deleted file mode 100644 index 3fecc7e..0000000 --- a/content/u/advent-calendar/13/contents.lr +++ /dev/null @@ -1,61 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: ungleich shares ---- -subtitle: available for a limited time! ---- -image: /u/image/cards/advent-13.jpg ---- -header_background_color: #C12107 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -headline1: Surprise 13: ---- -headline2: Become our ---- -headline3: Shareholder ---- -content1_image: retirement.jpg ---- -content1_text: - -## Now you can become a shareholder - -We have often received requests for how to further engage in our company from various people, especially from those who are passionate about what we do: building a future with sustainable technology. As a part of our Christmas surprise, we made it possible: we are opening a special opportunity for you to join us. For a limited time we are opening up a pool of shares from ungleich glarus ltd to be sold. - -## How do shares work? - -We, the ungleich glarus ltd, are a privately traded company that -consists of a number of shares that form our share capital. You can -find out the exact number of shares and our share capital in [the -Cantonal -registry](https://gl.chregister.ch/cr-portal/auszug/auszug.xhtml?uid=CHE-156.970.649). -In 2019 we raised our capital by creating new shares, and this year we -are not creating new shares, but we are opening up a pool of shares -that we created specifically to allow new shareholders to join us. - -## What does becoming a shareholder mean? - -Becoming a shareholder of ungleich means you own a bit of ungleich. It lets you to be a part of a group of people who want to make the world a better place by sustainable technology made with love, backed by renewable energy. -You will be eligible to participate in the yearly general assembly as well as any future dividend payout. - -## What are the conditions? - -The pool contains 15'000 shares with a nominal value of 0.10 CHF each. The selling price is 4 CHF per share and the minimum amount of shares is 1'250 (5000 CHF). It is possible to buy multiple packages as one party. - -This offer is only valid until 2020-12-31 - the pool will be closed again on 2021-01-01. - -## How to apply - -If you are interested in this offer, get in touch with us at shares2020@ungleich.ch or write in Matrix to @nico:ungleich.ch. - -## Who can apply - -You need to be over 18 years old for being our shareholder. Due to banking regulations in Switzerland, US citizens or parties that are subject to tax in the US are not eligible for being our shareholder. diff --git a/content/u/advent-calendar/13/retirement.jpg b/content/u/advent-calendar/13/retirement.jpg deleted file mode 100644 index 6356447..0000000 Binary files a/content/u/advent-calendar/13/retirement.jpg and /dev/null differ diff --git a/content/u/advent-calendar/14/contents.lr b/content/u/advent-calendar/14/contents.lr deleted file mode 100644 index e9d9763..0000000 --- a/content/u/advent-calendar/14/contents.lr +++ /dev/null @@ -1,56 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: Buy 8, get 10! ---- -subtitle: 20% off for 10 TB HDD Storage ---- -image: /u/image/cards/advent-14.jpg ---- -header_background_color: #C12107 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -headline1: Surprise 14: ---- -headline2: 20% off ---- -headline3: 10 TB Storage ---- -content1_image: zerocarbon_shop.jpg ---- -content1_text: - -## 10 TB HDD Storage with a 20% discount - -Store your data in our secure data center for a whole year, protected by Swiss privacy laws and powered by renewable energy. Only available for 10 orders. - -## About the product - -- 10 TB HDD Storage -- 1 year subscription -- Can be attached to your [VM](https://ungleich.ch/u/products/virtual-machine-hosting/) or [Nextcloud](https://ungleich.ch/u/products/zero-carbon-cloud/) instance -- Data stored at our [datacenter](https://datacenterlight.ch) run by 100% renewable energy in Glarus, Switzerland. - -## The discount - -* The standard price for 100 GB HDD Storage is 1.5 CHF per month, and 150 CHF per month for 10 TB. -* The price with 20% discount is 120 CHF/month. -* In a yearly plan, you pay 1440 CHF instead of 1800 CHF. You save 360 CHF. - -## How to buy it - -You can order from the following link and let us know where you want to have the storage. You can attach the storage to your [VM](https://ungleich.ch/u/products/virtual-machine-hosting/) or your [Nextcloud](https://ungleich.ch/u/products/zero-carbon-cloud/) instance. - -Our team will set up the storage in 1 business day and give you the access. - -The payment link is visible as long as the deal is available. - -Order 10 TB HDD Storage for a year with a 20% discount - - diff --git a/content/u/advent-calendar/14/zerocarbon_shop.jpg b/content/u/advent-calendar/14/zerocarbon_shop.jpg deleted file mode 100644 index 65c9954..0000000 Binary files a/content/u/advent-calendar/14/zerocarbon_shop.jpg and /dev/null differ diff --git a/content/u/advent-calendar/15/archlinux.jpg b/content/u/advent-calendar/15/archlinux.jpg deleted file mode 100644 index ab213a1..0000000 Binary files a/content/u/advent-calendar/15/archlinux.jpg and /dev/null differ diff --git a/content/u/advent-calendar/15/contents.lr b/content/u/advent-calendar/15/contents.lr deleted file mode 100644 index c9041b8..0000000 --- a/content/u/advent-calendar/15/contents.lr +++ /dev/null @@ -1,71 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: IPv6-only Archlinux VMs ---- -subtitle: 20% off for the 10 limited VMs ---- -image: /u/image/cards/advent-15.jpg ---- -header_background_color: #C12107 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -headline1: Surprise 15: ---- -headline2: 20% off ---- -headline3: Archlinux VMs ---- -content1_image: archlinux.jpg ---- -content1_text: - -## IPv6 only, Archlinux VMs with 20% discount - -We want to enable anyone, anyone with IPv6. We are giving out IPv6 only, Archlinux VMs for a year with 20% discount. Only available for the fastest 10! Grab it while you can. - -## About the product - -- OS: Archlinux -- 2 Core, 4 GB RAM, 20 GB SSD -- 1 year subscription -- 1 free IPv6 VPN is included -- full control over rDNS -- VM is running with 100% renewable energy(hydropower) in our [datacenter](https://datacenterlight.ch) in Glarus, Switzerland. - -## The discount - -* The standard price for IPv6 only VMs with 2 Cores, 4 GB RAM, 20 GB SSD: 21 CHF/month -* The price with 20% discount: 16.8 CHF/month -* In a yearly plan, you pay 201.6 CHF instead of 252 CHF. You save 50.4 CHF. -* Prices exclude VAT. - - -## Scalable - -What if you want to scale the VM, or want to attach IPv4 address? You can scale your VM anytime or add HDD storage with our standard rate. You can drop a mail to our support and our team will help you. - -* 1 CPU: 3 CHF/month -* 1 GB RAM: 4 CHF/month -* 10 GB SSD: 3.5 CHF/month -* 100 GB HDD: 1.5 CHF/month -* Prices exclude VAT. - -## How to buy it - -You can order from the following link and send us your public SSH key to support-at-datacenterlight.ch - -Our team will set up the VM in 1 business day and give you the access. - -The payment link is visible as long as the deal is available. - -Order Archlinux VM for a year with 20% discount - - - diff --git a/content/u/advent-calendar/16/advent-filled.jpg b/content/u/advent-calendar/16/advent-filled.jpg deleted file mode 100644 index 872b584..0000000 Binary files a/content/u/advent-calendar/16/advent-filled.jpg and /dev/null differ diff --git a/content/u/advent-calendar/16/contents.lr b/content/u/advent-calendar/16/contents.lr deleted file mode 100644 index 15dfa80..0000000 --- a/content/u/advent-calendar/16/contents.lr +++ /dev/null @@ -1,63 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: 16% Discount for 16 GB RAM ---- -subtitle: for any size VM ---- -headline1: Surprise 16: ---- -headline2: 16 % discount ---- -headline3: for 16 GB RAM ---- -header_background_color: #C12107 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -image: /u/image/cards/advent-16.jpg ---- -content1_image: advent-filled.jpg ---- -content1_text: - -## 16 GB RAM with a 16% Discount! - -The 16th surprise deal of our Adevnt Calender is: get any VM with a 16 GB RAM, and you get a 16% discount for the whole VM. The number of cores or SSD storage is entirely up to you. The offer is only valid for the limited 10 VMs. - -## About the product - -- OS: You can choose from Alpine Linux, Archlinux, CentOS, Debian, Devuan, Fedora, FreeBSD, OpenBSD, Ubuntu -- Number of cores and storage size is up to you -- Monthly subscription -- You can keep the discount as long as the VM is active -- 1 free IPv6 VPN is included -- Full control over rDNS -- VM is running with 100% renewable energy(hydropower) in our [datacenter](https://datacenterlight.ch) in Glarus, Switzerland. - -## Scalable - -What if you want to scale the VM, or want to attach IPv4 address? You can scale your VM anytime or add HDD storage with our standard rate. You can drop a mail to our support and our team will help you. - -* 1 CPU: 3 CHF/month -* 1 GB RAM: 4 CHF/month -* 10 GB SSD: 3.5 CHF/month -* 100 GB HDD: 1.5 CHF/month -* Prices exclude VAT. - -## Price - -With our advent offer you get to have a 16% discount from the standard pricing. -Our standard pricing can be checked on our websites at [Data Center Light](https://datacenterlight.ch) and [IPv6 only Hosting.](https://ipv6onlyhosting.com) - -## How to order - -You can order by writing to support@datacenterlight.ch from 2020.12.16 until the offer is sold out. Let us know your preferred OS version, and VM size (Core, RAM, SSD) and your public SSH key when ordering. - -Our team will set up the VM in 1 business day and give you the access. - diff --git a/content/u/advent-calendar/17/contents.lr b/content/u/advent-calendar/17/contents.lr deleted file mode 100644 index 64c3784..0000000 --- a/content/u/advent-calendar/17/contents.lr +++ /dev/null @@ -1,115 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: IPv6 Holiday Kit ---- -subtitle: With VIWIB! ---- -headline1: Surprise 17: ---- -headline2: IPv6 Holiday Kit ---- -headline3: with VIWIB ---- -header_background_color: #C12107 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -image: /u/image/cards/advent-17.jpg ---- -content1_image: viwib-holiday.jpg ---- -content1_text: - -## What it is - -Outside is cold, but we have something to warm your heart up with IPv6 for this holiday. Introducing the IPv6 Holiday Kit, with [VIWIB.](https://ungleich.ch/u/products/viwib-wifi-ipv6-box/) - -It is the new IPv6 Holiday Kit: VIWIB, IPv6 t-shirt, and 3 IPv6 stickers. - -## 1. VIWIB (VPN IPv6 WiFi IoT Box) - -The VIWIB(https://ungleich.ch/u/products/viwib-wifi-ipv6-box/) is pre-configured with a Wireguard VPN. You can plug in VIWIB and you'll get IPv6 anywhere, anytime. The IPv6 connectivity is provided by -[Data Center Light](https://ungleich.ch/u/projects/data-center-light/). - -VIWIB features - -- Operating System: Linux (OpenWRT) -- Size: 58 x 58 x 25mm -- Weight: 40g -- CPU: MTK7628NN @580Mhz SoC -- Memory: 128MB -- Storage: 16M Flash -- Wifi: 802.11 b/g/n -- Ethernet: 2 ports, up to 100Mbps. -- USB: USB 2.0 -- Power supply: 5V/1A Micro USB -- Power Consumption: <2.75W - -Reguar price: 68 CHF - -## 2. IPv6 t-shirt - -What do you want to wear on your IPv6 holiday? IPv6 T-shirt of course, what else. This cotton t-shirt declares your love for IPv6 on the front: and our IPv6 penguin got your back. (Yes, there is the IPv6 penguin printed on the back!) This shirt will certainly make you smile when you put it on. - -- Material: 100% cotton. -- Size: S, M, -L-(Sold out!), XL (Very few left), 2XL (Very few left) - -The size is on the slimmer side, we advise to take one size up if you like a comfort fit. - -- Limited edition, designed and printed in Switzerland -- Unisex fit. - -Regular price: 50 CHF - -## 3. IPv6 stickers x3 - -Last but not least, we include 3 of our beloved IPv6 stickers in the IPv6 holiday pack. One for your laptop, one for your bike, one for your car. - -- Size: 62mm x 60mm -- Material: Outdoor UV-coated sticker - -Regular price: 12 CHF - -### Bonus: IPv6VPN included - -A free subscription for 1 year is included. This way you can plug in -the VIIRB and just get started with IPv6. - -Regular price: 120 CHF - -## Price - -Our IPv6 holiday kit is only 110 CHF for a limited period while our stock lasts. - -Regular price would be 68 CHF (VIIRB) + 50 CHF (t-shirt) + 12 CHF (stickers) + 120 CHF (VPN) = 250 CHF. You save 140 CHF! - - -## Ordering - -We deliver worldwide. To order the IPv6 Holiday kit with VIWIB, send us an email with your shipping address and your t-shirt size to support -at- ungleich.ch. Our team will get back to you with payment information. - -### Shipping costs - -When you order we will confirm the actual shipping cost before -payment. To Switzerland or to EU, you can pay with credit card on the page below. - -* [Order to Switzerland: +10 CHF](https://datacenterlight.ch/product/ipv6-holiday-ch/) -* [Order to EU: +14 CHF](https://datacenterlight.ch/product/ipv6-holiday-eu/) - -All prices exlude VAT. - -## More options - -Ordering the IPv6 Holiday Kit with VIIRB is also possible. Check this page. - -[Check IPv6 Holiday Kit with VIIRB](https://ungleich.ch/u/products/ipv6-holiday-kit/) - -You have options to include cool add-ons to your holiday kit. Check the add-ons here. - -[VIWIB add-ons](https://ungleich.ch/u/products/viwib-wifi-ipv6-box/) diff --git a/content/u/advent-calendar/17/viwib-holiday.jpg b/content/u/advent-calendar/17/viwib-holiday.jpg deleted file mode 100644 index 7b90e6a..0000000 Binary files a/content/u/advent-calendar/17/viwib-holiday.jpg and /dev/null differ diff --git a/content/u/advent-calendar/18/contents.lr b/content/u/advent-calendar/18/contents.lr deleted file mode 100644 index 7980dae..0000000 --- a/content/u/advent-calendar/18/contents.lr +++ /dev/null @@ -1,58 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: Welcome, VIGIR! ---- -subtitle: Mobile Internet and IPv6 ---- -image: /u/image/cards/advent-18.jpg ---- -header_background_color: #C12107 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -headline1: Welcome, VIGIR! ---- -headline2: IPv6 enabled ---- -headline3: Mobile Internet Router ---- -content1_image: vigir.jpg ---- -content1_text: - -## The VIGIR - -The [VIGIR](/u/products/vigir/) is the latest addition to the family of -tested IPv6 hardware that includes the IPv6VPN to bring IPv6 -everywhere. The hardware has been tested and pre-configured in -Switzerland. - -## Mobile Internet + IPv6 - -The VIGIR is designed to bring mobile Internet and IPv6 to your home -or office. It contains an LTE Cat 6 modem, 6 antennas, Gigabit -Ethernet and a lot of ports for extensions. - -And as usual, the VIGIR is pre-configured with the -[IPv6VPN](https://IPv6VPN.ch) - so you get your own /48 IPv6 network -with it. - -## Making IPv6 available everywhere - -[Just recently](../welcome-viwib/) we announced the -[VIWIB](/u/products/viwib-ipv6-wifi-box/), a small WiFi enabled IPv6 -router. And originally we started to bring IPv6 everywhere with the -cute [VIIRB](/u/products/viirb-ipv6-box/). Compared to the VIGIR, -these two are a bit more portable and also more affordable. The -[VIGIR](/u/products/vigir/) on the other hand is more professional, -features Gigabit Ethernet and a built in 4G/LTE modem. - -At ungleich we believe that one should use the right tool for the -job. And we hope that the VIGIR will enable some of you with easy to -use, IPv6 enabled Internet. diff --git a/content/u/advent-calendar/18/vigir.jpg b/content/u/advent-calendar/18/vigir.jpg deleted file mode 100644 index 397b40e..0000000 Binary files a/content/u/advent-calendar/18/vigir.jpg and /dev/null differ diff --git a/content/u/advent-calendar/19/contents.lr b/content/u/advent-calendar/19/contents.lr deleted file mode 100644 index ff5dc1f..0000000 --- a/content/u/advent-calendar/19/contents.lr +++ /dev/null @@ -1,68 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: IPv6-only Fedora VMs ---- -subtitle: 20% off for 10 limited VMs ---- -image: /u/image/cards/advent-19.jpg ---- -header_background_color: #C12107 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -headline1: Surprise 19: ---- -headline2: 20% off ---- -headline3: Fedora VMs ---- -content1_image: fedora.jpeg ---- -content1_text: - -## IPv6 only, Fedora VMs with 20% discount - -We want to enable anyone, anyone with IPv6. We are giving out IPv6 only, Fedora VMs for a year with 20% discount. Only available for the fastest 10! Grab it while you can. - -## About the product - -- OS: Fedora -- 2 Core, 4 GB RAM, 20 GB SSD -- 1 year subscription -- 1 free IPv6 VPN is included -- full control over rDNS -- VM is running with 100% renewable energy(hydropower) in our [datacenter](https://datacenterlight.ch) in Glarus, Switzerland. - -## The discount - -* The standard price for IPv6 only VMs with 2 Cores, 4 GB RAM, 20 GB SSD is 21 CHF/month -* The price with 20% discount is 16.8 CHF/month -* In a yearly plan, you pay 201.6 CHF instead of 252 CHF. You save 50.4 CHF. -* Prices exclude VAT - -## Scalable - -What if you want to scale the VM, or want to attach IPv4 address? You can scale your VM anytime or add HDD storage with our standard rate. You can drop a mail to our support and our team will help you. - -* 1 CPU: 3 CHF/month -* 1 GB RAM: 4 CHF/month -* 10 GB SSD: 3.5 CHF/month -* 100 GB HDD: 1.5 CHF/month -* Prices exclude VAT. - -## How to buy it - -You can order from the following link and send us your public SSH key to support-at-datacenterlight.ch - -Our team will set up the VM in 1 business day and give you the access. - -The payment link is visible as long as the deal is available. - -Order Fedora VM for a year with 20% discount - diff --git a/content/u/advent-calendar/19/fedora.jpeg b/content/u/advent-calendar/19/fedora.jpeg deleted file mode 100644 index ab8c0fa..0000000 Binary files a/content/u/advent-calendar/19/fedora.jpeg and /dev/null differ diff --git a/content/u/advent-calendar/20/contents.lr b/content/u/advent-calendar/20/contents.lr deleted file mode 100644 index ac42b76..0000000 --- a/content/u/advent-calendar/20/contents.lr +++ /dev/null @@ -1,72 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: VIIRB MAXI PACK ---- -subtitle: So many VIIRBs around here! ---- -image: /u/image/cards/advent-20.jpg ---- -header_background_color: #C12107 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -headline1: VIIRB MAXI PACK ---- -headline2: A big discount ---- -headline3: for 5 VIIRB ---- -content1_image: viirb.jpg ---- -content1_text: - -## It's raning VIIRB! - -Do you love our [VIIRB](https://viirb.ungleich.ch) and want to introduce it to your cool club or tech community? We heard your wish, we are introducing the Christmas special VIIRB Maxi Pack: 5 VIIRBs for only 250 CHF! - -The offer is only for a limited stock of 10 Maxi packs. If you have been thinking of doing cool projects with multiple VIIRBs, now is the chance! - -## Ready to rock! - -With this pack you can start right away building your own networks, -test subnetting, teach your children - so many options! - -## What it includes - -- 5 x VIIRB -- 5 x IPv6 VPN subscription for a year included -- 5 x IPv6 stickers - -## Price - -Our VIIRB Maxi Pack is only 250 CHF for 5 VIIRB. - -Regular price would be 58 CHF per VIIRB, 58 x 5 = 290 CHF. You save 40 CHF! - -## Add-ons - -If you want to order additional add-ons to your VIIRB Maxi Pack, we can combine the shipping for you. You can check the availble add-ons on our VIIRB product page. - -[Check VIIRB add-ons](https://viirb.ungleich.ch) - -## Ordering - -We deliver worldwide. To order the VIIRB Maxi Pack, send us an email with your shipping address to support -at- ungleich.ch. Our team will get back to you with payment information. - -### Shipping costs - -When you order we will confirm the actual shipping cost before -payment. To Switzerland or to EU, you can pay with credit card on the page below. - -* Order VIIRB Maxi Pack to Switzerland -* Order VIIRB Maxi Pack to EU with tracked shipping - -All prices exlude VAT. - - diff --git a/content/u/advent-calendar/20/viirb.jpg b/content/u/advent-calendar/20/viirb.jpg deleted file mode 100644 index c79db4e..0000000 Binary files a/content/u/advent-calendar/20/viirb.jpg and /dev/null differ diff --git a/content/u/advent-calendar/21/contents.lr b/content/u/advent-calendar/21/contents.lr deleted file mode 100644 index 4e0e3ce..0000000 --- a/content/u/advent-calendar/21/contents.lr +++ /dev/null @@ -1,55 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: Zero Carbon Chat for a whole year ---- -subtitle: Get our Hosted Mattermost with 10% discount. ---- -image: /u/image/cards/advent-21.jpg ---- -header_background_color: #C12107 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -headline1: Surprise 21: ---- -headline2: 10% off ---- -headline3: Hosted Mattermost Chat ---- -content1_image: /u/image/carbonzero-chat.jpg ---- -content1_text: - -## A year of hosted Mattermost chat with 10% discount - -You can order our [Zero Carbon Chat](https://ungleich.ch/u/products/zero-carbon-chat/) plan for a year with 10% discount. Only available for 10 orders, grab it while you can. - -## About the product - -- Hosted Mattermost -- Suitable for MacOS, Linux, Windows, and on mobile and tablet. -- 1 year subscription -- Fully scalable -- Safe data storage protected by Swiss privacy laws -- VM is running with 100% renewable energy (hydropower) in our [datacenter](https://datacenterlight.ch) in Glarus, Switzerland. - -## The discount - -* The standard price for Zero Carbon Chat Light with a VM with 1 Core, 2 GB RAM, 10 GB SSD, 100 GB HDD is one-time 30 CHF for setup, 40 CHF for monthly fee. -* The price with 10% discount: 36 CHF/month -* For the whole year you pay 462 CHF instead of 510 CHF. You save 48 CHF. -* Prices exclude VAT. - -## How to buy it - -You can order from the following link and write us the domain name you want for the chat to support at datacenterlight.ch - -Our team will get in touch with you and setup the Mattermost Chat for you, and give you the access. - -Order a Zero Carbon Chat Light for a year with 10% discount \ No newline at end of file diff --git a/content/u/advent-calendar/22/contents.lr b/content/u/advent-calendar/22/contents.lr deleted file mode 100644 index 596d659..0000000 --- a/content/u/advent-calendar/22/contents.lr +++ /dev/null @@ -1,68 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: OpenBSD for a whole year ---- -subtitle: 20% off for 10 limited VMs ---- -image: /u/image/cards/advent-22.jpg ---- -header_background_color: #C12107 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -headline1: Surprise 22: ---- -headline2: 20% off ---- -headline3: OpenBSD VMs ---- -content1_image: openbsd.jpg ---- -content1_text: - -## IPv6 only, OpenBSD VMs with 20% discount - -We want to enable anyone, anyone with IPv6. We are giving out IPv6 only, OpenBSD VMs for a year with 20% discount. Only available for the fastest 10! Grab it while you can. - -## About the product - -- OS: OpenBSD -- 2 Core, 4 GB RAM, 20 GB SSD -- 1 year subscription -- 1 free IPv6 VPN is included -- full control over rDNS -- VM is running with 100% renewable energy(hydropower) in our [datacenter](https://datacenterlight.ch) in Glarus, Switzerland. - -## The discount - -- The standard price for IPv6 only VMs with 2 Cores, 4 GB RAM, 20 GB SSD: 21 CHF/month -- The price with 20% discount: 16.8 CHF/month -- In a yearly plan, you pay 201.6 CHF instead of 252 CHF. You save 50.4 CHF. -- Prices exclude VAT - -## Scalable - -What if you want to scale the VM, or want to attach IPv4 address? You can scale your VM anytime or add HDD storage with our standard rate. You can drop a mail to our support and our team will help you. - -* 1 CPU: 3 CHF/month -* 1 GB RAM: 4 CHF/month -* 10 GB SSD: 3.5 CHF/month -* 100 GB HDD: 1.5 CHF/month -* Prices exclude VAT. - - -## How to buy it - -You can order from the following link and send us your public SSH key to support-at-datacenterlight.ch - -Our team will set up the VM in 1 business day and give you the access. - -The payment link is visible as long as the deal is available. - -Order OpenBSD VM for a year with 20% discount diff --git a/content/u/advent-calendar/22/openbsd.jpg b/content/u/advent-calendar/22/openbsd.jpg deleted file mode 100644 index c75978b..0000000 Binary files a/content/u/advent-calendar/22/openbsd.jpg and /dev/null differ diff --git a/content/u/advent-calendar/23/contents.lr b/content/u/advent-calendar/23/contents.lr deleted file mode 100644 index 422a760..0000000 --- a/content/u/advent-calendar/23/contents.lr +++ /dev/null @@ -1,87 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: IPv6 Temperature Sensor ---- -subtitle: enabled by VIIRB and VIWIB ---- -image: /u/image/cards/advent-23.jpg ---- -header_background_color: #C12107 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -headline1: Surprise 23: ---- -headline2: IPv6 Temperature ---- -headline3: Sensor ---- -content1_image: ipv6-temp-sensor.jpg ---- -content1_text: - -## IPv6 Temperature Sensor - -We are introducing our IPv6 Temperature Sensor - another cool way to use IPv6 in everyday. With IPv6 Temperature Sensor you can monitor the temperature from anywhere you are via IPv6 directly. The data goes from your security system via [IPv6 VPN](https://ipv6vpn.ch) to you like a charm. - -## About the product - -The IPv6 Temperature Sensor can be used with [VIIRB](https://https://ungleich.ch/u/products/viirb-ipv6-box/) or [VIWIB.](https://ungleich.ch/u/products/viwib-wifi-ipv6-box/) - -The package contains the following. - -- 1 USB Temperature Sensor -- 1 VIIRB or VIWIB - -## Ordering - -We deliver worldwide. To order the IPv6 Temperature Sensor with VIIRB or VIWIB, send us an email with your shipping address to support -at- ungleich.ch. Our team will get back to you with payment information. - -## Price - -Our IPv6 Temperature Sensor is only 20 CHF. You can order it as an add-on to VIIRB or VIWIB. - -### Discount - -You can get a discount for buying a set of 5 IPv6 Temperature Sensors. - -- 5 IPv6 Temperature Sensors with VIIRB are 375 CHF, instead of 390 CHF. You save 15 CHF. -- 5 IPv6 Temperature Sensors with VIWIB are 420 CHF, instead of 440 CHF. You save 20 CHF. - -### Shipping costs - -When you order we will confirm the actual shipping cost before -payment. To Switzerland or to EU, you can pay with a credit card on the page below for standard shipping. - -1 IPv6 Temperature Sensor with VIWIB - -* [Order to Switzerland: +10 CHF](https://datacenterlight.ch/product/viwib-temp-sensor-ch/) -* [Order to EU: +14 CHF](https://datacenterlight.ch/product/viwib-temp-sensor-eu/) - -1 IPv6 Temperature Sensor with VIIRB - -* [Order to Switzerland: +10 CHF](https://datacenterlight.ch/product/viirb-temp-sensor-ch/) -* [Order to EU: +14 CHF](https://datacenterlight.ch/product/viirb-temp-sensor-eu/) - -Tracked priority shipping is possible to EU, get in touch with our team with your address and we will let you know the shipping cost. -All prices exlude VAT. - -## More options - -You have options to include cool add-ons to your IPv6 Temperature Sensor and create cool variations. Check the add-ons here. - -* [VIIRB add-ons](https://ungleich.ch/u/products/viirb-ipv6-box/) -* [VIWIB add-ons](https://ungleich.ch/u/products/viwib-wifi-ipv6-box/) - - - - - - ---- diff --git a/content/u/advent-calendar/23/ipv6-temp-sensor.jpg b/content/u/advent-calendar/23/ipv6-temp-sensor.jpg deleted file mode 100644 index c802927..0000000 Binary files a/content/u/advent-calendar/23/ipv6-temp-sensor.jpg and /dev/null differ diff --git a/content/u/advent-calendar/24/advent.jpg b/content/u/advent-calendar/24/advent.jpg deleted file mode 100644 index c1a387e..0000000 Binary files a/content/u/advent-calendar/24/advent.jpg and /dev/null differ diff --git a/content/u/advent-calendar/24/contents.lr b/content/u/advent-calendar/24/contents.lr deleted file mode 100644 index e66dfbd..0000000 --- a/content/u/advent-calendar/24/contents.lr +++ /dev/null @@ -1,67 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: Christmas VM for a whole year ---- -subtitle: 100 CHF discount for 10 limited VMs ---- -image: /u/image/cards/advent-24.jpg ---- -header_background_color: #C12107 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -headline1: Surprise 24: ---- -headline2: 100 CHF off ---- -headline3: Christmas VM ---- -content1_image: advent.jpg ---- -content1_text: - -## IPv4+IPv6 VMs with 100 CHF discount - -We are giving out dual-stack VMs for a year with 100 CHF discount. Only available for the fastest 10! Grab it while you can. - -## About the product - -- OS: You can choose from anything we offer. The available options are Alpine Linux, Archlinux, CentOS, Debian, Devuan, Fedora, FreeBSD, OpenBSD, Ubuntu -- 4 Core, 8 GB RAM, 40 GB SSD -- 1 year subscription -- 1 free IPv6 VPN is included -- full control over rDNS -- VM is running with 100% renewable energy(hydropower) in our [datacenter](https://datacenterlight.ch) in Glarus, Switzerland. - -## The discount - -- The standard price for dual-stack VMs with 4 Cores, 8 GB RAM, 40 GB SSD is 59 CHF/month. The yearly plan is 708 CHF. -- The Christmas VM for a year is 608 CHF. You save 100 CHF. -- Prices exclude VAT - -## Scalable - -What if you want to scale the VM, or want to attach IPv4 address? You can scale your VM anytime or add HDD storage with our standard rate. You can drop a mail to our support and our team will help you. - -* 1 CPU: 3 CHF/month -* 1 GB RAM: 4 CHF/month -* 10 GB SSD: 3.5 CHF/month -* 100 GB HDD: 1.5 CHF/month -* Prices exclude VAT. - - -## How to buy it - -You can order from the following link and send us your preferred OS version and your public SSH key to support-at-datacenterlight.ch - -Our team will set up the VM in 1 business day and give you the access. - -The payment link is visible as long as the deal is available. - -Order Christmas VM for a year with 100 CHF discount diff --git a/content/u/advent-calendar/contents.lr b/content/u/advent-calendar/contents.lr deleted file mode 100644 index fc48991..0000000 --- a/content/u/advent-calendar/contents.lr +++ /dev/null @@ -1,6 +0,0 @@ -_model: offers ---- -title: IPv6 Advent Calendar 2020 ---- -subtitle: Dec 1st - 24th, everyday a new surprise is revealed. ---- diff --git a/content/u/blog/2020-the-year-of-ipv6/contents.lr b/content/u/blog/2020-the-year-of-ipv6/contents.lr deleted file mode 100644 index 2b60523..0000000 --- a/content/u/blog/2020-the-year-of-ipv6/contents.lr +++ /dev/null @@ -1,109 +0,0 @@ -title: 2020 is the year of IPv6 ---- -pub_date: 2020-08-07 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -IPv6 is beginning to take off in 2020 ---- -body: - -When is IPv6 beginning to matter? When is IPv6 taking off? These are -questions that we debate in the IPv6 community at meetings, online and offline. - -For us, 2020 has already become the year of IPv6, even way before it -is ending. - -## IPv6 traffic reached more than 33% (1/3) of traffic to Google - -According to Google, IPv6 search traffic already exceeds 33%: - -![](/u/image/google-ipv6-2020-08-07.png) - -The recent growth this year is also attributed to more people working -from home, where IPv6 is already more present than in business -connections. - -33% - this is clearly not yet 100%, however it means that every third -search request is made using IPv6. - -## Some countries passed the 50% IPv6 deployment status - -[India](https://stats.labs.apnic.net/ipv6/IN), -[Belgium](https://stats.labs.apnic.net/ipv6/BE), -[the US](https://stats.labs.apnic.net/ipv6/US) and -[Malaysia](https://stats.labs.apnic.net/ipv6/MY) - all of them have -passed the 50% IPv6 deployment mark. **India even surpassed the 70% -mark!** - -And [Greece](https://stats.labs.apnic.net/ipv6/GR) and -[Germany](https://stats.labs.apnic.net/ipv6/DE) are not far from -passing the 50% mark (while we in -[Switzerland](https://stats.labs.apnic.net/ipv6/CH) only passed the -40% mark...). - -In other words: if you are living or travelling to the above countries, -you have a good chance of getting IPv6 - and it's growing. - -## IPv6 community is active and growing - -At the moment there are so many cool IPv6 projects and communities -around, more active than we have ever seen before. -Let us list some projects/communities we are aware of: - -* [IPv6 Buzz](https://packetpushers.net/series/ipv6-buzz/) - by Ed Horley, Scott Hogg, and Tom Coffeen -* [The IPv6 Chat on Matrix and IRC](/u/projects/ipv6-chat/) -* [The APNIC blog](https://blog.apnic.net/) -* [RIPE labs](https://labs.ripe.net/) -* [IPv6 on Reddit](https://www.reddit.com/r/ipv6/) -* [Afrinic is offering education](https://learn.afrinic.net/) -* [The IPv6 blog](https://ipv6.blog/) is a community maintained link - collection - add your IPv6 resources there! -* [#IPv6 on Twitter](https://twitter.com/search?q=%23ipv6) - -.. and probably many more! Did we miss a community? Just [let us know about it](/u/contact/). - -![](/u/image/nico-ripe79.jpeg) - -## IPv6 hardware/software support improving - -For many years we have been watching IPv6 support in (network) -hardware and open source software. And while not every everything is -fixed, many pain points have been solved. -And the great thing is, even if your network equipment does not work with IPv6 nicely, -a lot of equipment can now be made IPv6 usable just by flashing -[OpenWRT](https://openwrt.org/). - - -## IPv6 everywhere - -You might have heard the claims of our CEO, [Nico - Schottelius](https://twitter.com/NicoSchottelius), - that [you can have IPv6 - everywhere](https://twitter.com/RobbieMitch/status/1183731875292037121). - -This year at ungleich we released the -[VIIRB](u/products/viirb-ipv6-box/), the world's smallest IPv6 -router. - -![](/u/image/viirb-strawberry.jpeg) - -This device is so easy and so small that you really don't have an -excuse for not having IPv6: power it on, plug it into an IPv4 only -network: all devices in your network have IPv6 via autoconfiguration. - -## IPv6 in 2020 - -So in 2020, you can go out, connect yourself anywhere with IPv6, talk -about it with everybody and get your software up and running easily. -Oh, and if you think it is just us, we are not the only ones -who think [the attitude towards IPv6 -changed!](https://blog.apnic.net/2020/08/03/ipv4-ipv6-and-a-sudden-change-in-attitude/). diff --git a/content/u/blog/2021-08-31-datacenterlight-bye-bye-netboot/contents.lr b/content/u/blog/2021-08-31-datacenterlight-bye-bye-netboot/contents.lr deleted file mode 100644 index f35b214..0000000 --- a/content/u/blog/2021-08-31-datacenterlight-bye-bye-netboot/contents.lr +++ /dev/null @@ -1,132 +0,0 @@ -title: Bye, bye netboot ---- -pub_date: 2021-08-31 ---- -author: ungleich infrastructure team ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -Data Center Light servers are switching to disk based boot ---- -body: - -## Introduction - -Since the very beginning of the [Data Center Light -project](/u/projects/data-center-light) our servers have been -*somewhat stateless* and booted from their operating system from the -network. - -From today on this changes and our servers are switched to boot from -an disk (SSD/NVMe/HDD). While this first seems counter intuitive with -growing a data center, let us explain why this makes sense for us. - -## Netboot in a nutshell - -There are different variants of how to netboot a server. In either -case, the server loads an executable from the network, typically via -TFTP or HTTP and then hands over execution to it. - -The first option is to load the kernel and then later switch to an NFS -based filesystem. If the filesystem is read write, you usually need -one location per server or you mount it read only and possibly apply -an overlay for runtime configuration. - -The second option is to load the kernel and an initramfs into memory -and stay inside the initramfs. The advantage of this approach is that -no NFS server is needed, but the whole operating system is inside the -memory. - -The second option is what we used in Data Center Light for the last -couple of years. - -## Netboot history at Data Center Light - -Originally all our servers started with IPv4 PXE based -netboot. However as our data center is generally speaking IPv6 only, -the IPv4 DHCP+TFTP combination is an extra maintenance and also a -hindrance for network debugging: if you are in a single stack IPv6 -only network, things are much easier to debug. No need to look for two -routing tables, no need to work around DHCP settings that might -interfere with what one wants to achieve via IPv6. - -As the IPv4 addresses became more of a technical debt in our -infrastructure, we started flashing our network cards with -[ipxe](https://ipxe.org/), which allows even older network cards to -boot in IPv6 only networks. - -Also in an IPv6 only netboot environment, it is easier to run -active-active routers, as hosts are not assigned DHCP leases. They -assign addresses themselves, which scales much nicer. - -## Migrating away from netbooting - -So why are we migrating away from netbooting, even after we migrated -to IPv6 only networking? There are multiple aspects: - -On power failure, netbooted hosts lose their state. The operating -system that is loaded is the same for every server and needs some -configuration post-boot. We have solved this using -[cdist](https://www.cdi.st/), however the authentication-trigger -mechanism is non-trivial, if you want to keep your netboot images and -build steps public. - -The second reason is state synchronisation: as we are having multiple -boot servers, we need to maintain the same state on multiple -machines. That is solvable via CI/CD pipelines, however the level of -automation on build servers is rather low, because the amount of OS -changes are low. - -The third and main point is our ongoing migration towards -[kubernetes](https://kubernetes.io/). Originally our servers would -boot up, get configured for providing ceph storage or to be a -virtualisation host. The amount of binaries to keep in our in-memory -image was tiny, in the best case around 150MB. With the migration -towards kubernetes, every node is downloading the containers, which -can be comparable huge (gigabytes of data). The additional pivot_root -workarounds that are required for initramfs usage are just an -additional minor point that made us question our current setup. - -## Automating disk based boot - -We have servers from a variety of brands and each of them comes with a -variety of disk controllers: from simple pass-through SATA controllers -to full fledged hardware raid with onboard cache and battery for -protecting the cache - everything is in the mix. - -So it is not easily possible to generate a stack of disks somewhere -and then add them, as the disk controller might add some (RAID0) meta -data to it. - -To work around this problem, we insert the disk that is becoming the -boot disk in the future into the netbooted servers, install the -operating system from the running environment and at the next -maintenance window ensure that the server is actually booting from it. - -If you are curious on how this works, you can checkout the script that -we use for -[Devuan/Debian](https://code.ungleich.ch/ungleich-public/ungleich-tools/-/blob/master/debian-devuan-install-on-disk.sh) -and -[Alpine Linux](https://code.ungleich.ch/ungleich-public/ungleich-tools/-/blob/master/alpine-install-on-disk.sh) - -## The road continues - -While a data center needs to be stable, it also needs to adapt to -newer technologies or different flows. The disk based boot is our -current solution for our path towards kubernetes migration, but who -knows - in the future things might look different again. - -If you want to join the discussion, we have a -[Hacking and Learning -(#hacking-and-learning:ungleich.ch)](/u/projects/open-chat/) channel -on Matrix for an open exchange. - -Oh and in case [you were wondering what we did -today](https://twitter.com/ungleich/status/1432627966316584968), we -switched to disk based booting - that case is full of SSDs, not 1'000 -CHF banknotes. diff --git a/content/u/blog/2021-08-31-datacenterlight-bye-bye-netboot/metalcase.jpg b/content/u/blog/2021-08-31-datacenterlight-bye-bye-netboot/metalcase.jpg deleted file mode 100644 index ce8aad4..0000000 Binary files a/content/u/blog/2021-08-31-datacenterlight-bye-bye-netboot/metalcase.jpg and /dev/null differ diff --git a/content/u/blog/2021-12-11-ungleich-container-registries/contents.lr b/content/u/blog/2021-12-11-ungleich-container-registries/contents.lr deleted file mode 100644 index c73f61e..0000000 --- a/content/u/blog/2021-12-11-ungleich-container-registries/contents.lr +++ /dev/null @@ -1,78 +0,0 @@ -title: Public release of the ungleich container registries ---- -pub_date: 2021-12-11 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -Today we published our container registries. ---- -body: - -## TL;DR - -Today we opened up two public container registries from ungleich. -You can use them to pull container images released by ungleich or to -utilise the container registry caches. - -## Overview - -* You can pull public ungleich container releases from https://harbor.ungleich.svc.p10.k8s.ooo/ungleich-public -* You can use the hub.docker.com cache on https://harbor.ungleich.svc.p10.k8s.ooo/dockerhub -* You can use the quay.io cache on https://harbor.ungleich.svc.p10.k8s.ooo/quayio -* You can use the hub.docker.com cache on - https://harbor.ungleich.svc.c2.k8s.ooo/dockerhub (development cluster) -* You can use the quay.io cache on - https://harbor.ungleich.svc.c2.k8s.ooo/quayio (development cluster) - -All registries are **IPv6 only** and the caches are intended to be used -by [Data Center Light customers](/u/projects/data-center-light) -to avoid the IPv4 throttling that one encounters when -pulling images from IPv6 only VM. - -You can test the ungleich-public repository as follows: - -``` -docker pull harbor.ungleich.svc.p10.k8s.ooo/ungleich-public/ungleich-certbot:0.3.3 -``` - - -## Usage - -If you are using [cri-o](https://cri-o.io/) you can use a -registries.conf as follows: - -``` -unqualified-search-registries = ["docker.io"] - -[[registry]] -prefix = "docker.io" -location = "harbor.ungleich.svc.p10.k8s.ooo/dockerhub" - -[[registry]] -prefix = "quay.io" -location = "harbor.ungleich.svc.p10.k8s.ooo/quayio" - -[[registry.mirror]] -location = "harbor.ungleich.svc.c2.k8s.ooo/dockerhub" - -[[registry.mirror]] -location = "harbor.ungleich.svc.c2.k8s.ooo/quayio" -``` - -## Next steps and more of it - -More caches are to follow and we will add a list of publicly available -images in the future. We do not plan to make the registries IPv4 -accessible, as all workload inside Data Center Light is IPv6 reachable -and we think there is no need for IPv4 connectivity anymore. -You can read more about -[the ungleich kubernetes -infrastructure](https://redmine.ungleich.ch/projects/open-infrastructure/wiki/The_ungleich_kubernetes_infrastructure) -or join the [#kubernetes:ungleich.ch Matrix chat](/u/projects/open-chat/). diff --git a/content/u/blog/2021-12-19-django-ipv6-kubernetes/contents.lr b/content/u/blog/2021-12-19-django-ipv6-kubernetes/contents.lr deleted file mode 100644 index cb91a34..0000000 --- a/content/u/blog/2021-12-19-django-ipv6-kubernetes/contents.lr +++ /dev/null @@ -1,64 +0,0 @@ -title: Running Django in Kubernetes IPv6 only ---- -pub_date: 2021-12-19 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -How to run Django in IPv6 only Kubernetes clusters ---- -body: - -## Overview - -At ungleich we run quite some amount of -[Django applications](https://www.djangoproject.com/), some for -ourselves, some on behalf of our customers. Most of them are currently -running "natively" on virtual machines. Our objectives are to - -* Slowly move our own workload into IPv6 only kubernetes clusters -* Slowly move our customer applications into IPv6 only kubernetes - clusters -* Offer modern Django Hosting based on Kubernetes - -## Status 2021-12-19: initial design phase - -At the moment we are looking into what we require for running Django -applications inside Kubernetes. Some parts are still open, some are -already set: - -* PostgreSQL as the database: this is our standard so far and we don't - plan to change it - -Undefined at the moment: - -* Where/how to generate and serve static files - * Same container? - * Separate container? -* Backup sidecare - * Restic? - * pg_dump? - * media / upload files -* App server - * uwsgi - * (g)unicorn - -### One container providing port 80 - -* The outside world does not need to know what is running inside -* Thus the django container should: - * Expose port 80 - * Serve staticfiles on its own -* One can use *any* of the wsgi/asgi servers - * Will provide example for some of them - -## Follow up - -If you are interested in Kubernetes or Django, feel free to -[join us on our open chat](/u/projects/open-chat/). diff --git a/content/u/blog/2021-12-19-workadventure-ipv6-kubernetes/contents.lr b/content/u/blog/2021-12-19-workadventure-ipv6-kubernetes/contents.lr deleted file mode 100644 index fcf189c..0000000 --- a/content/u/blog/2021-12-19-workadventure-ipv6-kubernetes/contents.lr +++ /dev/null @@ -1,69 +0,0 @@ -title: Running Workadventure in Kubernetes IPv6 only ---- -pub_date: 2021-12-19 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -The current state of Workadventure in IPv6 only kubernetes ---- -body: - -## Overview - -At ungleich we are often running software in IPv6 only environments -and recently even more in IPv6 only Kubernetes clusters. Today we had -a look at running [WorkAdventure](https://workadventu.re/) in an IPv6 -only kubernetes cluster. - -## Status: waiting for bugfix - -At the moment it looks like as if WorkAdventure cannot run in IPv6 -only Kubernetes clusters. The frontend displays the infamous "Network -Error" messages. When checking the backend, it displays an error that -it cannot resolve the redis hostname, which [seems to be a bug in the -resolver -code](https://github.com/thecodingmachine/workadventure/issues/1657), -as the hostname does resolve, albeit only to an IPv6 address. - -## The code - -As usual you can find our code in the -[ungleich-k8s -repository](https://code.ungleich.ch/ungleich-public/ungleich-k8s/src/branch/master/apps/workadventure), -which contains development iterations at the moment: - -* v1: initial conversions from docker-compose using kompose -* v2: Adjust manifests so that pods generally speaking run -* v3: Turned into a helm chart with most services running stable - -If you want to give it a spin yourself, here is how to: - -* Setup an IPv6 only kubernetes cluster -* Ensure you have helm locally installed -* Ensure you have - -* Clone the ungleich-k8s repo (see link above) -* `cd apps/workadventure/` - -And use - -``` -helm upgrade --install workadventure v3/ -``` - - -## Next steps - -We are currently waiting to hear back from the redis bug report and -will continue developing after the backend is running stable in an -IPv6 only environment. - -If you are interested in this development, feel free to -[join us on the open kubernetes chat](/u/projects/open-chat/). diff --git a/content/u/blog/2021-12-23-ipv6-addresses-for-free/contents.lr b/content/u/blog/2021-12-23-ipv6-addresses-for-free/contents.lr deleted file mode 100644 index 6ee9567..0000000 --- a/content/u/blog/2021-12-23-ipv6-addresses-for-free/contents.lr +++ /dev/null @@ -1,80 +0,0 @@ -title: IPv6 addresses for free ---- -pub_date: 2021-12-23 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -Do we are do we not need IPv6 addresses for free? ---- -body: - -## TL;DR - -Are you, your organisation or someone you know interested in public, static, addressable IPv6 -address space? But have you refrained from getting it because of cost issues? -And/or would you be interested in affordable (free/almost free) IPv6 address space? - -If yes, then please reach out to us via: - -* E-Mail: ipv6@ungleich.ch -* [Matrix: #ipv6:ungleich.ch](https://IPv6.chat) -* [Twitter: @ungleich](https://twitter.com/ungleich) - -With this information: - -* Who are you? -* What do you need or plan to use the IPv6 space for? -* Are we allowed to share your information publicly? -* What are your financial constraints? - -The last question is mainly to find out why you would not apply to -become an LIR at one of the RIRs. However if you don't want to share, -the last question can be skipped. - -Note: - -- This is not about routing or connectivity, but merely about - assignment of address space. - -## The background: free = ULA - -At the moment the only "free" available IPv6 address space is -ULA space. However there is no official ULA registry, even though we -provide a [ULA registry at ungleich](https://ula.ungleich.ch/). We are -not the only ones though, [DN42](https://dn42.dev/howto/Address-Space) -also registers ULA space. - -ULA space is not only not officially managed, but also comes with the -drawback that it will never be routed through the Internet. - - -## Global Unique Addresses (GUA) are paid - -Global Unique Addresses, even if not routed or announced in the -Internet, are something you can get from an RIR, if you are a -registered LIR. Being an LIR costs 1400 Euro per year + a one time -fee. - -One theory is that every organisation can afford this, but at ungleich -we imagine this is stopping organisations from pursuing GUA. - -## This survey - -This is why we started this page, to find out which organisations -are looking for IPv6 address space or are using ULA because of cost -issues. Answering this survey helps to find out whether or not there -should be afford to either - -* Establish an official ULA registry -* To provide GUA address space for free - -So please spread the word - the more answers there are, the easier it -will be to continue the discussion. We plan to publish all answers -that are allowed to be shared publicly in a git repository. diff --git a/content/u/blog/2022-01-20-to-viirb-or-not-to-viirb/contents.lr b/content/u/blog/2022-01-20-to-viirb-or-not-to-viirb/contents.lr deleted file mode 100644 index 99d2a25..0000000 --- a/content/u/blog/2022-01-20-to-viirb-or-not-to-viirb/contents.lr +++ /dev/null @@ -1,142 +0,0 @@ -title: To VIIRB or not to VIIRB? ---- -pub_date: 2022-01-20 ---- -author: ungleich network team ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: no ---- -abstract: -A diary of our Open Source Router Journey ---- -body: - -## Introduction - -About 1.5 years ago we introduced the -[VIIRB](https://ungleich.ch/u/products/viirb-ipv6-box/) as the world's -smallest IPv6 router, enabling any IPv4 with IPv6. Seamless, real -plug'n'play. Shortly after that the VIIRB was joined -by the [VIWIB](https://ungleich.ch/u/products/viwib-wifi-ipv6-box/), -basically a two port variant of the VIIRB and soon after by the -[VIGIR](https://ungleich.ch/u/products/vigir). - -About a year later -[we announced on -twitter](https://twitter.com/ungleich/status/1463937807672655878) that -we are looking at the last and final batch of VIIRBs to be sold. Today -we want to shed some light on this post and introduce you to the -future plans of IPv6 and IPv6 providing routers from ungleich. - -## The requirements and development process - -All our routers are running unpatched, original upstream -[OpenWrt](https://openwrt.org/) as an operating system. When we -receive the devices, they usually contain a patched vendor version -that we replace for multiple reasons: - -- Sometimes the vendor version lacks IPv6 support -- Sometimes the vendor version lacks wireguard support -- We want to have the same look & feel for all devices -- We like to stay as close to upstream Open Source projects as - possible -- Upstream OpenWrt releases are much more trustworthy and easier to maintain - -So when we receive a new batch of devices in the ungleich HQ in -Switzerland, the typical process is: - -- Check if all devices are included -- Unpack and flash original OpenWrt -- Configure the router with IPv6/NAT64 related settings -- Verify all features work -- Pack it again, ready to be sent for an order -- On order, add the labels, accessory and have it ship out - -## The pricing - -The whole process for each devices take a bit of time, especially when -taken into all exceptions like defects, errors by the post or return -handling from customers when someone ordered a wrong device. - -Instead of taking into account all necessary work and creating a -pricing based on this input, we asked ourselves in the beginning: - -``` -What is the lowest price we can offer so that we can -enable as many people as possible with IPv6? -``` - -This led to a bit awkward pricing, which some of our customers -noticed: - -The devices themselves *including* an IPv6-VPN are actually cheaper -than the [IPv6 VPN](https://ungleich.ch/u/products/ipv6-vpn/) itself. -How does that make any sense? The short answer is: it doesn't if you -want to make any win. - -We did it anyway, because **our primary goal is to bring IPv6 anywhere**. -It's a bit like [HE.net](http://he.net/) offering free IPv6 tunnels - -it does not make any win, but you do it nonetheless. - -## The future of VIIRB, VIWIB and co. - -At some point you have to ask yourself, does it (financially) make -sense what we do? - -And the answer is "Jein" (a German combination of "Ja" + "Nein"): - -* Financially it doesn't -* For supporting IPv6 deployments world wide: it does - -To continue providing VIIRB and VIWIB, we have decided on two -strategies: - - -### Introducing the "Fair Price" - -Instead of abandoning the VIIRB like we planned or our low price, we -are adding a new price for the VIIRB and VIWIB that covers all our -costs. We call this price the "Fair Price" and with that we are not -losing money on each device. - -We keep the original prices up and to make the pricing more clear, we -call them now "Sponsored Price". - -Obviously we encourage everyone who can to buy the devices at the fair -price, but if you can't, we will continue to sponsor IPv6 deployments. - -### Adding VIIRB+VIWIB Sponsoring package - -Secondly we know offer VIIRB and VIWIB sponsoring packages: If you -think what we do is a good thing and you would like to support it, we -now offer VIIRB+VIWIB sponsoring packages that cover the difference -between the selling price and the real costs for the devices, leading -to a zerosum for ungleich. - -The sponsor packages work as follows: - -* You select a number of VIIRB/VIWIBs you would like to sponsor -* You can opt-in to send us stickers from your organisation that we - include with the VIIRBs/VIWIBs that you sponsored -* You can opt-in to be publicly named on a IPv6 deployment sponsor list - -So from today on, we offer the following sponsorship packages: - -* [Sponsor 5 VIIRBs/VIWIBs](https://linksanghee) - 435 CHF -* [Sponsor 10 VIIRBs/VIWIBs](https://linksanghee) - 870 CHF -* [Sponsor 20 VIIRBs/VIWIBs](https://linksanghee) - 1740 CHF -* [Sponsor 50 VIIRBs/VIWIBs](https://linksanghee) - 4350 CHF -* [Sponsor 100 VIIRBs/VIWIBs](https://linksanghee) - 8700 CHF - -We would love if you spread the word about it so that we can continue -sending the smallest IPv6 router out into the world. - -## More IPv6 - -We hope with our continued efforts we can support more IPv6 -deployments out there. In the meantime, if you want to talk more about -IPv6, feel free to join [our open IPv6.chat](https://IPv6.chat). diff --git a/content/u/blog/2022-02-14-100-servers-at-ungleich/contents.lr b/content/u/blog/2022-02-14-100-servers-at-ungleich/contents.lr deleted file mode 100644 index cad9f92..0000000 --- a/content/u/blog/2022-02-14-100-servers-at-ungleich/contents.lr +++ /dev/null @@ -1,117 +0,0 @@ -title: 100: the number of servers at ungleich ---- -pub_date: 2022-02-14 ---- -author: ungleich devops team ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -A long way until here ---- -body: - -## The day of celebration, 2022-02-14 - -Today is the day that we put **server100** online in our data center. -Server100. Who would have thought that when we started our journey -with the Data Center Light around 2017? - -Just on this Valentine's day, we have actually received 2 new servers -to support the growing storage needs of our customers, so server100 is -celebrating in the data center with server101. - -## Big data - -You might remember this slogan from the 2017's, "Big data" or "what -can you do if you have a lot of data". We see big data a bit -differently. We don't ever analyse our customer data or sell it to -third parties, because we know that for every of our customers privacy -is an important. - -No, at ungleich big data means "storing a lot of data". And that is -what server100 and server101 are going to do: each of them will -**provide around 400 Terabyte** of storage. - -This is a bit of a special case in our infrastructure, as these -servers are dedicated to specific customers. Usually, all of our -storage is provided by our Ceph clusters, but in this case these -machines are providing independent storage. - -## Kubernetes + IPv6 everywhere - -They are however integrated into our kubernetes clusters so that the -actual workload is scheduled via kubernetes to these specific hosts. - -As usual, the servers are running in IPv6 only networks, but have -access to the Internet via NAT64. - -## More about server100 - -So, what kind of server is this server100 anyway? It is a 24 bay, -Supermicro X9QRi-F with 64 cores and 512GB RAM. It is connected to our -network with 2x 10 Gbit/s network cards running LACP bonding. Not only -in terms of computing it is big, it is with it's 1620W PSU also one of -the "heaviest" servers in our data center (the average PSU is -rated somewhere in the 1000W area). - -Some more insights coming from the terminal: - -``` -[17:33] server100.place10:~# cat /proc/cpuinfo | grep ^process | wc -l -64 -[17:33] server100.place10:~# free -g - total used free shared buff/cache available -Mem: 503 0 502 0 1 501 -Swap: 0 0 0 -``` - -Obviously, the uptime is not yet that high... - -``` -[17:46] server100.place10:~# uptime - 17:46:42 up 1:37, load average: 0.00, 0.00, 0.00 -``` - -... neither are the measured temperatures: - -``` -root@2157f4626763:/# ipmitool sensor | grep degrees -CPU1 Temp | 27.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 97.000 | 100.000 | 102.000 -CPU2 Temp | 28.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 97.000 | 100.000 | 102.000 -CPU3 Temp | 28.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 97.000 | 100.000 | 102.000 -CPU4 Temp | 27.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 97.000 | 100.000 | 102.000 -PCH Temp | 43.000 | degrees C | ok | -11.000 | -8.000 | -5.000 | 90.000 | 95.000 | 100.000 -System Temp | 16.000 | degrees C | ok | -9.000 | -7.000 | -5.000 | 80.000 | 85.000 | 90.000 -Rear Left Temp | 17.000 | degrees C | ok | -9.000 | -7.000 | -5.000 | 80.000 | 85.000 | 90.000 -Rear Right Temp | 14.000 | degrees C | ok | -9.000 | -7.000 | -5.000 | 80.000 | 85.000 | 90.000 -root@2157f4626763:/# -``` - -With the addition of server100 and server101 we are about to -crack the 10 TiB RAM barrier. Prior to the deployment of these two, a -total of 8 TiB had been deployed in the Data Center Light. - -As you can see, we have a lot of fun with our latest servers. And this -brings us to the important point: celebration. - -## Celebration - -Over the years we learned many great stories and have done many great -projects together with our customers and partners. Many of them have -turned into friends and we know the spirit of each and every project -that came to us. - -In this sense we want to celebrate reaching that big number -with you and will give a 100% discount on any hosting order of 100 CHF -or more for the first month. - -Checkout the details on the [100 servers - 100 percent -discount](/u/offers/100-servers-100-percent-discount) page. And now, -happy 100 everyone! - -If you feel like celebrating, you can also join us on our [open chat](/u/projects/open-chat). diff --git a/content/u/blog/2022-02-14-100-servers-at-ungleich/server100.jpg b/content/u/blog/2022-02-14-100-servers-at-ungleich/server100.jpg deleted file mode 100644 index a1931ba..0000000 Binary files a/content/u/blog/2022-02-14-100-servers-at-ungleich/server100.jpg and /dev/null differ diff --git a/content/u/blog/2022-04-01-infrastructure-update/contents.lr b/content/u/blog/2022-04-01-infrastructure-update/contents.lr deleted file mode 100644 index 1612dd5..0000000 --- a/content/u/blog/2022-04-01-infrastructure-update/contents.lr +++ /dev/null @@ -1,127 +0,0 @@ -title: URGENT: Infrastructure update Announcement ---- -pub_date: 2022-04-01 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -We are updating our infrastructure - what actions do you need to take ---- -body: - -## APRIL's FOOLS DAY - -None of the news below is true - this was just part of our 2022 -April's fools day contribution. - -## Urgent release: ungleich infrastructure update - -To the attention to every ungleich customer: today we are updating our -infrastructure to the latest technologies. All changes will be applied -at 23:42 CEST today. - -What does that mean to you? The following sections answer this in detail. - -## Network upgrades: Turning IPv4 off - -As of today all IPv4 traffic will be disabled. IPv4 has become -too expensive and it is not worth keeping it online. - -The migration will be as follows: every IPv4 address like A.B.C.D will be -translated to an IPv6 address like 2a0a:e5c0:b00::A.B.C.D. - -As a bonus, every customer will get their own "cafe" IPv6 network. - -Additionally every server will be connected also via -[SCION](https://scion-architecture.net/), the new Internet. - -## Network upgrade: Removal of old connections: no more 2G/3G/4G - -You may be aware that slow Internet connections are draining server -resources: long lasting connections without much data transfer is a -burden for every server. For that reason, we will disable access to -our data center from any 2G/3G/4G mobile connection. - -You are required to use 5G, 6G, 7G, Fiber or 56k modems to access Data Center -Light. The latter was included as a fallback, in case you don't have -support for a modern Internet connection. - - -## Storage migration - -Our storage is so far based on Ceph, a distributed storage. To follow -modern standards, we are migrating all our data to the blockchain. - -To avoid vendor logins and possible shortcomes of a particular -blockchain, we are introducting the "ungleich blockchain", which -stores data on **all** available blockhains. - -If you are worried about privacy implications of all data being -public, don't worry: we are encrypting all data using an -[Enigma machine](https://en.wikipedia.org/wiki/Enigma_machine). - -Optionally, on request, we can also encrypt your data as NFTs. - -In regards to performance, we expect a huge performance increase, as -all data will be saved everywhere. - -## Computing power - -As you might have read recently, we are investigating heating houses -with the server heat. This project is now in productive state and we -require much more computing power. - -For that reason, at the same time today, our whole server -infrastructure will be replaced with [quantum -computers](https://en.wikipedia.org/wiki/Timeline_of_quantum_computing_and_communication). - -As qubits, the equivalent of bits on quantum computers, operate on -probabilities, all calculations for our customers are not guaranteed -anymore, but instead they will be executed by a certain probability. - -The exact probability is derived from your society behaviour -points. If you are [in the good -place](https://en.wikipedia.org/wiki/The_Good_Place) you get an -additional uncertainty factor of 3.14. - -## Removal of Kubernetes - -We recently introduced [kubernetes](https://kubernetes.io/) in our -infrastructure. After only 2 years of R&D we will have to shutdown all -Kubernetes based clusters. The main reason is that the actual -complexity of Kubernetes systems is **not high enough**. Plainly -speaking, our engineers are bored. For that reason: - -We will replace Kubernetes with a [home -made](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself) solution -that consists solely of a manually managed cluster of Windows -Servers. Microsoft is a direct partner in this and provides us with -a new Windows version: **Microsoft Windows Quantum ME 3.11**. -We expect great stability from this release with a minimum complexity -factor of 1000x added. - -## Maintenance and Customer support - -We have always been very community orientated. Today we wanted to take -the next big step and we turn over the customer support and system -maintenance to the community. What does that mean specifically? - -Anyone interested in maintaining our infrastructure can get full root -access on all systems. - -As everyone now has full root access, the customer support is also -shifted to a decentralised, [bittorrent -based](https://en.wikipedia.org/wiki/BitTorrent) support community. - -If you have any questions to the recent changes, please connect the -decentrally organised support community. Unfortunately, due do the -decentralisation, we cannot offer a single contact reference. - -However the Web3 advocate of your choice will certainly be able to -provide you answers. diff --git a/content/u/blog/2022-06-03-django-hosting-in-kubernetes/contents.lr b/content/u/blog/2022-06-03-django-hosting-in-kubernetes/contents.lr deleted file mode 100644 index eb1e40d..0000000 --- a/content/u/blog/2022-06-03-django-hosting-in-kubernetes/contents.lr +++ /dev/null @@ -1,119 +0,0 @@ -title: Hosting Django Apps in Kubernetes [WIP] ---- -pub_date: 2022-06-03 ---- -author: ungleich django team ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -Django running on top of k8s ---- -body: - -## Situation - -At ungleich we are hosting quite a lot of Django applications. As of -2022-06-03, most of them are still deployed on a traditional VM based -setup. - -We are using this blog entry to document a possible blueprint and the -progress of migration at ungleich. - -## General design - -Our Kubernetes clusters usually use -[ArgoCD](https://argo-cd.readthedocs.io/en/stable/) for deployments, -so Django applications should potentially be defined the same way. - -Most of our kubernetes applications are defined in helm charts and -thus the "general django application" should probably also be defined -in a helm chart. - -## Freedom of choice - -While as a hoster it might be tempting to define a specific image that -Django applications should be using (like -[python](https://hub.docker.com/_/python)), but we want to give us and -our customers the freedom to choose the image they use themselves. It -might potentially even come from a private registry. - -## Interface definition - -All of our Django applications are using Postgresql for storing -data. Postgresql is used by quite some other applications that we -deployed in k8s, so this is a no-brainer. Django hosting at ungleich, -even in k8s, will be based on Postgresql. - -Static data of Django applications can easily be stored on a PVC. This -has the drawback that filesystem PVCs based on ceph block devices are -usually RWO and thus in case of restart, there will be a short downtime. - -This is, generally speaking probably accepted, like a deploy would -have caused a short downtime on a VM as well. - -However alternatives would be a shared filesystem (such as -NFS/CephFS), but they are usually slower than dedicated block -devices - so reliability can be traded against speed. Maybe we offer -both options or add an NFS server as an option to our Django Hosting. - - -## Django startup / processes - -On startup, Django will need to ensure the database schema -has been upgraded to the latest version. so something like `python -manage.py migrate` should probably be called in an InitContainer for -most apps. We could specify that the customer provided container -supports multiple commands: - -- /init - anything that needs to be done *once* on startup -- /run - something that runs the actual site - -Some django apps however utilise Celery -or [Django Q](https://django-q.readthedocs.io/en/latest/) -for async tasks. We don't know which system is used, but it would be easy to -add a flag to the hosting whether or not a third container -should be utilised. Thus we could define: - -- If async container is defined, enable it and run /async (or similar) - - -## Secrets - -Django applications usually have some kind of secrets and most Django -applications have DIFFERENT types of secrets. Thus defining a specific -environment variable does not seem to be a smart idea. - -Instead, we should probably offer to store secrets in something like -[SealedSecrets](https://github.com/bitnami-labs/sealed-secrets). - -Database connection information is provided by default and is -cluster/app specific. - -## Deployment - -We are likely going with a git-ops style deployment in which -everything is defined for the Django app. This repository is read -write for each client/customer. - -This probably includes: - -- (Possible encrypted) Secrets -- Image definitions -- Maybe even (part of) a pod definition? - -Some parameters are likely to be stored in a different, ungleich only -writable repository, such as: - -- Size of RAM -- Number of CPUs -- Storage size (Postgresql, Static files, ...) - -## Status - -This document is still WIP and will be used as a basis for -deploying our own Django apps first. \ No newline at end of file diff --git a/content/u/blog/2022-06-03-k8s-course-diesbach/contents.lr b/content/u/blog/2022-06-03-k8s-course-diesbach/contents.lr deleted file mode 100644 index 82ef1d7..0000000 --- a/content/u/blog/2022-06-03-k8s-course-diesbach/contents.lr +++ /dev/null @@ -1,122 +0,0 @@ -title: Let's get started with Kubernetes ---- -pub_date: 2022-06-03 ---- -author: ungleich k8s team ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -Learning Kubernetes - the smart way ---- -body: - -## It's time for Kubernetes - -Like everybody else, you might have been following the topic of kubernetes for a while and -maybe you wondered whether or not it's about time to learn -kubernetes. So have we at ungleich. Over the years we tested kubernetes -many times and quite often had the verdict "no, not yet". - -About one and a half year ago, our verdict finally changed. After much testings and learnings, -we came to the conclusion that Kubernetes is stable enough to be -running in the ungleich environment. Speaking of our environment, it is not only IPv6-only, but -also needs to support a huge variety of workloads. - -## Open Source and Open Teaching - -Applying Kubernetes on our own datacenter required a lot of intense learning and -real-life problem solving. We won't say that was always easy, but it has been quite rewarding. -One of the main takeaways is that it can be tough to kickstart Kubernetes. -Since it has a lot of different use-cases, concepts -and configurations, it can be easily overwhelming. - -At ungleich we have always been standing for Open Source and -[Open -Communication](https://redmine.ungleich.ch/projects/open-infrastructure) -and we want to continue this by passing on our knowledge about -Kubernetes. - -## Is Kubernetes for me? - -That depends and there are many factors to consider. If you are an -organisation and you want to standardise your application deployments -or increase the efficiency of deployments, Kubernetes is a good choice. - -If you are an engineer or a developer and you are considering -improving your career, learning Kubernetes is a good choice. - - -## 2 Beginner Courses starting in Digital Glarus - -For this reason we will start 2 beginner courses this June -(**Update: only 2 places left**) in the beautiful Hacking Villa in -Diesbach, Switzerland. - -### Setting up Kubernetes - -The first course, [Kubernetes Setup -Course](https://ungleich.ch/en-us/cms/school-digital-glarus/k8s-setup/) -focuses on how to set up Kubernetes clusters. It is intended for -Sysadmins and DevOps engineers that want to operate Kubernetes -clusters. - -### Using Kubernetes - -After having a cluster setup, the big question is how to actually use -it. Our second course, the [Kubernetes Usage -Course](https://ungleich.ch/en-us/cms/school-digital-glarus/k8s-usage/) -is focussing on the aspect of understanding the concepts of -Kubernetes. - - -## On-Site and Online - -Both courses are available On-Site in Switzerland as well as Online -(choose the "Learning only" package for this one). If you choose to be -onsite, you will visit us in the beautiful Swiss Alps and lodge in [a -historic, protected building.](https://ungleich.ch/en-us/cms/school-digital-glarus/location/) - -![](/u/image/hacking-villa-diesbach.jpg) - -## Intense + Personal + Relaxing - -At ungleich we know that intense learning (6 hours per day, 3 hours in -the morning, 3 hours in the afternoon) also requires fitting calming -down to be able to concentrate. - -For this reason we have local recommendations for hiking paths, -swimming or - if you join the winter course - skiing. - -Our experience has shown that learnings in small groups with -personal training are most effective. For this reason the size of the -training groups is limited to 6 people. - -## A or B or A+B? - -If you are considering participating in the setting up or using -Kubernetes course: you can take either of them or both of them, they -work independently of each other. - -Note: for both courses we have 2 places free - if you are interested, -you can apply directly on the course websites: - -* https://ungleich.ch/en-us/cms/school-digital-glarus/k8s-setup/ -* https://ungleich.ch/en-us/cms/school-digital-glarus/k8s-usage/ - -## Looking forward to seeing you - -Ever since we started our company ungleich we have done things a bit -differently, focusing on sustainability and open source. Since the launch of project Digital Glarus in 2015, many people from all over the world -have visited us, learned with us and a lot of them even stayed in our community via our -[Open Chat](https://ungleich.ch/u/projects/open-chat/). We look -forward to welcoming you to Digital Glarus or teaching you online and -maybe staying with us even longer. - -Our Open Chat is based on Matrix and if you are curious about what we -do and write about Kubernetes, feel free to join -#kubernetes:ungleich.ch. diff --git a/content/u/blog/2022-06-03-k8s-course-diesbach/hike-dark-mountain.jpg b/content/u/blog/2022-06-03-k8s-course-diesbach/hike-dark-mountain.jpg deleted file mode 100644 index 415e0c0..0000000 Binary files a/content/u/blog/2022-06-03-k8s-course-diesbach/hike-dark-mountain.jpg and /dev/null differ diff --git a/content/u/blog/2022-07-10-launching-ipv6only-conduit-matrix-server/contents.lr b/content/u/blog/2022-07-10-launching-ipv6only-conduit-matrix-server/contents.lr deleted file mode 100644 index 47b096e..0000000 --- a/content/u/blog/2022-07-10-launching-ipv6only-conduit-matrix-server/contents.lr +++ /dev/null @@ -1,82 +0,0 @@ -title: [matrix] Conduit beta at ungleich ---- -pub_date: 2022-07-10 ---- -author: ungleich matrix team ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -Let's give Conduit a try! IPv6 only, of course. ---- -body: - -## News from the Matrix Home Server department - -Here at ungleich we always have a look around, which Matrix home -server to use. Obviously, you all know about -[synapse](https://github.com/matrix-org/synapse), the reference -server. -Some of you might also know about -[dendrite](https://github.com/matrix-org/dendrite), an experimental, -maybe at some point in the future replacement of synapse. - -But did you know about [conduit](https://conduit.rs/), a tiny Matrix -homeserver written in Rust? Well, now you do. - -## Next generation Matrix Home Server? - -At ungleich we like to see what is coming next and conduit certainly -has the potential to become an interesting, production grade -homeserver. At the moment there are some -[issues open for the 1.0 -milestone](https://gitlab.com/famedly/conduit/-/milestones/3#tab-issues), -however conduit is actually already quite usable. - -How stable you ask? Well, ... - -## Phasing in public beta server at ungleich - -To give you a preview, we have setup an **IPv6 only** instance of -conduit at [conduit.ungleich.ch](https://conduit.ungleich.ch). - -This server is open for public use, anyone (well, anyone with -IPv6...) can register. However note: **this is only a test -instance**. We might at any point in the future delete, replace or -reset it. It is not backed and not a production service. It's main -intent is to allow you to easily test out Conduit. - -If you are looking for a production grade homeserver for yourself, -have a look at our [hosted Matrix -offerings](https://ungleich.ch/u/products/hosted-matrix-chat/). - -That said - give it a shot. We think Conduit is a promising -homeserver, especially given its focus on low resource usage. - -## ... why IPv6 only? - -There are several reason for it: - -* IPv6 only is much easier to setup than IPv6+IPv4 -* This is a public beta service for which we try to keep the effort - low -* It's good test for us to see if conduit works in our IPv6 only - networks -* Global IPv6 traffic is nearing 50% and [many countries already - exceed 50%](https://stats.labs.apnic.net/ipv6) - -If you cannot access the conduit server because you don't have IPv6, -you can always get IPv6 via [the IPv6VPN](/u/products/ipv6-vpn/). - -## Follow up or questions - -You can join the discussion either on the conduit server or you can -also join our chat on https://chat.with.ungleich.ch (IPv6+IPv4 Synapse -based Matrix server). - -If you have anything to share about conduit, feel free to join the -room #conduit:fachschaften.org. diff --git a/content/u/blog/2022-08-27-migrating-ceph-nautilus-into-kubernetes-with-rook/contents.lr b/content/u/blog/2022-08-27-migrating-ceph-nautilus-into-kubernetes-with-rook/contents.lr deleted file mode 100644 index 5296198..0000000 --- a/content/u/blog/2022-08-27-migrating-ceph-nautilus-into-kubernetes-with-rook/contents.lr +++ /dev/null @@ -1,1248 +0,0 @@ -title: [WIP] Migrating Ceph Nautilus into Kubernetes + Rook ---- -pub_date: 2022-08-27 ---- -author: ungleich storage team ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -How we move our Ceph clusters into kubernetes ---- -body: - -## Introduction - -At ungleich we are running multiple Ceph clusters. Some of them are -running Ceph Nautilus (14.x) based on -[Devuan](https://www.devuan.org/). Our newer Ceph Pacific (16.x) -clusters are running based on [Rook](https://rook.io/) on -[Kubernetes](https://kubernetes.io/) on top of -[Alpine Linux](https://alpinelinux.org/). - -In this blog article we will describe how to migrate -Ceph/Native/Devuan to Ceph/k8s+rook/Alpine Linux. - -## Work in Progress [WIP] - -This blog article is work in progress. The migration planning has -started, however the migration has not been finished yet. This article -will feature the different paths we take for the migration. - -## The Plan - -To continue operating the cluster during the migration, the following -steps are planned: - -* Setup a k8s cluster that can potentially communicate with the - existing ceph cluster -* Using the [disaster - recovery](https://rook.io/docs/rook/v1.9/Troubleshooting/disaster-recovery/) - guidelines from rook to modify the rook configuration to use the - previous fsid. -* Spin up ceph monitors and ceph managers in rook -* Retire existing monitors -* Shutdown a ceph OSD node, remove it's OS disk, boot it with Alpine - Linux -* Join the node into the k8s cluster -* Have rook pickup the existing disks and start the osds -* Repeat if successful -* Migrate to ceph pacific - -### Original cluster - -The target ceph cluster we want to migrate lives in the 2a0a:e5c0::/64 -network. Ceph is using: - -``` -public network = 2a0a:e5c0:0:0::/64 -cluster network = 2a0a:e5c0:0:0::/64 -``` - -### Kubernetes cluster networking inside the ceph network - -To be able to communicate with the existing OSDs, we will be using -sub networks of 2a0a:e5c0::/64 for kubernetes. As these networks -are part of the link assigned network 2a0a:e5c0::/64, we will use BGP -routing on the existing ceph nodes to create more specific routes into -the kubernetes cluster. - -As we plan to use either [cilium](https://cilium.io/) or -[calico](https://www.tigera.io/project-calico/) as the CNI, we can -configure kubernetes to directly BGP peer with the existing Ceph -nodes. - -## The setup - -### Kubernetes Bootstrap - -As usual we bootstrap 3 control plane nodes using kubeadm. The proxy -for the API resides in a different kuberentes cluster. - -We run - -``` -kubeadm init --config kubeadm.yaml -``` - -on the first node and join the other two control plane nodes. As -usual, joining the workers last. - -### k8s Networking / CNI - -For this setup we are using calico as described in the -[ungleich kubernetes -manual](https://redmine.ungleich.ch/projects/open-infrastructure/wiki/The_ungleich_kubernetes_infrastructure#section-23). - -``` -VERSION=v3.23.3 -helm repo add projectcalico https://docs.projectcalico.org/charts -helm upgrade --install --namespace tigera calico projectcalico/tigera-operator --version $VERSION --create-namespace -``` - -### BGP Networking on the old nodes - -To be able to import the BGP routes from Kubernetes, all old / native -hosts will run bird. The installation and configuration is as follows: - -``` -apt-get update -apt-get install -y bird2 - -router_id=$(hostname | sed 's/server//') - -cat > /etc/bird/bird.conf < 64 then accept; else reject; }; - export none; - }; -} -EOF -/etc/init.d/bird restart - -``` - -The router id must be adjusted for every host. As all hosts have a -unique number, we use that one as the router id. -The bird configuration allows to use dynamic peers so that any k8s -node in the network can peer with the old servers. - -We also use a filter to avoid receiving /64 routes, as they are -overlapping with the on link route. - -### BGP networking in Kubernetes - -Calico supports BGP peering and we use a rather standard calico -configuration: - -``` -apiVersion: projectcalico.org/v3 -kind: BGPConfiguration -metadata: - name: default -spec: - logSeverityScreen: Info - nodeToNodeMeshEnabled: true - asNumber: 65533 - serviceClusterIPs: - - cidr: 2a0a:e5c0:0:aaaa::/108 - serviceExternalIPs: - - cidr: 2a0a:e5c0:0:aaaa::/108 -``` - -Plus for each server and router we create a BGPPeer: - -``` -apiVersion: projectcalico.org/v3 -kind: BGPPeer -metadata: - name: serverXX -spec: - peerIP: 2a0a:e5c0::XX - asNumber: 65530 - keepOriginalNextHop: true -``` - -We apply the whole configuration using calicoctl: - -``` -./calicoctl create -f - < ~/vcs/k8s-config/bootstrap/p5-cow/calico-bgp.yaml -``` - -And a few seconds later we can observer the routes on the old / native -hosts: - -``` -bird> show protocols -Name Proto Table State Since Info -device1 Device --- up 23:09:01.393 -kernel1 Kernel master6 up 23:09:01.393 -k8s BGP --- start 23:09:01.393 Passive -k8s_1 BGP --- up 23:33:01.215 Established -k8s_2 BGP --- up 23:33:01.215 Established -k8s_3 BGP --- up 23:33:01.420 Established -k8s_4 BGP --- up 23:33:01.215 Established -k8s_5 BGP --- up 23:33:01.215 Established - -``` - -### Testing networking - -To verify that the new cluster is working properly, we can deploy a -tiny test deployment and see if it is globally reachable: - -``` -apiVersion: apps/v1 -kind: Deployment -metadata: - name: nginx-deployment -spec: - selector: - matchLabels: - app: nginx - replicas: 2 - template: - metadata: - labels: - app: nginx - spec: - containers: - - name: nginx - image: nginx:1.20.0-alpine - ports: - - containerPort: 80 -``` - -And the corresponding service: - -``` -apiVersion: v1 -kind: Service -metadata: - name: nginx-service -spec: - selector: - app: nginx - ports: - - protocol: TCP - port: 80 -``` - -Using curl to access a sample service from the outside shows that -networking is working: - -``` -% curl -v http://[2a0a:e5c0:0:aaaa::e3c9] -* Trying 2a0a:e5c0:0:aaaa::e3c9:80... -* Connected to 2a0a:e5c0:0:aaaa::e3c9 (2a0a:e5c0:0:aaaa::e3c9) port 80 (#0) -> GET / HTTP/1.1 -> Host: [2a0a:e5c0:0:aaaa::e3c9] -> User-Agent: curl/7.84.0 -> Accept: */* -> -* Mark bundle as not supporting multiuse -< HTTP/1.1 200 OK -< Server: nginx/1.20.0 -< Date: Sat, 27 Aug 2022 22:35:49 GMT -< Content-Type: text/html -< Content-Length: 612 -< Last-Modified: Tue, 20 Apr 2021 16:11:05 GMT -< Connection: keep-alive -< ETag: "607efd19-264" -< Accept-Ranges: bytes -< - - - -Welcome to nginx! - - - -

Welcome to nginx!

-

If you see this page, the nginx web server is successfully installed and -working. Further configuration is required.

- -

For online documentation and support please refer to -nginx.org.
-Commercial support is available at -nginx.com.

- -

Thank you for using nginx.

- - -* Connection #0 to host 2a0a:e5c0:0:aaaa::e3c9 left intact -``` - -So far we have found 1 issue: - -* Sometimes the old/native servers can reach the service, sometimes -they get a timeout - -In old calico notes on github it is referenced that overlapping -Pod/CIDR networks might be a problem. Additionally we cannot use -kubeadm to initialise the podsubnet to be a proper subnet of the node -subnet: - -``` -[00:15] server57.place5:~# kubeadm init --service-cidr 2a0a:e5c0:0:cccc::/108 --pod-network-cidr 2a0a:e5c0::/100 -I0829 00:16:38.659341 19400 version.go:255] remote version is much newer: v1.25.0; falling back to: stable-1.24 -podSubnet: Invalid value: "2a0a:e5c0::/100": the size of pod subnet with mask 100 is smaller than the size of node subnet with mask 64 -To see the stack trace of this error execute with --v=5 or higher -[00:16] server57.place5:~# -``` - -### Networking 2022-09-03 - -* Instead of trying to merge the cluster networks, we will use - separate ranges -* According to the [ceph users mailing list - discussion](https://www.spinics.net/lists/ceph-users/msg73421.html) - it is actually not necessary for mons/osds to be in the same - network. In fact, we might be able to remove these settings - completely. - -So today we start with - -* podSubnet: 2a0a:e5c0:0:14::/64 -* serviceSubnet: 2a0a:e5c0:0:15::/108 - -Using BGP and calico, the kubernetes cluster is setup "as usual" (for -ungleich terms). - -### Ceph.conf change - -Originally our ceph.conf contained: - -``` -public network = 2a0a:e5c0:0:0::/64 -cluster network = 2a0a:e5c0:0:0::/64 -``` - -As of today they are removed and all daemons are restarted, allowing -the native cluster to speak with the kubernetes cluster. - -### Setting up rook - -Usually we deploy rook via argocd. However as we want to be easily -able to do manual intervention, we will first bootstrap rook via helm -directly and turn off various services - -``` -helm repo add rook https://charts.rook.io/release -helm repo update -``` - -We will use rook 1.8, as it is the last version to support Ceph -nautilus, which is our current ceph version. The latest 1.8 version is -1.8.10 at the moment. - -``` -helm upgrade --install --namespace rook-ceph --create-namespace --version v1.8.10 rook-ceph rook/rook-ceph -``` - -### Joining the 2 clusters, step 1: monitors and managers - -In the first step we want to add rook based monitors and managers -and replace the native ones. For rook to be able to talk to our -existing cluster, it needs to know - -* the current monitors/managers ("the monmap") -* the right keys to talk to the existing cluster -* the fsid - -As we are using v1.8, we will follow -[the guidelines for disaster recover of rook -1.8](https://www.rook.io/docs/rook/v1.8/ceph-disaster-recovery.html). - -Later we will need to create all the configurations so that rook knows -about the different pools. - -### Rook: CephCluster - -Rook has a configuration of type `CephCluster` that typically looks -something like this: - -``` -apiVersion: ceph.rook.io/v1 -kind: CephCluster -metadata: - name: rook-ceph - namespace: rook-ceph -spec: - cephVersion: - # see the "Cluster Settings" section below for more details on which image of ceph to run - image: quay.io/ceph/ceph:{{ .Chart.AppVersion }} - dataDirHostPath: /var/lib/rook - mon: - count: 5 - allowMultiplePerNode: false - storage: - useAllNodes: true - useAllDevices: true - onlyApplyOSDPlacement: false - mgr: - count: 1 - modules: - - name: pg_autoscaler - enabled: true - network: - ipFamily: "IPv6" - dualStack: false - crashCollector: - disable: false - # Uncomment daysToRetain to prune ceph crash entries older than the - # specified number of days. - daysToRetain: 30 -``` - -For migrating, we don't want rook in the first stage to create any -OSDs. So we will replace `useAllNodes: true` with `useAllNodes: false` -and `useAllDevices: true` also with `useAllDevices: false`. - - -### Extracting a monmap - -To get access to the existing monmap, we can export it from the native -cluster using `ceph-mon -i {mon-id} --extract-monmap {map-path}`. -More details can be found on the [documentation for adding and -removing ceph -monitors](https://docs.ceph.com/en/latest/rados/operations/add-or-rm-mons/). - - - -### Rook and Ceph pools - -Rook uses `CephBlockPool` to describe ceph pools as follows: - -``` -apiVersion: ceph.rook.io/v1 -kind: CephBlockPool -metadata: - name: hdd - namespace: rook-ceph -spec: - failureDomain: host - replicated: - size: 3 - deviceClass: hdd -``` - -In this particular cluster we have 2 pools: - -- one (ssd based, device class = ssd) -- hdd (hdd based, device class = hdd-big) - -The device class "hdd-big" is specific to this cluster as it used to -contain 2.5" and 3.5" HDDs in different pools. - - -### [old] Analysing the ceph cluster configuration - -Taking the view from the old cluster, the following items are -important for adding new services/nodes: - -* We have a specific fsid that needs to be known - * The expectation would be to find that fsid in a configmap/secret in rook -* We have a list of running monitors - * This is part of the monmap and ceph.conf - * ceph.conf is used for finding the initial contact point - * Afterwards the information is provided by the monitors - * For rook it would be expected to have a configmap/secret listing - the current monitors -* The native clusters have a "ceph.client.admin.keyring" deployed which -allows adding and removing resources. - * Rook probably has a secret for keyrings - * Maybe multiple depending on how services are organised - -### Analysing the rook configurations - -Taking the opposite view, we can also checkout a running rook cluster -and the rook disaster recovery documentation to identify what to -modify. - -Let's have a look at the secrets first: - -``` -cluster-peer-token-rook-ceph kubernetes.io/rook 2 320d -default-token-xm9xs kubernetes.io/service-account-token 3 320d -rook-ceph-admin-keyring kubernetes.io/rook 1 320d -rook-ceph-admission-controller kubernetes.io/tls 3 29d -rook-ceph-cmd-reporter-token-5mh88 kubernetes.io/service-account-token 3 320d -rook-ceph-config kubernetes.io/rook 2 320d -rook-ceph-crash-collector-keyring kubernetes.io/rook 1 320d -rook-ceph-mgr-a-keyring kubernetes.io/rook 1 320d -rook-ceph-mgr-b-keyring kubernetes.io/rook 1 320d -rook-ceph-mgr-token-ktt2m kubernetes.io/service-account-token 3 320d -rook-ceph-mon kubernetes.io/rook 4 320d -rook-ceph-mons-keyring kubernetes.io/rook 1 320d -rook-ceph-osd-token-8m6lb kubernetes.io/service-account-token 3 320d -rook-ceph-purge-osd-token-hznnk kubernetes.io/service-account-token 3 320d -rook-ceph-rgw-token-wlzbc kubernetes.io/service-account-token 3 134d -rook-ceph-system-token-lxclf kubernetes.io/service-account-token 3 320d -rook-csi-cephfs-node kubernetes.io/rook 2 320d -rook-csi-cephfs-plugin-sa-token-hkq2g kubernetes.io/service-account-token 3 320d -rook-csi-cephfs-provisioner kubernetes.io/rook 2 320d -rook-csi-cephfs-provisioner-sa-token-tb78d kubernetes.io/service-account-token 3 320d -rook-csi-rbd-node kubernetes.io/rook 2 320d -rook-csi-rbd-plugin-sa-token-dhhq6 kubernetes.io/service-account-token 3 320d -rook-csi-rbd-provisioner kubernetes.io/rook 2 320d -rook-csi-rbd-provisioner-sa-token-lhr4l kubernetes.io/service-account-token 3 320d -``` - -TBC - -### Creating additional resources after the cluster is bootstrapped - -To let rook know what should be there, we already create the two -`CephBlockPool` instances that match the existing pools: - -```apiVersion: ceph.rook.io/v1 -kind: CephBlockPool -metadata: - name: one - namespace: rook-ceph -spec: - failureDomain: host - replicated: - size: 3 - deviceClass: ssd -``` - -And for the hdd based pool: - -``` -apiVersion: ceph.rook.io/v1 -kind: CephBlockPool -metadata: - name: hdd - namespace: rook-ceph -spec: - failureDomain: host - replicated: - size: 3 - deviceClass: hdd-big -``` - -Saving both of these in ceph-blockpools.yaml and applying it: - -``` -kubectl -n rook-ceph apply -f ceph-blockpools.yaml -``` - -### Configuring ceph after the operator deployment - -As soon as the operator and the crds have been deployed, we deploy the -following -[CephCluster](https://rook.io/docs/rook/v1.8/ceph-cluster-crd.html) -configuration: - -``` -apiVersion: ceph.rook.io/v1 -kind: CephCluster -metadata: - name: rook-ceph - namespace: rook-ceph -spec: - cephVersion: - image: quay.io/ceph/ceph:v14.2.21 - dataDirHostPath: /var/lib/rook - mon: - count: 5 - allowMultiplePerNode: false - storage: - useAllNodes: false - useAllDevices: false - onlyApplyOSDPlacement: false - mgr: - count: 1 - modules: - - name: pg_autoscaler - enabled: true - network: - ipFamily: "IPv6" - dualStack: false - crashCollector: - disable: false - # Uncomment daysToRetain to prune ceph crash entries older than the - # specified number of days. - daysToRetain: 30 -``` - -We wait for the cluster to initialise and stabilise before applying -changes. Important to note is that we use the ceph image version -v14.2.21, which is the same version as the native cluster. - - - -### rook v1.8 is incompatible with ceph nautilus - -After deploying the rook operator, the following error message is -printed in its logs: - -``` -2022-09-03 15:14:03.543925 E | ceph-cluster-controller: failed to reconcile CephCluster "rook-ceph/rook-ceph". failed to reconcile cluster "rook-ceph": failed to configure local ceph cluster: failed the ceph version check: the version does not meet the minimum version "15.2.0-0 octopus" -``` - -So we need to downgrade to rook v1.7. Using `helm search repo -rook/rook-ceph --versions` we identify the latest usable version should be `v1.7.11`. - -We start the downgrade process using - -``` -helm upgrade --install --namespace rook-ceph --create-namespace --version v1.7.11 rook-ceph rook/rook-ceph -``` - -After downgrading the operator is starting the canary monitors and -continues to bootstrap the cluster. - -### The ceph-toolbox - -To be able to view the current cluster status, we also deploy the -ceph-toolbox for interacting with rook: - -``` -apiVersion: apps/v1 -kind: Deployment -metadata: - name: rook-ceph-tools - namespace: rook-ceph # namespace:cluster - labels: - app: rook-ceph-tools -spec: - replicas: 1 - selector: - matchLabels: - app: rook-ceph-tools - template: - metadata: - labels: - app: rook-ceph-tools - spec: - dnsPolicy: ClusterFirstWithHostNet - containers: - - name: rook-ceph-tools - image: rook/ceph:v1.7.11 - command: ["/bin/bash"] - args: ["-m", "-c", "/usr/local/bin/toolbox.sh"] - imagePullPolicy: IfNotPresent - tty: true - securityContext: - runAsNonRoot: true - runAsUser: 2016 - runAsGroup: 2016 - env: - - name: ROOK_CEPH_USERNAME - valueFrom: - secretKeyRef: - name: rook-ceph-mon - key: ceph-username - - name: ROOK_CEPH_SECRET - valueFrom: - secretKeyRef: - name: rook-ceph-mon - key: ceph-secret - volumeMounts: - - mountPath: /etc/ceph - name: ceph-config - - name: mon-endpoint-volume - mountPath: /etc/rook - volumes: - - name: mon-endpoint-volume - configMap: - name: rook-ceph-mon-endpoints - items: - - key: data - path: mon-endpoints - - name: ceph-config - emptyDir: {} - tolerations: - - key: "node.kubernetes.io/unreachable" - operator: "Exists" - effect: "NoExecute" - tolerationSeconds: 5 -``` - -### Checking the deployments - -After the rook-operator finished deploying, the following deployments -are visible in kubernetes: - -``` -[17:25] blind:~% kubectl -n rook-ceph get deployment -NAME READY UP-TO-DATE AVAILABLE AGE -csi-cephfsplugin-provisioner 2/2 2 2 21m -csi-rbdplugin-provisioner 2/2 2 2 21m -rook-ceph-crashcollector-server48 1/1 1 1 2m3s -rook-ceph-crashcollector-server52 1/1 1 1 2m24s -rook-ceph-crashcollector-server53 1/1 1 1 2m2s -rook-ceph-crashcollector-server56 1/1 1 1 2m17s -rook-ceph-crashcollector-server57 1/1 1 1 2m1s -rook-ceph-mgr-a 1/1 1 1 2m3s -rook-ceph-mon-a 1/1 1 1 10m -rook-ceph-mon-b 1/1 1 1 8m3s -rook-ceph-mon-c 1/1 1 1 5m55s -rook-ceph-mon-d 1/1 1 1 5m33s -rook-ceph-mon-e 1/1 1 1 4m32s -rook-ceph-operator 1/1 1 1 102m -rook-ceph-tools 1/1 1 1 17m -``` - -Relevant for us are the mgr, mon and operator. To stop the cluster, we -will shutdown the deployments in the following order: - -* rook-ceph-operator: to prevent deployments to recover - -### Data / configuration comparison - -Logging into a host that is running mon-a, we find the following data -in it: - -``` -[17:36] server56.place5:/var/lib/rook# find -. -./mon-a -./mon-a/data -./mon-a/data/keyring -./mon-a/data/min_mon_release -./mon-a/data/store.db -./mon-a/data/store.db/LOCK -./mon-a/data/store.db/000006.log -./mon-a/data/store.db/000004.sst -./mon-a/data/store.db/CURRENT -./mon-a/data/store.db/MANIFEST-000005 -./mon-a/data/store.db/OPTIONS-000008 -./mon-a/data/store.db/OPTIONS-000005 -./mon-a/data/store.db/IDENTITY -./mon-a/data/kv_backend -./rook-ceph -./rook-ceph/crash -./rook-ceph/crash/posted -./rook-ceph/log -``` - -Which is pretty similar to the native nodes: - -``` -[17:37:50] red3.place5:/var/lib/ceph/mon/ceph-red3# find -. -./sysvinit -./keyring -./min_mon_release -./kv_backend -./store.db -./store.db/1959645.sst -./store.db/1959800.sst -./store.db/OPTIONS-3617174 -./store.db/2056973.sst -./store.db/3617348.sst -./store.db/OPTIONS-3599785 -./store.db/MANIFEST-3617171 -./store.db/1959695.sst -./store.db/CURRENT -./store.db/LOCK -./store.db/2524598.sst -./store.db/IDENTITY -./store.db/1959580.sst -./store.db/2514570.sst -./store.db/1959831.sst -./store.db/3617346.log -./store.db/2511347.sst -``` - -### Checking how monitors are created on native ceph - -To prepare for the migration we take 1 step back and verify how -monitors are created in the native cluster. The script used for -monitoring creation can be found on -[code.ungleich.ch](https://code.ungleich.ch/ungleich-public/ungleich-tools/src/branch/master/ceph/ceph-mon-create-start) -and contains the following logic: - -* get "mon." key -* get the monmap -* Run ceph-mon --mkfs using the monmap and keyring -* Start it - -In theory we could re-use these steps on a rook deployed monitor to -join our existing cluster. - -### Checking the toolbox and monitor pods for migration - -When the ceph-toolbox is deployed, we get a ceph.conf and a keyring in -/etc/ceph. The keyring is actually the admin keyring and allows us to -make modifications to the ceph cluster. The ceph.conf points to the -monitors and does not contain an fsid. - -The ceph-toolbox gets this informatoin via 1 configmap -("rook-ceph-mon-endpoints") and a secret ("rook-ceph-mon"). - -The monitor pods on the other hand have an empty ceph.conf and no -admin keyring deployed. - -### Try 1: recreating a monitor inside the existing cluster - -Let's try to reuse an existing monitor and join it into the existing -cluster. For this we will first shut down the rook-operator, to -prevent it to intefere with our migration. Then -modify the relevant configmaps and secrets and import the settings -from the native cluster. - -Lastly we will patch one of the monitor pods, inject the monmap from -the native cluster and then restart it. - -Let's give it a try. First we shutdown the rook-ceph-operator: - -``` -% kubectl -n rook-ceph scale --replicas=0 deploy/rook-ceph-operator -deployment.apps/rook-ceph-operator scaled -``` - -Then we patch the mon deployments to not run a monitor, but only -sleep: - -``` -for mon in a b c d e; do -kubectl -n rook-ceph patch deployment rook-ceph-mon-${mon} -p \ -'{"spec": {"template": {"spec": {"containers": [{"name": "mon", "command": ["sleep", "infinity"], "args": []}]}}}}'; - -kubectl -n rook-ceph patch deployment rook-ceph-mon-$mon --type='json' -p '[{"op":"remove", "path":"/spec/template/spec/containers/0/livenessProbe"}]' -done -``` - -Now the pod is restarted and when we execute into it, we will see that -no monitor is running in it: - -``` -% kubectl -n rook-ceph exec -ti rook-ceph-mon-a-c9f8f554b-2fkhm -- sh -Defaulted container "mon" out of: mon, chown-container-data-dir (init), init-mon-fs (init) -sh-4.2# ps aux -USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND -root 1 0.0 0.0 4384 664 ? Ss 19:44 0:00 sleep infinity -root 7 0.0 0.0 11844 2844 pts/0 Ss 19:44 0:00 sh -root 13 0.0 0.0 51752 3384 pts/0 R+ 19:44 0:00 ps aux -sh-4.2# -``` - -Now for this pod to work with our existing cluster, we want to import -the monmap and join the monitor to the native cluster. As with any -mon, the data is stored below `/var/lib/ceph/mon/ceph-a/`. - -Before importing the monmap, let's have a look at the different rook -configurations that influence the ceph components - -### Looking at the ConfigMap in detail: rook-ceph-mon-endpoints - -As the name says, it contains the list of monitor endpoints: - -``` -kubectl -n rook-ceph edit configmap rook-ceph-mon-endpoints -... - - csi-cluster-config-json: '[{"clusterID":"rook-ceph","monitors":["[2a0a:e5c0:0:15::fc2]:6789"... - data: b=[2a0a:e5c0:0:15::9cd9]:6789,.... - mapping: '{"node":{"a":{"Name":"server56","Hostname":"server56","Address":"2a0a:e5c0::... -``` - -As eventually we want the cluster and csi to use the in-cluster -monitors, we don't need to modify it right away. - -### Looking at Secrets in detail: rook-ceph-admin-keyring - -The first interesting secret is **rook-ceph-admin-keyring**, which -contains the admin keyring. The old one of course, so we can edit this -secret and replace it with the client.admin secret from our native -cluster. - -We encode the original admin keyring using: - -``` -cat ceph.client.admin.keyring | base64 -w 0; echo "" -``` - -And then we update the secret it: - -``` -kubectl -n rook-ceph edit secret rook-ceph-admin-keyring -``` - -[done] - -### Looking at Secrets in detail: rook-ceph-config - -This secret contains two keys, **mon_host** and -**mon_initial_members**. The **mon_host** is a list of monitor -addresses. The **mon_host** only contains the monitor names, a, b, c, d and e. - -The environment variable **ROOK_CEPH_MON_HOST** in the monitor -deployment is set to to **mon_host** key of that secret, so monitors -will read from it. - - - -### Looking at Secrets in detail: rook-ceph-mon - -This secret contains the following interesting keys: - -* ceph-secret: the admin key (just the base64 key no section around - it) [done] -* ceph-username: "client.admin" -* fsid: the ceph cluster fsid -* mon-secret: The key of the [mon.] section - -It's important to mention to use `echo -n` when inserting -the keys or fsids. - -[done] - -### Looking at Secrets in detail: rook-ceph-mons-keyring - -Contains the key "keyring" containing the [mon.] and [client.admin] -sections: - - -``` -[mon.] - key = ... - -[client.admin] - key = ... - caps mds = "allow" - caps mgr = "allow *" - caps mon = "allow *" - caps osd = "allow *" -``` - -Using `base64 -w0 < ~/mon-and-client`. - -[done] - -### Importing the monmap - -Getting the current monmap from the native cluster: - -``` -ceph mon getmap -o monmap-20220903 - -scp root@old-monitor:monmap-20220903 -``` - -Adding it into the mon pod: - -``` -kubectl cp monmap-20220903 rook-ceph/rook-ceph-mon-a-6c46d4694-kxm5h:/tmp -``` - -Moving the old mon db away: - -``` -cd /var/lib/ceph/mon/ceph-a -mkdir _old -mv [a-z]* _old/ -``` - -Recreating the mon fails, as the volume is mounted directly onto it: - -``` -% ceph-mon -i a --mkfs --monmap /tmp/monmap-20220903 --keyring /tmp/mon-key -2022-09-03 21:44:48.268 7f1a738f51c0 -1 '/var/lib/ceph/mon/ceph-a' already exists and is not empty: monitor may already exist - -% mount | grep ceph-a -/dev/sda1 on /var/lib/ceph/mon/ceph-a type ext4 (rw,relatime) - -``` - -We can workaround this by creating all monitors on pods with other -names. So we can create mon b to e on the mon-a pod and mon-a on any -other pod. - -On rook-ceph-mon-a: - -``` -for mon in b c d e; -do ceph-mon -i $mon --mkfs --monmap /tmp/monmap-20220903 --keyring /tmp/mon-key; -done -``` - -On rook-ceph-mon-b: - -``` -mon=a -ceph-mon -i $mon --mkfs --monmap /tmp/monmap-20220903 --keyring /tmp/mon-key -``` - -Then we export the newly created mon dbs: - -``` -for mon in b c d e; -do kubectl cp rook-ceph/rook-ceph-mon-a-6c46d4694-kxm5h:/var/lib/ceph/mon/ceph-$mon ceph-$mon; -done -``` - -``` -for mon in a; -do kubectl cp rook-ceph/rook-ceph-mon-b-57d888dd9f-w8jkh:/var/lib/ceph/mon/ceph-$mon ceph-$mon; -done -``` - -And finally we test it by importing the mondb to mon-a: - -``` -kubectl cp ceph-a -rook-ceph/rook-ceph-mon-a-6c46d4694-kxm5h:/var/lib/ceph/mon/ -``` - -And the other mons: - -``` -kubectl cp ceph-b rook-ceph/rook-ceph-mon-b-57d888dd9f-w8jkh:/var/lib/ceph/mon/ - -``` - -### Re-enabling the rook-operator - -As the deployment - -``` -kubectl -n rook-ceph scale --replicas=1 deploy/rook-ceph-operator -``` - -Operator sees them running (with a shell) - -``` -2022-09-03 22:29:26.725915 I | op-mon: mons running: [d e a b c] - -``` - -Triggering recreation: - -``` -% kubectl -n rook-ceph delete deployment rook-ceph-mon-a -deployment.apps "rook-ceph-mon-a" deleted -``` - -Connected successfully to the cluster: - -``` - - services: - mon: 6 daemons, quorum red1,red2,red3,server4,server3,a (age 8s) - mgr: red3(active, since 8h), standbys: red2, red1, server4 - osd: 46 osds: 46 up, 46 in - -``` - -A bit later: - -``` - mon: 8 daemons, quorum (age 2w), out of quorum: red1, red2, red3, server4, server3, a, c, -d - mgr: red3(active, since 8h), standbys: red2, red1, server4 - osd: 46 osds: 46 up, 46 in - -``` - -And a little bit later also the mgr joined the cluster: - -``` - services: - mon: 8 daemons, quorum red2,red3,server4,server3,a,c,d,e (age 46s) - mgr: red3(active, since 9h), standbys: red1, server4, a, red2 - osd: 46 osds: 46 up, 46 in - -``` - -And a few minutes later all mons joined successfully: - -``` - mon: 8 daemons, quorum red3,server4,server3,a,c,d,e,b (age 31s) - mgr: red3(active, since 105s), standbys: red1, server4, a, red2 - osd: 46 osds: 46 up, 46 in - -``` - -We also need to ensure the toolbox is being updated/recreated: - -``` -kubectl -n rook-ceph delete pods rook-ceph-tools-5cf88dd58f-fwwlc -``` - - -### Original monitors vanish - -Did not add bgp peering. -Cannot reach ceph through the routers. - -Seems like rook did remove them. - -Updating the ceph.conf for the native nodes: - -``` -mon host = rook-ceph-mon-a.rook-ceph.svc.., -``` - -### Post monitor migration issue 1: OSDs start crashing - -A day after the monitor migration some OSDs start to crash. Checking -out the debug log we found the following error: - -``` -2022-09-05 10:24:02.881 7fe005ce7700 -1 Processor -- bind unable to bind to v2:[2a0a:e5c0::225:b3ff:fe20:3554]:7300/3712937 on any port in range 6800-7300: (99) Cannot assign requested address -2022-09-05 10:24:02.881 7fe005ce7700 -1 Processor -- bind was unable to bind. Trying again in 5 seconds -2022-09-05 10:24:07.897 7fe005ce7700 -1 Processor -- bind unable to bind to v2:[2a0a:e5c0::225:b3ff:fe20:3554]:7300/3712937 on any port in range 6800-7300: (99) Cannot assign requested address -2022-09-05 10:24:07.897 7fe005ce7700 -1 Processor -- bind was unable to bind after 3 attempts: (99) Cannot assign requested address -2022-09-05 10:24:07.897 7fe0127b1700 -1 received signal: Interrupt from Kernel ( Could be generated by pthread_kill(), raise(), abort(), alarm() ) UID: 0 -2022-09-05 10:24:07.897 7fe0127b1700 -1 osd.49 100709 *** Got signal Interrupt *** -2022-09-05 10:24:07.897 7fe0127b1700 -1 osd.49 100709 *** Immediate shutdown (osd_fast_shutdown=true) *** -``` - -Trying to bind to an IPv6 address that is **not** on the system. - -https://tracker.ceph.com/issues/24602 - -Calico/CNI does IP rewriting and thus tells the OSD the wrong IPv6 -address. - -Adding - -``` -public_addr = 2a0a:e5c0::92e2:baff:fe26:642c -``` - -to the node. Verifying the binding after restarting the crashing OSD: - -``` -[10:35:06] server4.place5:/var/log/ceph# netstat -lnpW | grep 3717792 -tcp6 0 0 2a0a:e5c0::92e2:baff:fe26:642c:6821 :::* LISTEN 3717792/ceph-osd -tcp6 0 0 :::6822 :::* LISTEN 3717792/ceph-osd -tcp6 0 0 :::6823 :::* LISTEN 3717792/ceph-osd -tcp6 0 0 2a0a:e5c0::92e2:baff:fe26:642c:6816 :::* LISTEN 3717792/ceph-osd -tcp6 0 0 2a0a:e5c0::92e2:baff:fe26:642c:6817 :::* LISTEN 3717792/ceph-osd -tcp6 0 0 :::6818 :::* LISTEN 3717792/ceph-osd -tcp6 0 0 :::6819 :::* LISTEN 3717792/ceph-osd -tcp6 0 0 2a0a:e5c0::92e2:baff:fe26:642c:6820 :::* LISTEN 3717792/ceph-osd -unix 2 [ ACC ] STREAM LISTENING 16880318 3717792/ceph-osd /var/run/ceph/ceph-osd.49.asok -``` - -### Post monitor migration issue 1: OSDs start crashing - -After roughly a week an OSD on the native cluster started to fail on -restart with the following error: - -``` - unable to parse addrs -in 'rook-ceph-mon-a.rook-ceph.svc.p5-cow.k8s.ooo, -rook-ceph-mon-b.rook-ceph.svc.p5-cow.k8s.ooo, -rook-ceph-mon-c.rook-ceph.svc.p5-cow.k8s.ooo, -rook-ceph-mon-d.rook-ceph.svc.p5-cow.k8s.ooo, -rook-ceph-mon-e.rook-ceph.svc.p5-cow.k8s.ooo' -``` - -Checking the cluster, it seems rook has replaced mon-a with mon-f: - -``` -[22:38] blind:~% kubectl -n rook-ceph get svc -NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -csi-cephfsplugin-metrics ClusterIP 2a0a:e5c0:0:15::f2ac 8080/TCP,8081/TCP 7d5h -csi-rbdplugin-metrics ClusterIP 2a0a:e5c0:0:15::5fc2 8080/TCP,8081/TCP 7d5h -rook-ceph-mgr ClusterIP 2a0a:e5c0:0:15::c31c 9283/TCP 7d5h -rook-ceph-mon-b ClusterIP 2a0a:e5c0:0:15::9cd9 6789/TCP,3300/TCP 7d5h -rook-ceph-mon-c ClusterIP 2a0a:e5c0:0:15::fc2 6789/TCP,3300/TCP 7d5h -rook-ceph-mon-d ClusterIP 2a0a:e5c0:0:15::b029 6789/TCP,3300/TCP 7d5h -rook-ceph-mon-e ClusterIP 2a0a:e5c0:0:15::8c86 6789/TCP,3300/TCP 7d5h -rook-ceph-mon-f ClusterIP 2a0a:e5c0:0:15::2833 6789/TCP,3300/TCP 3d13h -``` - -At this moment it is unclear why ceph does it, but if the native hosts -had already been migrated, this would probably not have caused an -issue. However as long as ceph.conf files are deployed with static -references to the monitors, this problem might repeat. - - -## Changelog - -### 2023-05-18 - -* rook 1.7.11 does not work on kubernetes 1.26.1 anymore -* PodSecurityPolicy is missing - -``` -The Kubernetes API could not find policy/PodSecurityPolicy for -requested resource rook-ceph/00-rook-ceph-operator. Make sure the -"PodSecurityPolicy" CRD is installed on the destination cluster. - -``` - -Same issue on rook 1.8.10: - -``` - kind: PodSecurityPolicy - message: >- - The Kubernetes API could not find policy/PodSecurityPolicy for - requested resource rook-ceph/00-rook-privileged. Make sure the - "PodSecurityPolicy" CRD is installed on the destination cluster. - name: 00-rook-privileged - namespace: rook-ceph - status: SyncFailed - syncPhase: Sync - version: v1beta1 - revision: v1.8.10 - source: -``` - -* rook 1.9.12 deploys in kubernetes 1.26.1 - -``` -2023-05-18 11:44:36.169248 E | ceph-cluster-controller: failed to reconcile CephCluster "rook-ceph/rook-ceph". failed to reconcile cluster "rook-ceph": failed to configure local ceph cluster: failed the ceph version check: the version does not meet the minimum version "15.2.0-0 octopus" -``` - -* requires 15.2.0 octopus as a minimum - - -### 2022-09-10 - -* Added missing monitor description - - -### 2022-09-03 - -* Next try starting for migration -* Looking deeper into configurations - -### 2022-08-29 - -* Added kubernetes/kubeadm bootstrap issue - -### 2022-08-27 - -* The initial release of this blog article -* Added k8s bootstrapping guide - -## Follow up or questions - -You can join the discussion in the matrix room `#kubernetes:ungleich.ch` -about this migration. If don't have a matrix -account you can join using our chat on https://chat.with.ungleich.ch. diff --git a/content/u/blog/2022-11-11-migrating-from-twitter-to-mastodon/contents.lr b/content/u/blog/2022-11-11-migrating-from-twitter-to-mastodon/contents.lr deleted file mode 100644 index 263971a..0000000 --- a/content/u/blog/2022-11-11-migrating-from-twitter-to-mastodon/contents.lr +++ /dev/null @@ -1,159 +0,0 @@ -title: Migrating from Twitter to Mastodon ---- -pub_date: 2022-11-11 ---- -author: Nico Schottelius ---- -twitter_handle: NicoSchottelius ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -How to move from Twitter to Mastodon ---- -body: - -## TL;DR - -If you are in a hurry, here is the minimal amount of information you -need to move from Twitter to Mastodon: - -* [Find a server you like](https://ipv6.social) -* Create an account -* Follow people you like - -Ready and go! - -## The longer story - -Mastodon is not Twitter and will never be. However both Mastodon and -Twitter are social media networks. Mastodon however is -**decentralised**. - -## Decentralised Social Media - -What does that mean, decentralised? It means anyone can run a Mastodon -server and connect to everyone else. This is very much how the -Internet was designed: a place of many systems that talk to each -other. - -Twitter on the other side is a centralised solution. All data and -communication is hosted by Twitter. If Twitter is going down, everyone -is affected. - -Mastodon on the other hand is much more robust. You can and have to -choose a Mastodon instance that you like. - -## Which Mastodon instance to use? - -There are plenty of instances around and you can choose the one you -trust most or your friends are on. There are various lists of Mastodon -instances, such as the one at -[joinmastodon.org](https://joinmastodon.org/servers) or at -[instances.social](instances.social/list) -(thanks to -[@AltoidLover@tech.lgbt](https://tech.lgbt/@AltoidLover/109325600888809019) -for the pointer). - -Or, you can even -[run your own Mastodon -instance](https://docs.joinmastodon.org/user/run-your-own/). - -## Your own Mastodon instance - -Why would you want to run your own Mastodon instance in the first -place? Let's take a few steps back, to understand the fundamental -difference between Twitter and the Fediverse. The Fedi-what? - -We so far said Mastodon everywhere, but in reality, Mastodon is just -one software that allows you to communicate decentralised. In general, -we refer to the decentralised communication as the "FEDIVERSE". That's -settled, now let's go back to why anyone would want to run their own -instance. - -First of all, running your own mastodon instance allows you to use -your own, custom domain. So my handle is -[@nico@ipv6.social](https://ipv6.social/@nico) and it indicates I am -somewhat interested in #IPv6 related topics, just from the domain of -the instance I am on. - -If you already have a domain, many people also choose to use the -subdomain "social", like social.example.com. - -There is a second, maybe equally significant point when it comes to -Mastodon. That is the question of who is going to take care of the -instance, who is going to update the software and who is actually -going to pay for running the instance? - -## In the fediverse, you are not a product - -Compared to Twitter, where advertisement turns the user into a -product, in the fediverse you are not a product. That also means that -the organisation running a Mastodon instance does actually need to pay -for the service. Whether that is running a VPS, running a Raspberry PI -or having it hosted by someone else, somebody has to provide the -resource for it. - -This is fundamentally different compared to Twitter, but also -Facebook, where you are basically also just a product. - -The big advantage of this is that there is no advertisement, no -central user analytics, but much more freedom. Like we say in -Switzerland, you [Khasch nit z'Füferli und z Weggli -ha](https://dict.leo.org/forum/viewGeneraldiscussion.php?idForum=4&idThread=1051992&lp=ende&lang=en) -or in proper English: you cannot have everything. And that's a good -thing. - -## Importing Twitter Followers into the Fediverse - -You might have noticed that more and more Twitter accounts add their -fediverse handle like -[@ungleich@ipv6.social](https://ipv6.social/@ungleich) -to their Twitter -handle. There is a nifty tool available that scans your account for -the handles and imports them on the fediverse site for you. It is -called [Debirdify](https://pruvisto.org/debirdify/) and it's a good -start to get a list of people to follow. Debirdify can actually scan -your followers and the ones you follow, too. - -## More guides - -If you interested in reading Is there more -about moving from Twitter to Mastodon, there are other articles you -might be interested in, like: - -* [A beginner’s guide to Mastodon, the open source Twitter alternative - (techcrunch)](https://techcrunch.com/2022/11/08/what-is-mastodon/) -* [How-To Mastodon (Tobru, covers Swiss specific - aspects)](https://tobru.ch/how-to-mastodon/) (thanks for - [@tobru@mstdn.social](https://mstdn.social/@tobru) for the pointer) - -## Mastodon Hosting by ungleich - -Shameless plug at the end - we have just -launched [Mastodon hosting by ungleich](/u/products/mastodon-hosting/) -to provide you an easy way to start in the fediverse. Remember, you -don't have to go with us, but the beauty of the fediverse is you can -host your own, use somebody else's server or use a hosted Mastodon -instance. - -## P.S.: A Post Twitter World - -Twitter might not yet be done and even at ungleich we have a lot of -references to our Twitter account. We don't know whether everyone will -move to the fediverse, but we very much welcome a push towards -decentralisation of the Internet. - -For many years, probably about a decade or two, we have become more -and more reliant on centralised services. These services might have -made our lives easier, but also much more dependent on a few -organisations. - -It is a good thing to review what we are using from time to time and -today we are looking stronger at Twitter - tomorrow we might consider -a different search engine - who knows? - -I am looking forward to hearing you in the fediverse and if you have any -comment, do not hesitate to reach out to [@nico@ipv6.social](https://ipv6.social/@nico). diff --git a/content/u/blog/2023-07-20-hack4glarus-summer-2023/contents.lr b/content/u/blog/2023-07-20-hack4glarus-summer-2023/contents.lr deleted file mode 100644 index 347cac2..0000000 --- a/content/u/blog/2023-07-20-hack4glarus-summer-2023/contents.lr +++ /dev/null @@ -1,26 +0,0 @@ -title: Hack4Glarus Summer 2023 ---- -pub_date: 2023-07-20 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: yes ---- -_discoverable: yes ---- -abstract: -Hack4Glarus Summer 2023 ---- -body: - -## Hack4Glarus is back - -After a long break Hack4Glarus is finally back with summer edition. For the first time it was hosted at Hacking Villa Diesbach with impressive mountains and waterfalls around. - -We share some of the photos of our 42 hours together with hackers. - -![](/u/image/diesbach-camping.jpeg) -![](/u/image/diesbach-flowers.jpeg) -![](/u/image/diesbach-hacking-villa-breakfast.jpeg) \ No newline at end of file diff --git a/content/u/blog/2024-08-02-openwrt-no-cdist-yet/contents.lr b/content/u/blog/2024-08-02-openwrt-no-cdist-yet/contents.lr deleted file mode 100644 index 9c9b864..0000000 --- a/content/u/blog/2024-08-02-openwrt-no-cdist-yet/contents.lr +++ /dev/null @@ -1,96 +0,0 @@ -title: cdist does not (yet) fully support OpenWrt ---- -pub_date: 2024-08-02 ---- -author: ungleich networking team ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -How we try to use cdist on openwrt and fail ---- -body: - -## cdist config management - -As many of you know, we use -[cdist](https://cdi.st) for configuration management at ungleich. And -we try to manage everything that is not (yet) in kubernetes with it. - -Today's short blog entry is about using cdist with openwrt. - -## OpenWrt at ungleich - -[OpenWrt](https://openwrt.org] is a popular, open source operating -system used on routers, switches, etc. We use it for providing IPv6 -and IPv4 connectivity to customers world wide. - -So far most of our devices are configured using shell scripts from our -[ungleich-tool git -repository](https://code.ungleich.ch/ungleich-public/ungleich-tools). - -However as configurations get more complex, we thought about moving -our configuration also into cdist. - -## OpenWrt is similar, but not the same - -OpenWrt is, generally speaking, "just another Linux distribution", -albeit with a very, very small footprint. It has to be, because the -storage on a typical router can be in the size of a couple Megabytes. -Right, not Gigabyte, not Terabyte. - -For instance this "large" router has about 9 Megabytes of storage: - -``` -# df -h -Filesystem Size Used Available Use% Mounted on -/dev/root 4.0M 4.0M 0 100% /rom -tmpfs 217.0M 240.0K 216.8M 0% /tmp -/dev/mtdblock6 9.1M 420.0K 8.7M 4% /overlay -overlayfs:/overlay 9.1M 420.0K 8.7M 4% / -tmpfs 512.0K 0 512.0K 0% /dev -``` - -It does however have 512 MiB of RAM...: - -``` -# free -m - total used free shared buff/cache available -Mem: 444428 57120 370184 240 17124 354048 -Swap: 0 0 0 -``` - -So, openwrt is a Linux distribution, but its environment is a bit more -challenging than a general purpose Linux distribution. - -## cdist & openwrt - -Cdist uses so called "types" to configure systems idempotently. They -usually require some shell support on the target system, but nothing -fancy. - -However in the case of openwrt, cdist is missing some support, as of -version 7.0.0: - -* cdist uses the system default ssh and if that uses SFTP instead of - SCP by default, it will fail, as openwrt, as of 23.05.3, only - supports legacy scp (-O). Manually patching cdist source code to - include "-O" fixes this issue for the moment. - -* the most basic cdist type __file uses "cksum" to create a checksum - over files to decide whether or not to copy a file. cksum was chosen - in the first place, as it is very basic and can be found - everywhere. Well, everywhere but on openwrt... - - -## Future of cdist & openwrt - -Both above issues can in theory be addressed, but the __file type is -very basic and needs some checksumming support. Without it, cdist -lacks a major feature and can be considered not (yet) usable. - -Let's see what the future brings. diff --git a/content/u/blog/2024-10-13-staticcms-moved-to-kubernetes/contents.lr b/content/u/blog/2024-10-13-staticcms-moved-to-kubernetes/contents.lr deleted file mode 100644 index 132ac07..0000000 --- a/content/u/blog/2024-10-13-staticcms-moved-to-kubernetes/contents.lr +++ /dev/null @@ -1,109 +0,0 @@ -title: Our staticcms has been moved to kubernetes! ---- -pub_date: 2024-10-13 ---- -author: ungleich web team ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -One more service in k8s ---- -body: - -## Moved to kubernetes - -This website and all static content has been moved to Kubernetes as of -2024-10-13. The motivation and background is very similar to what -[Nico wrote on his -blog](https://www.nico.schottelius.org/blog/2024-10-11-moving-into-k8s/) -already some days ago. - -## Build system for teams - -Differently to what Nico is doing with his private homepage, this -website will be moved into a "fancy build" system. The background is -that while for a single person running `make` on the laptop which -modifies argocd cluster configurations, for a team of people working -on the website, things are a bit more difficult. - -For once, not every computer at ungleich is running Linux, we do have -some non-Linux machines and also machines not run by our kubernetes -team, so there is no direct argocd access. And neither is docker build -available on some machines. - -How the build pipeline will look exactly is still to be defined, but -once we have settled on one, you will link the details here - so stay -tuned for updates. - -## Static websites pattern - -One thing we would like to share is already the structure of the helm -chart we are using for deployment: We have one helm chart that uses a -list of containers that should be deployed. Deployed by argocd -it essentially looks like this: - -``` -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: staticweb-nico - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - destination: - namespace: nico - server: 'https://kubernetes.default.svc' - source: - path: apps/prod/staticweb - repoURL: '...' - helm: - valuesObject: - websites: - - name: www-nico - image: - harbor.k8s.ungleich.ch/nico/www.nico.schottelius.org:559c0c45 - fqdn: www.nico.schottelius.org - project: default - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - CreateNamespace=true -``` - -The name attribute is used for defining the k8s `Deployment`, the fqdn -is passed to the nginx-ingress and the image should be pretty clear. - -You may notice that we use our own image registry based on -harbor. Not only is this much faster for pulling images, but it also -solves problems with other registries: - -* github (ghrc.io) is legacy IP only and cannot be used from the - Internet -* docker hub has very strict pull limits, often not allowing us to - pull in images. While this can be worked around with using a login - token, it add a certain complexity to our infrastructure deploying - logins for various registries. - -This brings us to something some of you might have noticed already: - -## Our containers are publicly reachable - -Anyone can download any container hosted on our harbor instance -without authentication. This is by design, as containers should only -contain public data. All our containers contain public, open source -applications only. - -Data is being injected either by an sqldump in the beginning (if it is -an existing application) or generated at startup or passed in as a -secret independently of the container. - -From our perspective this principle allows easy and strict separation -of private vs. public data. diff --git a/content/u/blog/2024-10-19-ipv6-only-mail-service-coming-soon/contents.lr b/content/u/blog/2024-10-19-ipv6-only-mail-service-coming-soon/contents.lr deleted file mode 100644 index 13526b1..0000000 --- a/content/u/blog/2024-10-19-ipv6-only-mail-service-coming-soon/contents.lr +++ /dev/null @@ -1,43 +0,0 @@ -title: IPv6 only email services coming soon ---- -pub_date: 2024-10-19 ---- -author: ungleich mail team ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -Another add-on to our IPv6 only services coming soon ---- -body: - -## TL;DR - -Soon we will offer IPv6 only email services. -So far it has been decided that the SMTP part will be IPv6 only, the -IMAP/webmail part might be dual stack or IPv6 only as well. - -## Next generation services - going one step further - -When you know us, you know that we have been pushing IPv6 only -services since 2017. -[IPv6 only VMs](https://ipv6onlyhosting.com) - we got it. -[IPv6 only websites](/u/products/ipv6-to-ipv4-proxy/) - we got it. -IPv6 only routers and networks? -We -[got](/u/products/vigir/) -[plenty](/u/products/viwib-wifi-ipv6-box/) -[of](/u/products/ipv6-vpn/) -[them](/u/products/ipv6-mobile-internet-router/). - -Now we played a bit with the though of, what if there was an email -domain that can only receive emails from IPv6 capable hosts? It would -certainly be a challenge, but more for the legacy only providers, not -for us. - -So stay tuned and expect an IPv6 only email service soon to be -available. diff --git a/content/u/blog/2026-10-20-cluster-migration/contents.lr b/content/u/blog/2026-10-20-cluster-migration/contents.lr deleted file mode 100644 index ad2e46e..0000000 --- a/content/u/blog/2026-10-20-cluster-migration/contents.lr +++ /dev/null @@ -1,73 +0,0 @@ -title: The BIG 2026 cluster migration ---- -pub_date: 2026-10-20 ---- -author: ungleich infrastructure team ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -It's time for one of the biggest infrastructure changes in ungleich history ---- -body: - -## Overview - -* This article is WIP and will change over the coming weeks. -* The migration has started for ungleich internal VMs as of 2026-10-20 - -## TL;DR - -The ungleich infrastructure went under massive changes in the last -years. This year we will be retiring our third generation virtual -machine infrastructure. Every virtual machine running on -[Data Center Light](https://datacenterlight.ch) and -[IPv6 Only Hosting](https://ipv6onlyhosting.com) will have a short downtime -and be migrate to a new cluster in 2026. - -## Background - -The physical location, place6/Linthal, has been retired -since 2024. The whole infrastructure was moved to -place10/Diesbach. However, no change to the actual infrastructure was -made at this point. - -The architecture of this third generation stack has its limits and at -ungleich we decided to move on to a more modern stack. We did some -research on progressive updates, however the gap between the on-OS -(third generation) package based installation and the kubernetes/rook -based fourth generation stack is too big to cover in small migration -steps. - -## The process - -For that reason we designed a process to shutdown existing VMs, copy -their state and data to the new cluster and resume the VMs on it. As -the source cluster is running on a separate Ceph cluster, the -migration involves a downtime in which the data of the VMs is being -copied over. Depending on the disk size and number of disks, this -process can take a few minutes. - -## The target cluster - -The target cluster is our established kubernetes cluster that hosts -already a variety of applications, such as -[Matrix](https://ungleich.ch/u/products/hosted-matrix-chat/), -[IPv6-as-a-Service](https://ungleich.ch/u/products/ipv6-vpn/)/ -[IPv4-as-a-Service](https://ungleich.ch/u/products/ipv4-as-a-service/)/ -or [Mastodon](https://ungleich.ch/u/products/mastodon-hosting/), to -name a few. - -In the last months our team was working on enabling VM payload in -kubernetes as well and we plan to publish more about this architecture -in the next months. - -## Migration status - -At the moment ungleich internal VMs are being migrated to optmise the -migration flow. Customer VMs are likely starting to be migrated in -2026-11. diff --git a/content/u/blog/36c3/contents.lr b/content/u/blog/36c3/contents.lr index 929ce6f..5bc7bb1 100644 --- a/content/u/blog/36c3/contents.lr +++ b/content/u/blog/36c3/contents.lr @@ -57,7 +57,7 @@ It makes perfect sense and we could have written the above criterion for ourselv ## Slack VS. Mattermost -XR is using [Mattermost](www.mattermost.com), the same as [our chat](https://chat.with.ungleich.ch), for mobilising and organising 475 teams of national and local branches. Unlike XR, ungleich chat moved away from Slack earlier and first went to Rocketchat, before eventually settling down[TM] to Mattermost. Rocketchat also has a user-friendly interface and is Open Source, but we decided to move due to instability caused by MongoDB. +XR is using [Mattermost](www.mattermost.com), the same as [our chat](https://chat.ungleich.ch), for mobilising and organising 475 teams of national and local branches. Unlike XR, ungleich chat moved away from Slack earlier and first went to Rocketchat, before eventually settling down[TM] to Mattermost. Rocketchat also has a user-friendly interface and is Open Source, but we decided to move due to instability caused by MongoDB. The following points were considered by XR when moving away from Slack to Mattermost. - UI similarity to Slack: had to get thousands off Slack, fast diff --git a/content/u/blog/DRAFT-2020-incompatible-without-ipv6/contents.lr b/content/u/blog/DRAFT-2020-incompatible-without-ipv6/contents.lr deleted file mode 100644 index a97cbe3..0000000 --- a/content/u/blog/DRAFT-2020-incompatible-without-ipv6/contents.lr +++ /dev/null @@ -1,49 +0,0 @@ -title: 2020 incompatible: without IPv6 ---- -pub_date: 2020-10-16 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: no ---- -abstract: -2020 is the year of IPv6 - are you ready for it? ---- -body: - -## TL;DR - -As of 2020-10-16 we will start to label software and hardware that is not fully IPv6 compatible -as "2020 incompatible". And we encourage everyone to join. - -## Background - -Latest with the [exhaustion of IPv4 space at -RIPE](https://www.ripe.net/publications/news/about-ripe-ncc-and-ripe/the-ripe-ncc-has-run-out-of-ipv4-addresses), -it has become a necessity to switch to IPv6 in 2020. - -Additionally IPv4 address have become a very scarce and expensive -resource. Not only in buying the actual addresses, but also to keep -the legacy IP stack active and maintained. - -## 2020: Switching to IPv6 only networks - -Running dual stack networks is not feasible, because you do not profit -from the advantages of IPv6, but suffer from complexity in your -network. - -Dual stack networks also limit the scope of IPv6 implementation, as -layouts are orientated on legacy network designs. So in a nutshell: If -you want to make your life easier and your operations less cost -intensive, you switch to IPv6 only networks. - -## Blocker for the IPv6 only migration - -We argue that there is no practical blocker anymore for moving to IPv6 -only networks, because even reachability from the IPv4 Internet can -easily be achieved using [IPv4-to-IPv6 -proxies](/u/products/ipv4-to-ipv6-proxy/) or diff --git a/content/u/blog/DRAFT-3y-ungleich/contents.lr b/content/u/blog/DRAFT-3y-ungleich/contents.lr deleted file mode 100644 index b7f561a..0000000 --- a/content/u/blog/DRAFT-3y-ungleich/contents.lr +++ /dev/null @@ -1,87 +0,0 @@ -title: 3y of ungleich ---- -pub_date: 2020-10-16 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: yes ---- -_discoverable: no ---- -abstract: -2020 is the year of IPv6 - are you ready for it? ---- -body: - -## TL; DR - -For once there is no TL;DR, but we wish you a happy reading. - -## What is ungleich? - -A question that I am asked at every conference is, "what is ungleich"? -Literally translated to English it means "not equal" or -"different". And that describes our approach to things pretty well. - -Because ungleich is not one company. Matter of fact, ungleich is at -least two companies: Originally ungleich was incorporated in 2013 as -ungleich GmbH (llc). In 2017 we decided to found ungleich glarus ltd, -to make it easier for investors to join our efforts to build a -sustainable data center in the middle of the Swiss mountains. - -But even that does not describe ungleich very well. Because ungleich -is actually a movement. - -## Sustainability and IPv6 - -We are basically doing two things at ungleich: we foster -sustainability. And we foster sustainability. To be more precise, we -are deeply engaded into environmental and technical -sustainability. And none of this would be possible without the -community that is surrounding us. - -## TDD is the past - CDD is now - -Some years ago in the software development world "TDD" (test driven -development/design) was a big hype and shifted the mindset towards -verified software. Proof ("test") that your software does, what you -intent it to do. - -At ungleich we use this approach to some degree. However much more in -the focus is CDD - community driven development. Let me elaborate a -bit, because this is one of the most important things, if not the most -important part of being at ungleich. - -## Living and working in the Swiss mountains - -ungleich is not by accident based -[in the middle of the Swiss -mountains](https://www.openstreetmap.org/#map=17/46.92599/8.99964&layers=N). No, -our home, leisure and work place is in the middle of the Digital -Glarus valley. Why? Glarus used to be a place of textile -companies. Nowadays, these companies have moved on to other place. So -what is still here? An excellent view -([checkout the pictures on -twitter](https://twitter.com/DigitalGlarus), many nice places and -great Internet connectivity. When we incorporated the ungleich glarus -ltd., to build a place for people like us, who like to work in the -nature, but also need a proper technical environment. We started in -2017 in one location and in 2020 we are present in four location -(Schwanden, Linthal, Luchsingen, Diesbach). Together with other other -people and companies who have become close friends over the -years. Together with people who did not ever hear about Glarus before -meeting us. Together, we are building a new home for those loving -nature and wanting to work in a great environment. - -## - -At ungleich we see mainly - -Coming from a German speaking con -## 3 years of ungleich glarus ag - - - -You might not know it, but diff --git a/content/u/blog/DRAFT-blocking-source-address-spoofing/contents.lr b/content/u/blog/DRAFT-blocking-source-address-spoofing/contents.lr deleted file mode 100644 index 63e3460..0000000 --- a/content/u/blog/DRAFT-blocking-source-address-spoofing/contents.lr +++ /dev/null @@ -1,26 +0,0 @@ -title: Blocking Source Address Spoofing ---- -pub_date: 2020-10-23 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: yes ---- -_discoverable: no ---- -abstract: -Let's not let the wrong packets in. ---- -body: - -## TL;DR - -Effective 2020-10-23 we drop source address spoofed packets in Data -Center Light. - -## Introduction - -We have received a very helpful hint from a group of researchers that -spoofed packets from our own diff --git a/content/u/blog/DRAFT-how-to-suport-opensource/contents.lr b/content/u/blog/DRAFT-how-to-suport-opensource/contents.lr index fa2a0a6..8a859bf 100644 --- a/content/u/blog/DRAFT-how-to-suport-opensource/contents.lr +++ b/content/u/blog/DRAFT-how-to-suport-opensource/contents.lr @@ -27,4 +27,4 @@ for a free IPv6-VM and free IPv6-VPN. You can get in touch with us via * email: info at ungleich.ch -* chat: [chat.with.ungleich.ch](https://chat.with.ungleich.ch) +* chat: [chat.ungleich.ch](https://chat.ungleich.ch) diff --git a/content/u/blog/DRAFT-kubernetes-based-ipv6-ipv4-proxies/contents.lr b/content/u/blog/DRAFT-kubernetes-based-ipv6-ipv4-proxies/contents.lr deleted file mode 100644 index 14f296e..0000000 --- a/content/u/blog/DRAFT-kubernetes-based-ipv6-ipv4-proxies/contents.lr +++ /dev/null @@ -1,57 +0,0 @@ -title: Introducting Kubernetes based IPv4 to IPv6 proxies ---- -pub_date: 2021-11-22 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: no ---- -abstract: -How to proxy from IPv4 to IPv6 in an IPv6 only kubernetes cluster. ---- -body: - -## The crazy project: IPv6 based IPv4 proxies in Kubernetes - -If you know ungleich, you know that we always push the limits of what -is possible. Today we want to push the barrier of "where can -IPv4-to-IPv6 proxies live" a bit further. Let's see how that is going -to look like! - -## IPv4-to-IPv6 proxies in general - -Before going into the details, let's see how and why we use -IPv4-to-IPv6 proxies in general: - -![](/u/image/ipv6-to-ipv4-proxy.png) - -The basic idea is that IPv6 only services are made reachable via -IPv4-to-IPv6 proxies towards the IPv4 world. So far we are offering -this based on standard virtual machines. You can checkout -[our previous tech -talk](/u/blog/ungleich-tech-talk-2-accessing-ipv4-only-devices-via-ipv6/) -for details on how this works. - -Let's try to dial things up a few notches, shall we? - -## Moving the IPv4-to-IPv6 proxy into kubernetes - -You are probably aware that at ungleich we are moving our workload -from [cdist](https://cdi.st) + virtual machine automated workloads -towards Kubernetes. At ungleich we are using -[haproxy](http://www.haproxy.org/) as a basis for our IPv4-to-IPv6 -proxies. Moving this into kubernetes - - - -## Other solution? - -As you can see, mixing the dynamic IP generation and coupling it with -static DNS entries for IPv4 resolution is not the easiest tasks. If -you have a smart idea on how to solve this without manually creating -entries for each and every service, -[give us a shout!](/u/contact) diff --git a/content/u/blog/an-alternative-to-annoying-phone-hotlines/contents.lr b/content/u/blog/an-alternative-to-annoying-phone-hotlines/contents.lr deleted file mode 100644 index b5fdb20..0000000 --- a/content/u/blog/an-alternative-to-annoying-phone-hotlines/contents.lr +++ /dev/null @@ -1,154 +0,0 @@ -title: An alternative to annoying phone hotlines ---- -pub_date: 2020-11-29 ---- -author: Nico Schottelius ---- -twitter_handle: NicoSchottelius ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -Making technologies improve our life ---- -body: - -## The phone hotline - -If you have a problem with your contract, if you want to have some -information about your product or you just want to change some -detail. By default, many companies nowadays offer something that we -call "hotline". Or in other words: a voice based communication that -allows to easily queue people. - -The motivation and how it works is rather clear: there are a finite -number of employees, each of which can only talk to one person at a -time. So if the number of requests is more than number of employees, -then you are stuck in the queue. However this post is not about the -annoyance of waiting in a queue and enduring little quality, down -sampled classic music pieces. - -No, in this post I want to address a different fundamental problem: -every time you call, you start a fresh conversation. You are likely to -talk to a different person with a different background and probably -not much knowledge of your situation. From a customer perspective you -usually don't have any trail of previous communication. Actually, the -company you are calling might record (and correctly announce it -before) the call. However as a customer, you cannot easily record as -well. Often it is also impossible to correspond with the company by -email, so all written communication has to be sent in letters. In -2020! - -Looking at it this way clearly shows how much power imbalance the -innovation of the phone hotline is causing. But it could easily be -different. - - -## The classic way - -You might or might not remember when companies used to be smaller and -you would request a service with the counterpart in person. Both of -you know each other and are fully aware of each other responsibilities -("I give you money, you give me a product or service") and also of the -support process (A: "It did not work" - B: "I'll fix it!). -Often the service provider was not far away, might even have been my -neighbour. And it's really not good for our relationship if my -neighbour does do what he promised to do. - -As you can easily imagine this does not scale nor work easily in big -companies where staff is rotated or fluctuating. The old value system -of being responsible on a personal basis cannot easily be -transferred. This also means that the classic way is much more -expensive in terms of time and resources, but the responsibilities are -enforced by social relationships. - -## Mixing the two? - -So we could say that they are two extremes: one very personal, high -quality, expensive and the other - well, you get the picture. Is it -possible to improve the current situation and how can we get the best -of the two worlds? Before answering this question, let me give you a -short background of where we, ungleich, are and how we work, to show -you how these approaches can naturally merge. - - -## ungleich @ Digital Glarus - -ungleich is based in [Digital Glarus](/u/projects/digital-glarus/), -a really old mountain valley in Switzerland. Majority of its buildings -are very old (I'd guess most are built prior to 1900, many even much -older), major businesses are industry, farming and also tourism. Many -people here get up before 6 and start working latest by 8. - -We from ungleich on the other hand are working in IPv6 only -networks connected by our own fiber or with long range wifi links. Our -working hours are very flexible, can be morning, day, night, week, -weekend - we are free to choose. Our topics are very technical by -nature. - -These two approaches can contradict, but they can also work together -very well. Like the two ways of communication. - -Interestingly our experience here is that they can easily be combined: -many people living in Digital Glarus have what we call an "old value -system". If you offer a service towards people in Digital Glarus, you -need to take responsibility and be trustworthy. Otherwise the word -will get out within a few days and social enforcement will result in -no more work for you. -While this might sound cruel, you could actually call this "social -quality assurance". Actually a bit similar to what we see in social -media, just lower scale. - -And how does this look like in reality? People here want and need to -be convinced that you are trustworthy. You are having in -person meetings (before corona), one person will make a protocol and then later send -it for verification back to the other party. If something is noted -incorrectly, the protocol will be amended and again verified. - -This ensures that trust is built and also that both parties, the -delivering company as well as the customer are playing on eye level. - -## Combining old values and new communication - -Let's come back to the original problem: we shifted from high quality, -individual services to mass produced in-transparent -communication. Technically and organisational, it is not necessary to -provide a worse product or service if it is mass produced. It just -happens to be the case due to technical limitations in the beginning. - -So let's go back to the hotline problem: we advocate a simple change -that costs little for companies to implement but restores trust and -quality in communication: - -**Every support hotline should be, by default, accompanied by a text based -ticketing system that sends users a protocol and let's them interact -with you on a text basis.** - -So how does this work? The agent in the call center will make notes of -the phone call - they are already done nowadays, but unavailable for -you. Some of these notes might be internal ("The customer does not -know the difference between the power button and the reset button - -always advise to push the button on the right") and are not for -sharing. However, **the key points of the conversation must be sent to -the customer**. This way, as a customer I can easily react and correct -statements that have been incorrectly recorded. With a trail. - -Furthermore in a later stage, as a customer, I also have a trail and -the ability to respond to the previous conversation by text, giving me -the opportunity to add to the trail. And to built trust on the way. - -Obviously, our suggestion here is not rocket science. In fact, it is a -very easy, natural and cost effective measure to be more transparent -and to built mutual trust. - -Some companies might try to argue that it is too complex or too -expensive to implement such a system. To prevent that argument from -being true, we have added a [Hosted Support -System](/u/products/hosted-support-system/) to our product -list. Nobody needs to get it from us, but anybody can. And thus there -is no excuse, not to have it implemented. It is a very similar -[approach to not have an excuse for not having -IPv6](/u/products/ipv6-vpn/), but that is a story for -another day... diff --git a/content/u/blog/an-alternative-to-annoying-phone-hotlines/phone.jpg b/content/u/blog/an-alternative-to-annoying-phone-hotlines/phone.jpg deleted file mode 100644 index 2747ba8..0000000 Binary files a/content/u/blog/an-alternative-to-annoying-phone-hotlines/phone.jpg and /dev/null differ diff --git a/content/u/blog/chat-app-of-2021/contents.lr b/content/u/blog/chat-app-of-2021/contents.lr deleted file mode 100644 index 223b099..0000000 --- a/content/u/blog/chat-app-of-2021/contents.lr +++ /dev/null @@ -1,277 +0,0 @@ -title:The chat app of 2021 ---- -pub_date: 2021-02-09 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -Why we use Matrix and things to consider for choosing a chat app ---- -body: - -## Introduction - -At this point we've all seen many chat apps - some very popular and -some not. Some very secure and some not. Some very centralised and -some not. The difficult thing when choosing a chat app is that the -most important differences are not something you can intuitively find -out. That is more a question of how each chat app was designed from -the beginning. - -What we are going to do in this post is that we will talk about what -we have used as chat so far and why, and we will discuss what you need -to consider when making a decision for yourself. What are the -differences between the chat apps out there, and what do those -differences mean to their end-users? - -## About us - -Each community or individual has a different need for the chat and -what's best for others does not necessarily mean that's going to be -the best for you. Before starting we want to give you an idea about -who we are. - -- Our team is rather deeply into technology probably more than most people. -- The age of our chat users is somewhere between 18-55 (with minor exceptions). -- Many of our chat users are working with laptops for a big part of the day. -- Most of our chat users are comfortable using English for communication. -- Our chat users are about 80 % male and 20 % female. -- A big part of our community values sustainability and the environment -- A big part of us is interested in software with its code publicly open - in other words, open source. - -The evolution of our chat was really finding what fits us the best. We -have started our team chat at Slack many years ago, then we moved to -Rocketchat, and then we moved to Mattermost. While keeping Mattermost -running, we started our Matrix instance on the side. We have gradually -moved more to Matrix over time and now have most of our main -conversations in Matrix. There were reasons for each of our moves, we -will explain them below. - -![](/u/image/ungleich-chat-evolution.jpg) - -## What we based our decisions on - -### Work chat - -We (ungleich) are a company working with Free and Open Source and -Linux. Our work happens around many text information and we have many -parallel projects shared with people from different timezones. This -requires our chat to be as efficient and organised as possible, so -that everybody can get their work done and collaborate easily. This -was the reason why we were initially landing in Slack which has an -interface suitable for our work life. Apps designed for more casual, -mobile use such as Telegram and Signal did not fit our need. - -### Self-hosted - -We need to mention that for a Swiss company like ourselves -[that physically runs our servers with local hydropower,](https://datacenterlight.ch/en-us/cms/hydropower/) we knew -that it is senseless to have our chat somewhere in the U.S. (whose -privacy laws are more relaxed than ours) run by servers with fossil fuels. - -![](/u/image/security-class.jpg) - -That's why we soon moved away from Slack to chats that we can host on -our own. We first moved to Rocketchat, and although the transition was -easy and smooth at the beginning its mobile version was not as smooth -as we liked it to be at that time and our team would miss getting -messages often while on the run between different data center -locations. - -After spending some time with Rocketchat we moved to [self-hosted -Mattermost](https://ungleich.ch/u/products/zero-carbon-chat/) looking for a more stable experience. With its robust -performance and friendly UI (that we still think is one of the best -out there), our team became quite happy with Mattermost. - -### Decentralised - -You might have noticed that we are not the most typical company: -renewable-only energy driven Linux, FOSS and IPv6 aficionados in the -Alps. This means we attract quite some people who have a lot of -stories and chats to share with us. More and more over the time it -became clear that our work chat is not only for our internal work - -but it's also for a community chat, a community with very diverse -backgrounds for that matter. Hobby computer lovers, mountain lovers, -hackers and makers, climate activists, penguin lovers, you name it. - -![](/u/image/ungleich-community.jpg) - -While happily staying on Mattermost we started to receive requests -from our community for enabling our chat to be more decentralised: -meaning not all the chat data staying in our server only -(centralisation), but enabling others to connect from their servers -too (decentralisation). - -This was a fair request and we knew it was the right way to go. As a -solution we started to phase in Matrix into our chat - we first -started it as a side chat from our main channels in Mattermost. - -Over time we moved most of our conversations to it, while keeping -Mattermost on the side. Using Matterbridge to bridge between the two -chats, this dual system has been working quite well, and it is -especially useful when one of the instances experiences downtime. - -## What you should consider when choosing a team chat - -Above was our specific case and you probably have a different use for -the chat app. Should you consider Matrix? Mattermost? Or Slack? Some -questions need to be answered first to see what your requirements are. - -### 1. Workspace or SMS - -This depends on what your use case is. Are you looking for a secure -version of SMS, or are you looking for an organised place for -different groups and tasks to be handled? The former fits the use case -of Threema, Signal, Telegram, Whatsapp, and the latter is better handled -by Slack, Mattermost, Rocketchat, and Matrix. - -![](/u/image/chat-usecase.jpg) - -### 2. Can you be anonymous - -This is closely linked to the #1, because the chat apps that function -as SMS replacement such as Signal, Telegram, Whatsapp, need a phone -number to work. So if staying anonymous is an important factor for you -this is something you want to consider in choosing a chat. For using -Matrix or Mattermost you do not need a phone number, and in the case -of Matrix you do not even need an email address that can identify you. - -### 3. Where is the chat server - -This is something most people don't think about: the physical location -of the servers where the chat is running. It mostly becomes a crucial -question in two ways. - -One is if you face the possibility of having to deal with -authorities - then you need to know which law will apply in case -you are being investigated. - -Two is if you care for the environmental and ethical impact of your -servers, such as [what kind of energy source is being used and what is -the ethical stance of the -hosters.](https://ungleich.ch/en-us/cms/blog/2019/06/28/how-run-really-green-datacenter/) - -![](/u/image/environment-chat.jpg) - -The ability to decide where your servers will physically be, either by -running the server by yourself or by somebody you can trust is a big -difference between some chat apps and others. Chats that offer home -servers, self-hosted options such as Matrix or Mattermost give you the -ability to choose, and any chat app that does not, locks you in the -choice of the chat provider. - -### 4. Decentralised or centralised - -Does all of our conversation only go to one company or to one country, or -can it be in the different small or big streams everywhere and be -independently open to each other? Most chats out there are the former, -and federated chats are the latter. - -Say there's a special house where everybody goes to for communication, -and you have to go there whenever you want to talk to anybody, and the -conversation stays only in that house. Anybody who wants to say -anything to anybody, has to go into this house. Doesn't it sound -really strange? That's what most chats are. - -![](/u/image/decentralised-chat.jpg) - -But what if we can stay in our own home and call each other and still -can have a conversation? And the conversation does not only stay in -one house, but in everybody's house when it's their own -conversation? That's more like how Matrix imagined how chats should -work. - -This is the single most standout identity of Matrix, that it has -built-in federation. Means you can stay on your chat and go to other -Matrix instance and talk to them. - -### 5. Are you into the latest, hottest technology - -It might sound silly but it is still an important factor for a lot of -early adopters and people who just gotta have their hands on the -latest groundbreaking stuff (*cough*). This is it. Matrix is the hottest -chat system of 2021 and hands down the most innovative project amongst -all the chat apps out there because of its federation and security -design. - -## The baselines that you shouldn't compromise - -A lot of us brush off the topic of privacy thinking "But *I* don't have -anything to hide." but it is not that simple. Even though you might -not have anything to hide now, people who you have a conversation with -might have a very different stance and you affect them with your -choices. - -Using a chat app for communication involves the privacy of everybody -in your network - family, friends, colleagues, and more. That's why -whatever chat you choose, there should be some baselines you shouldn't -compromise. These are what we think is important in choosing which -chat to use in 2021. - -## The baseline 1: End-to-End Encrypted - -As a very base your chat should be End-to-End Encrypted (E2EE). E2EE -means even when the 3rd party (including law enforcement or the -hosting company itself) snoops into the chat data, they will just see -a series of useless encrypted texts that can not be decrypted. - -![](/u/image/encrypted.jpg) - -Not all chats have proper E2EE and especially not all chats have it as -default. Matrix has E2EE as a default for example, and Telegram does -not. It works quite the opposite way in fact: disabling E2EE has to be -manually opted in Matrix, whereas enabling E2EE can be done only by -choosing "Secret Chat" Function in Telegram. - -## The baseline 2: Not collecting your data - -Even when the chat app can not read your conversation thanks to the -encryption, some chats do access a lot of other information, such as -with whom you are talking to for how often and for how long ("meta -data"). We tend to focus on not revealing the content of our -chat and to forget that the other information can be collected while -being unnoticed. - -Whatsapp is a particularly risky choice for this reason, because it -belongs to Facebook whose entire business model relies on collecting -user information for monetisation. - -## The baseline 3: Is the code open for public - -The thing about closed code is that nobody outside the chat app -company can see how and what is built in the chat. Is it having some -back doors users are unaware of, is it monitoring the user activity -without letting the user know, with closed code we will never know. - -So for a chat (or any software for that matter) to be claimed secure, -its code has to be open for the public, so unbiased third parties can -review its sanity. If you think about it, it's quite simple - no -system can achieve robust integrity without transparency. - -![](/u/image/penguin-customer-support.jpg) - -## Try it yourself - -When it comes to technology, the best approach is trying it -yourself. Our ungleich chat, both Matrix and Mattermost, are open for -anybody to join: we heartily invite you to give it a try. Create an -account, join rooms, say hi and ask questions you might have. - -We claim our chat is one of the safest places to try a chat app you -are not sure about yet - it does not collect your data, it does not -need your phone number, it runs on 100% renewable energy. - -* [Try our Matrix](https://chat.with.ungleich.ch) -* [Get in touch with ungleich](/u/contact/) - -More about us and Matrix - -* [Matrix for Climate](https://ungleich.ch/en-us/cms/matrix-for-climate/) -* [ungleich open infrastructure:MaaS](https://redmine.ungleich.ch/projects/open-infrastructure/wiki/Ungleich_Matrix-as-a-Service_(MaaS) -* [The Matrix foundation](https://matrix.org/foundation/) diff --git a/content/u/blog/chat-app-of-2021/laptop.jpg b/content/u/blog/chat-app-of-2021/laptop.jpg deleted file mode 100644 index 0782fbd..0000000 Binary files a/content/u/blog/chat-app-of-2021/laptop.jpg and /dev/null differ diff --git a/content/u/blog/coronavirus-chat-francais/contents.lr b/content/u/blog/coronavirus-chat-francais/contents.lr deleted file mode 100644 index 2d05ea5..0000000 --- a/content/u/blog/coronavirus-chat-francais/contents.lr +++ /dev/null @@ -1,71 +0,0 @@ -title: Chat Francophone à propos du Coronavirus (COVID-19) ---- -pub_date: 2020-03-22 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: ---- -body: - -## Version courte: - -* Va à l'adresse https://account.ungleich.ch et créé-toi un nouveau compte -* Vérifie ta messagerie (y.c. le spam ;-) et valide ton adresse e-mail -* Va à l'adresse https://matrix.ungleich.ch et connecte-toi avec ton nouveau compte -* Dans le champ texte, copie /join #covid-19-fr:ungleich.ch -* Tu peux désormais échanger avec d'autres francophones depuis chez toi ou en isolement - -## Gardons le contact malgré la distanciation sociale - -En cette période de pandémie, il est important que nous gardions une -certaine distance entre personnes et que nous ne nous infections pas -mutuellement, afin de ne pas surcharger nos systèmes de santé. Afin de -maintenir le contact malgré l'isolement, nous mettons à disposition le -canal ouvert #covid-19-fr:ungleich.ch pour les échanges d'idées, -d'informations et simplement de contact social - -## Pourquoi pas Whatsapp, Facebook ou similaire? - -Il y a un gros problème avec Whatsapp, Facebook, Telegram, Signal, -Threema, etc.: Ce sont tous des systèmes fermés. Quelqu'un qui n'est -que sur Whatsapp ne peut pas communiquer avec quelqu'un qui n'utilise -que Telegram. Le chat Matrix est construit différemment: il est -ouvert et accessible à des utilisateurs de différents systèmes -Matrix. Il est aussi possible d'intégrer des groupes d'autres systèmes -comme Telegram ou Whatsapp. - -## Comment ça fonctionne? - -Tu peux créer ton propre compte sur https://account.ungleich.ch. Tu -recevras un email pour vérifier et valider ton compte, que tu devras -approuver. Une fois ceci fait, tu pourras te connecter sur -https://matrix.ungleich.ch. Pour rejoindre le groupe francophone -consacré au nouveau coronavirus, tape simplement -**/join #covid-19-fr:ungleich.ch** Il y a également un groupe germanophone: -**#covid-19-de:ungleich.ch** avec son manuel: -https://ungleich.ch/u/blog/deutschsprachiger-coronavirus-chat/. -Et un anglophone: **#covid-19:ungleich.ch** et son manuel: -https://ungleich.ch/u/blog/work-from-home-work-remote-with-matrix/ - -## Avoir son propre serveur de chat pour une entreprise - -Ce chat est gratuit et publiquement disponible. Si tu as besoin de ton propre -système pour ton organisation, tu peux le commander à cette address: -https://ungleich.ch/u/products/hosted-matrix-chat/. Ceci te permet de -gérer toi-même tes utilisateurs. Si tu veux simplement discuter avec -tes amis et ta famille, tu peux simplement utiliser le service gratuit -https://matrix.ungleich.ch - -## Coronavirus - -C'est à nous tous de limiter les conséquences du Coronavirus. Ceci ne -se fera que si nous faisons tous attention, que nous gardons nos -distances et que nous nous lavons les mains régulièrement. Participez -et aidez votre prochain! Merci d'avoir lu jusqu'ici! diff --git a/content/u/blog/coronavirus-chat-korean-hangul/contents.lr b/content/u/blog/coronavirus-chat-korean-hangul/contents.lr deleted file mode 100644 index 5eff73e..0000000 --- a/content/u/blog/coronavirus-chat-korean-hangul/contents.lr +++ /dev/null @@ -1,32 +0,0 @@ -title: 코로나바이러스 챗 (한국어) ---- -pub_date: 2020-03-22 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -코로나 시대를 살아가는 경험을 공유하세요. ---- -body: - -## 밖에 안나가고 바깥 세상과 디지털로 연결하기 - -* https://account.ungleich.ch 에서 계정 만들기 (무료) -* 계정 생성 확인 이메일 받기 -* https://matrix.ungleich.ch 로 가서 새로 만든 계정으로 로그인하기 -* **/join #covid-19-kr:ungleich.ch** 바이러스와 관련된 얘기하기 -* 사람들과 소통하세요. 당신은 혼자가 아닙니다. -* 원하면 새로운 챗방을 만들수 있습니다 -* 계속 집에 계세요. - -## 코로나바이러스, 재택근무, 정신줄 챙기기 - -코로나는 많은 사람들의 생각과 행동, 근무방식을 바꾸고 있습니다. 자발적으로든 강제적으로든 재택근무하게되신 여러분, 그래도 세상과 소통하고 싶으실거예요. 동료들 또는 다른 나라에서 같은 처치에 처한 분들과요. - -집에 계세요. 하지만 우리는 연결되어 있죠. diff --git a/content/u/blog/coronavirus-chats/contents.lr b/content/u/blog/coronavirus-chats/contents.lr deleted file mode 100644 index f4e04af..0000000 --- a/content/u/blog/coronavirus-chats/contents.lr +++ /dev/null @@ -1,27 +0,0 @@ -title: List of Coronavirus (COVID19) Chats ---- -pub_date: 2020-03-22 ---- -author: Nico Schottelius ---- -twitter_handle: NicoSchottelius ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -List of coronavirus chats ---- -body: - -Instead of meeting in person, you can chat with others about your -coronavirus thoughts. It is available in the following languages: - -* [Auf Deutsch](/u/blog/deutschsprachiger-coronavirus-chat/) **#covid-19-de:ungleich.ch** -* [In English](/u/blog/work-from-home-work-remote-with-matrix/) **#covid-19:ungleich.ch** -* [En Français](/u/blog/coronavirus-chat-francais/) **#covid-19-fr:ungleich.ch** -* [한국어](/u/blog/coronavirus-chat-korean-hangul/) **#covid-19-kr:ungleich.ch** - -All channels are available via the open Matrix chat and can be joined -with an account from any Matrix server. Details can be found in the links. diff --git a/content/u/blog/datacenterlight-active-active-routing/contents.lr b/content/u/blog/datacenterlight-active-active-routing/contents.lr deleted file mode 100644 index 994815c..0000000 --- a/content/u/blog/datacenterlight-active-active-routing/contents.lr +++ /dev/null @@ -1,162 +0,0 @@ -title: Active-Active Routing Paths in Data Center Light ---- -pub_date: 2019-11-08 ---- -author: Nico Schottelius ---- -twitter_handle: NicoSchottelius ---- -_hidden: no ---- -_discoverable: no ---- -abstract: - ---- -body: - -From our last two blog articles (a, b) you probably already know that -it is spring network cleanup in [Data Center Light](https://datacenterlight.ch). - -In [first blog article]() we described where we started and in -the [second blog article]() you could see how we switched our -infrastructure to IPv6 only netboot. - -In this article we will dive a bit more into the details of our -network architecture and which problems we face with active-active -routers. - -## Network architecture - -Let's have a look at a simplified (!) diagram of the network: - -... IMAGE - -Doesn't look that simple, does it? Let's break it down into small -pieces. - -## Upstream routers - -We have a set of **upstream routers** which work stateless. They don't -have any stateful firewall rules, so both of them can work actively -without state synchronisation. Moreover, both of them peer with the -data center upstreams. These are fast routers and besides forwarding, -they also do **BGP peering** with our upstreams. - -Over all the upstream routers are very simple machines, mostly running -bird and forwarding packets all day. They also provide a DNS service -(resolving and authoritative), because they are always up and can -announce service IPs via BGP or via OSPF to our network. - -## Internal routers - -The internal routers on the other hand provide **stateful routing**, -**IP address assignments** and **netboot services**. They are a bit -more complicated compared to the upstream routers, but they care only -a small routing table. - -## Communication between the routers - -All routers employ OSPF and BGP for route exchange. Thus the two -upstream routers learn about the internal networks (IPv6 only, as -usual) from the internal routers. - -## Sessions - -Sessions in networking are almost always an evil. You need to store -them (at high speed), you need to maintain them (updating, deleting) -and if you run multiple routers, you even need to sychronise them. - -In our case the internal routers do have session handling, as they are -providing a stateful firewall. As we are using a multi router setup, -things can go really wrong if the wrong routes are being used. - -Let's have a look at this a bit more in detail. - -## The good path - -IMAGE2: good - -If a server sends out a packet via router1 and router1 eventually -receives the answer, everything is fine. The returning packet matches -the state entry that was created by the outgoing packet and the -internal router forwards the packet. - -## The bad path - -IMAGE3: bad - -However if the - -## Routing paths - -If we want to go active-active routing, the server can choose between -either internal router for sending out the packet. The internal -routers again have two upstream routers. So with the return path -included, the following paths exist for a packet: - -Outgoing paths: - -* servers->router1->upstream router1->internet -* servers->router1->upstream router2->internet -* servers->router2->upstream router1->internet -* servers->router2->upstream router2->internet - -And the returning paths are: - -* internet->upstream router1->router 1->servers -* internet->upstream router1->router 2->servers -* internet->upstream router2->router 1->servers -* internet->upstream router2->router 2->servers - -So on average, 50% of the routes will hit the right router on -return. However servers as well as upstream routers are not using load -balancing like ECMP, so once an incorrect path has been chosen, the -packet loss is 100%. - -## Session synchronisation - -In the first article we talked a bit about keepalived and that -it helps to operate routers in an active-passive mode. This did not -turn out to be the most reliable method. Can we do better with -active-active routers and session synchronisation? - -Linux supports this using -[conntrackd](http://conntrack-tools.netfilter.org/). However, -conntrackd supports active-active routers on a **flow based** level, -but not on a **packet** based level. The difference is that the -following will not work in active-active routers with conntrackd: - -``` -#1 Packet (in the original direction) updates state in Router R1 -> - submit state to R2 -#2 Packet (in the reply direction) arrive to Router R2 before state - coming from R1 has been digested. - -With strict stateful filtering, Packet #2 will be dropped and it will -trigger a retransmission. -``` -(quote from Pablo Neira Ayuso, see below for more details) - -Some of you will mumble something like **latency** in their head right -now. If the return packet is guaranteed to arrive after state -synchronisation, then everything is fine, However, if the reply is -faster than the state synchronisation, packets will get dropped. - -In reality, this will work for packets coming and going to the -Internet. However, in our setup the upstream routers are route between -different data center locations, which are in the sub micro second -latency area - i.e. lan speed, because they are interconnected with -dark fiber links. - - -## Take away - -Before moving on to the next blog article, we would like to express -our thanks to Pablo Neira Ayuso, who gave very important input for -session based firewalls and session synchronisation. - -So active-active routing seems not to have a straight forward -solution. Read in the [next blog -article](/u/blog/datacenterlight-redundant-routing-infrastructure) on -how we solved the challenge in the end. diff --git a/content/u/blog/datacenterlight-ipv6-only-netboot/contents.lr b/content/u/blog/datacenterlight-ipv6-only-netboot/contents.lr deleted file mode 100644 index a2fbd73..0000000 --- a/content/u/blog/datacenterlight-ipv6-only-netboot/contents.lr +++ /dev/null @@ -1,219 +0,0 @@ -title: IPv6 only netboot in Data Center Light ---- -pub_date: 2021-05-01 ---- -author: Nico Schottelius ---- -twitter_handle: NicoSchottelius ---- -_hidden: no ---- -_discoverable: no ---- -abstract: -How we switched from IPv4 netboot to IPv6 netboot ---- -body: - -In our [previous blog -article](/u/blog/datacenterlight-spring-network-cleanup) - we wrote about our motivation for the -big spring network cleanup. In this blog article we show how we -started reducing the complexity by removing our dependency on IPv4. - -## IPv6 first - -When you found our blog, you are probably aware: everything at -ungleich is IPv6 first. Many of our networks are IPv6 only, all DNS -entries for remote access have IPv6 (AAAA) entries and there are only -rare exceptions when we utilise IPv4 for our infrastructure. - -## IPv4 only Netboot - -One of the big exceptions to this paradigm used to be how we boot our -servers. Because our second big paradigm is sustainability, we use a -lot of 2nd (or 3rd) generation hardware. We actually share this -passion with our friends from -[e-durable](https://recycled.cloud/), because sustainability is -something that we need to employ today and not tomorrow. -But back to the netbooting topic: For netbooting we mainly -relied on onboard network cards so far. - -## Onboard network cards - -We used these network cards for multiple reasons: - -* they exist virtually in any server -* they usually have a ROM containing a PXE capable firmware -* it allows us to split real traffic to fiber cards and internal traffic - -However using the onboard devices comes also with a couple of disadvantages: - -* Their ROM is often outdated -* It requires additional cabling - -## Cables - -Let's have a look at the cabling situation first. Virtually all of -our servers are connected to the network using 2x 10 Gbit/s fiber cards. - -On one side this provides a fast connection, but on the other side -it provides us with something even better: distances. - -Our data centers employ a non-standard design due to the re-use of -existing factory halls. This means distances between servers and -switches can be up to 100m. With fiber, we can easily achieve these -distances. - -Additionally, have less cables provides a simpler infrastructure -that is easier to analyse. - -## Disabling onboard network cards - -So can we somehow get rid of the copper cables and switch to fiber -only? It turns out that the fiber cards we use (mainly Intel X520's) -have their own ROM. So we started disabling the onboard network cards -and tried booting from the fiber cards. This worked until we wanted to -move the lab setup to production... - -## Bonding (LACP) and VLAN tagging - -Our servers use bonding (802.3ad) for redundant connections to the -switches and VLAN tagging on top of the bonded devices to isolate -client traffic. On the switch side we realised this using -configurations like - -``` -interface Port-Channel33 - switchport mode trunk - mlag 33 - -... -interface Ethernet33 - channel-group 33 mode active -``` - -But that does not work, if the network ROM at boot does not create an -LACP enabled link on top of which it should be doing VLAN tagging. - -The ROM in our network cards **would** have allowed VLAN tagging alone -though. - -To fix this problem, we reconfigured our switches as follows: - -``` -interface Port-Channel33 - switchport trunk native vlan 10 - switchport mode trunk - port-channel lacp fallback static - port-channel lacp fallback timeout 20 - mlag 33 -``` - -This basically does two things: - -* If there are no LACP frames, fallback to static (non lacp) - configuration -* Accept untagged traffic and map it to VLAN 10 (one of our boot networks) - -Great, our servers can now netboot from fiber! But we are not done -yet... - -## IPv6 only netbooting - -So how do we convince these network cards to do IPv6 netboot? Can we -actually do that at all? Our first approach was to put a custom build of -[ipxe](https://ipxe.org/) on a USB stick. We generated that -ipxe image using **rebuild-ipxe.sh** script -from the -[ungleich-tools](https://code.ungleich.ch/ungleich-public/ungleich-tools) -repository. Turns out using a USB stick works pretty well for most -situations. - -## ROMs are not ROMs - -As you can imagine, the ROM of the X520 cards does not contain IPv6 -netboot support. So are we back at square 1? No, we are not. Because -the X520's have something that the onboard devices did not -consistently have: **a rewritable memory area**. - -Let's take 2 steps back here first: A ROM is an **read only memory** -chip. Emphasis on **read only**. However, modern network cards and a -lot of devices that support on-device firmware do actually have a -memory (flash) area that can be written to. And that is what aids us -in our situation. - -## ipxe + flbtool + x520 = fun - -Trying to write ipxe into the X520 cards initially failed, because the -network card did not recognise the format of the ipxe rom file. - -Luckily the folks in the ipxe community already spotted that problem -AND fixed it: The format used in these cards is called FLB. And there -is [flbtool](https://github.com/devicenull/flbtool/), which allows you -to wrap the ipxe rom file into the FLB format. For those who want to -try it yourself (at your own risk!), it basically involves: - -* Get the current ROM from the card (try bootutil64e) -* Extract the contents from the rom using flbtool -* This will output some sections/parts -* Locate one part that you want to overwrite with iPXE (a previous PXE - section is very suitable) -* Replace the .bin file with your iPXE rom -* Adjust the .json file to match the length of the new binary -* Build a new .flb file using flbtool -* Flash it onto the card - -While this is a bit of work, it is worth it for us, because...: - -## IPv6 only netboot over fiber - -With the modified ROM, basically loading iPXE at start, we can now -boot our servers in IPv6 only networks. On our infrastructure side, we -added two **tiny** things: - -We use ISC dhcp with the following configuration file: - -``` -option dhcp6.bootfile-url code 59 = string; - -option dhcp6.bootfile-url "http://[2a0a:e5c0:0:6::46]/ipxescript"; - -subnet6 2a0a:e5c0:0:6::/64 {} -``` - -(that is the complete configuration!) - -And we used radvd to announce that there are other information, -indicating clients can actually query the dhcpv6 server: - -``` -interface bond0.10 -{ - AdvSendAdvert on; - MinRtrAdvInterval 3; - MaxRtrAdvInterval 5; - AdvDefaultLifetime 600; - - # IPv6 netbooting - AdvOtherConfigFlag on; - - prefix 2a0a:e5c0:0:6::/64 { }; - - RDNSS 2a0a:e5c0:0:a::a 2a0a:e5c0:0:a::b { AdvRDNSSLifetime 6000; }; - DNSSL place5.ungleich.ch { AdvDNSSLLifetime 6000; } ; -}; -``` - -## Take away - -Being able to reduce cables was one big advantage in the beginning. - -Switching to IPv6 only netboot does not seem like a big simplification -in the first place, besides being able to remove IPv4 in server -networks. - -However as you will see in -[the next blog posts](/u/blog/datacenterlight-active-active-routing/), -switching to IPv6 only netbooting is actually a key element on -reducing complexity in our network. diff --git a/content/u/blog/datacenterlight-redundant-routing-infrastructure/contents.lr b/content/u/blog/datacenterlight-redundant-routing-infrastructure/contents.lr deleted file mode 100644 index c0ce350..0000000 --- a/content/u/blog/datacenterlight-redundant-routing-infrastructure/contents.lr +++ /dev/null @@ -1,222 +0,0 @@ -title: Redundant routing infrastructure at Data Center Light ---- -pub_date: 2021-05-01 ---- -author: Nico Schottelius ---- -twitter_handle: NicoSchottelius ---- -_hidden: no ---- -_discoverable: no ---- -abstract: - ---- -body: - -In case you have missed the previous articles, you can -get [an introduction to the Data Center Light spring -cleanup](/u/blog/datacenterlight-spring-network-cleanup), -see [how we switched to IPv6 only netboot](/u/blog/datacenterlight-ipv6-only-netboot) -or read about [the active-active routing -problems](/u/blog/datacenterlight-active-active-routing/). - -In this article we will show how we finally solved the routing issue -conceptually as well as practically. - -## Active-active or passive-active routing? - -In the [previous blog article](/u/blog/datacenterlight-active-active-routing/) -we reasoned that active-active routing, even with session -synchronisation does not have a straight forward solution in our -case. However in the -[first blog article](/u/blog/datacenterlight-spring-network-cleanup) -we reasoned that active-passive routers with VRRP and keepalived are -not stable enough either - -So which path should we take? Or is there another solution? - -## Active-Active-Passive Routing - -Let us introduce Active-Active-Passive routing. Something that sounds -strange in the first place, but is going to make sense in the next -minutes. - -We do want multiple active routers, but we do not want to have to -deal with session synchronisation, which is not only tricky, but due -to its complexity can also be a source of error. - -So what we are looking for is active-active routing without state -synchronisation. While this sounds like a contradiction, if we loosen -our requirement a little bit, we are able to support multiple active -routers without session synchronisation by using **routing -priorities**. - -## Active-Active routing with routing priorities - -Let's assume for a moment that all involved hosts (servers, clients, -routers, etc.) know about multiple routes for outgoing and incoming -traffic. Let's assume also for a moment that **we can prioritise** -those routes. Then we can create a deterministic routing path that -does not need session synchronisation. - -## Steering outgoing traffic - -Let's have a first look at the outgoing traffic. Can we announce -multiple routers in a network, but have the servers and clients -**prefer** one of the routers? The answer is yes! -If we checkout the manpage of -[radvd.conf(5)](https://linux.die.net/man/5/radvd.conf) we find a -setting that is named **AdvDefaultPreference** - -``` -AdvDefaultPreference low|medium|high -``` - -Using this attribute, two routers can both actively announce -themselves, but clients in the network will prefer the one with the -higher preference setting. - -### Replacing radvd with bird - -At this point a short side note: We have been using radvd for some -years in the Data Center Light. However recently on our -[Alpine Linux based routers](https://alpinelinux.org/), radvd started -to crash from time to time: - -``` -[717424.727125] device eth1 left promiscuous mode -[1303962.899600] radvd[24196]: segfault at 63f42258 ip 00007f6bdd59353b sp 00007ffc63f421b8 error 4 in ld-musl-x86_64.so.1[7f6bdd558000+48000] -[1303962.899609] Code: 48 09 c8 4c 85 c8 75 0d 49 83 c4 08 eb d4 39 f0 74 0c 49 ff c4 41 0f b6 04 24 84 c0 75 f0 4c 89 e0 41 5c c3 31 c9 0f b6 04 0f <0f> b6 14 0e 38 d0 75 07 48 ff c1 84 c0 75 ed 29 d0 c3 41 54 49 89 -... -[1458460.511006] device eth0 entered promiscuous mode -[1458460.511168] radvd[27905]: segfault at 4dfce818 ip 00007f94ec1fd53b sp 00007ffd4dfce778 error 4 in ld-musl-x86_64.so.1[7f94ec1c2000+48000] -[1458460.511177] Code: 48 09 c8 4c 85 c8 75 0d 49 83 c4 08 eb d4 39 f0 74 0c 49 ff c4 41 0f b6 04 24 84 c0 75 f0 4c 89 e0 41 5c c3 31 c9 0f b6 04 0f <0f> b6 14 0e 38 d0 75 07 48 ff c1 84 c0 75 ed 29 d0 c3 41 54 49 89 -... -``` - -Unfortunately it seems that either the addresses timed out or that -radvd was able to send a message de-announcing itself prior to the -crash, causing all clients to withdraw their addresses. This is -especially problematic, if you run a [ceph](https://ceph.io/) cluster -and the servers don't have IP addresses anymore... - -While we did not yet investigate the full cause of this, we had a very -easy solution: as all of our routers run -[bird](https://bird.network.cz/) and it also supports sending router -advertisements, we replaced radvd with bird. The configuration is -actually pretty simple: - -``` -protocol radv { - # Internal - interface "eth1.5" { - max ra interval 5; # Fast failover with more routers - other config yes; # dhcpv6 boot - default preference high; - }; - rdnss { - lifetime 3600; - ns 2a0a:e5c0:0:a::a; - ns 2a0a:e5c0:0:a::b; - }; - dnssl { - lifetime 3600; - domain "place5.ungleich.ch"; - }; -} -``` - - -## Steering incoming traffic - -As the internal and the upstream routers are in the same data center, -we can use an IGP like OSPF to distribute the routes to the internal -routers. And OSPF actually has this very neat metric called **cost**. -So for the router that sets the **default preference high** for the -outgoing routes, we keep the cost at 10, for the router that -ses the **default preference low** we set the cost at 20. The actual -bird configuration on a router looks like this: - -``` -define ospf_cost = 10; -... - -protocol ospf v3 ospf6 { - instance id 0; - - ipv6 { - import all; - export none; - }; - - area 0 { - interface "eth1.*" { - authentication cryptographic; - password "weshouldhaveremovedthisfortheblogpost"; - cost ospf_cost; - }; - }; -} -``` - -## Incoming + Outgoing = symmetric paths - -With both directions under our control, we now have enabled symmetric -routing in both directions. Thus as long as the first router is alive, -all traffic will be handled by the first router. - -## Failover scenario - -In case the first router fails, clients have a low life time of 15 -seconds (3x **max ra interval**) -for their routes and they will fail over to the 2nd router -automatically. Existing sessions will not continue to work, but that -is ok for our setup. When the first router with the higher priority -comes back, there will be again an interruption, but clients will -automatically change their paths. - -And so will the upstream routers, as OSPF is a quick protocol that -updates alive routers and routes. - - -## IPv6 enables active-active-passive routing architectures - -At ungleich it almost always comes back to the topic of IPv6, albeit -for a good reason. You might remember that we claimed in the -[IPv6 only netboot](/u/blog/datacenterlight-ipv6-only-netboot) article -that this is reducing complexity? If you look at the above example, -you might not spot it directly, but going IPv6 only is actually an -enabler for our setup: - -We **only deploy router advertisements** using bird. We are **not using DHCPv4** -or **IPv4** for accessing our servers. Both routers run a dhcpv6 -service in parallel, with the "boot server" pointing to themselves. - -Besides being nice and clean, -our whole active-active-passive routing setup **would not work with -IPv4**, because dhcpv4 servers do not have the same functionality to -provide routing priorities. - -## Take away - -You can see that trying to solve one problem ("unreliable redundant -router setup") entailed a slew of changes, but in the end made our -infrastructure much simpler: - -* No dual stack -* No private IPv4 addresses -* No actively communicating keepalived -* Two daemons less to maintain (keepalived, radvd) - -We also avoided complex state synchronisation and deployed only Open -Source Software to address our problems. Furthermore hardware that -looked like unusable in modern IPv6 networks can also be upgraded with -Open Source Software (ipxe) and enables us to provide more sustainable -infrastructures. - -We hope you enjoyed our spring cleanup blog series. The next one will -be coming, because IT infrastructures always evolve. Until then: -feel free to [join our Open Soure Chat](https://chat.with.ungleich.ch) -and join the discussion. diff --git a/content/u/blog/datacenterlight-report-2021-03-15/contents.lr b/content/u/blog/datacenterlight-report-2021-03-15/contents.lr deleted file mode 100644 index ef08ce5..0000000 --- a/content/u/blog/datacenterlight-report-2021-03-15/contents.lr +++ /dev/null @@ -1,88 +0,0 @@ -title: Data Center Light Report 2021-03-15 ---- -pub_date: 2021-03-15 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: no ---- -abstract: -Report of the state of Data Center Light ---- -body: - -In this report we reveal the partial network outage that happened -2021-03-15 between ca. 1700 and 1736 in place6. - -## 1700: router reconfiguration - -At 17:00:45 a planned, regular reconfiguration of two firewall/routing -systems was applied. - -## 1702: outage detection - -A few minutes later our team noticed that some virtualisation hosts -became unreachable. - -## 1702..1733: staff gathering and remote analysis - -Our staff is working in multiple locations (place5, place6, place7, -place10) and our core team agreed to meet onsite. During this time we -discovered that all routers are reachable, but all virtualisation -servers are unreachable. There was no power outage, no switch -reconfiguration, no visible network loops. - -## 1733..1736: onsite debugging and problem solution - -Onsite we discovered that the backup router had configuration error in -the keepalived configuration that prevented restarting the keepalived -process. As keepalived is only manually restarted, this bug was not -spotted until we tried switching traffic to the backup router. - -After this bug was discovered and consequently the patch applied to -the production router, restarting the keepalived process on the main -router restored network connectivity. - -## Post mortem - -Just after the problem solution we continued investigating, as the -virtualisation infrastructure should continue working without this -specific set of routers. The affected routers are only used for -routing and firewalling servers, but do not pass the traffic of VMs. - -However these routers are responsible for assigning addresses via -router advertisements to all servers with the software *radvd*. - -Radvd is by default disabled on the routers and only started by -keepalived, if the router is the main router (based on the VRRP -protocol). So when we restarted keepalived, it would also restart -radvd. And from what we can see, radvd on the main router started -crashing recently: - -``` -[20853563.567958] radvd[14796]: segfault at 47b94bc8 ip 00007f042397d53b sp 00007ffd47b94b28 error 4 in ld-musl-x86_64.so.1[7f0423942000+48000] -``` - -Thus restarting keepalived triggered a restart of radvd, which then in -turn restored connectivity of the servers. We are not fully aware -which router advertisements were sent prior to the crash (because we -don't log network traffic), but there is an option for radvd to -announce that the router is leaving the network and clients should -remove their IP addresses. - -We also have seen that the servers logged an outage in the ceph -cluster, which is likely due to the loss of IP addresses in the -storage cluster, again due to the crash of radvd. That again caused -VMs to have stale I/O. - -## Follow up - -Our monitoring so far did not monitor whether or not one radvd process -was running, which might have led to faster resolution of this -incident. We will add a new expression to our monitoring that "there -is one radvd process running on either of the two routers" to get a -better insight in the future. diff --git a/content/u/blog/datacenterlight-spring-network-cleanup/contents.lr b/content/u/blog/datacenterlight-spring-network-cleanup/contents.lr deleted file mode 100644 index 073b4b1..0000000 --- a/content/u/blog/datacenterlight-spring-network-cleanup/contents.lr +++ /dev/null @@ -1,161 +0,0 @@ -title: Data Center Light: Spring network cleanup ---- -pub_date: 2021-05-01 ---- -author: Nico Schottelius ---- -twitter_handle: NicoSchottelius ---- -_hidden: no ---- -_discoverable: no ---- -abstract: -From today on ungleich offers free, encrypted IPv6 VPNs for hackerspaces ---- -body: - -## Introduction - -Spring is the time for cleanup. Cleanup up your apartment, removing -dust from the cabinet, letting the light shine through the windows, -or like in our case: improving the networking situation. - -In this article we give an introduction of where we started and what -the typical setup used to be in our data center. - -## Best practice - -When we started [Data Center Light](https://datacenterlight.ch) in -2017, we orientated ourselves at "best practice" for networking. We -started with IPv6 only networks and used RFC1918 network (10/8) for -internal IPv4 routing. - -And we started with 2 routers for every network to provide -redundancy. - -## Router redundancy - -So what do you do when you have two routers? In the Linux world the -software [keepalived](https://keepalived.org/) -is very popular to provide redundant routing -using the [VRRP protocol](https://en.wikipedia.org/wiki/Virtual_Router_Redundancy_Protocol). - -## Active-Passive - -While VRRP is designed to allow multiple (not only two) routers to -co-exist in a network, its design is basically active-passive: you -have one active router and n passive routers, in our case 1 -additional. - -## Keepalived: a closer look - -A typical keepalived configuration in our network looked like this: - -``` -vrrp_instance router_v4 { - interface INTERFACE - virtual_router_id 2 - priority PRIORITY - advert_int 1 - virtual_ipaddress { - 10.0.0.1/22 dev eth1.5 # Internal - } - notify_backup "/usr/local/bin/vrrp_notify_backup.sh" - notify_fault "/usr/local/bin/vrrp_notify_fault.sh" - notify_master "/usr/local/bin/vrrp_notify_master.sh" -} - -vrrp_instance router_v6 { - interface INTERFACE - virtual_router_id 1 - priority PRIORITY - advert_int 1 - virtual_ipaddress { - 2a0a:e5c0:1:8::48/128 dev eth1.8 # Transfer for routing from outside - 2a0a:e5c0:0:44::7/64 dev bond0.18 # zhaw - 2a0a:e5c0:2:15::7/64 dev bond0.20 # - } -} -``` - -This is a template that we distribute via [cdist](https:/cdi.st). The -strings INTERFACE and PRIORITY are replaced via cdist. The interface -field defines which interface to use for VRRP communication and the -priority field determines which of the routers is the active one. - -So far, so good. However let's have a look at a tiny detail of this -configuration file: - -``` - notify_backup "/usr/local/bin/vrrp_notify_backup.sh" - notify_fault "/usr/local/bin/vrrp_notify_fault.sh" - notify_master "/usr/local/bin/vrrp_notify_master.sh" -``` - -These three lines basically say: "start something if you are the -master" and "stop something in case you are not". And why did we do -this? Because of stateful services. - -## Stateful services - -A typical shell script that we would call containes lines like this: - -``` -/etc/init.d/radvd stop -/etc/init.d/dhcpd stop -``` -(or start in the case of the master version) - -In earlier days, this even contained openvpn, which was running on our -first generation router version. But more about OpenVPN later. - -The reason why we stopped and started dhcp and radvd is to make -clients of the network use the active router. We used radvd to provide -IPv6 addresses as the primary access method to servers. And we used -dhcp mainly to allow servers to netboot. The active router would -carry state (firewall!) and thus the flow of packets always need to go -through the active router. - -Restarting radvd on a different machine keeps the IPv6 addresses the -same, as clients assign then themselves using EUI-64. In case of dhcp -(IPv4) we would have used hardcoded IPv4 addresses using a mapping of -MAC address to IPv4 address, but we opted out for this. The main -reason is that dhcp clients re-request their same leas and even if an -IPv4 addresses changes, it is not really of importance. - -During a failover this would lead to a few seconds interrupt and -re-establishing sessions. Given that routers are usually rather stable -and restarting them is not a daily task, we initially accepted this. - -## Keepalived/VRRP changes - -One of the more tricky things is changes to keepalived. Because -keepalived uses the *number of addresses and routes* to verify -that the received VRRP packet matches its configuration, adding or -deleting IP addresses and routes, causes a problem: - -While one router was updated, the number of IP addresses or routes is -different. This causes both routers to ignore the others VRRP messages -and both routers think they should be the master process. - -This leads to the problem that both routers receive client and outside -traffic. This causes the firewall (nftables) to not recognise -returning packets, if they were sent out by router1, but received back -by router2 and, because nftables is configured *stateful*, will drop -the returning packet. - -However not only changes to the configuration can trigger this -problem, but also any communication problem between the two -routers. Since 2017 we experienced it multiple times that keepalived -was unable to receive or send messages from the other router and thus -both of them again became the master process. - -## Take away - -While in theory keepalived should improve the reliability, in practice -the number of problems due to double master situations we had, made us -question whether the keepalived concept is the fitting one for us. - -You can read how we evolved from this setup in -[the next blog article](/u/blog/datacenterlight-ipv6-only-netboot/). diff --git a/content/u/blog/deutschsprachiger-coronavirus-chat/contents.lr b/content/u/blog/deutschsprachiger-coronavirus-chat/contents.lr deleted file mode 100644 index a4b7d3e..0000000 --- a/content/u/blog/deutschsprachiger-coronavirus-chat/contents.lr +++ /dev/null @@ -1,83 +0,0 @@ -title: Deutschsprachiger Coronavirus (COVID19) Chat ---- -pub_date: 2020-03-22 ---- -author: Nico Schottelius ---- -twitter_handle: NicoSchottelius ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -Wo man sich über den Virus austauschen kann ---- -body: - - -## Wie es funktioniert in Kürze - -* Gehe auf https://account.ungleich.ch und erzeuge einen neuen Account -* Schaue in Deine Inbox, verifiziere Deine E-Mail -* Gehe auf https://matrix.ungleich.ch und melde Dich mit Deinem - Benutzernamen an -* In dem Textfeld gib **/join #covid-19-de:ungleich.ch** ein -* Nun kannst Du Dich mit anderen austauschen, auch wenn Du zuhause - oder isoliert bist - - -## Kontakt trotz sozialer Distanz - -In Zeiten des Coronavirus ist es wichtig, dass wir Abstand zueinander -halten und uns nicht gegenseitig infizieren, damit unser -Gesundheitssystem nicht überlastet. - -Damit wir in der Isolation trotzdem Kontakt miteinander haben können, -stellen den offenen Kanal **#covid-19-de:ungleich.ch** zum Austausch -zur Verfügung. - -## Warum nicht Whatsapp, Facebook oder ähnliches? - -Es gibt 1 grosses Probleme bei Whatsapp, Facebook, Telegram, Signal, -Threema und co.: - -Es sind alles geschlossene Systeme. Jemand der nur auf Whatsapp ist, -kann nicht mit jemanden von Telegram kommunizieren. - -Der Matrix-Chat ist anders: er ist offen und man kann sich mit -Teilnehmern von verschiedenen Matrix-Systemen unterhalten. Und man -kann Gruppen von anderen Systemen wie Telegram oder Whatsapp einbinden. - -## Wie es funktioniert - -Du kannst Dir einen Account auf https://account.ungleich.ch -anlegen. Danach bekommst Du eine E-Mail, die Du bestätigen musst. -Nachdem der Account erstellt ist, kannst Du Dich auf -https://matrix.ungleich.ch anmelden. Um dann mit anderen zum Thema -Coronavirus zu sprechen, tippe **/join #covid-19-de:ungleich.ch** -ein. - -Für Englischsprachige Personen gibt es bereits den internationalen -Chat **#covid-19:ungleich.ch**, mit einer [englischen -Anleitung](/u/blog/work-from-home-work-remote-with-matrix/). - -## Eigene Chat-Server für Firmen - -Der Chat ist kostenlos und öffentlich verfügbar. Wenn Du einen eigenen -Chat brauchst für Deine Organisation, -kannst Du diesen auf der [Hosted Matrix -Chat](/u/products/hosted-matrix-chat/) Webseite bestellen. Dies -ermöglicht Dir, selber Deine Benutzer zu verwalten. - -Falls Du jedoch nur mit Deinen Freunden und Familie Dich unterhalten -willst, kannst Du einfach kostenlos den Dienst auf -https://matrix.ungleich.ch benutzen. - -## Coronavirus - -Es liegt an uns allen, die Folgen des Coronavirus zu begrenzen. Dies -passiert nur, wenn wir alle Vorsicht walten lassen und Abstand zu -anderen halten und die Hände häufig waschen. - -Macht mit und helft allen anderen. Danke fürs Lesen! diff --git a/content/u/blog/emacs-server-the-smart-way/contents.lr b/content/u/blog/emacs-server-the-smart-way/contents.lr deleted file mode 100644 index 80bb967..0000000 --- a/content/u/blog/emacs-server-the-smart-way/contents.lr +++ /dev/null @@ -1,143 +0,0 @@ -title: Emacs server the fun way ---- -pub_date: 2020-04-23 ---- -author: Nico Schottelius ---- -twitter_handle: NicoSchottelius ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -Let's dive into a very nice emacs feature ---- -body: - -Today I want to talk about how amazing emacs is. Not because it is the -most feature complete operating system out there or because -[it fully emulates vi/vim](https://github.com/emacs-evil/evil). -No, because emacs has a very nice feature called **emacs server**. - -## What's an emacs server? - -If emacs is not an operating system, at least emacs stands for -"**e**ight **m**egabytes **a**nd **c**onstantly **s**wapping", doesn't -it? (This is actually from times where 8 megabytes were quite a lot of -memory) - -So why do people make fun of emacs and how is it related to the emacs -server? -Emacs, like any other operating system, loads a lot of things at -startup. In my case this is initialising -[org-mode](https://orgmode.org/), starting my mail client, calculating -my agenda view to tell me what to do today. - -An emacs server creates a special emacs process that listens on a -socket for connecting to it. This way the initialisation is already -done before you connect to it and all -configurations are already loaded. This is the actual "slow" part of -emacs. And is a bit similar to starting python, which also needs to -load its libraries at start. - -With the emacs server running, you can connect to it using the -**emacsclient** program. - -As a matter of fact, -[rxvt-unicode](http://software.schmorp.de/pkg/rxvt-unicode.html) also -knows about a server mode (checkout the manpage, look for -**urxvtd -q -f -o**). For rxvt-unicode, you'd use **urxvtc** to -connect to it. So quite simlar. - -## What is so cool about the emacs server? - -Saving a lot of response time and making working with emacs **feel** -much faster is the obvious advantage. However, there is a much bigger -one: - -With the emacs server, you can connect to it from the terminal **and** X -Window. Because the emacs server also manages the buffers ("open -files" for non-emacs users), you can view the same open file from the -terminal or an x window. - -## Turning the notebook into a server - -As you might know, we at ungleich are pretty much into IPv6. So all of -our devices are generally speaking world-wide reachable. Our work -notebooks are no exception from that. In fact, most notebooks even -have their own [/48 IPv6 network assigned via -VPN](/u/products/ipv6-vpn/). - -So if I am away from my notebook, but need to check my open (and -potentially unsaved) notes or view my emails, I can use any other -computer, ssh to my notebook and type **emacslient -nw** in the -terminal. - -While my regular emacs is running as an X11 window, I can select, -display and work in all buffers that I have previously opened in the -emacs server. In the terminal, on a remote computer. - -## How to configure your system to use the emacs server - -In my case I start the emacs server when I start X11 in my .xinitrc: - -``` -eval $(ssh-agent) -... -urxvtd -q -f -o -emacs --daemon -... -``` - -Instead of running emacs --daemon, you can also use **M-x -server-start** in a running emacs process. - -And because I always want to have my mail client open, just after I start -i3, I have i3 launch the following command: - -``` -ssh-add is intentionally omitted. - -That paragraph links to a bug registered at w3.org (see next chapter). - - -## IPv6 link local address support at w3.org - -At [w3.org](https://www.w3.org/) there is a -bug titled -[Support IPv6 link-local -addresses?](https://www.w3.org/Bugs/Public/show_bug.cgi?id=27234#c2) -that is set to status **RESOLVED WONTFIX**. It is closed basically -based on the following statement from Ryan Sleevi: - -``` -Yes, we're especially not keen to support these in Chrome and have -repeatedly decided not to. The platform-specific nature of -makes it difficult to impossible to validate the well-formedness of -the URL (see https://tools.ietf.org/html/rfc4007#section-11.2 , as -referenced in 6874, to fully appreciate this special hell). Even if we -could reliably parse these (from a URL spec standpoint), it then has -to be handed 'somewhere', and that opens a new can of worms. - -Even 6874 notes how unlikely it is to encounter these in practice - - "Thus, URIs including a - ZoneID are unlikely to be encountered in HTML documents. However, if - they do (for example, in a diagnostic script coded in HTML), it would - be appropriate to treat them exactly as above." - -Note that a 'dumb' parser may not be sufficient, as the Security Considerations of 6874 note: - "To limit this risk, implementations MUST NOT allow use of this format - except for well-defined usages, such as sending to link-local - addresses under prefix fe80::/10. At the time of writing, this is - the only well-defined usage known." - -And also - "An HTTP client, proxy, or other intermediary MUST remove any ZoneID - attached to an outgoing URI, as it has only local significance at the - sending host." - -This requires a transformative rewrite of any URLs going out the -wire. That's pretty substantial. Anne, do you recall the bug talking -about IP canonicalization (e.g. http://127.0.0.1 vs -http://[::127.0.0.1] vs http://012345 and friends?) This is -conceptually a similar issue - except it's explicitly required in the -context of that the not be emitted. - -There's also the issue that zone_id precludes/requires the use of APIs -that user agents would otherwise prefer to avoid, in order to -'properly' handle the zone_id interpretation. For example, Chromium on -some platforms uses a built in DNS resolver, and so our address lookup -functions would need to define and support 's and map them to -system concepts. In doing so, you could end up with weird situations -where a URL works in Firefox but not Chrome, even though both -'hypothetically' supported 's, because FF may use an OS -routine and Chrome may use a built-in routine and they diverge. - -Overall, our internal consensus is that 's are bonkers on -many grounds - the technical ambiguity (and RFC 6874 doesn't really -resolve the ambiguity as much as it fully owns it and just says -#YOLOSWAG) - and supporting them would add a lot of complexity for -what is explicitly and admittedly a limited value use case. -``` - -This bug references the Mozilla Firefox bug above and -[RFC3986 (replaced by RFC -6874)](https://datatracker.ietf.org/doc/html/rfc6874#section-2). - -## IPv6 link local address support in Chrome / Chromium - -On the chrome side there is a -[huge bug -report](https://bugs.chromium.org/p/chromium/issues/detail?id=70762) -which again references a huge number of other bugs that try to request -IPv6 link local support, too. - -The bug was closed by cbentzel@chromium.org stating: - -``` -There are a large number of special cases which are required on core -networking/navigation/etc. and it does not seem like it is worth the -up-front and ongoing maintenance costs given that this is a very -niche - albeit legitimate - need. -``` - -The bug at chromium has been made un-editable so it is basically -frozen, besides people have added suggestions to the ticket on how to -solve it. - -## Work Arounds - -### IPv6 link local connect hack - -Peter has [documented on the IPv6 link local connect -hack](https://website.peterjin.org/wiki/Snippets:IPv6_link_local_connect_hack) -to make firefox use **fe90:0:[scope id]:[IP address]** to reach -**fe80::[IP address]%[scope id]**. Checkout his website for details! - -### IPv6 hack using ip6tables - -Also from Peter is the hint that you can also use newer iptable -versions to achieve a similar mapping: - -"On modern Linux kernels you can also run - -```ip6tables -t nat -A OUTPUT -d fef0::/64 -j NETMAP --to fe80::/64``` - -if you have exactly one outbound interface, so that fef0::1 translates -to fe80::1" - -Thanks again for the pointer! - -### The prettysocks SOCKS5 proxy (update 2021-11-24) - -On 2021-11-23 we have been notified that there is a new workaround -available: -[prettysock](https://github.com/twisteroidambassador/prettysocks/tree/ipv6-literal) -is a Socks5 proxy written in python that allows the use of Microsoft's -**ipv6-literal.net** domain, but from any OS or browser, which is -pointed to the proxy. So to access **fe80::1ff:fe23:4567:890a%3**, -configure your browser to use the local prettysocks Socks5 proxy, -replace the link local address with -**fe80--1ff-fe23-4567-890as3.ipv6-literal.net** and there you go. - -There are two interesting things to say about this solution: - -* It is a very simple solution -* It is surprising that browser vendors haven't implement such a - simple solution themselves so far - does it need an RFC that defines - the domain to be used? - -## Other resources - -If you are aware of other resources regarding IPv6 link local support -in browsers, please join the [IPv6.chat](https://IPv6.chat) and let us -know about it. diff --git a/content/u/blog/ipv6-vpn-dns-entries/contents.lr b/content/u/blog/ipv6-vpn-dns-entries/contents.lr deleted file mode 100644 index 7ef5ae6..0000000 --- a/content/u/blog/ipv6-vpn-dns-entries/contents.lr +++ /dev/null @@ -1,200 +0,0 @@ -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). diff --git a/content/u/blog/isnt-it-too-late-to-build-a-datacenter/contents.lr b/content/u/blog/isnt-it-too-late-to-build-a-datacenter/contents.lr index a6d983a..113dcf4 100644 --- a/content/u/blog/isnt-it-too-late-to-build-a-datacenter/contents.lr +++ b/content/u/blog/isnt-it-too-late-to-build-a-datacenter/contents.lr @@ -114,7 +114,7 @@ encourage distributing the Internet more to different places. Put all the fun stuff on it. Put your development on it. Don't forget to backup your stuff to somewhere else, though. -We even invite you to [join our chat](https://chat.with.ungleich.ch) to ask +We even invite you to [join our chat](https://chat.ungleich.ch) to ask about how to build a data center and we are more than happy to share our experiences. @@ -149,7 +149,7 @@ If you want to learn more about this topic, you can always get in touch with us as follows: * email: info at ungleich.ch -* open chat: [chat.ungleich.ch](https://chat.with.ungleich.ch) +* open chat: [chat.ungleich.ch](https://chat.ungleich.ch) diff --git a/content/u/blog/kubernetes-dns-entries-nat64/contents.lr b/content/u/blog/kubernetes-dns-entries-nat64/contents.lr deleted file mode 100644 index 3fd6a81..0000000 --- a/content/u/blog/kubernetes-dns-entries-nat64/contents.lr +++ /dev/null @@ -1,144 +0,0 @@ -title: Automatic A and AAAA DNS entries with NAT64 for kubernetes? ---- -pub_date: 2021-06-24 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -Given a kubernetes cluster and NAT64 - how do you create DNS entries? ---- -body: - -## The DNS kubernetes quiz - -Today our blog entry does not (yet) show a solution, but more a tricky -quiz on creating DNS entries. The problem to solve is the following: - -* How to make every IPv6 only service in kubernetes also IPv4 - reachable? - -Let's see who can solve it first or the prettiest. Below are some -thoughts on how to approach this problem. - -## The situation - -Assume your kubernetes cluster is IPv6 only and all services -have proper AAAA DNS entries. This allows you -[to directly receive traffic from the -Internet](/u/blog/kubernetes-without-ingress/) to -your kubernetes services. - -Now to make that service also IPv4 reachable, we can deploy NAT64 -service that maps an IPv4 address outside the cluster to an IPv6 service -address inside the cluster: - -``` -A.B.C.D --> 2001:db8::1 -``` - -So all traffic to that IPv4 address is converted to IPv6 by the -external NAT64 translator. - -## The proxy service - -Let's say the service running on 2001:db8::1 is named "ipv4-proxy" and -thus reachable at ipv4-proxy.default.svc.example.com. - -What we want to achieve is to expose every possible service -inside the cluster **also via IPv4**. For this purpose we have created -an haproxy container that access *.svc.example.com and forwards it via -IPv6. - -So the actual flow would look like: - -``` -IPv4 client --[ipv4]--> NAT64 -[ipv6]-> proxy service - | - | - v -IPv6 client ---------------------> kubernetes service -``` - -## The DNS dilemma - -It would be very tempting to create a wildcard DNS entry or to -configure/patch CoreDNS to also include an A entry for every service -that is: - -``` -*.svc IN A A.B.C.D -``` - -So essentially all services resolve to the IPv4 address A.B.C.D. That -however would also influence the kubernetes cluster, as pods -potentially resolve A entries (not only AAAA) as well. - -As the containers / pods do not have any IPv4 address (nor IPv4 -routing), access to IPv4 is not possible. There are various outcomes -of this situation: - -1. The software in the container does happy eyeballs and tries both - A/AAAA and uses the working IPv6 connection. - -2. The software in the container misbehaves and takes the first record - and uses IPv4 (nodejs is known to have or had a broken resolver - that did exactly that). - -So adding that wildcard might not be the smartest option. And -additionally it is unclear whether coreDNS would support that. - -## Alternative automatic DNS entries - -The *.svc names in a kubernetes cluster are special in the sense that -they are used for connecting internally. What if coreDNS (or any other -DNS) server would instead of using *.svc, use a second subdomain like -*abc*.*namespace*.v4andv6.example.com and generate the same AAAA -record as for the service and a static A record like describe above? - -That could solve the problem. But again, does coreDNS support that? - -## Automated DNS entries in other zones - -Instead of fully automated creating the entries as above, another -option would be to specify DNS entries via annotations in a totally -different zone, if coreDNS was supporting this. So let's say we also -have control over example.org and we could instruct coreDNS to create -the following entries automatically with an annotation: - -``` -abc.something.example.org AAAA -abc.something.example.org A -``` - -In theory this might be solved via some scripting, maybe via a DNS -server like powerDNS? - -## Alternative solution with BIND - -The bind DNS server, which is not usually deployed in a kubernetes -cluster, supports **views**. Views enable different replies to the -same query depending on the source IP address. Thus in theory -something like that could be done, assuming a secondary zone -*example.org*: - -* If the request comes from the kubernetes cluster, return a CNAME - back to example.com. -* If the request comes from outside the kubernetes cluster, return an - A entry with the static IP -* Unsolved: how to match on the AAAA entries (because we don't CNAME - with the added A entry) - - -## Other solution? - -As you can see, mixing the dynamic IP generation and coupling it with -static DNS entries for IPv4 resolution is not the easiest tasks. If -you have a smart idea on how to solve this without manually creating -entries for each and every service, -[give us a shout!](/u/contact) diff --git a/content/u/blog/kubernetes-making-dns-publicly-reachable/contents.lr b/content/u/blog/kubernetes-making-dns-publicly-reachable/contents.lr deleted file mode 100644 index 8743348..0000000 --- a/content/u/blog/kubernetes-making-dns-publicly-reachable/contents.lr +++ /dev/null @@ -1,227 +0,0 @@ -title: Making kubernetes kube-dns publicly reachable ---- -pub_date: 2021-06-13 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -Looking into IPv6 only DNS provided by kubernetes ---- -body: - -## Introduction - -If you have seen our -[article about running kubernetes -Ingress-less](/u/blog/kubernetes-without-ingress/), you are aware that -we are pushing IPv6 only kubernetes clusters at ungleich. - -Today, we are looking at making the "internal" kube-dns service world -reachable using IPv6 and global DNS servers. - -## The kubernetes DNS service - -If you have a look at your typical k8s cluster, you will notice that -you usually have two coredns pods running: - -``` -% kubectl -n kube-system get pods -l k8s-app=kube-dns -NAME READY STATUS RESTARTS AGE -coredns-558bd4d5db-gz5c7 1/1 Running 0 6d -coredns-558bd4d5db-hrzhz 1/1 Running 0 6d -``` - -These pods are usually served by the **kube-dns** service: - -``` -% kubectl -n kube-system get svc -l k8s-app=kube-dns -NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -kube-dns ClusterIP 2a0a:e5c0:13:e2::a 53/UDP,53/TCP,9153/TCP 6d1h -``` - -As you can see, the kube-dns service is running on a publicly -reachable IPv6 address. - -## IPv6 only DNS - -IPv6 only DNS servers have one drawback: they cannot be reached via DNS -recursions, if the resolver is IPv4 only. - -At [ungleich we run a variety of -services](https://redmine.ungleich.ch/projects/open-infrastructure/wiki) -to make IPv6 only services usable in the real world. In case of DNS, -we are using **DNS forwarders**. They are acting similar to HTTP -proxies, but for DNS. - -So in our main DNS servers, dns1.ungleich.ch, dns2.ungleich.ch -and dns3.ungleich.ch we have added the following configuration: - -``` -zone "k8s.place7.ungleich.ch" { - type forward; - forward only; - forwarders { 2a0a:e5c0:13:e2::a; }; -}; -``` - -This tells the DNS servers to forward DNS queries that come in for -k8s.place7.ungleich.ch to **2a0a:e5c0:13:e2::a**. - -Additionally we have added **DNS delegation** in the -place7.ungleich.ch zone: - -``` -k8s NS dns1.ungleich.ch. -k8s NS dns2.ungleich.ch. -k8s NS dns3.ungleich.ch. -``` - -## Using the kubernetes DNS service in the wild - -With this configuration, we can now access IPv6 only -kubernetes services directly from the Internet. Let's first discover -the kube-dns service itself: - -``` -% dig kube-dns.kube-system.svc.k8s.place7.ungleich.ch. aaaa - -; <<>> DiG 9.16.16 <<>> kube-dns.kube-system.svc.k8s.place7.ungleich.ch. aaaa -;; global options: +cmd -;; Got answer: -;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23274 -;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 - -;; OPT PSEUDOSECTION: -; EDNS: version: 0, flags:; udp: 4096 -; COOKIE: f61925944f5218c9ac21e43960c64f254792e60f2b10f3f5 (good) -;; QUESTION SECTION: -;kube-dns.kube-system.svc.k8s.place7.ungleich.ch. IN AAAA - -;; ANSWER SECTION: -kube-dns.kube-system.svc.k8s.place7.ungleich.ch. 27 IN AAAA 2a0a:e5c0:13:e2::a - -;; AUTHORITY SECTION: -k8s.place7.ungleich.ch. 13 IN NS kube-dns.kube-system.svc.k8s.place7.ungleich.ch. -``` - -As you can see, the **kube-dns** service in the **kube-system** -namespace resolves to 2a0a:e5c0:13:e2::a, which is exactly what we -have configured. - -At the moment, there is also an etherpad test service -named "ungleich-etherpad" running: - -``` -% kubectl get svc -l app=ungleichetherpad -NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -ungleich-etherpad ClusterIP 2a0a:e5c0:13:e2::b7db 9001/TCP 3d19h -``` - -Let's first verify that it resolves: - -``` -% dig +short ungleich-etherpad.default.svc.k8s.place7.ungleich.ch aaaa -2a0a:e5c0:13:e2::b7db -``` - -And if that works, well, then we should also be able to access the -service itself! - -``` -% curl -I http://ungleich-etherpad.default.svc.k8s.place7.ungleich.ch:9001/ -HTTP/1.1 200 OK -X-Powered-By: Express -X-UA-Compatible: IE=Edge,chrome=1 -Referrer-Policy: same-origin -Content-Type: text/html; charset=utf-8 -Content-Length: 6039 -ETag: W/"1797-Dq3+mr7XP0PQshikMNRpm5RSkGA" -Set-Cookie: express_sid=s%3AZGKdDe3FN1v5UPcS-7rsZW7CeloPrQ7p.VaL1V0M4780TBm8bT9hPVQMWPX5Lcte%2BzotO9Lsejlk; Path=/; HttpOnly; SameSite=Lax -Date: Sun, 13 Jun 2021 18:36:23 GMT -Connection: keep-alive -Keep-Alive: timeout=5 -``` - -(attention, this is a test service and might not be running when you -read this article at a later time) - -## IPv6 vs. IPv4 - -Could we have achived the same with IPv4? The answere here is "maybe": -If the kubernetes service is reachable from globally reachable -nameservers via IPv4, then the answer is yes. This could be done via -public IPv4 addresses in the kubernetes cluster, via tunnels, VPNs, -etc. - -However, generally speaking, the DNS service of a -kubernetes cluster running on RFC1918 IP addresses, is probably not -reachable from globally reachable DNS servers by default. - -For IPv6 the case is a bit different: we are using globally reachable -IPv6 addresses in our k8s clusters, so they can potentially be -reachable without the need of any tunnel or whatsoever. Firewalling -and network policies can obviously prevent access, but if the IP -addresses are properly routed, they will be accessible from the public -Internet. - -And this makes things much easier for DNS servers, which are also -having IPv6 connectivity. - -The following pictures shows the practical difference between the two -approaches: - -![](/u/image/k8s-v6-v4-dns.png) - -## Does this make sense? - -That clearly depends on your use-case. If you want your service DNS -records to be publicly accessible, then the clear answer is yes. - -If your cluster services are intended to be internal only -(see [previous blog post](/u/blog/kubernetes-without-ingress/), then -exposing the DNS service to the world might not be the best option. - -## Note on security - -CoreDNS inside kubernetes is by default configured to allow resolving -for *any* client that can reach it. Thus if you make your kube-dns -service world reachable, you also turn it into an open resolver. - -The following coredns configuration **does** correctly block -requests, **IF your coredns version is new enough**: - - -``` - Corefile: | - .:53 { - acl k8s.place7.ungleich.ch { - allow net ::/0 - } - acl . { - allow net 2a0a:e5c0:13::/48 - block - } - forward . /etc/resolv.conf { - max_concurrent 1000 - } -... -``` - -We tested this with -[coredns-1.8.4](https://github.com/coredns/coredns/issues/4697) in -which the ACL behaviour is fixed. - -## More of this - -We are discussing -kubernetes and IPv6 related topics in -**the #hacking:ungleich.ch Matrix channel** -([you can signup here if you don't have an -account](https://chat.with.ungleich.ch)) and will post more about our -k8s journey in this blog. Stay tuned! diff --git a/content/u/blog/kubernetes-network-planning-with-ipv6/contents.lr b/content/u/blog/kubernetes-network-planning-with-ipv6/contents.lr deleted file mode 100644 index 61e580e..0000000 --- a/content/u/blog/kubernetes-network-planning-with-ipv6/contents.lr +++ /dev/null @@ -1,122 +0,0 @@ -title: Kubernetes Network planning with IPv6 ---- -pub_date: 2021-06-26 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: no ---- -abstract: -Learn which networks are good to use with kubernetes ---- -body: - -## Introduction - -While IPv6 has a huge address space, you will need to specify a -**podCidr** (the network for the pods) and a **serviceCidr** (the -network for the services) for kubernetes. In this blog article we show -our findings and give a recommendation on what are the "most sensible" -networks to use for kubernetes. - -## TL;DR - - -## Kubernetes limitations - -In a typical IPv6 network, you would "just assign a /64" to anything -that needs to be a network. It is a bit the IPv6-no-brainer way of -handling networking. - -However, kubernetes has a limitation: -[the serviceCidr cannot be bigger than a /108 at the -moment](https://github.com/kubernetes/kubernetes/pull/90115). -This is something very atypical for the IPv6 world, but nothing we -cannot handle. There are various pull requests and issues to fix this -behaviour on github, some of them listed below: - -* https://github.com/kubernetes/enhancements/pull/1534 -* https://github.com/kubernetes/kubernetes/pull/79993 -* https://github.com/kubernetes/kubernetes/pull/90115 (this one is - quite interesting to read) - -That said, it is possible to use a /64 for the **podCidr**. - -## The "correct way" without the /108 limitation - -If kubernetes did not have this limitation, our recommendation would -be to use one /64 for the podCidr and one /64 for the serviceCidr. If -in the future the limitations of kubernetes have been lifted, skip -reading this article and just use two /64's. - -Do not be tempted to suggest making /108's the default, even if they -"have enough space", because using /64's allows you to stay in much -easier network plans. - -## Sanity checking the /108 - -To be able to plan kubernetes clusters, it is important to know where -they should live, especially if you plan having a lot of kubernetes -clusters. Let's have a short look at the /108 network limitation: - -A /108 allows 20 bit to be used for generating addresses, or a total -of 1048576 hosts. This is probably enough for the number of services -in a cluster. Now, can we be consistent and also use a /108 for the -podCidr? Let's assume for the moment that we do exactly that, so we -run a maximum of 1048576 pods at the same time. Assuming each service -consumes on average 4 pods, this would allow one to run 262144 -services. - -Assuming each pod uses around 0.1 CPUs and 100Mi RAM, if all pods were -to run at the same time, you would need ca. 100'000 CPUs and 100 TB -RAM. Assuming further that each node contains at maximum 128 CPUs and -at maximum 1 TB RAM (quite powerful servers), we would need more than -750 servers just for the CPUs. - -So we can reason that **we can** run kubernetes clusters of quite some -size even with a **podCidr of /108**. - -## Organising /108's - -Let's assume that we organise all our kubernetes clusters in a single -/64, like 2001:db8:1:2::/64, which looks like this: - -``` -% sipcalc 2001:db8:1:2::/64 --[ipv6 : 2001:db8:1:2::/64] - 0 - -[IPV6 INFO] -Expanded Address - 2001:0db8:0001:0002:0000:0000:0000:0000 -Compressed address - 2001:db8:1:2:: -Subnet prefix (masked) - 2001:db8:1:2:0:0:0:0/64 -Address ID (masked) - 0:0:0:0:0:0:0:0/64 -Prefix address - ffff:ffff:ffff:ffff:0:0:0:0 -Prefix length - 64 -Address type - Aggregatable Global Unicast Addresses -Network range - 2001:0db8:0001:0002:0000:0000:0000:0000 - - 2001:0db8:0001:0002:ffff:ffff:ffff:ffff -``` - -A /108 network on the other hand looks like this: - -``` -% sipcalc 2001:db8:1:2::/108 --[ipv6 : 2001:db8:1:2::/108] - 0 - -[IPV6 INFO] -Expanded Address - 2001:0db8:0001:0002:0000:0000:0000:0000 -Compressed address - 2001:db8:1:2:: -Subnet prefix (masked) - 2001:db8:1:2:0:0:0:0/108 -Address ID (masked) - 0:0:0:0:0:0:0:0/108 -Prefix address - ffff:ffff:ffff:ffff:ffff:ffff:fff0:0 -Prefix length - 108 -Address type - Aggregatable Global Unicast Addresses -Network range - 2001:0db8:0001:0002:0000:0000:0000:0000 - - 2001:0db8:0001:0002:0000:0000:000f:ffff -``` - -Assuming for a moment that we assign a /108, this looks as follows: diff --git a/content/u/blog/kubernetes-production-cluster-1/contents.lr b/content/u/blog/kubernetes-production-cluster-1/contents.lr deleted file mode 100644 index 00436de..0000000 --- a/content/u/blog/kubernetes-production-cluster-1/contents.lr +++ /dev/null @@ -1,70 +0,0 @@ -title: ungleich production cluster #1 ---- -pub_date: 2021-07-05 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: no ---- -abstract: -In this blog article we describe our way to our first production -kubernetes cluster. ---- -body: - -## Introduction - -This article is WIP to describe all steps required for our first -production kubernetes cluster and the services that we run in it. - -## Setup - -### Bootstrapping - -* All nodes are running [Alpine Linux](https://alpinelinux.org) -* All nodes are configured using [cdist](https://cdi.st) - * Mainly installing kubeadm, kubectl, crio *and* docker - * At the moment we try to use crio -* The cluster is initalised using **kubeadm init --config - k8s/c2/kubeadm.yaml** from the [ungleich-k8s repo](https://code.ungleich.ch/ungleich-public/ungleich-k8s) - -### CNI/Networking - -* Calico is installed using **kubectl apply -f - cni-calico/calico.yaml** from the [ungleich-k8s - repo](https://code.ungleich.ch/ungleich-public/ungleich-k8s) -* Installing calicoctl using **kubectl apply -f - https://docs.projectcalico.org/manifests/calicoctl.yaml** -* Aliasing calicoctl: **alias calicoctl="kubectl exec -i -n kube-system calicoctl -- /calicoctl"** -* All nodes BGP peer with our infrastructure using **calicoctl create -f - < cni-calico/bgp-c2.yaml** - -### Persistent Volume Claim support - -* Provided by rook -* Using customized manifests to support IPv6 from ungleich-k8s - -``` -for yaml in crds common operator cluster storageclass-cephfs storageclass-rbd toolbox; do - kubectl apply -f ${yaml}.yaml -done -``` - -### Flux - -Starting with the 2nd cluster? - - -## Follow up - -If you are interesting in continuing the discussion, -we are there for you in -**the #kubernetes:ungleich.ch Matrix channel** -[you can signup here if you don't have an -account](https://chat.with.ungleich.ch). - -Or if you are interested in an IPv6 only kubernetes cluster, -drop a mail to **support**-at-**ungleich.ch**. diff --git a/content/u/blog/kubernetes-without-ingress/contents.lr b/content/u/blog/kubernetes-without-ingress/contents.lr deleted file mode 100644 index 370cbe9..0000000 --- a/content/u/blog/kubernetes-without-ingress/contents.lr +++ /dev/null @@ -1,201 +0,0 @@ -title: Building Ingress-less Kubernetes Clusters ---- -pub_date: 2021-06-09 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: - ---- -body: - -## Introduction - -On [our journey to build and define IPv6 only kubernetes -clusters](https://www.nico.schottelius.org/blog/k8s-ipv6-only-cluster/) -we came accross some principles that seem awkward in the IPv6 only -world. Let us today have a look at the *LoadBalancer* and *Ingress* -concepts. - -## Ingress - -Let's have a look at the [Ingress -definition](https://kubernetes.io/docs/concepts/services-networking/ingress/) -definiton from the kubernetes website: - -``` -Ingress exposes HTTP and HTTPS routes from outside the cluster to -services within the cluster. Traffic routing is controlled by rules -defined on the Ingress resource. -``` - -So the ingress basically routes from outside to inside. But, in the -IPv6 world, services are already publicly reachable. It just -depends on your network policy. - -### Update 2021-06-13: Ingress vs. Service - -As some people pointed out (thanks a lot!), a public service is -**not the same** as an Ingress. Ingress has also the possibility to -route based on layer 7 information like the path, domain name, etc. - -However, if all of the traffic from an Ingress points to a single -IPv6 HTTP/HTTPS Service, effectively the IPv6 service will do the -same, with one hop less. - -## Services - -Let's have a look at how services in IPv6 only clusters look like: - -``` -% kubectl get svc -NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -etherpad ClusterIP 2a0a:e5c0:13:e2::a94b 9001/TCP 19h -nginx-service ClusterIP 2a0a:e5c0:13:e2::3607 80/TCP 43h -postgres ClusterIP 2a0a:e5c0:13:e2::c9e0 5432/TCP 19h -... -``` -All these services are world reachable, depending on your network -policy. - -## ServiceTypes - -While we are at looking at the k8s primitives, let's have a closer -look at the **Service**, specifically at 3 of the **ServiceTypes** -supported by k8s, including it's definition: - -### ClusterIP - -The k8s website says - -``` -Exposes the Service on a cluster-internal IP. Choosing this value -makes the Service only reachable from within the cluster. This is the -default ServiceType. -``` - -So in the context of IPv6, this sounds wrong. There is nothing that -makes an global IPv6 address be "internal", besides possible network -policies. The concept is probably coming from the strict difference of -RFC1918 space usually used in k8s clusters and not public IPv4. - -This difference does not make a lot of sense in the IPv6 world though. -Seeing **services as public by default**, makes much more sense. -And simplifies your clusters a lot. - -### NodePort - -Let's first have a look at the definition again: - -``` -Exposes the Service on each Node's IP at a static port (the -NodePort). A ClusterIP Service, to which the NodePort Service routes, -is automatically created. You'll be able to contact the NodePort -Service, from outside the cluster, by requesting :. -``` - -Conceptually this can be similarily utilised in the IPv6 only world -like it does in the IPv4 world. However given that there are enough -addresses available with IPv6, this might not be such an interesting -ServiceType anymore. - - -### LoadBalancer - -Before we have a look at this type, let's take some steps back -first to ... - - -## ... Load Balancing - -There are a variety of possibilities to do load balancing. From simple -round robin, to ECMP based load balancing, to application aware, -potentially weighted load balancing. - -So for load balancing, there is usually more than one solution and -there is likely not one size fits all. - -So with this said, let.s have a look at the -**ServiceType LoadBalancer** definition: - -``` -Exposes the Service externally using a cloud provider's load -balancer. NodePort and ClusterIP Services, to which the external load -balancer routes, are automatically created. -``` - -So whatever the cloud provider offers, can be used, and that is a good -thing. However, let's have a look at how you get load balancing for -free in IPv6 only clusters: - -## Load Balancing in IPv6 only clusters - -So what is the most easy way of reliable load balancing in network? -[ECMP (equal cost multi path)](https://en.wikipedia.org/wiki/Equal-cost_multi-path_routing) -comes to the mind right away. Given that -kubernetes nodes can BGP peer with the network (upstream or the -switches), this basically gives load balancing to the world for free: - -``` - [ The Internet ] - | - [ k8s-node-1 ]-----------[ network ]-----------[ k8s-node-n] - [ ECMP ] - | - [ k8s-node-2] - -``` - -In the real world on a bird based BGP upstream router -this looks as follows: - -``` -[18:13:02] red.place7:~# birdc show route -BIRD 2.0.7 ready. -Table master6: -... -2a0a:e5c0:13:e2::/108 unicast [place7-server1 2021-06-07] * (100) [AS65534i] - via 2a0a:e5c0:13:0:225:b3ff:fe20:3554 on eth0 - unicast [place7-server4 2021-06-08] (100) [AS65534i] - via 2a0a:e5c0:13:0:225:b3ff:fe20:3564 on eth0 - unicast [place7-server2 2021-06-07] (100) [AS65534i] - via 2a0a:e5c0:13:0:225:b3ff:fe20:38cc on eth0 - unicast [place7-server3 2021-06-07] (100) [AS65534i] - via 2a0a:e5c0:13:0:224:81ff:fee0:db7a on eth0 -... -``` - -Which results into the following kernel route: - -``` -2a0a:e5c0:13:e2::/108 proto bird metric 32 - nexthop via 2a0a:e5c0:13:0:224:81ff:fee0:db7a dev eth0 weight 1 - nexthop via 2a0a:e5c0:13:0:225:b3ff:fe20:3554 dev eth0 weight 1 - nexthop via 2a0a:e5c0:13:0:225:b3ff:fe20:3564 dev eth0 weight 1 - nexthop via 2a0a:e5c0:13:0:225:b3ff:fe20:38cc dev eth0 weight 1 pref medium -``` - -## TL;DR - -We know, a TL;DR at the end is not the right thing to do, but hey, we -are at ungleich, aren't we? - -In a nutshell, with IPv6 the concept of **Ingress**, -**Service** and the **LoadBalancer** ServiceType -types need to be revised, as IPv6 allows direct access without having -to jump through hoops. - -If you are interesting in continuing the discussion, -we are there for you in -**the #hacking:ungleich.ch Matrix channel** -[you can signup here if you don't have an -account](https://chat.with.ungleich.ch). - -Or if you are interested in an IPv6 only kubernetes cluster, -drop a mail to **support**-at-**ungleich.ch**. diff --git a/content/u/blog/love-letter-to-isc-bind/contents.lr b/content/u/blog/love-letter-to-isc-bind/contents.lr deleted file mode 100644 index 9217af9..0000000 --- a/content/u/blog/love-letter-to-isc-bind/contents.lr +++ /dev/null @@ -1,91 +0,0 @@ -title: A love letter to ISC bind ---- -pub_date: 2021-02-22 ---- -author: Nico Schottelius ---- -twitter_handle: NicoSchottelius ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -Everyone does some mistakes in their life, but sometimes it's time to -move on. ---- -body: - -Dear ISC bind, - -this is a love letter to you. You probably don't know me, but I have -been a long term user of yours. - -I started my time with you in the late 90's. It was when you were -called "bind 4". I was very happy with our relationship. You'd not -only take care of all authoritative requests, but also take care of -caching client requests. Me, still being young at the time, I did not -know nor care about security concerns in the beginning. - -But then over time I got more experienced and I read and tried DNS -cache poisoning and I was shocked. How could you? How could you accept -incorrect entries? I had so much trust in you and then that! - -Years passed and after my shock, I had a fling with -[djbdns](https://cr.yp.to/djbdns.html) (together with qmail and -daemontools). Which right away took security more serious. So serious -that even managing djbdns with its own suite was almost like a crypto -analysis adventure (no offense, Dan!). Many years this was my software -solution of choice, compiled by source, patched by hand. Oh, the old -2000's! - -Over time the effort for managing software by source code and -/usr/local installations did not turn out to be very efficient. So I -looked around and found [powerdns](https://www.powerdns.com/), -[nsd](https://www.nlnetlabs.nl/projects/nsd/about/) and -[unbound](https://www.nlnetlabs.nl/projects/unbound/about/). - -I settled for the nsd/unbound combination for many years. Solid, easy -to use and nice separation of concerns. Thanks nlnetlabs! Then I -stumbled upon -[dnsmasq](http://www.thekelleys.org.uk/dnsmasq/doc.html). Dnsmasq -feels a bit like a younger sibling of bind: it does everything and -even includes dhcp and tftp support! Crazy, isn't it? Many years to -come, dnsmasq, first discovered on an embedded router, turned out to -be a very stable solution for even mid sized installations. And it -comes with a very simple configuration as well. - -But then 2017 happened. And ungleich started the [Data Center -Light](/u/projects/data-center-light/) project. An IPv6 first -hosting. And there you were, dear bind. Looking at me from the side of -the software projects, saying "I think it's time we have a talk.". - -And indeed, we did have a talk. A talk about implementing DNS64. About -different DNS64 prefixes in one configuration. About being -an authoritative name server that functions even if all upstreams are -down. A name server that even allows the most funky configuration of -*removing native AAAA entries* for DNS64 networks that should only -access mapped IPv4 addresses. You can do it all, but you are still not -complicated. Who can say that from oneself? - -I admit, I was not always loyal to you. And I also admit that I am -still sceptical about mixing caching and authoritative features in one -process. But you do it so damn well. Not only have you been around for -decades and collected the wisdom over the years, but also have you -adapted to the time. - -This is why I am writing you this love letter today, to say -thanks. Thanks for making the life in a data center easier, thanks to -being flexible, thanks for improving over time and thanks to still -adhearing to the same configuration file format that I used in the -late 90's. - -Dear BIND, you are by far not perfect, but then neither is -reality. And this is your strength, solving real world problems. - -Thank you for doing so and thanks to all the involved developers for -creating bind. - -In love, yours, - -Nico diff --git a/content/u/blog/love-letter-to-isc-bind/loveletter.jpg b/content/u/blog/love-letter-to-isc-bind/loveletter.jpg deleted file mode 100644 index b55097e..0000000 Binary files a/content/u/blog/love-letter-to-isc-bind/loveletter.jpg and /dev/null differ diff --git a/content/u/blog/managing-ipv4-islands-with-jool-and-openwrt/contents.lr b/content/u/blog/managing-ipv4-islands-with-jool-and-openwrt/contents.lr deleted file mode 100644 index abd60df..0000000 --- a/content/u/blog/managing-ipv4-islands-with-jool-and-openwrt/contents.lr +++ /dev/null @@ -1,112 +0,0 @@ -_hidden: no ---- -_discoverable: yes ---- -pub_date: 2020-12-15 ---- -title: Managing IPv4 islands with Jool and OpenWrt ---- -abstract: How to access IPv4 islands from IPv6 networks ---- -author: ungleich ---- -twitter_handle: ungleich ---- -body: - -## Introduction - -At ungleich we are using [Jool](https://www.jool.mx/) in a variety of -scenarios with NAT64 or SIIT. The main use of jool in our -infrastructure is to enable IPv6 only hosts to communicate with the -IPv4 Internet. - -However today we want to show you a different use case of jool: -Enabling IPv4 islands to communicate with the IPv6 Internet. - -For this we will focus on using Jool on -[OpenWrt](https://openwrt.org), because this is a platform that you -can also easily use in your networks or even at home. - -## The general problem to solve - -The literally biggest problem to solve when connecting the two -different worlds is that the IPv6 space is significantly bigger. This -is a problem, because we cannot achieve a 1:1 mapping from the IPv4 -world, but we can do a 1:1 mapping from the IPv6 world: - -![](/u/image/ipv4-ipv6-nat-asymmetric.png) - -## Installing jool - -Installing jool on OpenWrt is very easy, it is just a matter of -installing the kernel module and the tools for managing jool: - -``` -opkg update -opkg install kmod-jool jool-tools -``` - -## Making IPv4 islands reachable - -Assume that you are mostly running IPv6 only networks. And you happen -to have some hosts, which, for whatever reason, cannot be switched to -IPv6. We can use a stateful NAT64 to map "the whole IPv6 Internet" to -192.0.2.1 as follows: - -![](/u/image/ipv4-only-island-ipv6-reachable.png) - -This works pretty similar to regular NAT that you are used from -home. If we compare it visually, it is even more clear: - -![](/u/image/ipv4-nat.png) - -Let's have a look at this in an OpenWrt context: - -* The LAN network is usually 192.168.1.0/24 -* The router's IPv4 address is usually 192.168.1.1 -* In this example we routed 2a0a:e5c1:18f::/48 to the router -* 192.168.1.0/24 has 8 bits for the hosts (32-24=8) -* We choose 2a0a:e5c1:18f:b00::/120 to map the IPv4 island (128-120=8) -* We use the OpenWrt's standard address to masquerade/squash the IPv6 Internet - -First we will create an "IPv4 pool": - -``` -root@vigir2:~# jool -4 -a 192.168.1.1 -root@vigir2:~# jool -4 -+------------+-------+--------------------+-----------------+-------------+ -| Mark | Proto | Max iterations | Address | Ports | -+------------+-------+--------------------+-----------------+-------------+ -| 0 | TCP | 1024 ( auto) | 192.168.1.1 | 1-65535 | -+------------+-------+--------------------+-----------------+-------------+ -| 0 | UDP | 1024 ( auto) | 192.168.1.1 | 1-65535 | -+------------+-------+--------------------+-----------------+-------------+ -| 0 | ICMP | 1024 ( auto) | 192.168.1.1 | 0-65535 | -+------------+-------+--------------------+-----------------+-------------+ - (Fetched 3 samples.) -``` - -This allows jool to map IPv6 addresses stateful to 192.168.1.1 and -basically allows incoming IPv6 traffic. What is left now is to -configure the mapping from IPv6 to IPv4. For this we use the pool6 -argument of jool: - -``` -jool -6 2a0a:e5c1:18f:b00::/96 -``` - -Note that we cheated here. We did not only map -2a0a:e5c1:18f:b00::/120, but we did actually map the whole IPv4 -range. The advantage of this is that we do not need to care which -networks are used on the IPv4 island. Any IPv4 address inside the LAN -segment is now reachable. If you want to reach the IP address -192.168.1.42, you can ping as **2a0a:e5c1:18f:b00::192.168.1.42**. As -a matter of fact, while writing this article, the sample network is up and -running and you should be able to **ping -2a0a:e5c1:18f:b00::192.168.1.1** from the IPv6 Internet. - -## More of this? - -If you are interested in IPv6 or network, feel free to join us on the -[IPv6.chat](https://IPv6.chat). diff --git a/content/u/blog/nftables-block-dhcp-and-router-advertisements/contents.lr b/content/u/blog/nftables-block-dhcp-and-router-advertisements/contents.lr deleted file mode 100644 index 5b134fc..0000000 --- a/content/u/blog/nftables-block-dhcp-and-router-advertisements/contents.lr +++ /dev/null @@ -1,108 +0,0 @@ -title: Blocking DHCP servers and router advertisements with nftables ---- -pub_date: 2020-08-27 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -Blocking typical data center workloads with nftables ---- -body: - -## Motivation - -Here at [ungleich](https://ungleich.ch) we are providing a variety of -hosting services in the [Data Center -Light](https://datacenterlight.ch). One of the workloads we offer is -VM hosting and we need to take some security measures to prevent one -customer abusing another customer. - -## The problem - -The virtual machines in our next generation uncloud hosting will be -using standard DHCP and IPv6 address assignments. Currently -we are still using the -[OpenNebula](https://github.com/OpenNebula/addon-context-linux) -contextualisation scripts that read the networking information from an -attached ISO. - -While this makes it easier to create VM images and VMs behave even -more like regular computers, this exposes the VMs to attacks where one -customer runs a DHCP server or IPv6 router advertisement daemon and -tricks the other VMs into sending traffic to it. - -## The architecture - -VMs are connected to a single shared network in which they get -their IP addresses (in uncloud usually only IPv6) and then they can -retrieve more information from a metadata server. So the main -protection that is required is preventing to trick other customers -into using a wrong IP address or route. - -Also, if the network is IPv6 only, another customer should not be able -to trick someone else into using IPv4. - -## Fixing it - -So the easiest thing to do is to disallow IPv6 router advertisements -and IPv4 DHCP server answers. However as all the interfaces are put -into one bridge, we will need to filter on bridge and not ip level: - -``` -table bridge filter { - chain prerouting { - type filter hook prerouting priority 0; - policy accept; - } -``` - -Next we create a chain to drop the packets we dislike: - -``` - chain drop_ra_dhcp { - # Blocks: router advertisements, dhcpv6, dhcpv4 - icmpv6 type nd-router-advert drop - ip6 version 6 udp sport 547 drop - ip version 4 udp sport 67 drop - } -``` - -Now the only thing left is to correctly classify the traffic. For this -lets take some real world assumptions: - -* Let's assume the bridge is named **br100** -* Let's assume the upstream interface that should allow RA/DHCP is - named **vxlan100** - -Then we can connect the chains together: - -``` -table bridge filter { - chain prerouting { - type filter hook prerouting priority 0; - policy accept; - - iifname != vxlan100 meta ibrname br100 jump drop_ra_dhcp - } - - chain drop_ra_dhcp { - # Blocks: router advertisements, dhcpv6, dhcpv4 - icmpv6 type nd-router-advert drop - ip6 version 6 udp sport 547 drop - ip version 4 udp sport 67 drop - } -} -``` - -This way we have a very simple filter to prevent router advertisements -or dhcp answers to come from customer VMs. - -We hope you enjoyed reading it, but if something does not make sense, -you can ask on our [open chat](/u/projects/open-chat/) or -[consult the nftables reference](https://wiki.nftables.org/wiki-nftables/index.php/Quick_reference-nftables_in_10_minutes#Meta). diff --git a/content/u/blog/no-ipv6-in-2021-not-acceptable/contents.lr b/content/u/blog/no-ipv6-in-2021-not-acceptable/contents.lr deleted file mode 100644 index b63673d..0000000 --- a/content/u/blog/no-ipv6-in-2021-not-acceptable/contents.lr +++ /dev/null @@ -1,106 +0,0 @@ -title: No IPv6 in 2021? Not acceptable. ---- -pub_date: 2021-01-09 ---- -author: Nico Schottelius ---- -twitter_handle: NicoSchottelius ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -Time is over for legacy-only-IP services. ---- -body: - -It's 2021 and it's time to stop using legacy IP (IPv4) only -services. In 2020 we have already seen quite a rise in IPv6 -connectivity, as well as more and more services emerging IPv6 only. - -## The IPv6 community is very active - -The IPv6 community has reported many bugs to products like -[Steam from -Valve](https://github.com/ValveSoftware/steam-for-linux/issues/3372), -[Dockerhub](https://github.com/docker/roadmap/issues/89) and so many -more that it was not possible for me to list them all in this article. - -As a matter of fact, websites or services that have degraded or -non-existing IPv6 connectivity [are reported daily on -Twitter](https://twitter.com/search?q=%23ipv6). - -## Time to move on - -As I can see it from the work at ungleich, 2020 was a very active year -when it comes to IPv6. But at some point, services that don't work -with IPv6 are simply not worth caring about anymore. - -While IPv6 [has been defined in -1998](https://tools.ietf.org/html/rfc2460), it is clear that vendors -and providers need some time to adapt. But 23 years should have been -more than enough to migrate. - -For this reason we want to encourage everyone in 2021 to move on, to -cut off the old legacy IP applications, services or hardware. - -## How to move on? - -There are a variety of things everyone of us can do and we have -collected some easy to take steps. - -### Setup networks IPv6 only - -For every new network you setup, set it up with IPv6 only. All current -mobile phones, tablets and operating systems work in IPv6 only -networks. - -### Setup services and applications IPv6 only - -If you are an application developer, I suggest to develop your -application with IPv6 first. And if you setup a new service, configure -IPv6 first and maybe only. - -It's important to understand that setting up something IPv6 only, does -not mean it will be unreachable from the legacy IP Internet. NAT64 is -one easy to use technology to solve this problem. - -### Abandon legacy only - -Whether it's network hardware, applications, Internet providers, -hosting providers - stop using them if they don't work in IPv6 only -environments. And let the everyone know that you did so. - -While I am not a fan of shaming anyone, it is still important to let -vendors know that you have moved on because of the lack of -IPv6. Otherwise the vendor does not know why they are losing -customers. When you communicate that you abandon a product or service -because of lacking proper IPv6 support, I recommend to doing so in a -clear, but respectful way. - -### Advocate IPv6 only - -To be able to spot bugs and to make life for network operators easier, -I strongly recommend going IPv6 only. Not dualstack, but simply IPv6 -only. If you deploy NAT64 in IPv6 only networks, you can even create -reachability in both directions. - -Many of us network operators, developers and sysadmins are very good -in implementing things. However, it is important to share the word. - -### Help each other - -For about 2 years there is an open, community driven [IPv6 -Chat](https://ipv6.chat). In this chat you can ask others for help, -ask which alternative products or services to use. Or how to migrate -to IPv6 only networks. There is also an [IPv6 -reddit](https://www.reddit.com/r/ipv6/) and an [IPv6 group on -Facebook](https://www.facebook.com/groups/2234775539). Many of the -RIRs (RIPE, APNIC, Afrinic, LACNIC and ARIN) also offer IPv6 training -resources. - -Migrating to IPv6 is not difficult and there is a community to help -you with it. - -Let's do it, together. diff --git a/content/u/blog/no-ipv6-in-2021-not-acceptable/no.jpg b/content/u/blog/no-ipv6-in-2021-not-acceptable/no.jpg deleted file mode 100644 index 5adc429..0000000 Binary files a/content/u/blog/no-ipv6-in-2021-not-acceptable/no.jpg and /dev/null differ diff --git a/content/u/blog/only-ipv6-only/contents.lr b/content/u/blog/only-ipv6-only/contents.lr index 1c98166..78166c3 100644 --- a/content/u/blog/only-ipv6-only/contents.lr +++ b/content/u/blog/only-ipv6-only/contents.lr @@ -107,7 +107,7 @@ It is very easy to create a static website on an IPv6 only webserver and have it reachable from IPv6 and the legacy Internet: you can either [create an IPv6 only virtual machine](../../products/ipv6-only-hosting/), setup a webserver on it and use the -[IPv4 to IPv6 proxy](../../products/ipv4-to-ipv6-proxy/). +[IPv4 to IPv6 proyx](../../products/ipv4-to-ipv6-proxy/). Or, if you want to have it much easier, you could go with [IPv6 enabled webhosting](../../products/zerocarbon-webhosting-with-ipv6/) diff --git a/content/u/blog/redundant-ipv6-routers-multiple-prefixes/contents.lr b/content/u/blog/redundant-ipv6-routers-multiple-prefixes/contents.lr deleted file mode 100644 index 4aaf81e..0000000 --- a/content/u/blog/redundant-ipv6-routers-multiple-prefixes/contents.lr +++ /dev/null @@ -1,32 +0,0 @@ -title: Building stateless redundant IPv6 routers ---- -pub_date: 2021-04-21 ---- -author: ungleich virtualisation team ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: no ---- -abstract: -It's time for IPv6 in docker, too. ---- -body: - -``` -interface eth1.2 -{ - AdvSendAdvert on; - MinRtrAdvInterval 3; - MaxRtrAdvInterval 5; - AdvDefaultLifetime 10; - - prefix 2a0a:e5c0:0:0::/64 { }; - prefix 2a0a:e5c0:0:10::/64 { }; - - RDNSS 2a0a:e5c0:0:a::a 2a0a:e5c0:0:a::b { AdvRDNSSLifetime 6000; }; - DNSSL place5.ungleich.ch { AdvDNSSLLifetime 6000; } ; -}; -``` diff --git a/content/u/blog/remote-working-with-opensource-sustainability/contents.lr b/content/u/blog/remote-working-with-opensource-sustainability/contents.lr deleted file mode 100644 index 6fe71a9..0000000 --- a/content/u/blog/remote-working-with-opensource-sustainability/contents.lr +++ /dev/null @@ -1,97 +0,0 @@ -title: Remote Working with Open Source ---- -pub_date: 2020-03-16 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -Remote working infrastructure at team ungleich ---- -body: - -## Working at the time of Covid19 - -So looks like 2020 is the year of remote working for a whole lot of people. Hey, welcome to the club! Our team has been working remotely since 2013, and now we are distributed in 5 different time zones. For us remote working has been a lot of fun, all you need is the right setup that enables everybody to be connected and be productive. - -We obviously couldn't do it without the digital infrastructure. Lately we've been getting a lot of requests for sharing tips for which tool or software to use for remote working, and we thought it'd be a good idea to share a practical list of tech stack we use in our daily business. So, here we go: remote working stack chez ungleich. - -## How we decide what to use - -Before we continue, an important disclaimer: we’re an open-source, sustainability- focused IT company. So we decide which tools to use by these criteria. - -- open-source -- sustainablility -- state of the art -- usability for people with all backgrounds - -## 1. Chat: Zero carbon chat - Mattermost and Matrix - -You need a chat system when working remotely with your -team, and you need it to be secure and hassle-free. We used to be on -Slack at the very beginning, but we did not like the fact that Slack -is hosted with AWS: from our point of view AWS datacenters are not -sustainable compared to [our own renewable energy datacenter in -Switzerland,](https://datacenterlight.ch) so we moved away from Slack into hosting our own chat. - -Now we have two chat systems, [Mattermost](https://ungleich.ch/u/products/zero-carbon-chat/) and [Matrix.](https://ungleich.ch/u/products/hosted-matrix-chat/) -Mattermost offers an extremely easy and smooth team communication for -people with all kinds of backgrounds. Most of our team talk happens on -this platform. [Our chat](https://chat.with.ungleich.ch) is open for the public -and anybody can join with their email and have a conversation with -us. - - -![](/u/image/zerocarbon-chat-screen.jpg) - -[Zero Carbon -Matrix](https://ungleich.ch/u/products/hosted-matrix-chat/), on the -other hand, offers end-to-end encryption and federation, which makes -it very attractive for people with high sensitivity for privacy and -security. It also allows us to be more open. Matrix works nicely with -video and audio calls as well, suitable for the secure conference call -with different teams. - - -![](/u/image/penguin-matrix.jpg) - -## 2. Cloud storage - Nextcloud - -We are using hosted [Nextcloud](https://ungleich.ch/u/products/zero-carbon-cloud) for data storage and sharing. It supports cloud storage, file sharing between teams and real-time collaboration for document editing. It's pretty easy and we like to save data in Switzerland and not somewhere we don't trust how the authorities operate. - -![](/u/image/nextcloud-docediting.jpg) - -## 3. Project management - Redmine - -[Redmine](https://ungleich.ch/u/products/project-management/) is our longest standing project management tool since the beginning of our company. It supports calendar, ticket creating, issue tracking, wiki, roadmap and more. - -![](/u/image/open-infrastructure.jpg) - -Redmine is just very handy for managing multiple projects and subprojects, and giving access to different people can be done on a role basis. Our whole [data center infrastructure](https://redmine.ungleich.ch/projects/open-infrastructure) is actually in redmine & we open it for the public, so you can take a look to get an impression. - -![](/u/image/open-infrastructure-overview.jpg) - -## 4. Code hosting - Gitlab - -We used GitHub before, but [we decided to move to our own Gitlab in 2018](https://ungleich.ch/en-us/cms/blog/2018/10/18/moving-away-github/) due to GitHub's lack of #IPv6 support and some other issues. We are very happy with our new home, and that's why we're hosting Gitlab for our customers too. - -![](/u/image/github-penguin.jpg) - -## A decision with sustainability goes a long way - -As we disclosed at the beginning, sustainability is an important factor for us so we run all of the above on our servers with renewable energy. -Many of you who are new to remote working might have to make decisions in a hurry, but try to remember that decisions with sustainability in mind saves a lot of pain in the long run, and also saves our environment. - -![](/u/image/decarbonize-penguin.jpg) - -## Questions? - -It can be overwhelming when you need to decide what to use for a new style of work: you'll have to use it every day and you want to make the right decision. Our approach is that we know where are values stand such as decentralisation, open-source, sustainability, and we try to make our decisions aligned to our values. For us working remotely with open source is fun and exciting, it gives so much freedom to everybody involved. -If you have any questions on the above stack, our remote-working team is around to give you answers. ;) Stay healthy, and happy remote working to you all! - -![](/u/image/zerocarbon_no.jpg) diff --git a/content/u/blog/remote-working-with-opensource-sustainability/zerocarbon-meditation.jpg b/content/u/blog/remote-working-with-opensource-sustainability/zerocarbon-meditation.jpg deleted file mode 100644 index f73c74a..0000000 Binary files a/content/u/blog/remote-working-with-opensource-sustainability/zerocarbon-meditation.jpg and /dev/null differ diff --git a/content/u/blog/sample-post/contents.lr b/content/u/blog/sample-post/contents.lr deleted file mode 100644 index 68fd3a2..0000000 --- a/content/u/blog/sample-post/contents.lr +++ /dev/null @@ -1,17 +0,0 @@ -title: ---- -pub_date: ---- -author: ---- -twitter_handle: ---- -_hidden: yes ---- -_discoverable: no ---- -abstract: - ---- -body: - diff --git a/content/u/blog/southpole-meets-ungleich/contents.lr b/content/u/blog/southpole-meets-ungleich/contents.lr deleted file mode 100644 index 8a51b22..0000000 --- a/content/u/blog/southpole-meets-ungleich/contents.lr +++ /dev/null @@ -1,102 +0,0 @@ -title: South Pole meets ungleich ---- -pub_date: 2020-06-15 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -Penguins push sustainability forward together ---- -body: - -## Where penguins meet - -Do you know where penguins live? Probably all of us assume that they -live at the South Pole. That is correct. And it is [a really -fascinating story how penguins -meet](https://en.wikipedia.org/wiki/March_of_the_Penguins). If you -haven't seen the movie, we can highly recommend it! - -But did you know that penguins also live and meet at other places? For -instance [in Africa](https://en.wikipedia.org/wiki/African_penguin). -Or in the case of the penguin companies [South -Pole](https://www.southpole.com/) and [ungleich](https://ungleich.ch): -in Switzerland. - -This blog post is about how penguins and ethical values brought South -Pole and ungleich together. - -## Who is South Pole? - -South Pole is a 350-people team of passionate climate experts with its headquarters in Zürich. It provides global climate solutions and develops projects for companies and organizations embarking on their Climate Journey, which includes assessing their carbon footprint and climate risks, green investments, carbon neutrality, and renewable energy. - -Started as a handful of people with great ideas back in 2006, now their offices are spread over 18 countries, including Singapore, London, Amsterdam, Sydney, Stockholm, and more. And most importantly: their mascot is a penguin, and the team calls themselves the Penguins. - -Sustainability, Switzerland, penguins?! Instant love for us. - -We recommend that you take a look at [the South Pole -blog](https://www.southpole.com/blog) that covers inspiring -projects such as forest conservation, wild animal protection, clean -water project for local communities, and many more. - -![](/u/image/southpole-projects.jpg) - -## Sustainability at ungleich - -A few years ago ungleich started building data centers in -[the Canton of Glarus in Switzerland](https://en.wikipedia.org/wiki/Canton_of_Glarus). -This valley does not only offer a gorgeous view, but was the home of -the weaving industry for more than a century. And it's our luck and -privilege to build on top of this heritage. - -Our focus is on re-using and re-modeling buildings from this -time. Many factory halls in Glarus also come with on-site hydropower -plants, which allows us to run servers on 100% renewable, locally -produced power. - -Not only do we re-use old buildings, but with recycled hardware, -we were all in for creating a data center that is -as sustainable as possible. - -When we started this project it was not 100% clear for us what kind of -people would be interested in this kind of hosting. - -![](/u/image/datacenter-location.jpg) - -More and more we are realising that how we started and continued our -journey has actually brought us the best kind of people. The kind -who shares our visions of sustainable technology and understands the -value of what we do. So such was the case for team ungleich and team -South Pole. We love that those whom we provide our services to have -the same mission as we do. Enabling and supporting like-minded people -with what we have built has been a really exciting journey for our -team. - -## Continuing our work on sustainability together - -South Pole is offering a variety of -[Sustainability -Solutions](https://www.southpole.com/sustainability-solutions) in all -kinds of areas. At ungleich we focus on sustainable hosting in the -[Data Center Light](https://datacenterlight.ch/), the renewable -energy-powered data center in the Alps. And we are proud to say that -South Pole hosts data in the Data Center Light. - -Together we can make a change for a better world. - -![](/u/image/southpole-ungleich-penguin-together.jpg) - -## Join the discussion - -If you like to discuss sustainability topics, we invite you to get in -touch with us: - -* [Get in touch with South Pole](https://www.southpole.com/contacts) -* [Get in touch with ungleich](/u/contact/) -* [Join the online chat for sustainability](https://chat.with.ungleich.ch) diff --git a/content/u/blog/southpole-meets-ungleich/penguin-bg.jpg b/content/u/blog/southpole-meets-ungleich/penguin-bg.jpg deleted file mode 100644 index f987965..0000000 Binary files a/content/u/blog/southpole-meets-ungleich/penguin-bg.jpg and /dev/null differ diff --git a/content/u/blog/the-broken-internet/contents.lr b/content/u/blog/the-broken-internet/contents.lr deleted file mode 100644 index 46e5fab..0000000 --- a/content/u/blog/the-broken-internet/contents.lr +++ /dev/null @@ -1,130 +0,0 @@ -title: The broken Internet ---- -subtitle: And how to fix it ---- -pub_date: 2020-09-02 ---- -author: Nico Schottelius ---- -twitter_handle: NicoSchottelius ---- -_hidden: no ---- -_discoverable: no ---- -abstract: ---- -body: - -## The Internet is broken - -If you are working in IT or if you -computer scientist, you probably have mumbled this -sentence already before yourself: "the network is broken", or more -specific, "the Internet is broken". - -But what is really wrong with the Internet? - -## Computers are not reachable by default - -One of the most bizarre and weird things in the Internet is that -computers cannot reach each other. You might have a question mark -reading this claim, so I'll try to elaborate a bit: - -While you are reading this article, checkout your IP address on your -computer. Does it start with 192.168., 10. or 172.16.? It probably -does and that means your computer is configured to use a **private**, or -**degraded** IPv4 address. These addresses are being filtered on the -Internet and are used, because your provider does not have enough -**proper, public** IPv4 addresses. - -## What is the problem with degraded IP addresses? - -The first problem is that these IP addresses are used multiple -times. You, your neighbor, people in different cities - they all use -the same IP address. So if you want to reach their computer you need -to tell your computer "I want to reach that computer on 192.168.1.42", -but your computer is already on the same address! How can it send to -192.168.1.42? It can't! - -The second problem with these degraded IP addresses is that you cannot use -them on the Internet. Because these IP addresses are private and not -supposed to be seen in the Internet, they are filtered by ISPs. - -You might be puzzled reading this, because you are in the Internet -reading this article, aren't you? - -## You are not in the Internet - -Practically seen, having a private IP address, you are a second class -citizen of the Internet. You cannot tell anybody else "this is my IP -address, just download a file from my computer". If you want to -download a file from a friend, you will need to use an external -service, like cloud storage. - -If you want to chat with someone, you again cannot just connect to the -computer or mobile phone of the person you want to connect to. Instead -you will need to use another intermediary party. - -This is not the Internet. The Internet is a network of networks, which -allows anyone to connect anywhere. - -You want to access your own NAS that is in your home? You'll again -need to connect it to someone else to be able to reach it. - -![](/u/image/ipv4doublenat.png) - -All those intermediate services introduce latency and cost into your -daily routine. For many of us above scenario sounds like a normal -thing to do. However, it is a very degraded version of the Internet -that we are using. - -## No public IP addresses left - -So why are using private IP addresses anyway? Basically your ISP, like -almost all ISPs in the world does not have enough -public IP addresses to give every of your device a public IP -address. So instead of connecting you directly to the Internet, you -are given a maximum of 1 public IPv4 address for all your devices. - -However even 1 public IPv4 address per customer was too much for some -ISPs. So they started repeating the NAT process, making the network -more complex, slower and also putting you further away from other -participants of the Internet. - -![](/u/image/ipv4natandcgnat.png) - - -## The new Internet - -Some of you already can guess where this article is going to and you -are right: It's about IPv6. While there have been many articles written about -IPv6, I think it is important to remember that the old IPv4 does not -work like an **Internet** anymore. IPv6 with its huge amount of -addresses fixes this problem for many human lives ahead. -**IPv6 restores direct connectivity**. - -If you think you don't need to care about IPv6 and you are fine with -the current status, think about it this way: the Internet usage is -growing. Without IPv6, the Internet is becoming slower every -day. Without IPv6 you get more depending on a small amount of big -companies. And this dependency is getting more and more difficult to -reverse in the future. - -## Switching to IPv6 today - -The good news is: you can switch to using IPv6 today. You can request -IPv6 from your current ISP and if your ISP does not support IPv6, -you can change your ISP. Even if there is no ISP with IPv6 around, you -can get IPv6 via anywhere using the -[VIIRB](/u/products/viirb-ipv6-box/) using the -[IPv6VPN](/u/products/ipv6-vpn/). - -At the moment about 33% or one third of the Internet -[have already switched to IPv6, according to -Google](https://www.google.com/intl/en/ipv6/statistics.html). [APNIC -even provides a nice map](https://stats.labs.apnic.net/ipv6) showing -the IPv6 adoption on a per country and per ISP basis. - -Besides making the Internet faster, more reliable and less complex -with IPv6, there is one more reason to switch today: IPv6 is fun! diff --git a/content/u/blog/the-dangerous-eu-draft/contents.lr b/content/u/blog/the-dangerous-eu-draft/contents.lr deleted file mode 100644 index f859a0d..0000000 --- a/content/u/blog/the-dangerous-eu-draft/contents.lr +++ /dev/null @@ -1,130 +0,0 @@ -title: The new EU draft endangers everyone's security ---- -pub_date: 2020-11-09 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -The EU is about to make the life of all citizens more -dangerous. Besides the ones it tries to target. ---- -body: - -## TL;DR - -The EU is trying to disable encryption for everyone. -However, this approach is fundamentally flawed, as the bad guys don't -follow the law. - -## Introduction - -The Council of the European Union [has published a -draft](https://www.heise.de/downloads/18/2/9/9/8/5/2/0/eu-council-draft-declaration-against-encryption-12143-20.pdf) -which requires everyone who is offering secure communication channels -to allow authorities to read the communication. - -The motivation is clear: terrorist attacks and unlawful behaviour -should be prevented by wiretapping. No crime is better for everyone. -So far, so good. In theory. - -## First problem: reducing security affects everybody - -The first problem is that modern encryption is not easy to break, or -let's put it clearly: it is almost impossible to break. Thus passing -this law requires decades of work to be undone. To make systems that -have been mathematically proven to be secure, more insecure. - -This reduces security for any communication by default. And this does -not only affect terrorists, but also government agencies and the -general public. - -Thus it also reduces the freedom of speech. There are activists out there -(f.i. in the area of climate change) that fear their life, if their -communication is revealed, because some governments do not allow free -speech. - -## Second problem: the bad guys don't comply - -One of the strangest problems with the EU proposal is that the idea is -to make this into a law that everyone has to follow. Or, more precisely: the -idea is that companies like Whatsapp or Signal have to provide keys or -backdoors into their systems that authorities can use for wiretapping. - -Now, this is a crucial problem. Because companies like us, ungleich, -also provide [secure communication using -Matrix](https://ungleich.ch/u/products/hosted-matrix-chat/). And we -are not in the EU (fact check: Switzerland is not in the EU). - -See the problem? No? Well, let's say you are the bad guys and you plan -to coordinate some attack. What do you do? - -You run your own chat system. It is very easy to do. It cannot be -technically prevented. It might be against the law in the EU to run a -chat system that does not allow backdoor access, ok. But then again - you -are going to do something that is against the law anyway. So this is -the least of your problems. - -So the proposed law is actually doing the opposite of its intention: - -* It reduces security for everyone who is behaving according to law -* It does not prevent unlawful parties from communicating securely - -## Third problem: criminalizing science - -Apart from the obvious two really strong problems, the law might -actually lead to research and science being prohibited. The underlying -algorithms are usually based on mathematically hard-to-solve -problems. - -The problems are carefully researched and in the end used to provide -security, confidentiality and integrity. - -Researchers can be hindered by legal questions whether or not they -are able to solve mathematical problems. Which then again can and will stop the progress in other areas of science as well. This all sounds terribly wrong, doesn't it? - -## Fourth problem: a new attack vector - -Let's assume for a moment that none of the above problems is already -crucial enough to stop the whole motion. There is one more big and -crucial problem: if authorities have a backdoor into your -communication, this backdoor needs to be submitted to the -authorities. It needs to be securely stored by authorities. - -It means that this law will make authorities a very interesting target for hacking into. You do -not need to attack a technically very secure system. You can just hack -the authorities server and you gain access to everyone's -communication. - -This enables much easier access for terrorists, foreign (enemy) governments and -everyone else who is interested in getting access to your -communication. - -## Summary - -The proposed draft is dangerous for everyone except the criminals. It is dangerous for civilians, -governments, journalists, whistle-blowers and even the science and medical -sectors. - -The whole approach is fundamentally flawed and if passed as-is reduces -security for everyone, but the bad guys. - -We urge everyone reading this article to do whatever is in their power -to stop this law passing, before it is too late. And too late might -unfortunately already be on the 19th of November 2020. - -## Related websites - -* [Report from heise (DE)](https://www.heise.de/hintergrund/EU-Regierungen-planen-Verbot-sicherer-Verschluesselung-4951415.html) -* [Report from ORF (Austria, DE)](https://fm4.orf.at/stories/3008930/) -* [Reddit discussion](https://www.reddit.com/r/cybersecurity/comments/jqp84o/eu_encryption_ban_proposed_following_terrorist/) -* [Technical details on politico](https://www.politico.eu/wp-content/uploads/2020/09/SKM_C45820090717470-1_new.pdf) -* [The EU draft document (on - heise.de)](https://www.heise.de/downloads/18/2/9/9/8/5/2/0/eu-council-draft-declaration-against-encryption-12143-20.pdf) -* [The EU draft document (on orf.at)](https://files.orf.at/vietnam2/files/fm4/202045/783284_fh_st12143-re01en20_783284.pdf) -* [Matrix.org about the current backdoor requests](https://matrix.org/blog/2020/10/19/combating-abuse-in-matrix-without-backdoors) diff --git a/content/u/blog/the-dangerous-eu-draft/eu.jpg b/content/u/blog/the-dangerous-eu-draft/eu.jpg deleted file mode 100644 index f035964..0000000 Binary files a/content/u/blog/the-dangerous-eu-draft/eu.jpg and /dev/null differ diff --git a/content/u/blog/the-ipv6-eye-a-proper-ipv6-camera/contents.lr b/content/u/blog/the-ipv6-eye-a-proper-ipv6-camera/contents.lr deleted file mode 100644 index de91e45..0000000 --- a/content/u/blog/the-ipv6-eye-a-proper-ipv6-camera/contents.lr +++ /dev/null @@ -1,94 +0,0 @@ -title: The IPv6-eye: a proper IPv6 camera ---- -pub_date: 2020-11-04 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -Looking for an IPv6 camera? Do not look any further. ---- -body: - -## TL;DR - -At ungleich we have created an IPv6 camera that brings its own IPv6 -connectivity. And a world wide reachable name. We are -currently -[crowdfunding](https://swiss-crowdfunder.com/campaigns/the-1000-eyes-project/) -the production of the first 100 cameras. - -## A real IPv6 camera? - -What is the advantage of IPv6 again? Exactly, world wide reachability -without any hacks or quirks. - -To support this, we have not only created a camera **that works within -all types of networks**: - -* IPv6 only -* IPv4 only -* Dual Stack (IPv6+IPv4) - -We took it one step further: The -**IPv6-eye** is an IPv6 camera that **brings its own IPv6 -connectivity**. This way it works independently of whether your network -actually supports IPv6 or not. - -On top of all of this, we created the [1000ey.es](https://1000ey.es) -project that even **gives a cool name** to every IPv6 camera in the world. - -## How to use the IPv6-eye - -It is very simple: - -* plugin a network cable with Internet uplink -* connect it to power -* It works! - -After that you can ... - -* Point the camera to what you want to show -* Visit *yourname*.1000ey.es:8081 (you can find an example on - [mountains-diesbach.1000ey.es](http://mountains-diesbach.1000ey.es:8081/) -* Optionally configure it to connect to your existing wifi network - -## How does the IPv6-eye work? - -But what happens under the hood? The IPv6-eye is based on a similar -concept as the [VIIRB](/u/products/viirb-ipv6-box). The IPv6-eye -uses the [IPv6VPN](https://IPv6VPN.ch) to acquire IPv6 -connectivity. This works in IPv4 only, IPv6 only and dual stack networks. - -From that moment on, the camera is world wide reachable. - -## A name for every IPv6 camera out there - -However, people do not like to type IP addresses. Not IPv4, not -IPv6. For this reason you can choose a name below the domain -**1000ey.es** for your camera. This offer is for free on top of the -actual hardware. - -## Fully Open Source - -Like the VIIRB, the whole stack is fully Open Source. The -operating system is OpenWRT. The VPN software is wireguard. And the -video streaming server is based on mjpg-streamer or motion (still has -to be decided for the final shipment). All files that are required to -configure the IPv6-eye can be found in the [ungleich-tools -repository](https://code.ungleich.ch/ungleich-public/ungleich-tools). - -## Crowdfunding the production - -As it is usual for the production process to start at a minimum size, -we aim to crowdfund the first 100 units. If we exceed the minimum goal -of 100 IPv6 eyes, we have added some extra goodies as an option. - -Checkout the [crowdfunding -campaign](https://swiss-crowdfunder.com/campaigns/the-1000-eyes-project/) -for more details. diff --git a/content/u/blog/the-v6-pattern-for-proxied-hosts/2021-02-24-183437_817x476_scrot.png b/content/u/blog/the-v6-pattern-for-proxied-hosts/2021-02-24-183437_817x476_scrot.png deleted file mode 100644 index 7b8f4c3..0000000 Binary files a/content/u/blog/the-v6-pattern-for-proxied-hosts/2021-02-24-183437_817x476_scrot.png and /dev/null differ diff --git a/content/u/blog/the-v6-pattern-for-proxied-hosts/contents.lr b/content/u/blog/the-v6-pattern-for-proxied-hosts/contents.lr deleted file mode 100644 index 43a75d0..0000000 --- a/content/u/blog/the-v6-pattern-for-proxied-hosts/contents.lr +++ /dev/null @@ -1,36 +0,0 @@ -title: The v6 pattern for IPv6 only hosts ---- -pub_date: 2021-02-24 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -ungleich tech talk number 1 ---- -body: - - - -At ungleich we have a lot of IPv6-only web servers. Many of them are -are proxied from the IPv4 world, so the domain name points to two -different machines: - -* the AAAA entry points to the server directly -* the A entry points to a proxy - -This sometimes makes configuring the right system a bit harder, -because on dual stack clients, accessing www.example.com brings you to -either machine. In the [first ungleich tech -talk](https://www.youtube.com/watch?v=cANwo0IdZYU) we show how this -looks in detail and how we ensure that we configure the right machine. - -This is our first tech talk and we love to [hear your feedback](/u/contact/). diff --git a/content/u/blog/ungleich-adds-bounty-program/contents.lr b/content/u/blog/ungleich-adds-bounty-program/contents.lr deleted file mode 100644 index 8238f45..0000000 --- a/content/u/blog/ungleich-adds-bounty-program/contents.lr +++ /dev/null @@ -1,56 +0,0 @@ -title: ungleich adds a bounty program ---- -pub_date: 2020-04-29 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -Hack on Free and Open Source Software and get money for it ---- -body: - -## TL;DR - -At ungleich we love [FOSS](/u/projects/opensource). If you want to -contribute to selected Free and Open Source Software and even get paid -for it, checkout the [ungleich bounty -program](/u/projects/jobs-hacks-bounties/). - -## Introduction - -At ungleich we have something like an "infinite task queue". While we -do contribute to Free and Open Source Software on daily basis, there -are a variety of things we can't do during daily work. - -## It's Open Source - -So because everything we use is Open Source and we live the Open -Source spirit, chances are high that somebody will scratch the itch -that we have found some time in the future. Because it is Open Source, -anyone with the technical skills can actually fix it. - -## It's about values - -Many bounty items will actually list support for IPv6 or fixing things -that are necessary for having "good" or clean software. With -volunteers contributing to Open Source Software, everyone profits from -the changes that you make. - -## The bounty list - -The list of bounties can be found on our -[Jobs, Hacks and Bounties page](/u/projects/jobs-hacks-bounties/). It -will be updated regularly with the progress. - -If you think you have a project that fits very much the ungleich -project, you can also suggest a bounty by writing an email to **support -at ungleich.ch**. - -You are also invited to join our [open chat](/u/projects/open-chat/), -to hang out or to discuss the bounty idea. diff --git a/content/u/blog/ungleich-tech-talk-2-accessing-ipv4-only-devices-via-ipv6/2021-02-28-162036_1282x678_scrot.png b/content/u/blog/ungleich-tech-talk-2-accessing-ipv4-only-devices-via-ipv6/2021-02-28-162036_1282x678_scrot.png deleted file mode 100644 index b31731f..0000000 Binary files a/content/u/blog/ungleich-tech-talk-2-accessing-ipv4-only-devices-via-ipv6/2021-02-28-162036_1282x678_scrot.png and /dev/null differ diff --git a/content/u/blog/ungleich-tech-talk-2-accessing-ipv4-only-devices-via-ipv6/contents.lr b/content/u/blog/ungleich-tech-talk-2-accessing-ipv4-only-devices-via-ipv6/contents.lr deleted file mode 100644 index 125c32d..0000000 --- a/content/u/blog/ungleich-tech-talk-2-accessing-ipv4-only-devices-via-ipv6/contents.lr +++ /dev/null @@ -1,39 +0,0 @@ -title: Accessing IPv4 only hosts via IPv6 ---- -pub_date: 2021-02-28 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -ungleich tech talk number 2 ---- -body: - -In the [second ungleich tech -talk](https://www.youtube.com/watch?v=Gfe35IFdx-Q) you can find out -how to access IPv4 only devices from the IPv6 Internet using a simple -NAT64 translator. - - - - -This is especially helpful if you are by default in IPv6 only -networks, but you still have legacy-only networks or legacy-only -devices that you need to access. - -In this ungleich tech talk we use the -[VIWIB](/u/products/viwib-wifi-ipv6-box/) as a NAT64 translator and -a reconfigured [VIGIR](/u/products/vigir/) as an IPv4 only demo -device. - -If you have any questions, feel free to join the [IPv6 -chat](/u/projects/ipv6-chat/). diff --git a/content/u/blog/ungleich-tech-talk-3-nat64-introduction/contents.lr b/content/u/blog/ungleich-tech-talk-3-nat64-introduction/contents.lr deleted file mode 100644 index 0b77323..0000000 --- a/content/u/blog/ungleich-tech-talk-3-nat64-introduction/contents.lr +++ /dev/null @@ -1,29 +0,0 @@ -title: An Introduction to NAT64 ---- -pub_date: 2021-03-09 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -ungleich tech talk number 3 ---- -body: - -In the -[third ungleich tech -talk](https://www.youtube.com/watch?v=AeqS6Cjkd5E) -we give an introduction on NAT64 and how it works in general. - - - -We hope that you enjoy this video and -if you have any questions, feel free to join the [IPv6 chat](/u/projects/ipv6-chat/). diff --git a/content/u/blog/ungleich-tech-talk-3-nat64-introduction/ungleich-tt-3.png b/content/u/blog/ungleich-tech-talk-3-nat64-introduction/ungleich-tt-3.png deleted file mode 100644 index 445142e..0000000 Binary files a/content/u/blog/ungleich-tech-talk-3-nat64-introduction/ungleich-tt-3.png and /dev/null differ diff --git a/content/u/blog/ungleich-tech-talk-4-ipv4-as-a-service/contents.lr b/content/u/blog/ungleich-tech-talk-4-ipv4-as-a-service/contents.lr deleted file mode 100644 index cdd7f12..0000000 --- a/content/u/blog/ungleich-tech-talk-4-ipv4-as-a-service/contents.lr +++ /dev/null @@ -1,33 +0,0 @@ -title: IPv4 as a service (ungleich tech talk #4) ---- -pub_date: 2021-03-25 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -ungleich tech talk number 4 ---- -body: - -In the -[fourth -ungleich tech talk](https://youtu.be/RcgB7S6lo54) -you can see how to get IPv4 via IPv6 using the IPv6VPN and -NAT64. - - - -We hope that you enjoy this video and -if you have any questions, feel free to join the [IPv6 -chat](/u/projects/ipv6-chat/). You can also read more about -[IPv4-as-a-service](https://ungleich.ch/u/products/ipv4-as-a-service/). diff --git a/content/u/blog/ungleich-tech-talk-4-ipv4-as-a-service/ungleich-tt4.png b/content/u/blog/ungleich-tech-talk-4-ipv4-as-a-service/ungleich-tt4.png deleted file mode 100644 index a5dfd4c..0000000 Binary files a/content/u/blog/ungleich-tech-talk-4-ipv4-as-a-service/ungleich-tt4.png and /dev/null differ diff --git a/content/u/blog/video-conference-for-all/contents.lr b/content/u/blog/video-conference-for-all/contents.lr deleted file mode 100644 index f495832..0000000 --- a/content/u/blog/video-conference-for-all/contents.lr +++ /dev/null @@ -1,65 +0,0 @@ -title: Free Video Conference Call For All ---- -pub_date: 2020-04-26 ---- -author: ungleich ---- -twitter_handle: ungleich ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -Now we offer free, Open Source video conference ---- -body: - -## A Sustainable Video Conference System - -For many people who can work remotely, now is the time to stay home and to move meetings from in person to (video) conference. We have published [our remote working stack](https://ungleich.ch/u/blog/remote-working-with-opensource-sustainability/) for those who look for a sustainable solution for digitally continuing their work. - -Good news, one more nice thing is added to this list of remote working stack: a free and open source [video conference system.](https://talk.ungleich.ch/) Powered by [100% renewable energy,](https://datacenterlight.ch/en-us/cms/hydropower/) running on a VM at our Swiss data center. - -You can try now at -[talk.ungleich.ch](https://talk.ungleich.ch/) - -## Deciding what to use - -An important note: we’re an open-source, sustainability- focused IT company. We decide which tools to use by these criteria. - -- open-source -- sustainablility -- state of the art -- usability for people with all backgrounds - -![](/u/image/jitsi-ungleich.jpg) - -## Cool thing about Jitsi - -The underlying technology for our free video conference call is Jitsi. We love that Jitsi has a really cool architecture - it does not encode or decode the video streams, but only forwards video streams so the client does the encoding and decoding. This means the virtual machine that runs Jitsi doesn't need to be much powerful and can stay fairly small. - -## Go ahead, use it for free - -You can have a video call with multiple parties, you can share screen, and you can share video over it. You can use have a conference call with or without video. No signup is needed, you can just use it on the go. We don't track any of your information: we want to enable people to work from home and stay safe, with open source and renewable energy. - -![](/u/image/jitsi-ungleich-confcall.jpg) - -## Useful things to know - -Our free video conference call is rolled out on March 20th and since then we have collected some feedbacks. Here are some useful infos we got from using it first-hand and from the inputs of our users. - -- Could show mixed result with video call when used on Firefox. We heard that the great developers of Jitsi are working on this right now and the fix is on its way. -- Users have reported that when one call has more than 12 active videos the quality degrades. In such case turning off the video solves the issue. -- The video quality varies greatly depending on the cleint computer. Computers with more graphic capability shows better performance. - -## Call as much as you need, and stay home - -Use our free video conference to call the ones you need to talk to. We hope this helps your communication in this extraordinary time we're living in. - -If you have any thoughts to share, feel free to get in touch with us at our [Twitter](https://twitter.com/ungleich) or [Matrix.](https://matrix.ungleich.ch) -Wherever you are, stay safe. - - - - diff --git a/content/u/blog/visit-a-zero-carbon-datacenter/contents.lr b/content/u/blog/visit-a-zero-carbon-datacenter/contents.lr index b280704..dc33598 100644 --- a/content/u/blog/visit-a-zero-carbon-datacenter/contents.lr +++ b/content/u/blog/visit-a-zero-carbon-datacenter/contents.lr @@ -47,7 +47,7 @@ like wasting a lot of resources, then why don't you even stay with us and work or relax? We can provide you with a place to sleep and stay over in the -[Hacking Villa](/u/projects/hacking-villa/) or the +[Hacking Hotel](/u/projects/hacking-hotel/) or the [Digital Chalet](/u/projects/digital-chalet/), where you can work with a 10 Gbit/s connection that goes directly to the data center. @@ -68,6 +68,6 @@ fairy tale, just in reality. ## How to visit Just reach out to us by email (info at ungleich.ch), -[chat](https://chat.with.ungleich.ch) or +[chat](https://chat.ungleich.ch) or [twitter](https://twitter.com/ungleich) and we will share information of how and when to best reach us with you. diff --git a/content/u/blog/voty-bringing-democracy-to-schools/contents.lr b/content/u/blog/voty-bringing-democracy-to-schools/contents.lr deleted file mode 100644 index 2de6fa9..0000000 --- a/content/u/blog/voty-bringing-democracy-to-schools/contents.lr +++ /dev/null @@ -1,42 +0,0 @@ -title: voty.ch - Bringing Democracy to Schools ---- -pub_date: 2020-11-25 ---- -author: voty.ch & ungleich ---- -_hidden: no ---- -_discoverable: no ---- -body: - - - -## voty.ch - Bringing Democracy to Schools - -Democracy is one of Switzerland's most valuable assets. And it's not something we can just take for granted, that's what we realize during this special year 2020. But how can we motivate our younger generation to care about it? - -The project voty.ch tries to increase the understanding of democracy for children aged 12-18 years with three modules: - -**Understand Democracy:** How does democracy actually work in Switzerland and why is it indispensable? voty.ch would like to motivate our youth to understand and discuss the building blocks of our political system using existing and newly created learning material. - -**Test Democracy:** Only adults may cast a vote. But young people have an opinion, too! voty.ch started to organize test votings for school classes during national ballots. What does our youth think about the upcoming ballots? - -**Experience Democracy:** Who decides at school? Are students invited to propose initiatives and discuss them? voty.ch would like to experiment with bringing democratical decision processes to schools in Switzerland. - -The project is developed in [open-source](http://github.com/teachen-ch/voty/) as part of the [prototypefund.opendata.ch](https://prototypefund.opendata.ch), a fund to bring forward civic tech in Switzerland. When it came to hosting, it became quickly clear, that storing student data with political opinions at AWS or Google is a complete no-go. So the team decided to go for a Swiss ISP and didn't hestate long before opting for a sustainable solution with 100% renewable energy at ungleich.ch. - - -## ungleich's take on voty.ch - - -From the very beginning at ungleich, our goal has been fostering sustainability in technology. That is why we run a Zero Carbon data center, which only uses the local hydropower plant as a source of electricity. And that is why we reuse existing buildings and recycled hardware to reduce carbon emissions as much as possible. - -We strive for a digital sustainability in every way we can: all our services are IPv6 first, many of our services even run IPv6 only. All our tools are fully Open Source, and we open our infrastructure and monitoring data for free. With our hosted Matrix chat and the IPv6VPN.ch we have been supporting free speech and allowing unhindered communication in situations where it would not be possible otherwise. Our way of pursuing sustainability has attracted like-minded people as our customers, especially those who are passionate about the responsibility of technology towards sustainability. - -Given all that, we must admit that our team became very excited when we learned about the project voty.ch. A platform that helps students to experience democratic processes first hand, we find it as a true enabler. Democratic processes, discourses and finding consensus is deeply rooted in Switzerland and we can not stress its importance enough. -voty.ch, as seen by ungleich, is not only a Swiss project to foster its own democracy, but it is also an inspiration to the rest of the world where sound democracy is needed for our future generation. The beauty of voty.ch is that it is Open Source – everyone can use and adapt it to their needs. Translate it into your own language. Or even host it yourself. - -We are very happy to welcome voty.ch to our infrastructure. We look -forward to seeing students practicing democracy on -[voty.ch](https://voty.ch). diff --git a/content/u/blog/voty-bringing-democracy-to-schools/voty.png b/content/u/blog/voty-bringing-democracy-to-schools/voty.png deleted file mode 100644 index 9b73ce8..0000000 Binary files a/content/u/blog/voty-bringing-democracy-to-schools/voty.png and /dev/null differ diff --git a/content/u/blog/work-from-home-work-remote-with-matrix/contents.lr b/content/u/blog/work-from-home-work-remote-with-matrix/contents.lr deleted file mode 100644 index fd8a5d1..0000000 --- a/content/u/blog/work-from-home-work-remote-with-matrix/contents.lr +++ /dev/null @@ -1,107 +0,0 @@ -title: Remote Working with Matrix in covid-19 times ---- -pub_date: 2020-03-15 ---- -author: Nico Schottelius ---- -twitter_handle: NicoSchottelius ---- -_hidden: no ---- -_discoverable: yes ---- -abstract: -Workin from home or remote and using the Internet to stay in touch ---- -body: - -## TL;DR - -Stay isolated in real life, stay connected digitally. - -* Go to https://account.ungleich.ch, create an account, it's free -* Verify your account by email -* Go to https://matrix.ungleich.ch, login with your new account -* Type **/join #covid-19:ungleich.ch** if you want to talk about - topics related to the virus. -* Talk to people. You are not alone. -* Create your own rooms as needed (as in above channel if you need help) -* Stay home - -## Coronavirus, remote working and how to not go crazy - -The covid-19 virus forces a lot of us to think differently, behave -differently and work differently. Whether you have to work from home -or whether you do it voluntarily, you might want to stay in touch with -other people. With your teammates, colleagues or other people. - -## Isolate in real life, stay connected digitally - -One of the most important things to do at the moment is to not further -spread the virus. Here in Switzerland, we try to reduce the risk by -social distancing. No shaking hands, coughing and sneezing into your -elbow and in general to stay away from other people. - -If you are not used to staying alone or being isolated, this can be a -tricky -thing to do. Luckily, we do have the Internet that allows us to talk -with each other, without causing a danger to each other. - -While there are a variety of tools out there to stay in touch with -each other, we propose to use the **Matrix** chat for a variety of -reasons: - -## Matrix is federated. Federated = open to talk to others - -Matrix is federated. As opposed to Whatsapp, Telegram, Hangouts, -Skype or Slack, Matrix is open to connect to others. Let me guide you through -how it differs to other systems: - -If you create an account on https://account.ungleich.ch and then go to -https://matrix.ungleich.ch afterwards, you can talk to anyone in the -world, who is also using Matrix. Not the one from ungleich, but maybe -the one from https://matrix.org. Or from somebody completely -different. - -Matrix is not a closed system. If you decide that you want to write to -somebody on a different server, you can do so. - -Matrix also allows you to **call** other people or have **video -conferences**. - -## A Matrix channel dedicated to COVID-19 - -So coronavirus. Social distancing. We created a channel dedicated to -the coronavirus to discuss the topic. If you created an account above -and joined https://matrix.ungleich.ch, you can join the channel by -typing **/join #covid-19:ungleich.ch** or use the -[matrix.to](https://matrix.to/#/#covid-19:ungleich.ch) service. - -The covid-19 channel is open for everyone. You can discuss how you -feel, whether you are affected, infected, bored or ask questions about -how to behave. Beware though, we are **not** a medical team. This is -more the type of alcoholics anonymous style, not a digital hospital. - -There is now also a [German speaking -channel](/u/blog/deutschsprachiger-coronavirus-chat/) available. - -## Your own Matrix server - -If you are newly into remote work and you want or need your -own Matrix server, -this is something that we provide. You can checkout the -[Hosted Matrix Chat](/u/products/hosted-matrix-chat/) for details. It -allows you to manage your own chat rooms and to control whom to invite -to what. - -If you just need a place to talk with your friends, you can -do so freely on https://matrix.ungleich.ch. - -## Future of the coronavirus - -No one of us knows at the moment how things will continue with the -covid-19 virus, but we wish everyone to stay safe. And hopefully above -chat helps some of us to not stay too alone, even if we are alone at -home. - -Stay safe! diff --git a/content/u/contact/contents.lr b/content/u/contact/contents.lr deleted file mode 100644 index 3141755..0000000 --- a/content/u/contact/contents.lr +++ /dev/null @@ -1,44 +0,0 @@ -title: Contact ungleich ---- -_model: page-2020 ---- -content: - -## General inquiries - -You can send an email to **info at ungleich.ch**. - -## Support requests - -You can send an email to **support at ungleich.ch**. - -## Chat - -Feel free to join our [Open Community -Chat](/u/projects/open-chat/). For support requests you can ping us in -any of the public rooms and we will create a private room for you. - -## Data Center Light Status - -There is a dedicated matrix room -**#datacenterlight-status:ungleich.ch** as well as [Mattermost channel](https://chat.ungleich.ch/ungleich/channels/datacenterlight) for status announcements. - -You can use any regular matrix account to connect to our Matrix. For Mattermost you need to [create an account.]( https://account.ungleich.ch) - -The status announcements are also shared on Twitter [**@datacenterlight**](https://twitter.com/datacenterlight) and Mastodon [**ipv6.social/@ungleich**](https://ipv6.social/@ungleich) - - -## Post - -* **ungleich glarus ag** Hauptstrasse 28, 8777 Diesbach -* **ungleich GmbH** Hauptstrasse 14, 8775 Luchsingen - -## Telephone - -* +41 55 505 62 66 - -## Coworking Space / Education Center - -* Co-Working & Co-Living: [Digital Chalet - Schwanden](/u/projects/digital-chalet/) In der Au 7, 8762 Schwanden -* Co-Working & Co-Living & Education: [Hacking Villa Diesbach](/u/projects/hacking-villa/) Hauptstrasse 28, 8777 Diesbach diff --git a/content/u/events/contents.lr b/content/u/events/contents.lr index 2336dfb..2edbca4 100644 --- a/content/u/events/contents.lr +++ b/content/u/events/contents.lr @@ -6,11 +6,6 @@ content: The following is a list of events we provide or participate in. -## 2023 - -* [2023-07-07..2023-07-09: Hack4Glarus 2023 Summer Edition @ Hacking Villa, Diesbach](https://hack4glarus.ch/) -* [2023-04-24: Kubernetes & IPv6 @ Enterprise & IPv6 Workshop, UK IPv6 Council, London](https://www.ipv6.org.uk/2023/02/03/enterprise-ipv6-workshop/) - ## 2020 * [2020-12-04..2020-12-06: Hack4Glarus 2020 Winter Edition @ Data Center Light, Linthal](https://hack4glarus.ch/) diff --git a/content/u/offers/100-servers-100-percent-discount/contents.lr b/content/u/offers/100-servers-100-percent-discount/contents.lr deleted file mode 100644 index 6966b85..0000000 --- a/content/u/offers/100-servers-100-percent-discount/contents.lr +++ /dev/null @@ -1,40 +0,0 @@ -title: 100 servers = 100 percent discount (Closed) ---- -subtitle: Time to celebrate ---- -_model: product ---- -_hidden: no ---- -_discoverable: yes ---- -headline2: 100% green ---- -headline3: 100% good ---- -headline1: 100 servers ---- -header_background_color: #3576EF ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -image: /u/image/cards/100servers.jpg ---- -description1: - -## Celebrating 100 servers - -Today [we deployed -server100](/u/blog/2022-02-14-100-servers-at-ungleich) at ungleich and -want to celebrate this with you: - -In the next 100 days, we will give the first 100 hosting orders of 100 -CHF or more, 100% discount for the first month. - -This offer is valid from today on until 2022-05-25. - -## The fine print - -This offer is not valid for service hours or hardware orders. diff --git a/content/u/offers/advent-calendar/advent.jpg b/content/u/offers/advent-calendar/advent.jpg deleted file mode 100644 index c1a387e..0000000 Binary files a/content/u/offers/advent-calendar/advent.jpg and /dev/null differ diff --git a/content/u/offers/advent-calendar/contents.lr b/content/u/offers/advent-calendar/contents.lr deleted file mode 100644 index 175b899..0000000 --- a/content/u/offers/advent-calendar/contents.lr +++ /dev/null @@ -1,31 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: IPv6 Advent Calendar (Closed) ---- -subtitle: December, a new deal is revealed everyday! ---- -headline1: December 1 -24 ---- -headline2: Discover new deals ---- -headline3: everyday ---- -header_background_color: #C12107 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -image: /u/image/cards/advent.jpg ---- -content1_image: advent.jpg ---- -content1_text: - -## the ungleich advent calender - -Every day from 1st to 24th of December, a new surprise is being revealed. Discover great deals with sustainable technology. Your new surprise is soon to be activated, stay tuned! \ No newline at end of file diff --git a/content/u/offers/alpine-315-dedicated-apu/contents.lr b/content/u/offers/alpine-315-dedicated-apu/contents.lr deleted file mode 100644 index bd15551..0000000 --- a/content/u/offers/alpine-315-dedicated-apu/contents.lr +++ /dev/null @@ -1,130 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: Dedicated Low Power Alpine (Closed) ---- -subtitle: Celebrating Alpine Linux 3.15 (2021-12-06..2021-12-24) ---- -headline1: Alpine Linux 3.15 ---- -headline2: Low Power ---- -headline3: APU Servers ---- -header_background_color: #05450B ---- -image: /u/image/cards/dedicated-alpine.jpg ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -description1: - -## Alpine Linux 3.15 celebration - -Just recently [Alpine Linux -3.15](https://alpinelinux.org/posts/Alpine-3.15.0-released.html) has -ben released. Also just a few days ago the first public -[dedicated server offer from ungleich](../dedicated-december-2021) has -been released. Enough reason to add one on top of it: - -**Dedicated, low power servers running with Alpine Linux 3.15** - - -## Low Power Servers - -We are proudly using the [PC Engines -APU](https://pcengines.ch/apu2.htm) in a lot of places at Data Center -Light. They are small, robust and easy to handle. And furthermore: -they consume only about 10W of power. - -While there are other systems that are more power efficient, these -boxes are very suitable to be running as a tiny cluster. Webserver? No -problem. Mail server? No problem. - -So let's have a look at the specifications: - -* 4 real cores -* 4 GB RAM -* 1x 120GB SSD (usable: ca. 100GB) -* Gigabit Ethernet - - -## The offer in detail - -The offer is valid for all orders received between 2021-12-06 to -2021-12-24. The monthly price is 100 CHF instead 150 CHF. -The price stays the same until the end of the contract. - -You get: - -* A dedicated, routed /48 IPv6 network -* A dedicated layer 2 network -* (optional, add on) IPv4 addresses (mapped via NAT64) -* **No setup fee** (instead of regular setup fee of 50 CHF) -* A server powered by 100% hydro power - -The fine print: - -* Minimum contract duration: 3 months - -On order, you get access to the server with Alpine Linux 3.15 -installed. You will need to provide your public SSH key for accessing -the device. - -The server includes 15TB traffic per month. Additional 30TB traffic -can be added for 75 CHF/month. The server is located in an *IPv6 only* -network. It can reach the IPv4 Internet via outgoing NAT64. If you -need **incoming** IPv4 connectivity, we offer dedicated public IPv4 -addresses for 9 CHF/month. They are mapped via NAT64-SIIT -to an IPv6 address of your choice. - -The default setup fee of 50 CHF for dedicated servers is removed for -this offers. - -The offer is limited to 10 dedicated servers on a first come, first -serve basis. - -## The costs in the offer and even more competitve offer - -Some of you will be doing the calculation of what it costs for hosting -it yourself. And we want to be as transparent as possible so that you -understand how the price is calculated. - -The costs for ungleich consist roughly of: - -* The hardware itself (~150~200 CHF) -* The manual work (~150 CHF) -* The support work (~100 CHF) -* The electricity (~5-10 CHF/month) -* The network traffic (~20~90 CHF/month) - -Some of these can be optimised with larger quantities, but some of -them are rather static. However you can see that the network traffic -(based on 10~50 Mbit/s average) is one of the bigger parts of the -monthly cost. - -For that reason, we offer a second, even more affordable version: if -you commit on using less than 10 Mbit/s on average (still burstable up -to 1000 Mbit/s), we can offer the dedicated APU for 50 CHF/month. - -## What if it hardware breaks? - -As this is real hardware, hardware failures can occur and they will be -repaired without any extra cost. It is however your responsibility to -inform the Data Center Light team about issues. Response times -according to [your selected SLA level](/u/products/ungleich-sla/). - -## How can I start / how can order? - -You can order at the -[Data Center Light / Dedicated APU Alpine 3.15](https://datacenterlight.ch/product/dedicated-apu/) or -on [Data Center Light / Dedicated APU Alpine 3.15 10 -Mbit/s](https://datacenterlight.ch/product/dedicated-apu-10mbit/). - - -After the order is confirmed you will get access to the server within 5 working days. diff --git a/content/u/offers/black-friday-2020 copy.textClipping b/content/u/offers/black-friday-2020 copy.textClipping deleted file mode 100644 index 0d4ce7b..0000000 Binary files a/content/u/offers/black-friday-2020 copy.textClipping and /dev/null differ diff --git a/content/u/offers/black-friday-2020/blackfriday-giftcard.jpg b/content/u/offers/black-friday-2020/blackfriday-giftcard.jpg deleted file mode 100644 index 7afe8d7..0000000 Binary files a/content/u/offers/black-friday-2020/blackfriday-giftcard.jpg and /dev/null differ diff --git a/content/u/offers/black-friday-2020/blackfriday-vpn.jpg b/content/u/offers/black-friday-2020/blackfriday-vpn.jpg deleted file mode 100644 index 0aedaee..0000000 Binary files a/content/u/offers/black-friday-2020/blackfriday-vpn.jpg and /dev/null differ diff --git a/content/u/offers/black-friday-2020/blackfriday.jpg b/content/u/offers/black-friday-2020/blackfriday.jpg deleted file mode 100644 index 1f1f887..0000000 Binary files a/content/u/offers/black-friday-2020/blackfriday.jpg and /dev/null differ diff --git a/content/u/offers/black-friday-2020/contents.lr b/content/u/offers/black-friday-2020/contents.lr deleted file mode 100644 index eb6d0f6..0000000 --- a/content/u/offers/black-friday-2020/contents.lr +++ /dev/null @@ -1,118 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: Black IPv6 Friday 2020 (Closed) ---- -subtitle: Special deals 2020.11.26-11.30 ---- -headline1: Black IPv6 Friday ---- -headline2: 2020.11.26 - 2020.11.30 ---- -image: /u/image/cards/blackfriday20.jpg ---- -header_background_color: #211C1E ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -description1: - - -## Black IPv6 Friday - -We prepared some exciting deals for the limited time of 2020.11.26 - 2020.11.30. -Get yourself a treat with sustainable technology! - -* Deal 1: IPv6 VPN for 2 years -* Deal 2: Get a VIIRB and get 2 years of VPN with it -* Deal 3: 50% Discount for the VPN extension for VIIRB and PIB users -* Deal 4: 5% Discount for all ungleich Gift Cards - ---- -content1_text: - -## Deal 1. IPv6 VPN for 2 years for the price of 1. - -During Black Friday sales, we offer our IPv6 VPN for 2 years for the price of 1 year! - -### About IPv6 VPN - -The underlying technology is wireguard, a secure and easy to use VPN protocol. It is supported on Linux, BSD, MacOS, and Windows. You can even use wireguard on your mobile phone. - -IPv6 VPN encrypts the traffic until the endpoint in Switzerland. Thus the IPv6 VPN allows you to originate traffic in a different country. -As you receive 80 bit of IPv6 space, you can divide the network to your liking. The connection is encrypted with modern cryptographic algorithms. No network traffic is logged to preserve privacy. - -### Order IPv6 VPN now and save 120 CHF! - -Our IPv6 VPN is 120 CHF per year. Now you can pay just 120 CHF for 2 year's VPN subscription instead of 240 CHF, you save 120 CHF. - -Order IPv6 VPN for 2 years for the price of 1 year ---- -content1_image: blackfriday-vpn.jpg ---- -content2_text: - -## Deal 2. VIIRB with 2 years of free IPv6 VPN - -Everyone who orders VIIRB during Black Friday Sales gets a VIIRB with 2 years IPv6 VPN included instead of 1 year. Buy a VIIRB now, and you get the special deal included automatically. - -* [Buy VIIRB](https://ungleich.ch/u/products/viirb-ipv6-box/) -* [Buy PIB](https://ungleich.ch/u/products/pro-ipv6-box/) - ---- -content2_image: viirb-blackfriday.jpg ---- -content3_text: - -## Deal 3. 50% Discount on IPv6 VPN extension for VIIRB or PIB users - -Do you already have our star product [VIIRB,](https://ungleich.ch/u/products/viirb-ipv6-box/) or [PIB](https://ungleich.ch/u/products/pro-ipv6-box/)? Now we offer the next year's VPN for your VIIRB with 50% discount. Our standard VPN costs 120 CHF per year, but with this deal you can have your current VPN extended for another year for just half the price. Enjoy the adorable VIIRB and powerful PIB, and keep your IPv6 VPN uninterrupted! -Offer is valid for VIIRB and PIB users. - -Order IPv6 VPN for VIIRB or PIB with 50% discount - ---- -content3_image: vpn-extension.jpg ---- -content4_text: - -## Deal 4. 5% off on all ungleich Gift Cards - -Now you have a way of giving sustainable technology to people you care. With our [Gift Card,](https://ungleich.ch/u/products/giftcard/) you can choose any of our products as a gift. For the Gift Cards bought during Black Friday Deals, we give you 5% discount. - -### Available products - -You can use our Gift Card for the following products. - -* [Zero Carbon Cloud](https://ungleich.ch/u/products/zero-carbon-cloud/) -* [Zero Carbon VPS](https://ungleich.ch/u/products/virtual-machine-hosting/) -* [Zero Carbon Chat](https://ungleich.ch/u/products/zero-carbon-chat/) -* [Hosted Matrix Chat](https://ungleich.ch/u/products/hosted-matrix-chat/) -* [VIIRB](https://ungleich.ch/u/products/viirb-ipv6-box/) -* [PIB](https://ungleich.ch/u/products/pro-ipv6-box/) -* [IPv6 VPN](https://ungleich.ch/u/products/ipv6-vpn/) -* [IPv6 Holiday Kit](https://ungleich.ch/u/products/ipv6-holiday-kit/) -* [IPv6 Camera](https://ungleich.ch/u/products/ipv6-camera/) - -### How to get the 5% discount - -Go through the checkout and write us that you bought the Gift Card during Black Friday sales, we will give you back the 5% of the amount you purchased. - -[Order Gift Card](https://ungleich.ch/u/products/giftcard/) ---- -content4_image: blackfriday-giftcard.jpg ---- -description6: - -## More Info - -* Our IPv6 VPN is running fully on renewable energy and Open Source. You can find more information on it on our [IPv6 VPN page.](https://ipv6vpn.ch) -* Our VIIRB is the world's smalledst IPv6 router box that lets you have IPv6 anywhere, anytime. You can find more information on it on our [VIIRB product page.](https://ungleich.ch/u/products/viirb-ipv6-box/) -* Our PIB is the powerful, professional IPv6 router box that lets you do your serious work with IPv6. You can find more information on it on our [PIB product page.](https://ungleich.ch/u/products/pro-ipv6-box/) - -Any questions, you can drop us a mail to support@ungleich.ch and our team will get back to you as soon as possible! Happy IPv6 Black Friday everyone! diff --git a/content/u/offers/black-friday-2020/viirb-blackfriday.jpg b/content/u/offers/black-friday-2020/viirb-blackfriday.jpg deleted file mode 100644 index 1f8c92f..0000000 Binary files a/content/u/offers/black-friday-2020/viirb-blackfriday.jpg and /dev/null differ diff --git a/content/u/offers/black-friday-2020/vpn-extension.jpg b/content/u/offers/black-friday-2020/vpn-extension.jpg deleted file mode 100644 index e7eec0d..0000000 Binary files a/content/u/offers/black-friday-2020/vpn-extension.jpg and /dev/null differ diff --git a/content/u/offers/black-friday-2021/blackfriday-giftcard.jpg b/content/u/offers/black-friday-2021/blackfriday-giftcard.jpg deleted file mode 100644 index 7afe8d7..0000000 Binary files a/content/u/offers/black-friday-2021/blackfriday-giftcard.jpg and /dev/null differ diff --git a/content/u/offers/black-friday-2021/blackfriday-header-2021.jpg b/content/u/offers/black-friday-2021/blackfriday-header-2021.jpg deleted file mode 100644 index a01425f..0000000 Binary files a/content/u/offers/black-friday-2021/blackfriday-header-2021.jpg and /dev/null differ diff --git a/content/u/offers/black-friday-2021/blackfriday-vpn.jpg b/content/u/offers/black-friday-2021/blackfriday-vpn.jpg deleted file mode 100644 index 0aedaee..0000000 Binary files a/content/u/offers/black-friday-2021/blackfriday-vpn.jpg and /dev/null differ diff --git a/content/u/offers/black-friday-2021/blackfriday.jpg b/content/u/offers/black-friday-2021/blackfriday.jpg deleted file mode 100644 index 1f1f887..0000000 Binary files a/content/u/offers/black-friday-2021/blackfriday.jpg and /dev/null differ diff --git a/content/u/offers/black-friday-2021/contents.lr b/content/u/offers/black-friday-2021/contents.lr deleted file mode 100644 index 3ec76e7..0000000 --- a/content/u/offers/black-friday-2021/contents.lr +++ /dev/null @@ -1,93 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: Black Friday 2021 (Closed) ---- -subtitle: Special deals 2021.11.23-11.30 ---- -headline1: Black Friday ---- -headline2: 2021.11.23 - 2021.11.30 ---- -image: /u/image/cards/blackfriday21.jpg ---- -header_background_color: #211C1E ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -description1: - - -## Black Friday - -We prepared some exciting deals for the limited time of 2021.11.23 - 2021.11.30. -Get yourself a treat with sustainable technology! - -* Deal 1: Get an IPv4 Subscription for 2 years for the price of 1 year -* Deal 2: Get an IPv6 Router(VIIRB, VIWIB, VIGIR) and get 2 years of VPN with it -* Deal 3: 50% Discount for the VPN extension for VIIRB, VIWIB and VIGIR users - ---- -content1_text: - -## Deal 1. IPv4 Address for 2 years for the price of 1. - -During Black Friday sales, we offer our IPv4 subscription for 2 years for the price of 1 year! - -### About IPv4 Subscription - -Our IPv4 Subscription is usable with any wireguard compatible device. Wireguard is a secure and easy to use VPN protocol: it is supported on Linux, BSD, MacOS, and Windows. You can even use wireguard on your mobile phone. - - -### Order IPv4 Address now and save 144 CHF! - -Our IPv4 address is 144 CHF per year. Now you can pay just 144 CHF for 2 year's IPv4 subscription instead of 288 CHF, you save 144 CHF. - -The deal is limited to 24 IPv4 addresses. - -* Order IPv4 Subscription for 2 years for the price of 1 year - ---- -content1_image: ipv4-address.jpg ---- -content2_text: - -## Deal 2. VIWIB, VIGIR, VIIRB, with 2 years of free IPv6 VPN - -Everyone who orders ungleich IPv6 routers (VIWIB, VIGIR, VIIRB) during the Black Friday Sales gets a router with 2 years IPv6 VPN included instead of 1 year. Buy a router now, and you get the special deal included automatically. - -* [Buy VIWIB](https://ungleich.ch/u/products/viwib-wifi-ipv6-box/) -* [Buy VIGIR](https://ungleich.ch/u/products/vigir/) -* [Buy VIIRB](https://ungleich.ch/u/products/viirb-ipv6-box/) - ---- -content2_image: ipv6router.jpg ---- -content3_text: - -## Deal 3. 50% Discount on IPv6 VPN extension for VIIRB, VIWIB, VIGIR users - -Do you already have our star product [VIWIB,](https://ungleich.ch/u/products/viwib-wifi-ipv6-box/) [VIIRB,](https://ungleich.ch/u/products/viirb-ipv6-box/) or [VIGIR](https://ungleich.ch/u/products/vigir/)? Now we offer the next year's VPN for your router with 50% discount. Our standard VPN costs 120 CHF per year, but with this deal you can have your current VPN extended for another year for just half the price. Enjoy the IPv6 router and keep your IPv6 VPN uninterrupted! -Offer is valid for VIIRB, VIGIR or VIWIB users. - -* Order IPv6 VPN extension for VIIRB, VIWIB, VIGIR with 50% discount - ---- -content3_image: vigir-extension.jpg ---- - -description6: - -## More Info - -* Our IPv6 VPN is running fully on renewable energy and Open Source. You can find more information on it on our [IPv6 VPN page.](https://ipv6vpn.ch) -* Our VIWIB is the mini WiFi Router with a versatile use. You can find more information on it on our [VIWIB product page.](https://ungleich.ch/u/products/viwib-wifi-ipv6-box/) -* Our VIIRB is the world's smalledst IPv6 router box that lets you have IPv6 anywhere, anytime. You can find more information on it on our [VIIRB product page.](https://ungleich.ch/u/products/viirb-ipv6-box/) -* Our VIGIR is the powerful, professional IPv6 router box that lets you do your serious work with IPv6. You can find more information on it on our [VIGIR product page.](https://ungleich.ch/u/products/vigir/) - -Any questions, you can drop us a mail to support@ungleich.ch and our team will get back to you as soon as possible! Happy IPv6 Black Friday everyone! diff --git a/content/u/offers/black-friday-2021/ipv4-address.jpg b/content/u/offers/black-friday-2021/ipv4-address.jpg deleted file mode 100644 index d3a6c7c..0000000 Binary files a/content/u/offers/black-friday-2021/ipv4-address.jpg and /dev/null differ diff --git a/content/u/offers/black-friday-2021/ipv6router.jpg b/content/u/offers/black-friday-2021/ipv6router.jpg deleted file mode 100644 index f9a5cc5..0000000 Binary files a/content/u/offers/black-friday-2021/ipv6router.jpg and /dev/null differ diff --git a/content/u/offers/black-friday-2021/vigir-extension.jpg b/content/u/offers/black-friday-2021/vigir-extension.jpg deleted file mode 100644 index b22e540..0000000 Binary files a/content/u/offers/black-friday-2021/vigir-extension.jpg and /dev/null differ diff --git a/content/u/offers/black-friday-2021/viirb-blackfriday.jpg b/content/u/offers/black-friday-2021/viirb-blackfriday.jpg deleted file mode 100644 index 1f8c92f..0000000 Binary files a/content/u/offers/black-friday-2021/viirb-blackfriday.jpg and /dev/null differ diff --git a/content/u/offers/black-friday-2021/vpn-extension.jpg b/content/u/offers/black-friday-2021/vpn-extension.jpg deleted file mode 100644 index e7eec0d..0000000 Binary files a/content/u/offers/black-friday-2021/vpn-extension.jpg and /dev/null differ diff --git a/content/u/offers/black-friday-2022/contents.lr b/content/u/offers/black-friday-2022/contents.lr deleted file mode 100644 index aed2a4d..0000000 --- a/content/u/offers/black-friday-2022/contents.lr +++ /dev/null @@ -1,96 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: Black Friday 2022 (Closed) ---- -subtitle: Special deals 2022.11.22-11.30 ---- -headline1: Black Friday ---- -headline2: 2022.11.22 - 2022.11.30 ---- -image: /u/image/cards/blackfriday22.jpg ---- -header_background_color: #211C1E ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -description1: - - -## Black Friday - -We prepared some exciting deals for the limited time of 2022.11.22 - 2022.11.30. -Get yourself a treat with sustainable technology! - -* Deal 1: Get 50% discount on Kubernetes Hosting setup fee -* Deal 2: Get double-up disk size for Mastodon hosting -* Deal 3: 50% Discount for the VPN extension for VIIRB, VIWIB and VIGIR users - ---- -content1_text: - -## Deal 1. 50% discount on Kubernetes Hosting - -During Black Friday sales, we offer our 50% discount for all Kubernetes Hosting setup fees. - -### About Kubernetes Hosting - -Our Kubernetes cluster can start from 3 nodes and grow to any size. The cluster is running on dedicated hardware, and operating system is maintained by ungleich. Powered by 100% renewable energy and 100% IPv6. - -### Order Kubernetes hosting now and save up to 450 CHF - -The one-time set up fee of Kubernetes hosting starts from 150 CHF for 3 Node cluster. Now you can pay just 75 CHF if you order during the Black Friday deals. For the 18 Node cluster, you can save 450 CHF. - -### How to use the discount - -Go through with ordering Kubernetes cluster in the page below. As soon as our team receives your order, you will get an email from us with the setup fee payment URL with 50% discount applied. - - -* [Order Kubernetes hosting with 50% discount on set up fee](https://ungleich.ch/u/products/kubernetes-hosting-high-performance/) - ---- -content1_image: kubernetes.jpg ---- -content2_text: - -## Deal 2. Mastodon hosting with double-up disk size - -Everyone who orders Mastodon Hosting during the Black Friday Sales gets double-up disk size indefinitely. Get Mastodon of your own, and you get the special deal included automatically. The offer lasts as long as you keep the instance. - -* Example: For a Mastodon Community instance with 8 Core, 12 GB RAM, 100 GB SSD DB storage, 1000 GB HDD data storage, you will get 200 GB SSD DB storage and 2000 GB HDD data storage. With this deal you can save twice the data in your Mastodon! - -* [Order Mastodon Hosting with double up disk size](https://ungleich.ch/u/products/mastodon-hosting/) - - ---- -content2_image: mastodon.jpg ---- -content3_text: - -## Deal 3. 50% Discount on IPv6 VPN extension for VIIRB, VIWIB, VIGIR users - -Do you already have our star product [VIWIB,](https://ungleich.ch/u/products/viwib-wifi-ipv6-box/) [VIIRB,](https://ungleich.ch/u/products/viirb-ipv6-box/) or [VIGIR](https://ungleich.ch/u/products/vigir/)? Now we offer the next year's VPN for your router with 50% discount. Our standard VPN costs 120 CHF per year, but with this deal you can have your current VPN extended for another year for just half the price. Enjoy the IPv6 router and keep your IPv6 VPN uninterrupted! -Offer is valid for VIIRB, VIGIR or VIWIB users. - -* [Order IPv6 VPN extension for VIIRB, VIWIB, VIGIR with 50% discount](https://ungleich.ch/product/vpn-black-friday-viirb/) - ---- -content3_image: vigir-extension.jpg ---- - -description6: - -## More Info - -* Our Mastodon hosting is running fully on renewable energy. You can find more information on it on our [Masotodon Hosting page.](https://ungleich.ch/u/products/mastodon-hosting/) -* Our Kubernetes hosting is dedicated high performance service. You can find more information on it on our [Kubernetes hosting page.](https://ungleich.ch/u/products/kubernetes-hosting-high-performance/) -* Our IPv6 VPN is running fully on renewable energy and Open Source. You can find more information on it on our [IPv6 VPN page.](https://ungleich.ch/ipv6/vpn/) - - -Any questions, you can drop us a mail to support@ungleich.ch and our team will get back to you as soon as possible! Happy IPv6 Black Friday everyone! diff --git a/content/u/offers/black-friday-2022/kubernetes.jpg b/content/u/offers/black-friday-2022/kubernetes.jpg deleted file mode 100644 index fe889fc..0000000 Binary files a/content/u/offers/black-friday-2022/kubernetes.jpg and /dev/null differ diff --git a/content/u/offers/black-friday-2022/mastodon.jpg b/content/u/offers/black-friday-2022/mastodon.jpg deleted file mode 100644 index f3db26b..0000000 Binary files a/content/u/offers/black-friday-2022/mastodon.jpg and /dev/null differ diff --git a/content/u/offers/black-friday-2022/vigir-extension.jpg b/content/u/offers/black-friday-2022/vigir-extension.jpg deleted file mode 100644 index b22e540..0000000 Binary files a/content/u/offers/black-friday-2022/vigir-extension.jpg and /dev/null differ diff --git a/content/u/offers/dedicated-december-2021/contents.lr b/content/u/offers/dedicated-december-2021/contents.lr deleted file mode 100644 index d058077..0000000 --- a/content/u/offers/dedicated-december-2021/contents.lr +++ /dev/null @@ -1,107 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: Dedicated December 2021 (Closed) ---- -subtitle: Access to dedicated servers (2021-12-01...2021-12-31) ---- -headline1: Dedicated Servers ---- -headline2: Exclusive Access ---- -image: /u/image/cards/dedicated-december.jpg ---- -header_background_color: #B61818 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -description1: - -## Dedicated December Highlights - -This December you have the chance to get 1 out of 10 -dedicated servers hosted in Data Center Light: - -* Real, dedicated hardware -* 24 logical cores -* 48 GB RAM -* 2x 2TB SSD -* Remove access via IPMIView -* Dedicated, routed /48 IPv6 network -* Dedicated layer 2 network -* (optional, add on) IPv4 addresses (mapped via NAT64) -* **No setup fee** -* Minimum contract duration: 3 months -* Powered by 100% hydro power - -## The offer in detail - -The offer is valid for all orders received between 2021-12-01 to -2021-12-31. The monthly price is 250 CHF. The price stays the same -until the end of the contract. - -On order, you get access to an server without operating system -or booted into Alpine Linux via USB stick. - -You have remote access (keyboard/mouse/video) via IPMIview (access -protected using Wireguard VPN), which allows you to install an -operating system. - -It has power efficient Intel Xeon L5640 CPUs running at 2.27GHz. - -You can configure the SSDs in as one operating system disk or in a -software raid. - -The supplied power is 100% renewable hydro power. - -The server includes 15TB traffic per month. Additional 30TB traffic -can be added for 75 CHF/month. The server is located in an *IPv6 only* -network. It can reach the IPv4 Internet via outgoing NAT64. If you -need **incoming** IPv4 connectivity, we offer dedicated public IPv4 -addresses for 9 CHF/month. They are mapped via NAT64-SIIT -to an IPv6 address of your choice. - -The default setup fee of 50 CHF for dedicated servers is removed for -this offers. - -The offer is limited to 10 dedicated servers on a first come, first -serve basis. - -## What can you do with it? - -You can use this server to host your own services, virtual machines or -even Kubernetes clusters on it. - -You can host your photos and data (f.i. via Nextcloud), run a -community chat (f.i. via Matrix) or host your company website -(f.i. via wordpress) on it. - -Or you can deploy your own cluster of virtual machines - maybe even -IPv6 only Kubernetes on top of it? - -## What if it hardware breaks? - -As this is real hardware, hardware failures can occur and they will be -repaired without any extra cost. It is however your responsibility to -inform the Data Center Light team about issues. Response times -according to [your selected SLA level](/u/products/ungleich-sla/). - -## How can I start / how can order? - -You can order at the [Data Center Light / Dedicated Server -1](https://datacenterlight.ch/product/dedicated-server-1/) page. - -After the order is confirmed you will get access to the server via -wireguard and IPMIView within 5 working days. We will need a public -wireguard key for you to grant you access to your server. You can -already install -[IPMIView](https://www.thomas-krenn.com/en/download/frame.only_content/hide_filter.1/hide_filter_serial.1/product.3133.html) -on your machine. - -If you opted for Alpine Linux on a USB stick, you can send us a public -ssh key for direct access. diff --git a/content/u/offers/hot-summer-2023/contents.lr b/content/u/offers/hot-summer-2023/contents.lr deleted file mode 100644 index 45f22de..0000000 --- a/content/u/offers/hot-summer-2023/contents.lr +++ /dev/null @@ -1,132 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: Hot Summer 2023 Offer ---- -image: /u/image/cards/hotsummerstorage.jpg ---- -subtitle: Big storage for hot days (2023-08-01 .. 2023-08-31) ---- -headline1: Hot Summer 2023 offer ---- -headline2: 2023-08-01 .. 2023-08-31 ---- -header_background_color: #e91e63 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -description1: - - -## Hot Summer 2023 offer - -The summer is hot and where to put all the data you collected this summer? -We hope to give you a definitive answer for that: in the mountains of Switzerland. - -## How the storage offers work - -The provided storage is accessible via SFTP and ssh public key authentication. -You can use the storage for backups, sharing, archiving or other means. - -## Offer conditions - -The Hot Summer 2023 offer is valid for any orders between 2023-08-01 and 2023-08-31, inclusive. -All packages are to be paid on a yearly basis. The price stays the same if the product is kept. - ---- -content1_text: - -## Deal 1: The Canada offer (10TB for 3'000 CHF/year) - -You got some, but not too much data to store? How does a storing 10 TB of data sound to you? -Mostly useful for private sector or companies with a very small data footprint. - -* 10 TB Storage at Data Center Light -* Includes one SFTP user -* 3,000 CHF/year -* Price excludes VAT -* Can be paid by credit card or bank transfer -* [Order Canada Offer with credit card](https://datacenterlight.ch/product/canada-10tb/) -* For Bank transfer, send us a mail to info@ungleich.ch - ---- -content1_image: /u/image/hotsummer.jpg ---- -content2_text: - -## Deal 2. The Denmark offer (20TB for 5'900 CHF/year) - -Got a bit more of data that needs to be stored, but nothing really big yet? Then 20 TB of data might be -the right choice for you. This offer is useful for small companies as an backup space or for -the enthuisiast user. - -Includes up to two SFTP user. - -* 10 TB Storage at Data Center Light -* Includes up to two SFTP user -* 5,900 CHF/year -* Price excludes VAT -* Can be paid by credit card or bank transfer -* [Order Canada Offer with credit card](https://datacenterlight.ch/product/denmark-20tb/) -* For Bank transfer, send us a mail to info@ungleich.ch - - ---- -content3_text: - -## Deal 3. The Iceland offer (50TB for 14'500 CHF/year) - -Things are getting more serious and you have quite a bit, but not a huge amount of data. 50 TB will -last you for some time. This offer is very useful for backing up mid sized company data. - -Includes up to five SFTP user. - -* 50 TB Storage at Data Center Light -* Includes up to five SFTP user -* 14,500 CHF/year -* Price excludes VAT -* To place an order send us a mail to info@ungleich.ch - - ---- -content4_text: - -## Deal 4. The Norway offer (100TB for 27'000 CHF/year) - -Things are starting to be serious. With 100TB storage you -can store your movies, images and other worthy data without worries. This offer -is very useful for photographers and movie producers. - -Includes up to ten SFTP user. - -* 100 TB Storage at Data Center Light -* Includes up to ten SFTP user -* 27,000 CHF/year -* Price excludes VAT -* To place an order send us a mail to info@ungleich.ch - - - ---- -description6: - -## Deal 5. The big Finland offer (1 PB for 250'000 CHF/year) - -So you are in with the big data? It's more than cat pictures that -you need to save? Then we have the right offer: 1 PB of data accessible via SFTP. Storing -patient data? No problem. Storing astronomy pictures? No problem. Storing race car analytics? -No problem. - - -* 1 PB Storage at Data Center Light -* Includes own user management -* Includes optional encryption at rest -* Includes optional 2FA -* 250,000 CHF/year -* Price excludes VAT -* To place an order send us a mail to info@ungleich.ch diff --git a/content/u/offers/ipv6-year-2020-07-29/contents.lr b/content/u/offers/ipv6-year-2020-07-29/contents.lr deleted file mode 100644 index ca277a9..0000000 --- a/content/u/offers/ipv6-year-2020-07-29/contents.lr +++ /dev/null @@ -1,50 +0,0 @@ -title: 2020 year of IPv6 (Closed) ---- -subtitle: Support IPv6 - get a discount ---- -_model: product ---- -_hidden: no ---- -_discoverable: yes ---- -headline1: Commit on IPv6 ---- -headline2: Support the community ---- -headline3: Get a nice discount ---- -header_background_color: #a165c7 ---- -header_text_color: text-light ---- -image: /u/image/cards/yearly-2020.jpg ---- -nav_classes: navbar-dark ---- -description1: - -## 2020 is the year of IPv6 - -IPv6 is growing everywhere and 2020 is the year of change. If you are -not yet running your services on IPv6, it is probably a good time to -give it a try. - -## Supporting you with IPv6 - -To make it easier for you to join the IPv6 movement, we are giving out -discounts for those who commit on IPv6 for at least a year: - -* 4% discount on any Dual Stack VM (if committed for a year) -* 6% discount on all IPv6 only VMs with at least 2 cores and 2 GB RAM (if committed for a year) - -## How it works - -* Select your favorite operating system on https://datacenterlight.ch -* Send an email to support@ungleich.ch with the specs - * Number of cores - * GB RAM - * Size of the SSD disk - * The selected operating system -* This offer is valid for all orders that arrive between **2020-08-01 to 2020-08-14** -* The discount stays the same even after the year passed! diff --git a/content/u/offers/penguin-day-2020-01-06/contents.lr b/content/u/offers/penguin-day-2020-01-06/contents.lr index a9bf754..628f66e 100644 --- a/content/u/offers/penguin-day-2020-01-06/contents.lr +++ b/content/u/offers/penguin-day-2020-01-06/contents.lr @@ -1,6 +1,6 @@ _model: page-2020 --- -title: Penguin Day 2020 (Closed) +title: Penguin Day 2020 --- subtitle: Draw your own cute penguin and get 10% discount --- diff --git a/content/u/offers/stay-home-2020-03/contents.lr b/content/u/offers/stay-home-2020-03/contents.lr deleted file mode 100644 index 61ccba3..0000000 --- a/content/u/offers/stay-home-2020-03/contents.lr +++ /dev/null @@ -1,59 +0,0 @@ -title: Stay home and get a month for free (Closed) ---- -subtitle: Proof that you stay home and get a month for free ---- -_model: product ---- -_hidden: no ---- -_discoverable: yes ---- -headline1: Stay home ---- -headline2: Protect Others ---- -headline3: Get 1 month for free ---- -header_background_color: #071f2e ---- -header_text_color: text-light ---- -nav_classes:navbar-dark ---- -image: /u/image/cards/stayhomesale.jpg ---- -content1_text: - -## Let's trick the Coronavirus! - -It's important to stay home to protect yourself and others from the -Coronavirus. To motivate you to stay home, we give away one month for -free, if you send us a picture that - -* shows you working at home -* or shows your home office work place - -(you can render it anonymous or blur sensitive parts, -but you must be convincing that the picture is indeed from you and -that you are indeed staying home). - -We will use the pictures on social media to encourage others to stay -home and work from home. - -## How it works - -Order a VM at either https://datacenterlight.ch or -https://ipv6onlyhosting.com. Send your picture and the order number to -**support at ungleich.ch** or contact us via the -[Open Chat](../../projects/open-chat/). - -As soon as our team checks your message, we will apply the 100% -discount coupon for your next month's payment. You only pay for 1 -month but get 2 months. - -This offer is valid from 2020-03-25 to 2020-04-25. - -## I don't need a VM, but still want to participate - -That's great! Just send us a picture as described above and we will -repost it! diff --git a/content/u/offers/timesale-2020-03/contents.lr b/content/u/offers/timesale-2020-03/contents.lr deleted file mode 100644 index e021e33..0000000 --- a/content/u/offers/timesale-2020-03/contents.lr +++ /dev/null @@ -1,51 +0,0 @@ -title: Time sale 13:00-15:00 (Closed) ---- -subtitle: Order a VM and get the next month for free ---- -_model: product ---- -_hidden: no ---- -_discoverable: yes ---- -headline1: 1 Month Free ---- -headline2: Every day ---- -headline3: 13:00-15:00 CET ---- -header_background_color: #2A8FD0 ---- -header_text_color: text-light ---- -nav_classes:navbar-dark ---- -image: /u/image/cards/timesale-2020-03.jpg ---- -content1_text: -Order a new VM and get one month free every day between 13:00 - 15:00 CET. Starting 2020/03/20. - - -## Pay for 1 month, get the next month free. - -You get 100% discount for your next month invoice when you order a VM at [DataCenterLight.ch](https://datacenterlight.ch) between 13:00 - 15:00 CET for 9 days. VMs with the following OS will get the discount each day. - -* Alpine Linux: 2020/03/20 -* Ubuntu: 2020/03/21 -* ArchLinux: 2020/03/22 -* OpenBSD: 2020/03/23 -* CentOS: 2020/03/24 -* FreeBSD: 2020/03/25 -* Fedora: 2020/03/26 -* Debian: 2020/03/27 -* Devuan: 2020/03/28 - -We announce which OS will get discount beforehand on this page and on our [Twitter.](https://twitter.com/ungleich) - - -## How to get one month for free - -Order a monthly or yearly plan on [Data Center Light](https://datacenterlight.ch) and go through the checkout, and send us the following message to support@ungleich.ch or Twitter @ungleich -"I want the next month free for my Debian VM." - -As soon as our team checks your message, we will apply the 100% discount coupon for your next month's payment. You only pay for 1 month but get 2 months. diff --git a/content/u/offers/valentine-machine-2020/contents.lr b/content/u/offers/valentine-machine-2020/contents.lr index 5b4e492..eb4644c 100644 --- a/content/u/offers/valentine-machine-2020/contents.lr +++ b/content/u/offers/valentine-machine-2020/contents.lr @@ -1,4 +1,4 @@ -title: Zero Carbon Valentine 2020 (Closed) +title: Zero Carbon Valentine 2020 --- subtitle: give sustainability to your beloved --- diff --git a/content/u/offers/vpn-celebration-2021/contents.lr b/content/u/offers/vpn-celebration-2021/contents.lr deleted file mode 100644 index b116036..0000000 --- a/content/u/offers/vpn-celebration-2021/contents.lr +++ /dev/null @@ -1,66 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: IPv6 VPN celebration 2021 (Closed) ---- -subtitle: VPNs for IPv6 are fun ---- -headline1: IPv6 VPN ---- -headline2: Celebration 2021 ---- -headline3: 2021.02.01 - 2021.02.06 ---- -image: /u/image/cards/vpn-2021.jpg ---- -header_background_color: #A9D254 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -description1: - -## IPv6VPN celebration 2021 - -Only a few years ago we started offering IPv6 addresses and IPv6 connectivity via -the [IPv6VPN](/u/products/ipv6-vpn/). Since then the IPv6VPN is -bringing IPv6 to countries **on every continent in the world**. - -There is no day at ungleich that we are not using the IPv6VPN -ourselves. And we hear great stories from people who realise IoT -projects with it. And stories of people who remotely collaborate with -IPv6. What all of these stories have in common is that people are -enabled, are able to remotely access their computers, devices, -printers - things that are simply not possible with IPv4 or at least -very complex. - -We cannot always share stories from our users, as we value the privacy -of our users. However, the feedback and stories we have received in -the last months are amazing. -This is enough reason for us to celebrate the IPv6VPN in 2021 and -potentially help more people to get online with IPv6. - -## Special IPv6VPN offer - -We want to bring IPv6 to even more places in the world and thus offer -you a discount if you buy 2 or more IPv6VPN related products: - -* For 2-5 products: 2% discount -* For 6-15 producst: 6% discount -* For 16-30 products: 10% discount - -You can combine any of the following products in this offer: - -* [The IPv6VPN for 1 year](/u/products/ipv6-vpn/) -* [The VIIRB](/u/products/viirb-ipv6-box/) - the world's smallest IPv6 router -* [The VIWIB](/u/products/viwib-wifi-ipv6-box/) - a tiny IPv6 router with WiFi -* [The VIGIR](/u/products/vigir/) - the professional IPv6 router with - an LTE modem - -This offer is valid from 2021-02-01 to 2021-02-06. - -Let's bring IPv6 everywhere! Happy IPv6VPN week! diff --git a/content/u/offers/womensday-2020/contents.lr b/content/u/offers/womensday-2020/contents.lr index e1327d2..2f396a8 100644 --- a/content/u/offers/womensday-2020/contents.lr +++ b/content/u/offers/womensday-2020/contents.lr @@ -1,4 +1,4 @@ -title: Women's Day 2020 (Closed) +title: Women's Day 2020 --- subtitle: First month free for all women --- diff --git a/content/u/penguincomics/contents.lr b/content/u/penguincomics/contents.lr index 9976617..1b64227 100644 --- a/content/u/penguincomics/contents.lr +++ b/content/u/penguincomics/contents.lr @@ -1,7 +1,3 @@ _model: comics --- title: Penguin Comics ---- -_discoverable: no ---- -_hidden: yes diff --git a/content/u/products/backup/contents.lr b/content/u/products/backup/contents.lr index e0d2010..09d9c58 100644 --- a/content/u/products/backup/contents.lr +++ b/content/u/products/backup/contents.lr @@ -1,71 +1,12 @@ -_discoverable: yes +_discoverable: no --- _hidden: no --- title: Backup --- -subtitle: Backup your data safely in Switzerland +subtitle: Your insurance in Switzerland --- -image: /u/image/cards/backup.jpg ---- -headline1: Safely Backup ---- -headline2: Your VM ---- -headline3: Your Data ---- -header_background_color: #5273C2 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -content1_text: -## Managed Backup +Pricing: -For Managed Backup, we use our existing backup server. It requires SSH access to your server and makes the data available via web (nextcloud). We recommend Managed Backup service when you don't want to be involved too much into the backup logic and want to focus on something else. -We keep 4 daily backups, 4 weekly and 12 monthly. With our solution you usually need about 5x the original VM space to keep the total of 20 (4+4+12) backups. ---- -content1_image: /u/image/managed-backup.jpg ---- -description3: - -## Pricing - -You can start to backup your VM with below plans. The cost is made of two parts, a one-time initial setup fee and the monthly plan you choose. Our team will get in touch with you as soon as we receive the order and will give you the access to the backup in 1 business day. Growing your storage after starting a plan is very easy and can be done anytime, 100 GB HDD is 2 CHF per month. ---- -offer1_title: ungleich Managed Backup (S) 60 CHF/Month ---- -offer1_text: - -* 2 TB space -* 4 daily, 4 weekly, 12 monthly backups -* [30 CHF Setup fee](https://ungleich.ch/product/backup-setup/) - ---- -offer1_link: https://ungleich.ch/product/managed-backup-s/ ---- -offer2_title: ungleich Managed Backup (M) 120 CHF/Month ---- -offer2_text: - -* 5 TB space -* 4 daily, 4 weekly, 12 monthly backups -* [30 CHF Setup fee](https://ungleich.ch/product/backup-setup/) - ---- -offer2_link: https://ungleich.ch/product/managed-backup-m/ ---- -offer3_title: ungleich Managed Backup (L) 220 CHF/Month ---- -offer3_text: - -* 10 TB space -* 4 daily, 4 weekly, 12 monthly backups -* [30 CHF Setup fee](https://ungleich.ch/product/backup-setup/) - ---- -offer3_link: https://ungleich.ch/product/managed-backup-l/ - ---- +"VM" (IP?) diff --git a/content/u/products/bgp-peering/contents.lr b/content/u/products/bgp-peering/contents.lr index 6a73e07..62cb45c 100644 --- a/content/u/products/bgp-peering/contents.lr +++ b/content/u/products/bgp-peering/contents.lr @@ -1,4 +1,4 @@ -_discoverable: yes +_discoverable: no --- _hidden: no --- @@ -6,73 +6,3 @@ title: BGP Peering --- subtitle: Manage your own address space --- -image: /u/image/cards/bgp-peering.jpg ---- -headline1: BGP Peering ---- -headline2: Your own IP Space ---- -headline3: At Data Center Light ---- -header_background_color: #11A88A ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -content1_text: - -## For whom is BGP peering? - -If you have your own ASN with IPv6 or IPv4 address space, you can -announce it in our data centers. - -## What is required for BGP peering - -To be able to peer with us, you will need to have IP addresses in our -data center. This is the case if you have one of these products: - -* [A Data Center Light VM](../virtual-machine-hosting/) -* [An IPv6 Only VM](../ipv6-only-hosting/) -* [Physical co-located hardware](../colocation/) -* [A VIIRB](../viirb-ipv6-box/), [A VIWIB](../viwib-wifi-ipv6-box/), or [A VIGIR](../vigir/) - -## How to setup BGP peering - -Send a mail to support -at- ungleich.ch containing the following -information: - -* Your ASN and the list of networks you intend to announce -* Your local IP addresses - -Before we can peer, ensure that all objects in the RIPE database are -setup correctly. Specifically ensure that you have - -* route6 / route objects -* inet6num / inetnum objects -* ROA / RPKI configured - -## Ordering BGP Peering - -Setting up peering has a 100 CHF one time fee, 60 CHF maintenance fee per year. - ---- -offer1_title: BGP Peering 60 CHF/year ---- -offer1_text: -* [100 CHF 1 time set up fee](https://ungleich.ch/product/bgp-peering/) -* Maintenance fee 60 CHF/year - ---- -offer1_link: https://ungleich.ch/product/bgp-yearly/ ---- - ---- -offer2_title: Configuration change ---- -offer2_text: -* Configuration change request 50 CHF/change - ---- -offer2_link: https://ungleich.ch/product/bgp-change/ ---- \ No newline at end of file diff --git a/content/u/products/colocation/contents.lr b/content/u/products/colocation/contents.lr index b8c535f..354b7a7 100644 --- a/content/u/products/colocation/contents.lr +++ b/content/u/products/colocation/contents.lr @@ -60,7 +60,7 @@ produces more heat, you will need to add more base units. ### Electricity Your electricity usage is monitored and charged monthly. The price for -electricity is 0.3 CHF/kWh. +electricity is 0.2 CHF/kWh. ### Connectivity @@ -79,7 +79,7 @@ You get a multi mode fiber cable (850nm transceivers) to your shelf. ### IP addresses * Colocation includes a /48 IPv6 network for free -* IPv4 addresses are provided using NAT64 for 10 CHF/IPv4 address/month +* IPv4 addresses are provided using NAT64 for 9 CHF/IPv4 address/month ## Setup Fee @@ -89,10 +89,12 @@ dedicated for you and adding routing to your own network. ## Sample calculations * 1 base unit, 100 Mbit, /48 IPv6, no IPv4 = 50 + 75 = 125 CHF/month -* 2 base units, 100 Mbit, /48 IPv6, 2 IPv4 addresses = 2\*50 + 75 + 2\*10 = 195 CHF/month -* 4 base units, 100 Mbit, /48 IPv6, 40 IPv4 addresses = 4\*50 + 75 + 40\*10 = 675 CHF/month -* 4 base units, 1000 Mbit/s, /48 IPv6, no IPv4 = 4\*50 + 400 = 600 CHF/month +* 2 base units, 100 Mbit, /48 IPv6, 2 IPv4 addresses = 2*50 + 75 + 2*9 = 193 CHF/month +* 4 base units, 100 Mbit, /48 IPv6, 40 IPv4 addresses = 4*50 + 75 + 40*9 = 635 CHF/month +* 4 base units, 1000 Mbit/s, /48 IPv6, no IPv4 = 4*50 + 400 = 600 CHF/month -All prices listed above are without VAT. +## Fine print + +All prices listed as usual without vat. --- diff --git a/content/u/products/demo-product/contents.lr b/content/u/products/demo-product/contents.lr index 2680dde..8a41475 100644 --- a/content/u/products/demo-product/contents.lr +++ b/content/u/products/demo-product/contents.lr @@ -5,47 +5,6 @@ _hidden: no title: Demo product --- subtitle: Using all possible fields ---- -description1: - -## This is the first markdown description block - -Description content - ---- -description2: - -## This is the second markdown description block - -Description content - ---- -description3: - -## This is the third markdown description block - -Description content - ---- -description4: - -## This is the fourth markdown description block - -Description content - ---- -description5: - -## This is the 5. markdown description block - -Description content ---- -description6: - -## This is the 6. markdown description block - -Description content - --- link: https://link-to-the-real-product.ch --- @@ -87,24 +46,6 @@ offer3_text: The text for the third offer --- offer3_link: https://ungleich.ch --- -offer4_title: Title of 4. offer ---- -offer4_text: The text for the third offer ---- -offer4_link: https://ungleich.ch ---- -offer5_title: Title of 5. offer ---- -offer5_text: The text for the third offer ---- -offer5_link: https://ungleich.ch ---- -offer6_title: Title of 6. offer ---- -offer6_text: The text for the third offer ---- -offer6_link: https://ungleich.ch ---- description: The real field [Nico](https://www.nico.schottelius.org) wants to use! --- diff --git a/content/u/products/django-hosting/contents.lr b/content/u/products/django-hosting/contents.lr index 96ba523..4e2d3e6 100644 --- a/content/u/products/django-hosting/contents.lr +++ b/content/u/products/django-hosting/contents.lr @@ -1,4 +1,4 @@ -_discoverable: yes +_discoverable: no --- _hidden: no --- @@ -6,20 +6,6 @@ title: Django Hosting --- subtitle: Hassle free Django hosting --- -headline1:Zero Carbon ---- -headline2: Hassle free ---- -headline3: Django Hosting ---- -header_background_color: #13410B ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -image:/u/image/cards/django-hosting-best.jpg ---- feature1_title: Proven over years --- feature1_text: Here at ungleich we do not only provide django hosting @@ -41,13 +27,12 @@ application with a good conscience and without emitting extra carbon. --- content1_text: - ## Development flow The diagram gives an overview of a typical development flow with our Django hosting. -We strongly recommend you to develop Django (like any other application) +We strongly recommend to develop Django (like any other application) with a version control system, even if you are just a single developer. You can even use the [ungleich code repository](https://code.ungleich.ch) for free @@ -55,6 +40,11 @@ repository](https://code.ungleich.ch) for free +--- +content1_image: djangohosting.svg +--- +description2: + ## Components Depending on your stage of development, a Django hosting may contain @@ -62,62 +52,12 @@ Depending on your stage of development, a Django hosting may contain production) and optionally a backup. + ## Pricing -Our Django hosting is consisted with two parts of pricing. First part is a one-time, initial setup fee of 30 CHF, and the second part is a monthly payment for the managed VM at Data Center Light. For the latter you can calculate a standard VM price with 25 CHF monthly maintenance fee. - -## Getting started - -Below offers can get you started with your Django hosting. Our team will get in touch with you as soon as we receive the order. ---- -content1_image: djangohosting.svg ---- -offer1_title: Django Hosting S 42.5 CHF/month ---- -offer1_text: - -* [One time setup fee 30 CHF](https://datacenterlight.ch/product/django-hosting-setup/) -* VM with 1 Core, 2 GB RAM, 10 GB SSD, 100 GB HDD -* Suitable for a development use -* Can be extended with extra HDD space (2 CHF/month per 100 GB) - ---- -offer1_link: https://datacenterlight.ch/product/django-hosting-s/ ---- -offer2_title: Django Hosting M 59 CHF/month ---- -offer2_text: - -* [One time setup fee 30 CHF](https://datacenterlight.ch/product/django-hosting-setup/) -* VM with 2 Core, 4 GB RAM, 20 GB SSD, 200 GB HDD -* Suitable for a small production use -* Can be extended with extra HDD space (2 CHF/month per 100 GB) - ---- -offer2_link: https://datacenterlight.ch/product/django-hosting-m ---- -offer3_title: Django Hosting L 97.5CHF/month ---- -offer3_text: - -* [One time setup fee 30 CHF](https://datacenterlight.ch/product/django-hosting-setup/) -* VM with 4 Core, 8 GB RAM, 50 GB SSD, 500 GB HDD -* Suitable for a standard production use -* Can be extended with extra HDD space (2 CHF/month per 100 GB) - ---- -offer3_link: https://datacenterlight.ch/product/django-hosting-l ---- -content2_text: - -## Get a free quote - -No Django project is exactly the same. It can be very helpful to have a chat with our team when you want to find the suitable setting for your new Django hosting. We invite you to reach out to **support -at- ungleich.ch**. - -For technical details you can check the -[Django Hosting article in the Open Infrastructure -project](https://redmine.ungleich.ch/projects/open-infrastructure/wiki/Django-Hosting). - -## Related products - -* [Webhosting for static files](../zerocarbon-webhosting-with-ipv6/) +* Setup fee is 35 CHF +* Monthly fee is 20 CHF + price of the VM + * Typical development VM: 1 cores, 2 GB RAM, 10 GB SSD + * Typical small prod VM: 2 cores, 4 GB RAM, 20 GB SSD + * Typical default prod VM: 4 cores, 8 GB RAM, 50 GB SSD +* All VMs can be extended with extra HDD space diff --git a/content/u/products/dns-server-as-a-service/contents.lr b/content/u/products/dns-server-as-a-service/contents.lr deleted file mode 100644 index 9473b1e..0000000 --- a/content/u/products/dns-server-as-a-service/contents.lr +++ /dev/null @@ -1,107 +0,0 @@ -_discoverable: no ---- -_hidden: no ---- -title: DNS Server (as a service) ---- -subtitle: Manage your own DNS records ---- -headline1: Unlimited domains ---- -headline2: GitOps flow ---- -headline3: Worry free DNS ---- -header_background_color: #1393B4 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -FIXMEimage: /u/image/cards/supportsystem.jpg ---- -feature1_title: Scalable ---- -feature1_text: -Need just a single DNS server? Easy, we got you covered. -Need 2, 3 or many more DNS servers? No problem, deploy and manage them -exactly the same. ---- -feature2_title: Made for developers with GitOps ---- -feature2_text: -How should one manage DNS zones? What kind of configuration utility -should one use? There is a simple answer to this: none at all. Simply -commit your DNS zones to a git repository, push it - done. Everything -else is taken care of by the our infrastructure. ---- -feature3_title: Concentrate your core business ---- -feature3_text: Don't worry - be happy -With the hosted DNS server you can focus on your -core business. The system upgrade and maintaenance is taken cared by us. ---- -content1_text: - -## DNS Server as a Service (DNSSaaS) - -This service allows you to manage DNS entries on your own DNS -servers. You manage zone files and zone records in the standard BIND -format. - -### Not included - -This service does not register a domain or manage your SSL -certificates. It is purely allowing you to manage your DNS zones files -without having to run your own DNS server. - -The DNS server does not support IXFR or AXFR request. The -distribution of DNS information is assumed to be done by other means -such as git. - -## Features - -The provided DNS servers are reachable via IPv6 and IPv4. -The DNS servers are configured to pull from the configured repository -every 5 minutes. - -If you order more than one DNS server, we offer to place them into -different data centers and IP ranges. - -## How to use the DNS servers - -There are a few simple steps required: - -* Create a git repository anywhere you want - for instance on - [code.ungleich.ch](https://code.ungleich.ch) with an [ungleich - account](https://account.ungleich.ch). -* Create the zone files in the directory "zones/" -* Every file in the zones/ directory becomes a zone served by the DNS - server -* The zone ("domain") is infered from the filename -* Symbolic links are supported, so you can have different zones with - the same content - - -## Fully Open Source and IPv6 enabled - -The DNS is completely based on Open -Source Software components. From the operating system to the software -stack, nothing is closed. This service is based -on [Knot-DNS](https://www.knot-dns.cz/). - -## Zero Carbon - -The DNS servers are running in our [Zero Carbon -Data Center.](httsp://datacenterlight.ch) - -## Pricing - -The hosted DNS server including IPv6 and IPv4 reachability is 17 -CHF/month with a 25 CHF setup fee. - -## How to order - -As the support system can be setup for very different use cases, we -recommend to contact us at **support -at- ungleich.ch** to discuss how -you would like to have your system setup. diff --git a/content/u/products/giftcard/1000eyes-collage.jpg b/content/u/products/giftcard/1000eyes-collage.jpg deleted file mode 100644 index 8e74acc..0000000 Binary files a/content/u/products/giftcard/1000eyes-collage.jpg and /dev/null differ diff --git a/content/u/products/giftcard/contents.lr b/content/u/products/giftcard/contents.lr deleted file mode 100644 index 7b9622c..0000000 --- a/content/u/products/giftcard/contents.lr +++ /dev/null @@ -1,60 +0,0 @@ -_discoverable: yes ---- -_hidden: no ---- -title: ungleich Gift Card ---- -subtitle: A sustainable and Open Source Gift ---- -headline1: Zero Carbon ---- -headline2: Open Source ---- -headline3: Gift Card ---- -header_background_color: #48BE75 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -image: /u/image/cards/giftcard.jpg ---- -content1_text: - -## A Zero Carbon, Open Source Gift Idea - -A Gift made in Switzerland with 100% renewable energy, Open Source technology and a lot of love. Give something sustainable and cutting-edge to your family, friends, coworkers. ---- -content1_image: giftcard.jpg ---- -content2_text: - -## Usable for all our star products - -With our Gift Card you can let the card holder choose any of our products: the full list can be seen [here.](https://ungleich.ch/en-us/cms/ungleich-gift-card) The Gift Card is valid for 24 months. - - -## Price - -The price of our Gift Card starts with as little as 30 CHF. This is also an awesome way to try our products hassle-free. - -- Buy [30 CHF Gift Card](https://ungleich.ch/product/giftcard-30/) -- Buy [50 CHF Gift Card](https://ungleich.ch/product/giftcard-50/) -- Buy [70 CHF Gift Card](https://ungleich.ch/product/giftcard-70/) -- Buy [100 CHF Gift Card](https://ungleich.ch/product/giftcard-100/) -- Buy [150 CHF Gift Card](https://ungleich.ch/product/giftcard-150/) -- Buy [200 CHF Gift Card](https://ungleich.ch/product/giftcard-200/) -- Buy [250 CHF Gift Card](https://ungleich.ch/product/giftcard-250/) -- Buy [300 CHF Gift Card](https://ungleich.ch/product/giftcard-300/) - -## How to use the Gift Card - -1. Choose a gift card amount and go through the checkout. -2. Drop us an email to giftcard@ungleich.ch and let us know the name and email of gift card receiver. -3. We will get in touch with the gift card receiver and help them to use the gift card. - ---- -content2_image: giftcard-products.jpg ---- - diff --git a/content/u/products/giftcard/giftcard-products.jpg b/content/u/products/giftcard/giftcard-products.jpg deleted file mode 100644 index 5bc176a..0000000 Binary files a/content/u/products/giftcard/giftcard-products.jpg and /dev/null differ diff --git a/content/u/products/giftcard/giftcard.jpg b/content/u/products/giftcard/giftcard.jpg deleted file mode 100644 index 6092ee7..0000000 Binary files a/content/u/products/giftcard/giftcard.jpg and /dev/null differ diff --git a/content/u/products/hosted-gitlab/contents.lr b/content/u/products/hosted-gitlab/contents.lr deleted file mode 100644 index 451eda5..0000000 --- a/content/u/products/hosted-gitlab/contents.lr +++ /dev/null @@ -1,113 +0,0 @@ -_discoverable: no ---- -_hidden: no ---- -title: Zero Carbon Webhosting ---- -subtitle: Host your page without negative climate effects ---- -image: /u/image/cards/zerocarbonwebhosting.jpg ---- -header: - -#### generic-header #### -headers: - -Zero Carbon -Web -Hosting ----- -primary_color: #7B95D4 ----- -header_color: text-light ----- -nav_link_color: navbar-dark ---- -content1_text: - -##Webhosting made clean - -Are you looking for a climate neutral, sustainable and future-proven -static webhosting? Are you interested in serving a small website or -even huge files? Search no more, we have it. - -## Zero Carbon Webhosting Plans - -You can start Zero Carbon Webhosting with below plans. The cost is made of two parts, a one-time initial setup fee and the monthly plan you choose. Our team will get in touch with you as soon as we receive the order and will give you the access to the cloud in 1 business day. Growing your webhosting after starting a plan is very easy and can be done anytime. ---- -content1_image: /u/image/zerocarbon-webhosting.jpg ---- -content2_text: - -## Custom Offers - -Above specs don't match what you need? Get in touch with us and let us know what you need, we'll come back to you with a custom offer. Send us a mail to support@datacenterlight.ch or you can talk to us directly at [our chat.](https://chat.with.ungleich.ch) ---- -content2_image: /u/image/penguin-webhosting.jpg ---- -feature1_title: Easy ---- -feature1_text: - -Webhosting can be so easy. That's what we think and that's what you -should get. You can login to our webhost with your -standard credentials and just upload your pages. ---- -feature2_title: Secure ---- -feature2_text: - -We believe that security is a first-class citizen: we take security serious from the beginning. All your data is uploaded -encrypted and uses the state-of-the art SFTP protocol. ---- -feature3_title: Zero Carbon ---- -feature3_text: -The web sites are hosted in our [own -datacenter](/u/projects/data-center-light/) in Switzerland, which we believe to -be as ecologically-friendly as a datacenter can get: we reuse old factory halls, -reuse hardware, only do passive cooling and are directly plugged into a -hydroelectric power plant. - ---- -offer1_title: Webhosting-S 9 CHF/Month ---- -offer1_text: - -* 100 GB space -* SFTP access -* IPv6 and legacy IP reachable -* Data storage replicated 3 times -* [10 CHF Setup fee](https://ungleich.ch/product/0carbonwebhosting-setup/) -* Suitable for starting - ---- -offer1_link: https://ungleich.ch/product/0carbonwebhosting-s/ ---- -offer2_title: Webhosting-M 22.5 CHF/Month ---- -offer2_text: - -* 1000 GB space -* SFTP access -* IPv6 and legacy IP reachable -* Data storage replicated 3 times -* No Setup fee -* Suitable for most websites - ---- -offer2_link: https://ungleich.ch/product/0carbonwebhosting-m/ ---- -offer3_title: Webhosting-L 157.5 CHF/Month ---- -offer3_text: - -* 10TB space -* SFTP access -* IPv6 and legacy IP reachable -* Data storage replicated 3 times -* No Setup fee -* Suitable for websites publishing big data - ---- -offer3_link: https://ungleich.ch/product/0carbonwebhosting-l/ diff --git a/content/u/products/hosted-matrix-chat/contents.lr b/content/u/products/hosted-matrix-chat/contents.lr index 778b11b..3d8a2bd 100644 --- a/content/u/products/hosted-matrix-chat/contents.lr +++ b/content/u/products/hosted-matrix-chat/contents.lr @@ -4,15 +4,13 @@ _hidden: no --- title: Hosted Matrix Chat --- -subtitle: Federated, decentralised & end-to-end encrypted chat +subtitle: Easy, decentralised & end-to-end encrypted chat --- -image:/u/image/cards/matrix-hot.jpg +image:/u/image/cards/zerocarbonmatrix.jpg --- -headline1: E2EE +headline1: Open, Secure --- -headline2: Federated ---- -headline3: Zero carbon Matrix +headline2: Decentralized Chat --- header_background_color: #1BC0A1 --- @@ -25,7 +23,8 @@ description1:

What is Matrix?

Matrix is a modern and decentralised, -open-source chat solution backed by a dynamic community. It provides advanced user-focused features such as end-to-end encryption, bridging or audio +open-source chat solution backed by a dynamic community. It provides many +advanced user-focused features such as end-to-end encryption, bridging or audio & video calls.

@@ -36,22 +35,23 @@ open-source chat solution backed by a dynamic community. It provides advanced us
  • - The strongest point of Matrix is federation: a Matrix homeserver allows you to manage your own community and to join the whole + The strongest point of Matrix is federation: a Matrix homeserver - which is + what we offer - allows to manage your own community... and to join the whole Matrix network. You will be able to exchange with users on any other Matrix server without any special configuration!
  • - You can enable end-to-end encryption (E2EE): only the sender and - intended receiver(s) will be able to read the messages. Even ungleich, who + End-to-end encryption (E2EE) means that - when enabled - only the sender and + intended receiver(s) will be able to read the messages: even ungleich, who manages the matrix server, will not be able to access the content of E2EE messages.
  • - Our Matrix servers are provided with a TURN server: you'll be + Our Matrix servers are provided with a TURN server, meaning that you'll be able to use voice and video calls out of the box.
  • - You can bridge to other networks: Mattermost instances, IRC, + We support bridging to other networks such as Mattermost instances, IRC, Slack, Telegram and more via Matterbridge.
  • @@ -69,7 +69,7 @@ feature1_text: The evolution of Matrix is managed through an open governance process, supervised by [The Matrix.org Foundation](https://matrix.org/foundation). -All the software backing the network is [Free and Open +Moreover, all the software backing the network is [Free and Open Source](https://en.wikipedia.org/wiki/Free_and_open-source_software), which guarantees quality and security. @@ -78,9 +78,9 @@ feature2_title: Secure & decentralized --- feature2_text: -Matrix incorporates both End-to-end Encryption and federation. End-to-end encryption -is activated by default for private conversations, rendering it an essential tool -for activists and privacy-conscious individuals worldwide. +Both end-to-end encryption and federation are *built-in* into Matrix. The +former will be enabled by default in the near future, making it a valuable tool +for activists and privacy-minded people all across the world. --- feature3_title: Zero Carbon @@ -88,8 +88,8 @@ feature3_title: Zero Carbon feature3_text: We host your Matrix homeserver in our [own datacenter](/u/projects/data-center-light/) in Switzerland, which we believe to -be as ecologically-friendly as a datacenter can get: we use old factory halls, -recycled servers, passive cooling and our servers are directly plugged into a +be as ecologically-friendly as a datacenter can get: we use old buildings, +second-hand hydroelectric, passive cooling and are directly plugged into a hydroelectric power plant. --- @@ -101,12 +101,13 @@ description3:
-

Wide adoption

-

Matrix is widely adopted by governments and companies across the world. - Governments in countries such as Germany, - France, Sweden, - Luxembourg - and numerous NGOs have chosen Matrix as their communication tool.

+

Growing fast!

+

As of February 2020, the Matrix network supports ~13.5M visible + accounts, ~5.0M messages a day, ~40.000 federated servers and even governments!

+ +

A lot of privacy, security and usability work is going on... which + means that Matrix will get even more awesome in the coming months!

You can follow the Matrix.org blog to get frequent updates on Matrix's development, and chat with @@ -123,47 +124,38 @@ description3:

Hosted Matrix Chat

-

We provide you with your own dedicated Matrix home server, as well as +

We will provide you with your own dedicated Matrix 'Home Server', as well as a hosted web client. Matrix requires a domain name in order to join the global networks, which will appear in your username (e.g. @penguin:example.0co2.cloud): you can either use a subdomain of - 0co2.cloud (e.g. example.0co2.cloud) or your own domain name. + 0co2.cloud (e.g. example.0co2.cloud) or your own domain name. We + will deploy a Matterbridge) + instance (bridging to Mattermost, IRC, Slack, Telegram, ...) on demand.

There are many Matrix clients, although we strongly recommend Element web which is the most - advanced at the moment. + href="https://about.riot.im/features">Riot which is the most + advanced at the moment. Be aware, however, that you might be a bit + confused with its UI/UX at first (there is ongoing work to improve + onboarding): we encourage you to try + Riot/Matrix first if your are not already familiar with it.

-

How the pricing works

- -

We try to be as transparent as possible for our Matrix pricing. The pricing is made of 2 essential parts. -

-
    -
  • - a one-time set up fee for initially setting up the Matrix instance for you. We set up the Matrix and also customize* the login page with your own logo and text. -
  • -
  • - a monthly maintenance fee that includes the price of a dedicated virtual machine(VM)** and the fee for maintaining the service. -
  • -
-

- You're all set with above 2 costs for starting your own Matrix. -

- -

- * Further customization such as favicon, background and more is possible at additional fee, get in touch with us to learn more. -

-

- ** The number of users or size of rooms depend on the size of your VM, and you can scale them anytime you want. The extention will be done according to our standard VM pricing. -

+

Transparent Costs

+

The cost of our Matrix-as-a-Service offer is divided between a base maintenance + fee and the price of the dedicated Virtual Machine (VM) we deploy for you in + our own datacenter. There is no artifical + restriction on the number of users or size of rooms: the only limit is the + resources we allocate to your node. We will extend them on demand, following + the pricing model (CPU, RAM, Disk) of our VM + offer.

- Your usecase doesn't fit the offers below? We do custom-sized deployment for you. Get in touch with us by + We also offer custom-sized deployment. You can discuss our offer with us by email or even on matrix, via #matrix:ungleich.ch!
@@ -181,140 +173,39 @@ closer to what you expect for a enterprise team chat at the moment. We use both at ungleich, since Matrix is especially convenient to reach out to the world!
-## Matrix Light - -Matrix Light is an economic and practical plan for using Matrix chat. If you are not familiar with Matrix and want to start chatting on it you can start with Matrix Light plans. You can easily upgrading to bigger Matrix Light or to Matrix Pro anytime you want. - --- -offer1_title: Matrix Light 1 (48.5 CHF/Month) +offer1_title: Matrix-S 36 CHF/Month --- offer1_text: -* Suitable for chatting with up to 25 users * VM with 1 Core, 2 GB RAM, 10 GB SSD and 100 GB HDD -* Maintenance fee 30 CHF/month included * Application firewall included -* [Initial setup fee 50 CHF](https://ungleich.ch/product/matrix-setup/) +* [Initial setup fee 30 CHF](https://ungleich.ch/product/0carbonchat-setup/) +* Maintenance fee 20 CHF/month --- -offer1_link: https://ungleich.ch/product/matrix-light-1/ +offer1_link: https://ungleich.ch/product/hosted-matrix-s/ --- -offer2_title: Matrix Light 2 (67.5 CHF/Month) +offer2_title: Matrix-M 63 CHF/Month --- offer2_text: -* Suitable for chatting with up to 50 users * VM with 2 Core, 4 GB RAM, 10 GB SSD and 500 GB HDD -* Maintenance fee 30 CHF/month included * Application firewall included -* [Initial setup fee 50 CHF](https://ungleich.ch/product/matrix-setup/) - +* [Initial setup fee 30 CHF](https://ungleich.ch/product/0carbonchat-setup/) +* Maintenance fee 30 CHF/month --- -offer2_link: https://ungleich.ch/product/matrix-light-2/ +offer2_link: https://ungleich.ch/product/hosted-matrix-m/ --- -offer3_title: Matrix Light 3 (93.5 CHF/Month) +offer3_title: Matrix-L 157 CHF/Month --- offer3_text: -* Suitable for chatting with up to 100 users -* VM with 2 Core, 8 GB RAM, 10 GB SSD and 1000 GB HDD -* Maintenance fee 30 CHF/month included +* VM with 8 Core, 16 GB RAM, 10 GB SSD and 1000 GB HDD * Application firewall included -* [Initial setup fee 50 CHF](https://ungleich.ch/product/matrix-setup/) - +* [Initial setup fee 30 CHF](https://ungleich.ch/product/0carbonchat-setup/) +* Maintenance fee 50 CHF/month --- -offer3_link: https://ungleich.ch/product/matrix-light-3/ ---- -content2_text: - -## Matrix Pro - -For communities with more frequent and dynamic use, we recommend Matrix Pro plans. Matrix Pro Chat offers fast reaction and optimal perfomance. Matrix Pro is designed to fit the nature of Matrix which benefits a lot from memory caching. - ---- -offer4_title: Matrix Pro 1 (109.5 CHF/Month) ---- -offer4_text: - -* Suitable for communities up to 50 users -* VM with 2 Cores, 16 GB RAM, 10 GB SSD and 200 GB HDD -* Maintenance fee 30 CHF/month included -* Application firewall included -* [Initial setup fee 50 CHF](https://ungleich.ch/product/matrix-setup/) - ---- -offer4_link: https://ungleich.ch/product/matrix-pro-1/ ---- -offer5_title: Matrix Pro 2 (323.5 CHF/Month) ---- -offer5_text: - -* Suitable for communities with 50-100 users -* VM with 4 Core, 64 GB RAM, 10 GB SSD and 1000 GB HDD -* Maintenance fee 30 CHF/month included -* Application firewall included -* [Initial setup fee 50 CHF](https://ungleich.ch/product/matrix-setup/) - - ---- -offer5_link: https://ungleich.ch/product/matrix-pro-2/ ---- -offer6_title: Matrix Pro 3 (959.5 CHF/Month) ---- -offer6_text: - -* Suitable for communities with more than 100 users -* VM with 8 Core, 200 GB RAM, 10 GB SSD and 5000 GB HDD -* Maintenance fee 30 CHF/month included -* Application firewall included -* [Initial setup fee 50 CHF](https://ungleich.ch/product/matrix-setup/) - - ---- -offer6_link: https://ungleich.ch/product/matrix-pro-3/ ---- -content4_text: - -## Matterbridge option - -You can use [matterbridge](https://github.com/42wim/matterbridge) for -bridging to other networks. -Matterbridge can be set up with a one-time fee of **25 CHF per connected -protocol** and **5 CHF/month and protocol** maintenance fee -(with the exception of WhatsApp, see below). -Matterbridge supports the following protocols: - -* Discord -* Gitter -* IRC -* Keybase -* Matrix -* Mattermost 4.x, 5.x -* Rocket.chat -* Slack -* Ssh-chat -* Steam -* Telegram -* Twitch -* XMPP -* Zulip - -### WhatsApp Bridge - -As WhatsApp requires additional resources, the pricing for the -WhatsApp bridge is - -* 75 CHF one-time setup fee -* 15 CHF/month - -## Custom Matrix Development - -You can seamlessly integrate your Matrix instance with your other projects and apps, leveraging Matrix's security and federation features to match your specific needs. Share your ideas with us, and we'll guide you in tailoring your Matrix setup. - -* [Explore further about Custom Matrix Development](https://ungleich.ch/u/products/matrix-custom-development/) - ---- -content4_image: matrix-bridge-irc.jpg ---- +offer3_link: https://ungleich.ch/product/hosted-matrix-l/ diff --git a/content/u/products/hosted-matrix-chat/matrix-bridge-irc.jpg b/content/u/products/hosted-matrix-chat/matrix-bridge-irc.jpg deleted file mode 100644 index f966579..0000000 Binary files a/content/u/products/hosted-matrix-chat/matrix-bridge-irc.jpg and /dev/null differ diff --git a/content/u/products/hosted-support-system/contents.lr b/content/u/products/hosted-support-system/contents.lr deleted file mode 100644 index 6079982..0000000 --- a/content/u/products/hosted-support-system/contents.lr +++ /dev/null @@ -1,86 +0,0 @@ -_discoverable: yes ---- -_hidden: no ---- -title: Hosted Support System ---- -subtitle: Easy and transparent support ---- -headline1: Easy to use ---- -headline2: Great support ---- -headline3: Reducing workload ---- -header_background_color: #1393B4 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -image: /u/image/cards/supportsystem.jpg ---- -feature1_title: Great customer support ---- -feature1_text: With our hosted support system you can manage support -requests easily. Customer requests are tracked and can easily be -assigned to your team to work on. ---- -feature2_title: Easy to use ---- -feature2_text: Support needs to be transparent, efficient and of worth -for your users. Our hosted support system works smoothly to make most -of your time while providing the best support to your customers. ---- -feature3_title: Managed Support System ---- -feature3_text: With the hosted support system you can focus on your -core business. The system upgrade and maintaenance is taken cared by us. ---- -content1_text: - - -## A Support System - -The hosted support system enables you to easily organise support requests. You can - -* Receive requests from your customers -* Organise tickets in different groups -* Assign tickets to your team -* Reply to your customers directly -* Have an auto responder ("Thanks for reaching out") -* Easily handle spams - -## How to use it - -With our hosted support system you get a url such as -https://support.ungleich.ch. Your team can login to the system and -work on requests. Your customers or users can either correspond with -you via email or login to the support system directly to manage -their tickets. - -## Fully Open Source and IPv6 enabled - -The hosted support system is completely based on Open -Source Software components. From the operating system to the software -stack, nothing is closed. - -Tech Stack - -* [Alpine Linux](https://alpinelinux.org/) -* [PostgreSQL](https://www.postgresql.org/) -* [cdist](https://cdi.st) -* [RT](https://bestpractical.com/request-tracker) from Best Practical - - - -## Zero Carbon - -The hosted support system is running in our [Zero Carbon -Data Center.](httsp://datacenterlight.ch) - -## How to order - -As the support system can be setup for very different use cases, we -recommend to contact us at **support -at- ungleich.ch** to discuss how -you would like to have your system setup. diff --git a/content/u/products/ipv4-as-a-service/contents.lr b/content/u/products/ipv4-as-a-service/contents.lr deleted file mode 100644 index cf1db4c..0000000 --- a/content/u/products/ipv4-as-a-service/contents.lr +++ /dev/null @@ -1,168 +0,0 @@ -_discoverable: yes ---- -_hidden: no ---- -title: IPv4 as a Service ---- -subtitle: Your static IPv4 address ---- -image: /u/image/cards/ipv4asaservice.jpg ---- -headline1: Your IPv4 address ---- -headline2: With a VPN ---- -headline3: Usable anywhere ---- -header_background_color: #4FB578 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -feature1_title: Your own IPv4 address ---- -feature1_text: -Do you need a publicly reachable IPv4 address? Does somebody want to -whitelist you in their firewall? This static IPv4 address can be used -anywhere you need to be reliable, and reachable. - ---- -feature2_title: Next gen service ---- -feature2_text: -Are you behind a NAT or even CGNAT? Do you only get a dynamic IPv4 -address? Are all your resources IPv6 only and you just need 1 IPv4 -address to map to the old Internet? All of these situations can be -solved with an IPv4 address as a service. ---- -feature3_title: Works anywhere ---- -feature3_text: To deliver the IPv4 address we are using the state of the -art VPN based on the Wireguard technology. This allows you to take -your IPv4 address everywhere. Even behind NAT. It just requires UDP -traffic to pass. ---- -content1_text: - -## How to get your static IPv4 address - -To get a static IPv4, you simply connect your computer to our VPN -server using the [wireguard](https://www.wireguard.com/) -technology. You can use the IPv4 address anywhere in the world. On -your notebook, on a server, on a router or even on a -[VIIRB](/u/products/viirb-ipv6-box/)! - - -## Using it for IPv6 only and private IPv4 address VMs - -If your VM does not have a public IPv4 address, you can use this -service to make your VM reachable via IPv4. - -## Reverse DNS included - -You can also setup reverse DNS entries. Drop a mail to support -at ungleich.ch with your DNS name, and we will set it up for you. - -## IPv4 VPN with your own static IPv4 address - -You can use IPv4 as a service like a traditional VPN. Compared to -other VPN providers, you get your own dedicated IPv4 address. The -traffic to this IPv4 address is not shared and only your traffic is -emitted from it. - -## /48 IPv6 network included for free - -The IPv4-as-a-Service product includes an IPv6 network -as described on the [IPv6 VPN](/u/products/ipv6-vpn/) page. We believe -that every service should include IPv6 support. - -## Ordering - -Our standard IPv4 as a Service offer is made of yearly subscription with a one-time setup fee. Our team will get in touch with you for setup as soon as we receive the order. - ---- -content1_image /u/image/ipv6-vpn-ungleich-swiss.jpg ---- -offer1_title: 1x static IPv4 address 168 CHF/year ---- -offer1_text: - -* IPv4 address registered in Switzerland -* Static, dedicated address -* Secured with wireguard -* /48 IPv6 network included for free -* 80 bit of IPv6 space -* Encrypted traffic until exit node in Switzerland -* with a /48 network -* [1 time setup fee 30 CHF](https://datacenterlight.ch/product/4aas-setup/) - ---- -offer1_link: https://datacenterlight.ch/product/1x-static-ipv4-address/ ---- -offer2_title: 2x static IPv4 addresses 336 CHF/year ---- -offer2_text: - -* Includes 2 IPv4 addresses -* IPv4 addresses registered in Switzerland -* Static, dedicated address -* Secured with wireguard -* /48 IPv6 network included for free -* 80 bit of IPv6 space -* Encrypted traffic until exit node in Switzerland -* with a /48 network -* You save 8 CHF/year -* Other features same as the regular offer -* [1 time setup fee 30 CHF](https://datacenterlight.ch/product/4aas-setup/) - ---- -offer2_link: https://datacenterlight.ch/product/2x-static-ipv4-addresses/ ---- -offer3_title: For DataCenterLight customers 110 CHF/year ---- -offer3_text: - -* Usable only with VMs from IPv6OnlyHosting.com or DataCenterLight.ch -* Other features same as the regular offer -* [1 time setup fee 30 CHF](https://datacenterlight.ch/product/4aas-setup/) - ---- -offer3_link: https://datacenterlight.ch/product/1x-static-IPv4-address-for-dcl-customers/ ---- -content2_text: - -## Monthly IPv4 as a Service - -If you want to try the IPv4 as a service for a shorter period for test purpose, you can opt for a monthly plan. You can switch it to a yearly plan anytime, there will be no additional setup fee charged in such cases. - ---- -offer4_title: 1x static IPv4 address 20 CHF/month ---- -offer4_text: - -* IPv4 address registered in Switzerland -* Static, dedicated address -* Secured with wireguard -* /48 IPv6 network included for free -* 80 bit of IPv6 space -* Encrypted traffic until exit node in Switzerland -* with a /48 network -* [1 time setup fee 30 CHF](https://datacenterlight.ch/product/4aas-setup/) - ---- -offer4_link: https://datacenterlight.ch/product/ipv4-as-a-service-monthly/ ---- -content4_text: - -## Related products - -* The [IPv4-to-IPv6 proxy](/u/products/ipv4-to-ipv6-proxy/) enables - IPv6 only websites to be reachable from the IPv4 world. -* The [IPv6VPN](/u/products/ipv6-vpn/) brings IPv6 anywhere - ---- - - - - diff --git a/content/u/products/ipv4-to-ipv6-proxy/contents.lr b/content/u/products/ipv4-to-ipv6-proxy/contents.lr index 2beff03..0439a2f 100644 --- a/content/u/products/ipv4-to-ipv6-proxy/contents.lr +++ b/content/u/products/ipv4-to-ipv6-proxy/contents.lr @@ -8,7 +8,7 @@ subtitle: Make your IPv6 resources reachable from the IPv4 world --- image: /u/image/cards/ipv4-ipv6-proxy.jpg --- -headline1: IPv4 to +headline1: IPv4 to --- headline2: IPv6 Proxy --- @@ -49,17 +49,4 @@ customers. * Up to 1000 domains: 100 CHF/month (0.1 CHF/domain) * Above 1000 domains: on request -The pricing includes 15 TB traffic/month. - -## Related products - -If you are providing services that are only reachable by IPv4 and want -to make them accessible by IPv6, our [IPv6-to-IPv4 -Proxy](../ipv6-to-ipv4-proxy/) helps you to accomplish the opposite -translation. - -## Technical documentation - -Technical details about the service can be found on -[the redmine -wiki](https://redmine.ungleich.ch/projects/open-infrastructure/wiki/How_to_use_the_IPv4-to-IPv6-Proxy). +The pricing includes traffic. diff --git a/content/u/products/ipv6-autonomous-security-system/contents.lr b/content/u/products/ipv6-autonomous-security-system/contents.lr deleted file mode 100644 index a13ec2e..0000000 --- a/content/u/products/ipv6-autonomous-security-system/contents.lr +++ /dev/null @@ -1,103 +0,0 @@ -_model: product ---- -_discoverable: yes ---- -_hidden: no ---- -title: IPv6 Autonomous Security System ---- -subtitle: With VIIRB or VIWIB ---- -image: /u/image/cards/ass.jpg ---- -header_background_color: #23569D ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -headline1: IPv6 ---- -headline2: Autonomous ---- -headline3: Security System ---- -content1_image: ipv6-security-system.jpg ---- -content1_text: - -## IPv6 Autonomous Security System - -Meet our IPv6 Autonomous Security System - you can reach and track your target from anywhere you are via IPv6 directly. The data goes from your security system via [IPv6 VPN](https://ipv6vpn.ch) to you without compromises. - -## About the product - -The IPv6 Autonomous Security System can be used with VIIRB or VIWIB. VIIRB is the world's smallest IPv6 Router, and VIWIB is a slightly bigger version of VIIRB with a reliable WiFi. Both VIIRB or VIWIB can be of course used on its own, with or without Autonomous Security System. To learn more what these powerful little router boxes can do, check out their product pages. - -- [VIIRB: VPN IPv6 IoT Router Box](https://ungleich.ch/u/products/viirb-ipv6-box/) -- [VIWIB: VPN IPv6 WiFi IoT Box](https://ungleich.ch/u/products/viwib-wifi-ipv6-box/) - -## What it contains - -The IPv6 Autonomous Security System contains - -- 1 USB Hub -- 1 LTE/4G Router (Internet Uplink, excluding SIM card) -- GPS Tracker -- USB Camera -- 1 VIIRB or VIWIB - -## Price - -The IPv6 Autonomous Security System works as an add-on to the VIIRB or VIWIB. - -| Product | Price | -| --------- | ------ | -| VIIRB Security System (includes 1 VIIRB) | 223 CHF | -| VIWIB Security System (includes 1 VIWIB) | 218 CHF | - - - -## Shipping cost - -We ship world wide. If your country of residence is not in the list below, get in touch with our support and we will let you know the shipping cost. - - -| Country | Economy (no tracking) | Priority (with tracking) | -|---------------------------------|--------------------------------|------------------------------| -| Switzerland | 10 CHF | 14 CHF| -| Denmark, Finland, France, | 14 CHF | 24 CHF| -| Germany, Great Britain, Iceland | 14 CHF | 24 CHF| -| The Netherlands, Romania, Spain | 14 CHF | 24 CHF| -| Sweden, Italy, Czech Republic | 14 CHF | 24 CHF| -| South Korea | 16 CHF | 29 CHF| -| Canada, US, India, Australia | 23 CHF | 29 CHF| - - -## How to buy it - -You can order from the URLs below and send us your shipping address to support-at-datacenterlight.ch. - - -**VIIRB Autonomous Security System** - -* [Order VIIRB Autonomous Security System to Denmark, Finland, France, Germany, Great Britain, Iceland, The Netherlands, Romania, Spain, Sweden, Italy with priority shipping with tracking](https://datacenterlight.ch/product/viirb-ass-eu-tracked/) - -* [Order VIIRB Autonomous Security System to Denmark, Finland, France, Germany, Great Britain, Iceland, The Netherlands, Romania, Spain, Sweden, Italy with economy shipping without tracking](https://datacenterlight.ch/product/viirb-ass-eu/) - -* [Order VIIRB Autonomous Security System to Switzerland](https://datacenterlight.ch/product/viirb-ass-ch/) - -* [Order VIIRB Autonomous Security System to Australia, Canada, India, US](https://datacenterlight.ch/product/viirb-ass-world/) - -**VIWIB Autonomous Security System** - -* [Order VIWIB Autonomous Security System to Denmark, Finland, France, Germany, Great Britain, Iceland, The Netherlands, Romania, Spain, Sweden, Italy with priority shipping with tracking](https://datacenterlight.ch/product/viwib-ass-eu-tracked//) - -* [Order VIWIB Autonomous Security System to Denmark, Finland, France, Germany, Great Britain, Iceland, The Netherlands, Romania, Spain, Sweden, Italy with economy shipping without tracking](https://datacenterlight.ch/product/viwib-ass-eu/) - -* [Order VIWIB Autonomous Security System to Switzerland](https://datacenterlight.ch/product/viwib-ass-ch/) - -* [Order VIWIB Autonomous Security System to Australia, Canada, India, US](https://datacenterlight.ch/product/viwib-ass-world/) - - ---- diff --git a/content/u/products/ipv6-autonomous-security-system/ipv6-security-system.jpg b/content/u/products/ipv6-autonomous-security-system/ipv6-security-system.jpg deleted file mode 100644 index 8c384c5..0000000 Binary files a/content/u/products/ipv6-autonomous-security-system/ipv6-security-system.jpg and /dev/null differ diff --git a/content/u/products/ipv6-camera/1000eyes-collage.jpg b/content/u/products/ipv6-camera/1000eyes-collage.jpg deleted file mode 100644 index 8e74acc..0000000 Binary files a/content/u/products/ipv6-camera/1000eyes-collage.jpg and /dev/null differ diff --git a/content/u/products/ipv6-camera/1000eyes-vertical.jpg b/content/u/products/ipv6-camera/1000eyes-vertical.jpg deleted file mode 100644 index 0517fb1..0000000 Binary files a/content/u/products/ipv6-camera/1000eyes-vertical.jpg and /dev/null differ diff --git a/content/u/products/ipv6-camera/contents.lr b/content/u/products/ipv6-camera/contents.lr deleted file mode 100644 index f59b70c..0000000 --- a/content/u/products/ipv6-camera/contents.lr +++ /dev/null @@ -1,62 +0,0 @@ -_discoverable: yes ---- -_hidden: no ---- -title: IPv6 Camera ---- -subtitle: World wide reachability & its own IPv6 connectivity ---- -headline1: IPv6 Camera ---- -headline2: 1000ey.es ---- -header_background_color: #73BDDD ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -image: /u/image/cards/ipv6camera.jpg ---- -content1_text: - -## What it is - -Imagine a camera with world wide reachability without any hacks or quirks. That's our IPv6 camera. ---- -content1_image: 1000eyes-collage.jpg ---- -content2_text: - -## IPv6 Camera "The Eye" - -IPv6 Camera, a.k.a "The Eye" works within all kinds of networks: IPv4only, IPv6only, IPv4+IPv6. It even brings its own IPv6 connectivity by using [IPv6VPN](https://ipv6vpn.ch). - -## Name your camera - -When you order your camera you get to choose a cool name for viewing what your camera sees! Any name under the domain 1000ey.es is offered for free. - -## Fully Open Source - -Like everything we do at ungleich, the whole stack is fully Open Source. - -- The operating system: OpenWRT. -- The VPN software: wireguard. -- The video streaming server: mjpg-streamer or motion (still has to be decided for the final shipment). - -All files that are required to configure the IPv6-eye can be found in the ungleich-tools repository. - - -## Price - -- IPv6 Camera is 123 CHF. - - -## How to place an order - -We deliver worldwide. You can place an order to support (at) ungleich.ch with your shipping address. Our team will get back to you with payment information. - ---- -content2_image: 1000eyes-vertical.jpg ---- - diff --git a/content/u/products/ipv6-camera/ipv6-holiday-vertical.jpg b/content/u/products/ipv6-camera/ipv6-holiday-vertical.jpg deleted file mode 100644 index bc579a8..0000000 Binary files a/content/u/products/ipv6-camera/ipv6-holiday-vertical.jpg and /dev/null differ diff --git a/content/u/products/ipv6-car-tracker/contents.lr b/content/u/products/ipv6-car-tracker/contents.lr deleted file mode 100644 index a4ecd3d..0000000 --- a/content/u/products/ipv6-car-tracker/contents.lr +++ /dev/null @@ -1,70 +0,0 @@ -_discoverable: yes ---- -_hidden: no ---- -title: IPv6 Car Tracker ---- -subtitle: Track your Car ---- -headline1: Track your Car ---- -headline2: With IPv6 ---- -headline3: From everywhere ---- -header_background_color: #68B9C4 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -image: /u/image/cards/ipv6-cartracker.jpg ---- -content1_text: - -## Tracking your car - -The IPv6 car tracker is based on the -[VIWIB](/u/products/viwib-wifi-ipv6-box/) with additional add-ons. It -works autonomously using a SIM card and an LTE modem. - -## The IPv6 car tracker package - -The package contains: - -* One VIWIB including 1 year of [IPv6VPN](../ipv6-vpn/) subscription -* One USB HUB -* One USB car charger -* One GPS receiver - -Optional components: - -* USB Camera -* Battery (30'000 mAh) - -Not included: SIM card - -## How to use it - -Simply connect the usb car charger in your car. Then connect the VIWIB - -## Use cases - -### Finding your car by GPS - -You can locate your car anywhere it is with IPv6 and GPS. The VIWIB -exposes the GPS information on the standard GPS port 2947, any -standard GPS visualisation can be used. - -### WiFi in the car - -The VIWIB comes with its **IPv6 everywhere** that you can use to surf -in the car. - -### Seeing your car or the environment - -With the optional camera you can also spot where your car is. Simply -point your browser to port 8080 of your VIWIB and see what is around! - ---- -content1_image: viwib-car-tracker-text.jpg \ No newline at end of file diff --git a/content/u/products/ipv6-car-tracker/viwib-car-tracker-text.jpg b/content/u/products/ipv6-car-tracker/viwib-car-tracker-text.jpg deleted file mode 100644 index 7a3b2e3..0000000 Binary files a/content/u/products/ipv6-car-tracker/viwib-car-tracker-text.jpg and /dev/null differ diff --git a/content/u/products/ipv6-hardware/contents.lr b/content/u/products/ipv6-hardware/contents.lr deleted file mode 100644 index dce0562..0000000 --- a/content/u/products/ipv6-hardware/contents.lr +++ /dev/null @@ -1,418 +0,0 @@ -_discoverable: no ---- -_hidden: no ---- -title: IPv6 Hardware List ---- -subtitle: Enabling your network with IPv6 ---- -headline1: IPv6 Hardware List ---- -headline2: IPv6 Routers - IPv6 VPN ---- -headline3: IPv6 WiFi - IPv6 Cameras ---- -header_background_color: #1BC0A1 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -description1: - -

IPv6 Hardware List

- -

-We at ungleich provide a variety of IPv6 only services. Through the -years we have tested, retested, flashed, upgraded and tested again a -lot of hardware.
- -We want to allow that our IPv6 experiences are a value for everyone -interested in IPv6 networking.
- -For some devices we have taken the opportunity to replace the original -firmware with OpenWRT to give full networking freedom and full IPv6 -support to you. - -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
DeviceDescriptionIPv6VPNWiFiEthernet4G/LTEWireguard SpeedOperating System
VIIRB (58)The world's smallest IPv6 routeryesno1x 100Mbit/sadd-on?OpenWRT
Wired-IPv6-Camera (83)IPv6 Video Streaming (1280x720)optionalno1x 100Mbit/sadd-onN/AOpenWRT
WIVIRB (73)Tiny WiFi enabled IPv6 routeryesyes1x 100Mbit/sadd-on?OpenWRT
Wireless-IPv6-Camera (98)IPv6 Video Streaming (1280x720)optionalyes1x 100Mbit/sadd-onN/AOpenWRT
FIVIRB (79)Fast and Small IPv6 routeryesno5x 1 Gbit/s, POEno200Mbit/sOpenWRT
PIB (300)Professional IPv6 Routeryesyes3x 1 Gbit/sadd-on?OpenWRT
WIAPLITEIPv6 compatible Wifi Access Pointoptional867 Mbit/s (5Ghz), 300 Mbit/s (2.4 Ghz)1x 1 Gbit/sno?OpenWRT
WIAPLRIPv6 compatible Wifi Access Pointoptional866 Mbit/s (5Ghz), 450 Mbit/s (2.4 Ghz)1x 1 Gbit/sno?OpenWRT
WIAPPROIPv6 compatible Wifi Access Pointoptional1300 Mbit/s (5Ghz), 450 Mbit/s (2.4 Ghz)1x 1 Gbit/sno?OpenWRT
-
-
-
- -Additional to support IPv6 properly, due to OpenWRT the devices also -support: - -* prometheus - - -
-
-
- -
-
-
    -
  • - The strongest point of Matrix is federation: a Matrix homeserver allows you to manage your own community and to join the whole - Matrix network. You will be able to exchange with users on any other Matrix - server without any special configuration! -
  • -
  • - You can enable end-to-end encryption (E2EE): only the sender and - intended receiver(s) will be able to read the messages. Even ungleich, who - manages the matrix server, will not be able to access the content of E2EE - messages. -
  • -
  • - Our Matrix servers are provided with a TURN server: you'll be - able to use voice and video calls out of the box. -
  • -
  • - You can bridge to other networks: Mattermost instances, IRC, - Slack, Telegram and more via Matterbridge. -
  • -
-
-
-
- -
- ---- -feature1_title: Open ---- -feature1_text: - -The evolution of Matrix is managed through an open governance process, -supervised by [The Matrix.org Foundation](https://matrix.org/foundation). -All the software backing the network is [Free and Open -Source](https://en.wikipedia.org/wiki/Free_and_open-source_software), which -guarantees quality and security. - ---- -feature2_title: Secure & decentralized ---- -feature2_text: - -Both end-to-end encryption and federation are *built-in* into Matrix. The -former will be enabled by default in the near future, making it a valuable tool -for activists and privacy-minded people all across the world. - ---- -feature3_title: Zero Carbon ---- -feature3_text: -We host your Matrix homeserver in our [own -datacenter](/u/projects/data-center-light/) in Switzerland, which we believe to -be as ecologically-friendly as a datacenter can get: we use old factory halls, -recycled servers, passive cooling and our servers are directly plugged into a -hydroelectric power plant. - ---- -description3: - -
-
-
- -
-
-

Growing fast!

-

As of February 2020, the Matrix network supports ~13.5M visible - accounts, ~5.0M messages a day, ~40.000 federated servers and even governments!

- -

A lot of privacy, security and usability work is going on: Matrix will get even more awesome in the coming months!

- -

You can follow the Matrix.org - blog to get frequent updates on Matrix's development, and chat with - us on #matrix:ungleich.ch! -

-
-
- -
- -
-
-
-

Hosted Matrix Chat

- -

We will provide you with your own dedicated Matrix home server, as well as - a hosted web client. Matrix requires a domain name in order to join the global - networks, which will appear in your username (e.g. - @penguin:example.0co2.cloud): you can either use a subdomain of - 0co2.cloud (e.g. example.0co2.cloud) or your own domain name. We - will deploy a Matterbridge) - instance (bridging to Mattermost, IRC, Slack, Telegram, ...) on demand. -

- -

There are many Matrix - clients, although we strongly recommend Riot which is the most - advanced at the moment. Be aware, however, that you might be a bit - confused with its UI/UX at first (there is ongoing work to improve - onboarding): we encourage you to try - Riot/Matrix first if your are not already familiar with it. -

- -
-
-

How the pricing works

- -

We try to be as transparent as possible for our Matrix pricing. The pricing is made of 2 essential parts. -

-
    -
  • - a one-time set up fee for initially setting up the Matrix instance for you. We set up the Matrix and also customize* the login page with your own logo and text. -
  • -
  • - a monthly maintenance fee that includes the price of a dedicated virtual machine(VM)** and the fee for maintaining the service. -
  • -
-

- You're all set with above 2 costs for starting your own Matrix. -

- -

- * Further customization such as favicon, background and more is possible at additional fee, get in touch with us to learn more. -

-

- ** The number of users or size of rooms depend on the size of your VM, and you can scale them anytime you want. The extention will be done according to our standard VM pricing. -

- - -
- Your usecase doesn't fit the offers below? We do custom-sized deployment for you. Get in touch with us by - email or even on matrix, via #matrix:ungleich.ch! -
-
-
- -

You will find more details -on our Matrix-as-a-Service FAQ and on Matrix's official documentation. -

- -
-You might be also interested in our Mattermost-based chat offer, which might be -closer to what you expect for a enterprise team chat at the moment. We use both -at ungleich, since Matrix is especially convenient to reach out to the world! -
- ---- -offer1_title: Matrix-S 36 CHF/Month ---- -offer1_text: - -* VM with 1 Core, 2 GB RAM, 10 GB SSD and 100 GB HDD -* Maintenance fee 20 CHF/month included -* Application firewall included -* [Initial setup fee 30 CHF](https://ungleich.ch/product/0carbonchat-setup/) - ---- -offer1_link: https://ungleich.ch/product/hosted-matrix-s/ ---- -offer2_title: Matrix-M 63 CHF/Month ---- -offer2_text: - -* VM with 2 Core, 4 GB RAM, 10 GB SSD and 500 GB HDD -* Maintenance fee 30 CHF/month included -* Application firewall included -* [Initial setup fee 30 CHF](https://ungleich.ch/product/0carbonchat-setup/) - - ---- -offer2_link: https://ungleich.ch/product/hosted-matrix-m/ ---- -offer3_title: Matrix-L 157 CHF/Month ---- -offer3_text: - -* VM with 8 Core, 16 GB RAM, 10 GB SSD and 1000 GB HDD -* Maintenance fee 50 CHF/month included -* Application firewall included -* [Initial setup fee 30 CHF](https://ungleich.ch/product/0carbonchat-setup/) - - ---- -offer3_link: https://ungleich.ch/product/hosted-matrix-l/ ---- -description4: - -## Additional offers - -* Bridging to other networks using - [matterbridge](https://github.com/42wim/matterbridge) is a 10 CHF - setup fee and 5 CHF/month maintenance fee. It supports the following protocols: -** Discord -** Gitter -** IRC -** Keybase -** Matrix -** Mattermost 4.x, 5.x -** Microsoft Teams -** Rocket.chat -** Slack -** Ssh-chat -** Steam -** Telegram -** Twitch -** WhatsApp -** XMPP -** Zulip - -## Matrix UI/UX development support program - -On 2020-04-21 we started our new support program to specifically -enhance the UI and UX of Matrix. With this program we want to enhance -the usability of the web client and the apps. - -### How the matrix support program works - -If you want to support UI/UX improvements of Matrix, -you can support the work financially with 15 CHF (roughly about 15 -USD) as a one time or monthly payment (below 15 CHF is costing too -much in transfer fees). - -To do so, write an email with the subject "I want to support the -Matrix UI/UX improvements" to **support -at- ungleich.ch** and include -the amount that you are willing to contribute and whether you want to -pay via credit card or wire transfer. - -Also mention whether you want to be publicly listed as a supporter on -this website. - -### Development and transparency - -All money that comes in will only be used to finance development and -design work related to Matrix. We will continuously -update this website with contributions and which tasks we work on. - -### Why is ungleich doing this? - -We at ungleich think that Matrix has one really, really huge edge over -almost all other solutions: it is really decentralised and -federated. It finally solves the problems of **data silos** that -exists in many places in IT. - -However we do acknowledge that Matrix can benefit a lot from UI/UX -improvements and thus we wanted to create an easy way for anyone to -contribute to it. - -### List of tasks / work - -* [UI/UX improvement suggestions for - matrix](https://redmine.ungleich.ch/issues/7876) diff --git a/content/u/products/ipv6-holiday-kit/contents.lr b/content/u/products/ipv6-holiday-kit/contents.lr deleted file mode 100644 index 565a51e..0000000 --- a/content/u/products/ipv6-holiday-kit/contents.lr +++ /dev/null @@ -1,125 +0,0 @@ -_discoverable: yes ---- -_hidden: no ---- -title: IPv6 Holiday Kit ---- -subtitle: Take a break from IPv4 ---- -headline1: Take a break ---- -headline2: from IPv4 ---- -headline3: IPv6 Holiday Kit ---- -header_background_color: #0B53A8 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -image: /u/image/cards/ipv6holidaykit.jpg ---- -content1_text: - -## What it is - -Off to your holidays and want to take some fun with you? Take our IPv6 Holiday Kit: It's a set of our best IPv6 treats: VIIRB, IPv6 t-shirt, and 3 IPv6 stickers. ---- -content1_image: ipv6-holiday.jpg ---- -content2_text: - -## 1. VIIRB (VPN IPv6 IoT Router Box) - -The [VIIRB](https://viirb.ungleich.ch) is pre-configured with a Wireguard VPN. You can plug in VIIRB and you'll get IPv6 anywhere, anytime. The IPv6 connectivity is provided by -[Data Center Light](https://ungleich.ch/u/projects/data-center-light/). - -VIIRB features - -- Operating System: Linux (OpenWRT) -- Size: 28mm x 30mm x 30mm -- CPU: MT7628, 580 MHz, MIPS 24K -- Memory: 128MB, DDR2, 166MHz -- Storage: 16M NOR on board, support SDXC up to 2TB -- Wifi: 802.11n, 2T2R, speed up to 300Mbps. (disabled by default, if you want Wifi enabled IPv6 holiday kit, you can opt for VIWIB instead of VIIRB) -- Antenna: One U.FL slot, one on board antenna. -- Ethernet: 1 port, up to 100Mbps. -- USB: Support USB 2.0, up to 480MBit/s. -- USB debugging: there is a serial console on the micro USB port -- Audio: 3.5mm jack (in/out) -- Power supply: 3.6V ~ 5.5V, 500mA -- Power Consumption: 74mA wifi standby, 230mA wifi full speed, 5V input. - -Reguar price: 73 CHF - -## 2. IPv6 t-shirt - -What do you want to wear on your IPv6 holiday? IPv6 T-shirt of course, what else. This cotton t-shirt declares your love for IPv6 on the front: and our IPv6 penguin got your back. (Yes, there is the IPv6 penguin printed on the back!) This shirt will certainly make you smile when you put it on. - -- Material: 100% cotton. -- Size: S, M, L, XL (Very few left), 2XL (Very few left) - -The size is on the slimmer side, we advise to take one size up if you like a comfort fit. - -- Limited edition, designed and printed in Switzerland -- Unisex fit. - -Regular price: 50 CHF - -## 3. IPv6 stickers x3 - -Last but not least, we include 3 of our beloved IPv6 stickers in the IPv6 holiday pack. One for your laptop, one for your bike, one for your car. - -- Size: 62mm x 60mm -- Material: Outdoor UV-coated sticker - -Regular price: 12 CHF - -### Bonus: IPv6VPN included - -A free subscription of [IPv6 VPN](../ipv6-vpn) for 1 year is included. This way you can plug in -the VIIRB and just get started with IPv6. - -Regular price: 120 CHF - -## Price - -Our IPv6 holiday kit is only 115 CHF for a limited period while our stock lasts. - -Regular price would be 73 CHF (VIIRB) + 50 CHF (t-shirt) + 12 CHF (stickers) + 120 CHF (VPN) = 255 CHF. You save 140 CHF! - -## Wifi enabled IPv6 Holiday Kit - -You can also opt for [VIWIB](../viwib-wifi-ipv6-box/) instead of VIIRB as your IPv6 Holiday Kit! The price for VIWIB IPv6 Holiday Kit is 110 CHF, just 5 CHF less than the VIIRB kit. - - -### Shipping costs - - -We ship world wide. If your country of residence is not in the list below, get in touch with our support and we will let you know the shipping cost. You can order multiple VIIRBs within the same package. - - -| Country | Economy (no tracking) | Priority (with tracking) | -|---------------------------------|--------------------------------|------------------------------| -| Switzerland, Liechtenstein | 10 CHF | 14 CHF| -| Denmark, Finland, Sweden | 14 CHF | 24 CHF| -| Germany, Austria, France | 14 CHF | 24 CHF| -| Portugal, Italy, Spain | 14 CHF | 24 CHF| -| Latvia, The Netherlands, Iceland | 14 CHF | 24 CHF| -| Romania, Great Britain, Czech Republic | 14 CHF | 24 CHF| -| South Korea | 16 CHF | 29 CHF| -| Canada, US, India, Australia | 23 CHF | 29 CHF| - - -## Ordering - -We deliver worldwide. You can place an order with a credit card and send us an email with your shipping address and your t-shirt size to support -at- ungleich.ch. Payment via wire transfer is also available, get in touch with our support with your shipping address. - -All prices exluding VAT. - ---- -content2_image: ipv6-holiday-vertical.jpg ---- - - diff --git a/content/u/products/ipv6-holiday-kit/ipv6-holiday-vertical.jpg b/content/u/products/ipv6-holiday-kit/ipv6-holiday-vertical.jpg deleted file mode 100644 index bc579a8..0000000 Binary files a/content/u/products/ipv6-holiday-kit/ipv6-holiday-vertical.jpg and /dev/null differ diff --git a/content/u/products/ipv6-holiday-kit/ipv6-holiday.jpg b/content/u/products/ipv6-holiday-kit/ipv6-holiday.jpg deleted file mode 100644 index 0adf774..0000000 Binary files a/content/u/products/ipv6-holiday-kit/ipv6-holiday.jpg and /dev/null differ diff --git a/content/u/products/ipv6-holiday-kit/ipv6-sticker.jpg b/content/u/products/ipv6-holiday-kit/ipv6-sticker.jpg deleted file mode 100644 index 0cf2898..0000000 Binary files a/content/u/products/ipv6-holiday-kit/ipv6-sticker.jpg and /dev/null differ diff --git a/content/u/products/ipv6-holiday-kit/ipv6-tshirt.jpg b/content/u/products/ipv6-holiday-kit/ipv6-tshirt.jpg deleted file mode 100644 index 74d4a1b..0000000 Binary files a/content/u/products/ipv6-holiday-kit/ipv6-tshirt.jpg and /dev/null differ diff --git a/content/u/products/ipv6-holiday-kit/viirb-penguin.jpg b/content/u/products/ipv6-holiday-kit/viirb-penguin.jpg deleted file mode 100644 index 250526e..0000000 Binary files a/content/u/products/ipv6-holiday-kit/viirb-penguin.jpg and /dev/null differ diff --git a/content/u/products/ipv6-mobile-internet-router/contents.lr b/content/u/products/ipv6-mobile-internet-router/contents.lr deleted file mode 100644 index 9f6d298..0000000 --- a/content/u/products/ipv6-mobile-internet-router/contents.lr +++ /dev/null @@ -1,59 +0,0 @@ -_discoverable: yes ---- -_hidden: no ---- -title: IPv6 Mobile Router ---- -subtitle: IPv6 everywhere ---- -headline1: Mobile Internet ---- -headline2: With IPv6 ---- -headline3: From everywhere ---- -header_background_color: #2D436B ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -image: /u/image/cards/ipv6-mobile-router.jpg ---- -content1_text: - -## IPv6 Mobile Internet Router - -Looking for the IPv6 routers that work well with IPv6, are Open Source and fun to use? We heard you. Save your time and nerve for searching endlessly, our IPv6 experts at ungleich did the job for you. Here are three routers we recommend for using with mobile Internet (SIM cards): - -### The smallest: the VIIRB - -The [VIIRB](/u/products/viirb-ipv6-box/) has one Ethernet port and can -be used to provide IPv6 enabled Internet to an existing network. - -Choose this one if you intend to add mobile Internet with IPv6 to one -computer or an existing network. -Usable with Internet speed up to 50 Mbit/s. LAN speed is 100 Mbit/s. - -### The wifi enabler: the VIWIB - -The [VIWIB](/u/products/viwib-wifi-ipv6-box/) has 2 Ethernet ports and -comes with WiFi enabled. In its second ethernet port (WAN), it can -also use an existing network as an uplink. - -Choose this one if you want to have included WiFi. -Usable with Internet speed up to 50 Mbit/s. LAN speed is 100 Mbit/s. - - -### The professional: the VIGIR - -The [VIGIR](/u/products/vigir/) is the most professional IPv6 router -from ungleich. It features 5 Gigabit Ethernet ports, one of which can -be used as a WAN port. It features 6 (!) antennas: 2 for 2.4 Ghz WiFi, -2 for 5 Ghz WiFi, 2 for 4G/LTE for great reception. - -Choose this one if you want to build a professional or new network. -Usable with Internet speed up to 300 Mbit/s. LAN speed is 1 Gbit/s. - ---- -content1_image: ipv6-mobile-router.jpg \ No newline at end of file diff --git a/content/u/products/ipv6-mobile-internet-router/ipv6-mobile-router.jpg b/content/u/products/ipv6-mobile-internet-router/ipv6-mobile-router.jpg deleted file mode 100644 index 6d62e79..0000000 Binary files a/content/u/products/ipv6-mobile-internet-router/ipv6-mobile-router.jpg and /dev/null differ diff --git a/content/u/products/ipv6-only-hosting/contents.lr b/content/u/products/ipv6-only-hosting/contents.lr index 0a6b6cd..3cb1dce 100644 --- a/content/u/products/ipv6-only-hosting/contents.lr +++ b/content/u/products/ipv6-only-hosting/contents.lr @@ -22,10 +22,10 @@ image:/u/image/cards/ipv6onlyhosting.jpg --- feature1_title: Necessary --- -feature1_text: The Internet [ran out of IPv4 +feature1_text: We [ran out of IPv4 space](https://www.ripe.net/publications/news/about-ripe-ncc-and-ripe/the-ripe-ncc-has-run-out-of-ipv4-addresses) by the end of 2019. While you can acquire IPv4 space on the market, it -is constly and effectively limiting new projects to come into +is very expensive and effectively limiting new projects to come into existence. IPv6 fixes all of this, today. --- feature2_title: Sustainable & Simple @@ -56,5 +56,3 @@ firewall setups, all this burden is lifted away with IPv6 only VMs. Additionally you can request a /64 network to be routed to your VM, for free! - -Check [IPv6 only hosting.](https://ipv6onlyhosting.com/) diff --git a/content/u/products/ipv6-to-ipv4-proxy/contents.lr b/content/u/products/ipv6-to-ipv4-proxy/contents.lr deleted file mode 100644 index 56a8152..0000000 --- a/content/u/products/ipv6-to-ipv4-proxy/contents.lr +++ /dev/null @@ -1,93 +0,0 @@ -_discoverable: yes ---- -_hidden: no ---- -title: IPv6 to IPv4 Proxy ---- -subtitle: Enable IPv4 / legacy IP services to be reachable by IPv6 ---- -image: /u/image/cards/ipv6-ipv4-proxy.jpg ---- -headline1: IPv6 to ---- -headline2: IPv4 Proxy ---- -header_background_color: #66C4B0 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -description1: - -## Introduction - -The IPv6-to-IPv4 proxy allows existing IPv4 (also know as legacy IP) -resources to be reachable from the current IP (IPv6) Internet. -It supports the following protocols: - -* HTTP -* HTTPS -* IMAPS - -## When to use the IPv6-to-IPv4 proxy? - -More and more clients devices like mobile phones, computers and even -whole companies network are switched to **IPv6 only** due to the -IPv4 address shortage and the maintenance overhead for dual stack -networks. - -Most, but not all, of these devices can still reach the IPv4 Internet -via translation services like NAT64. However with every NAT process, a -litte bit of latency is added. - -And the higher the latency is, the slower a website loads for a customer. - -With our IPv6-to-IPv4 proxy you can make your IPv4 only website -accessible for clients on IPv6 only networks without a NAT service. - -## Pricing - -You can order the IPv6-to-IPv4 proxy in two different variants: the -**standard IPv6-to-IPv4 proxy** and the **caching IPv6-to-IPv4 -proxy**. - -If you are not sure which one to choose, you can always start with the -standard IPv6-to-IPv4 proxy and later switch to the caching IPv6-to-IPv4 -proxy. - -The pricing includes 15 TB traffic/month. - -### The standard IPv6-to-IPv4 proxy - -* Up to 10 domains: 5 CHF/month (0.5 CHF/domain) -* Up to 100 domains: 30 CHF/month (0.3 CHF/domain) -* Up to 1000 domains: 100 CHF/month (0.1 CHF/domain) -* Above 1000 domains: on request - -### The caching IPv6-to-IPv4 proxy - -This proxy allows IPv6 only clients to access the content of your IPv4 -only services even faster. - -* Caching IPv6-to-IPv4 proxy S with 1 Core, 2 GB RAM, 10 GB SSD: 35.5 CHF/month -* Caching IPv6-to-IPv4 proxy M with 4 Core, 8 GB RAM, 50 GB SSD: 82.5 CHF/month -* Caching IPv6-to-IPv4 proxy L with 8 Core, 16 GB RAM, 10 GB SSD, 1TB -HDD: 132.5 CHF/month - -The price consists of a VM plus 20 CHF maintenance fee/month. - -The one time setup fee is 30 CHF. - -The higher the amount of RAM and SSD, the more size for caching your -website is available. - -Caching objects requires to inspect the network connection. For this -reason the caching proxy uses its own SSL certificate and re-encrypts -the traffic to your backend host. - -## Related products - -If you are looking for a proxy that enables IPv6 only resources -(i.e. websites) to be accessible from the IPv4 only Internet, you can -use the [IPv4-to-IPv6 Proxy](../ipv4-to-ipv6-proxy/). diff --git a/content/u/products/ipv6-vpn/contents.lr b/content/u/products/ipv6-vpn/contents.lr deleted file mode 100644 index b2c6355..0000000 --- a/content/u/products/ipv6-vpn/contents.lr +++ /dev/null @@ -1,116 +0,0 @@ -_discoverable: yes ---- -_hidden: no ---- -title: IPv6 VPN ---- -subtitle: Take your IPv6 with you. ---- -image: /u/image/cards/ipv6vpn-bestseller.jpg ---- -headline1: Get IPv6 ---- -headline2: Anywhere, anytime ---- -headline3: IPv6 VPN ---- -header_background_color: #1393B4 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -feature1_title: Versatile ---- -feature1_text: You can use our IPv6 VPN to connect your office. Or -your notebook. Or to create your own VPN concentrator. ---- -feature2_title: State of the art ---- -feature2_text: The ungleich IPv6 is powered by Wireguard. Wireguard is -a light weight, portable and easy to use technology. And it comes with -a /48 IPv6 network routed! ---- -feature3_title: Works anywhere ---- -feature3_text: The VPN works in situations where you have NAT, NAT64 -or other network inspection modes in place. It just requires UDP -traffic to pass. ---- -content1_text: - -## IPv6 VPN - -At ungleich we believe that IPv6 should be available everywhere. To -help you connecting to IPv6 only resources, we offer the IPv6-VPN. - -We believe that IPv6 is an enabler for many organisations, companies, -developers and freelancers. For this reason we created the -VPN, which enables you to have IPv6 -connectivity from wherever you are for 120 CHF/year. (There is a one-time set up fee 30 CHF.) - -One VPN is free for all existing customers with resources on -[Data Center Light](/u/projects/data-center-light). - -You can find more about the VPN and technical details, -on [IPv6VPN.ch](https://ipv6vpn.ch). - -## IPv4 address support - -We also support mapped IPv4 addresses on the IPv6VPN. With our NAT64 -technology we map a static, public IPv4 address to a dedicated IPv6 -address. - -This way you only need to manage IPv6 on your end, but you are world -wide IPv4 reachable. See below for sample pricings of up to 2 IPv4 -addresses. Reach out to [our support](/u/contact/) if you require more -mapped IPv4 addresses. - -## Related products - -* The [IPv4-to-IPv6 proxy](/u/products/ipv4-to-ipv6-proxy/) enables - IPv6 only websites to be reachable from the IPv4 world. -* [IPv4 as a service](/u/products/ipv4-as-a-service/) - enable you to - get your static IPv4 address anywhere -* [The VIIRB](/u/products/viirb-ipv6-box/) - the world's smallest IPv6 router -* [The VIWIB](/u/products/viwib-wifi-ipv6-box/) - tiny IPv6 router with WiFi -* [The VIGIR](/u/products/vigir/) - the professional IPv6 router (with LTE!) - - - ---- -content1_image /u/image/ipv6-vpn-ungleich-swiss.jpg ---- -offer1_title: IPv6 VPN 120 CHF/Year ---- -offer1_text: -* IPv6 addresses registerd in Switzerland -* 80 bit of IPv6 space -* Encrypted -* with a /48 network -* [30 CHF one time setup fee](https://datacenterlight.ch/product/vpn-setup/) - ---- -offer1_link: https://datacenterlight.ch/product/ipv6-vpn-48/ ---- -offer2_title: 1 mapped IPv4 address (additional 120 CHF/Year, 50 CHF setup fee) ---- -offer2_text: -* Usable with an existing IPv6VPN -* 1 static public IPv4 address -* Mapped to an IPv6 address via NAT64 -* [50 CHF one time setup fee](https://datacenterlight.ch/product/ipv4-addon-setup/) - ---- -offer2_link: https://datacenterlight.ch/product/1-ipv4-address-addon-vpn/ ---- -offer3_title: 2 mapped IPv4 address (additional 240 CHF/Year, 50 CHF setup fee) ---- -offer3_text: -* Usable with an existing IPv6VPN -* 2 static public IPv4 addresses -* Mapped to an IPv6 address via NAT64 -* [50 CHF one time setup fee](https://datacenterlight.ch/product/ipv4-addon-setup/) - ---- -offer3_link: https://datacenterlight.ch/product/2-ipv4-address-addon-vpn/ diff --git a/content/u/products/ipv6vpn/contents.lr b/content/u/products/ipv6vpn/contents.lr new file mode 100644 index 0000000..5c6c3ee --- /dev/null +++ b/content/u/products/ipv6vpn/contents.lr @@ -0,0 +1,12 @@ +title: IPv6 VPN +--- +_discoverable: no +--- +_hidden: no +--- +buy_link: http://ungleich.ch +--- +subtitle: We enable you with IPv6 everywhere +--- +body: Hi, this is body +--- diff --git a/content/u/products/kubernetes-hosting-high-performance/contents.lr b/content/u/products/kubernetes-hosting-high-performance/contents.lr deleted file mode 100644 index ed527be..0000000 --- a/content/u/products/kubernetes-hosting-high-performance/contents.lr +++ /dev/null @@ -1,249 +0,0 @@ -_discoverable: yes ---- -_hidden: no ---- -title: Kubernetes Hosting - High Performance ---- -subtitle: Fast and climate friendly ---- -headline1: Environment Friendly ---- -headline2: Scalable & Managed ---- -headline3: Kubernetes Clusters ---- -header_background_color: #316CE6 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -image:/u/image/cards/kubernetes.jpg ---- -feature1_title: Scalable ---- -feature1_text: - -Your Kubernetes cluster can start from 3 nodes and grow to any size. Every -node that you add to your cluster contributes additional CPU, RAM and -persistent storage. ---- -feature2_title: Managed ---- -feature2_text: -The Kubernetes cluster and the operating system are maintained by -ungleich. You can deploy your applications worry free. - ---- -feature3_title: Dedicated ---- -feature3_text: -Your Kubernetes cluster is running on dedicated hardware. No -interruption, no rescheduling, no peer pressure. All resources are -100% usable by you. ---- -feature4_title: High Performance ---- -feature4_text: -The kubernetes cluster is based on AMD Ryzen CPUs to provide 12 -threads per node and 64GB RAM. The operating system is stored on an -SSD and your data is stored on a second SSD. ---- -feature5_title: Environment friendly ---- -feature5_text: -Each Kubernetes node has been tested to consume less than 100W at -maximum performance. While our data center is using 100% renewable -energy, we try to even make an extra effort to reduce impact on the -environment. ---- -feature6_title: 100% IPv6 ---- -feature6_text: -The Kubernetes cluster is ready for the IPv6 world: all nodes are -running on an IPv6-only network. For IPv4 reachability we offer you -dedicated mapped IPv4 addresses. - ---- -content1_text: - -## Hosted Kubernetes Clusters by ungleich - -While you might be aware of other managed Kubernetes clusters, here at -ungleich we have quite a different offering. Let's start with the -obvious ones that you are unlikely to experience anywhere else: - -### Environment friendly, for real - -Other providers are dealing with Carbon Certificates, offsetting their -energy and claiming to be green. None of that makes sense to us, as -the emissions are produced nonetheless, fossil fuels are used or -nuclear energy contributes to running your Kubernetes cluster -elsewhere. - -Here at ungleich we start from the beginning and continue to improve -our energy usage every day. Not only are we using a 100% renewable -energy (locally produced!), but we also research specific hardware to -optimise the energy usage required by Kubernetes clusters. - -## Standard building blocks - -Other providers offer you a complex system of building blocks: this -CPU, that memory, different storage classes, bandwidth consumption and -so on and so on. You easily lose the track of what you wanted to do in -the first place: to run your workload. - -Here at ungleich we offer you exactly 1 building block to build your -kubernetes clusters: The ungleich k8s node. - -## The ungleich k8s node - -The ungleich k8s node is an AMD based, 12 thread computer with 64 GB -of main memory and two SSDs. The first SSDs is used for storing the -operating system and the second SSD is used to store your data. - -The second SSD has a capacity of 1TB. - -## The ungleich kubernetes cluster - -Each Kubernetes cluster consists of 3 or more k8s nodes. While you can -grow it with adding individual nodes, we recommend to grow it in -numbers of 3. The reason for this is the underlying storage technology -[Ceph](https://ceph.com/) that saves each of your data blocks 3 times. - -## Failure resistent - -As your workload is running on any of the k8s nodes, maintenance work -and failovers can be executed without interrupting the services -(assuming your workload is deployed accordingly). - -## Storage support included - -Using a built-in dedicated Ceph cluster we provide you with persistent -storage that can be accessed using standard Kubernetes PVCs. - -As every k8s node contains a dedicated SSD, by adding new nodes, your -storage cluster automatically grows as well. - -As the Ceph cluster stores every object 3 times, the 1 TB SSD of -each node contributes about 300GiB usable storage. - - -## Pricing - -Our pricing is very simple: Per K8S node we charge 300 CHF/month. This -includes rental of the hardware, network traffic, electricity and -maintenance of the kubernetes cluster. - -This might not be the cheapest kubernetes you can build, but it is -probably the world's most energy aware and most modern Kubernetes -cluster out there. - ---- -offer1_title: 3 Node k8s cluster 900 CHF/month ---- -offer1_text: - -* [One time setup fee 150 CHF](https://datacenterlight.ch/product/k8s-setup-3) -* 3 nodes with each: 12 Threads, 64GB RAM, 1 TB Storage SSD -* Total 36 threads, 192 GB RAM, ca. 1 TB persistent storage -* Suitable ONLY for development use (control plane acts as workers) - ---- -offer1_link: https://datacenterlight.ch/product/k8s-hosting-3 ---- -offer2_title: 6 Node k8s cluster 1800 CHF/month ---- -offer2_text: - -* [One time setup fee 300 CHF](https://datacenterlight.ch/product/k8s-setup-6/) -* 6 nodes with each: 12 Threads, 64GB RAM, 1 TB Storage SSD -* Total 72 threads, 384 GB RAM, ca. 2 TB persistent storage -* Suitable as small production cluster - ---- -offer2_link: https://datacenterlight.ch/product/k8s-hosting-6 ---- -offer3_title: 9 Node k8s cluster 2700 CHF/month ---- -offer3_text: - -* [One time setup fee 450 CHF](https://datacenterlight.ch/product/k8s-setup-9/) -* 9 nodes with each: 12 Threads, 64GB RAM, 1 TB Storage SSD -* Total: 108 threads, 576GB RAM, ca. 3 TB persistent storage -* Suitable as a production cluster - ---- -offer3_link: https://datacenterlight.ch/product/k8s-hosting-9 ---- -offer4_title: 12 Node k8s cluster 3600 CHF/month ---- -offer4_text: - -* [One time setup fee 600 CHF](https://datacenterlight.ch/product/k8s-setup-12/) -* 12 nodes with each: 12 Threads, 64GB RAM, 1 TB Storage SSD -* Total: 144 threads, 768 GB RAM, ca. 4 TB persistent storage -* Suitable as a production cluster - ---- -offer4_link: https://datacenterlight.ch/product/k8s-hosting-12 ---- -offer5_title: 15 Node k8s cluster 4500 CHF/month ---- -offer5_text: - -* [One time setup fee 750 CHF](https://datacenterlight.ch/product/k8s-setup-15/) -* 15 nodes with each: 12 Threads, 64GB RAM, 1 TB Storage SSD -* Total: 180 threads, 960 GB RAM, ca. 5 TB persistent storage -* Suitable as a large production cluster - ---- -offer5_link: https://datacenterlight.ch/product/k8s-hosting-15 ---- -offer6_title: 18 Node k8s cluster 5400 CHF/month ---- -offer6_text: - -* [One time setup fee 900 CHF](https://datacenterlight.ch/product/k8s-setup-18/) -* 18 nodes with each: 12 Threads, 64GB RAM, 1 TB Storage SSD -* Total: 216 threads, 1152 GB RAM, ca. 6 TB persistent storage -* Suitable as a large production cluster - ---- -offer6_link: https://datacenterlight.ch/product/k8s-hosting-18 - ---- -content2_text: - -## Tech Details - -### The ungleich k8s node - -* CPU: AMD Ryzen 5 5600G -* RAM: 64 GB DDR4-3200 -* OS SSD: M2, 128 GB or more -* Data SSD: SATA, 1 TB, usually ca. 500 MB read/write (work load dependent) -* Connectivity: 1 Gbit/s -* OS: Alpine Linux -* Networking: IPv6 only - -### The ungleich k8s cluster - -The Kubernetes control plane access is available via IPv6 and -IPv4. All pods are running in a dedicated /64 IPv6 network. -Service IPs are IPv6 only and are located in a second /64 IPv6 network. - -The cluster does not support type=LoadBalancer, because it is not -necessary in IPv6 only environments. ClusterIPs are already by default -world reachable. - -IPv4 reachablity can be configured in two ways: - -* Via our IPv4-to-IPv6 proxy (http, https based) -* Via a dedicated IPv4 address - -The current stack uses Calico as the CNI. - -## Related products - -* Checkout the [Low Power Kubernetes Hosting](../kubernetes-hosting-low-power) diff --git a/content/u/products/kubernetes-hosting-low-power/contents.lr b/content/u/products/kubernetes-hosting-low-power/contents.lr deleted file mode 100644 index 4a32cff..0000000 --- a/content/u/products/kubernetes-hosting-low-power/contents.lr +++ /dev/null @@ -1,193 +0,0 @@ -_discoverable: yes ---- -_hidden: no ---- -title: Kubernetes Cluster - Low Power ---- -subtitle: Sustainable Kubernetes Hosting ---- -headline1: Low Power ---- -headline2: Scalable & Managed ---- -headline3: Kubernetes Clusters ---- -header_background_color: #31A9E6 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -image:/u/image/cards/lowpower-kubernetes.jpg ---- -feature1_title: Environment Friendly ---- -feature1_text: -You want to run Kubernetes in a sustainable and affordable way? Then -this Kubernetes hosting is for you: Built specifically on low power -components, your Kubernetes cluster is not only friendly to your -wallet, but even more to the environment. - -Each Kubernetes node has been tested to consume less than 20W at -maximum performance. While our data center is using 100% renewable -energy, we try to even make an extra effort to reduce impact on the -environment. - ---- -feature2_title: Affordable and Scalable ---- -feature2_text: - -The low power Kubernetes hosting not only is very environment -friendly, but also very friendly to the budget. By using significantly -less resources, you contribute to saving the environment as well as -spending money on resources you don't need. - -When starting small, you always have the possibility to grow your -cluster in the future, reacting to the actual needs. ---- -feature3_title: Dedicated & 100% IPv6 ---- -feature3_text: -Your Kubernetes cluster is running on dedicated hardware. No -interruption, no rescheduling, no peer pressure. All resources are -completely usable by you. - -All our Kubernetes cluster are fully ready for the IPv6 world: -all nodes are running on an IPv6-only network. For IPv4 reachability -we offer you dedicated mapped IPv4 addresses. - ---- -content1_text: - -## The ungleich Low Power Kubernetes Hosting offer - -Our Kubernetes Hosting might be the world's most environment friendly -Kubernetes hosting out there. Not only are all components carefully -chosen to use as little energy as possible, but additionally the -electricity is coming from 100% renewebale energy sources. - -## Environment friendly, for real - -Other providers are dealing with Carbon Certificates, offsetting their -energy and claiming to be green. None of that makes sense to us, as -the emissions are produced nonetheless, fossil fuels are used or -nuclear energy contributes to running your Kubernetes cluster -elsewhere. - -Here at ungleich we start from the beginning and continue to improve -our energy usage every day. Not only are we using a 100% renewable -energy (locally produced!), but we also research specific hardware to -optimise the energy usage required by Kubernetes clusters. - -## Kubernetes setup - -Each Kubernetes cluster consists of 3 or more k8s nodes. While you can -grow it with adding individual nodes, we recommend to grow it in -numbers of 3. The reason for this is the underlying storage technology -[Ceph](https://ceph.com/) that saves each of your data blocks 3 times. - -## Failure resistent - -As your workload is running on any of the k8s nodes, maintenance work -and failovers can be executed without interrupting the services -(assuming your workload is deployed accordingly). - -## Storage support included - -Using a built-in dedicated Ceph cluster we provide you with persistent -storage that can be accessed using standard Kubernetes PVCs. - -As every k8s node contains a dedicated SSD, by adding new nodes, your -storage cluster automatically grows as well. - -As the Ceph cluster stores every object 3 times, the 1 TB SSD of -each node contributes about 300GiB usable storage. - - -## Simple Pricing - -Our pricing is very simple: Each pack of 3 node nodes is 225 -CHF/month. This includes rental of the hardware, network traffic, -electricity and maintenance of the kubernetes cluster. - -You don't have to worry about additional storage, network fees or -other hidden costs. - -## Need more power? - -When you start with our low power Kubernetes hosting and at some point -in the future you realise that your applications need more resources, -you can even combine the low power Kubernetes hosting with the -[High Performance Kubernetes -Hosting](../kubernetes-hosting-high-performance). - ---- -offer1_title: 3 Node Low Power Kubernetes cluster 225 CHF/month ---- -offer1_text: - -* [One time setup fee 150 CHF](https://datacenterlight.ch/product/k8s-setup-3) -* 3 nodes with each: 4 Threads, 8 GB RAM, 1 TB Storage SSD -* Total 12 threads, 24 GB RAM, ca. 1 TB persistent storage -* Suitable ONLY for development use (control plane acts as workers) ---- -offer1_link: https://datacenterlight.ch/product/low-power-k8s-hosting-3 ---- -offer2_title: 6 Node Low Power Kubernetes cluster 450 CHF/month ---- -offer2_text: - -* [One time setup fee 300 CHF](https://datacenterlight.ch/product/k8s-setup-6/) -* 6 nodes with each: 4 Threads, 8 GB RAM, 1 TB Storage SSD -* Total 24 threads, 48 GB RAM, ca. 2 TB persistent storage -* Suitable as small, low power production cluster - ---- -offer2_link: https://datacenterlight.ch/product/low-power-k8s-hosting-6 ---- -offer3_title: 9 Node Low Power Kubernetes cluster 675 CHF/month ---- -offer3_text: - -* [One time setup fee 450 CHF](https://datacenterlight.ch/product/k8s-setup-9/) -* 9 nodes with each: 4 Threads, 8 GB RAM, 1 TB Storage SSD -* Total 36 threads, 72 GB RAM, ca. 3 TB persistent storage -* Suitable as a low power production cluster ---- -offer3_link: https://datacenterlight.ch/product/low-power-k8s-hosting-9 ---- -content2_text: - -## Tech Details - -### The Low Power kubernetes node - -* CPU: [Intel Pentium CPU J4205](https://www.intel.com/content/www/us/en/products/sku/95591/intel-pentium-processor-j4205-2m-cache-up-to-2-60-ghz/specifications.html) -* RAM: 8 GB DDR3 -* OS SSD: 128 GB -* Data SSD: USB-C, 1 TB -* Connectivity: 1 Gbit/s -* OS: Alpine Linux -* Networking: IPv6 only - -### The ungleich Kubernetes cluster - -The Kubernetes control plane access is available via IPv6 and -IPv4. All pods are running in a dedicated /64 IPv6 network. -Service IPs are IPv6 only and are located in a second /64 IPv6 network. - -The cluster does not support type=LoadBalancer, because it is not -necessary in IPv6 only environments. ClusterIPs are already -world reachable. - -IPv4 reachablity can be configured in two ways: - -* Via our IPv4-to-IPv6 proxy (http, https based) -* Via a dedicated IPv4 address - -The current stack uses Calico as the CNI. - -## Related products - -* Checkout the [High Performance Kubernetes Hosting](../kubernetes-hosting-high-performance) diff --git a/content/u/products/mail-hosting/contents.lr b/content/u/products/mail-hosting/contents.lr deleted file mode 100644 index 8f99a5e..0000000 --- a/content/u/products/mail-hosting/contents.lr +++ /dev/null @@ -1,64 +0,0 @@ -_discoverable: no ---- -_hidden: no ---- -title: Mail Hosting ---- -subtitle: Your mails in Switzerland ---- -image: /u/image/cards/mailhosting.jpg ---- -headline1: Mail Hosting: ---- -headline2: Your Mails in Switzerland ---- -header_background_color: #788BCE ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -feature1_title: Simple ---- -feature1_text: -This is a classic mail hosting. Webmail, SMTP, IMAP. Plain and simple. ---- -feature2_title: Safe ---- -feature2_text: -Your data is saved in Switzerland and stored 3 times on our CEPH -storage cluster. ---- -feature3_title: Zero Carbon Infrastructure ---- -feature3_text: -Data Center Light runs a zero carbon infrastructure. -[Read more about it](https://ungleich.ch/u/blog/how-to-sustainable-store-your-data/). ---- -description2: - -This mailhosting is mainly targeted for low volume, single person or -single system usage. -If you need a mail gateway for sending system logs or if you just need -an easy to use mail account, this is the right product. - -This product is feasible for normal use of email. Spamming is -prohibited and will lead to suspension and/or terminaton of your -account. - -If you are interested in a legit high volume mail traffic product, -[contact us](/u/contact/) for an individual offer. - -## What you get - -* A single mailbox account (yourname@ungleich.cloud) -* Up to 100 mail aliases -* Up to 100GB usage (additional storage: 100GB for 2 CHF/month) -* Access via SMTP, IMAPS and Webmail - -## Pricing - -The one time setup fee is 15 CHF, the monthly recurring fee is 7 CHF -per month. - -You can order it by sending an email to **support at ungleich.ch**. diff --git a/content/u/products/managed-ipv4-address/contents.lr b/content/u/products/managed-ipv4-address/contents.lr deleted file mode 100644 index 2c03bc4..0000000 --- a/content/u/products/managed-ipv4-address/contents.lr +++ /dev/null @@ -1,118 +0,0 @@ -_discoverable: yes ---- -_hidden: no ---- -title: Managed IPv4 Address ---- -subtitle: Public static IP address ---- -image: /u/image/cards/managedipv4.jpg ---- -headline1: Managed ---- -headline2: IPv4 address ---- -headline3: ---- -header_background_color: #3f72c7 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- - -content1_text: - -## Introducing Managed IPv4 Address Services:Seamlessly Connect Your Devices to the World - -Unlock the full potential of your devices with our Managed IPv4 Address. Whether you're aiming to remotely access a temperature sensor, monitor industrial systems, or keep an eye on distant locations through cameras, our Managed IPv4 Address offers a hassle-free and efficient way to establish a secure connection. Say goodbye to geographical limitations and embrace a new era of connectivity. - - -## Case 1:Empower Your Surveillance - -Have you strategically positioned a camera that demands remote accessibility? Our Managed IPv4 Address service empowers you to effortlessly acquire an IPv4 address from our datacenter(https://datacenterlight.ch). By doing so, you gain the ability to connect to your camera from afar, ensuring real-time insights and control. - -## Case 2:Temperature Monitoring Simplified - -Imagine effortlessly monitoring temperatures in your laboratory, office, or vacation home. Managed IPv4 Address offers an ingenious solution – you will receive our mini router, VIWIB with Managed IPv4 Address. A seamless plug-and-play experience awaits you as this router establishes a connection to your temperature sensor, allowing you to observe and manage temperatures remotely. - -## Case 3:Industrial Insights Anytime, Anywhere - -Stay informed about your industrial systems, even when you're not on-site. Our Managed IPv4 Address service facilitates remote access to your Programmable Logic Controller (PLC) and other industrial setups. Experience unparalleled convenience as you monitor, analyze, and manage your systems from anywhere on the globe. - -## How it works: Effortless Connectivity Steps - -* We send you a compact ungleich router that provides IPv4 access -* You connect the small router to your existing LTE/4G/5G router -* Our ungleich router acquires a public, static IPv4 address from our data center -* Share your device's internal, private IPv4 address with us for seamless integration. -* We configure port forwarding on the ungleich router - - -## What is included - -* One mini router (VIWIB) with a year's warranty -* Free shipping in Switzerland -* Initial set up of port forwarding of IPv4 to your device -* 1 IPv4 address with monitoring - -Embrace the future of device connectivity with Managed IPv4 Address services. Elevate your surveillance, monitoring, and management capabilities with our seamless solutions. Connect with us today and redefine the way you interact with your devices, no matter where you are. - -## What if I want to change the configuration later? - -You already set up the Managed IPv4 Address but your project had changes along the way? No problem. We're here to support you through configuration adjustments. Changes for the port forwarding after the initial set up is supported with a fee of 50 CHF/case. - -## Pricing - -The pricing in short is as follows: - -* Initial setup fee of 250 CHF, either including an ungleich mini router or the configuration of an existing supported router (*) -* The yearly IPv4 address fee of 360 CHF - -(*) State your router model before ordering and we will inform you whether we can remotely configure your existing router for use with managed IPv4. - - -## Ordering - -Our team will get in touch with you for setup information as soon as we receive the order. -For orders outside Switzerland, you can contact us at support@datacenterlight.ch - -Select one of A or B and the yearly IPv4 subscription. - ---- -content1_image: /u/image/managed-ipv4-explained.jpg ---- -content4_text: - -## Related products - -* [VIWIB](/u/products/viwib/) a VPN IPv6 WiFi IOT Box - ---- -offer1_title: (A) Managed IPv4 Address: 250 CHF setup fee with mini router ---- -offer1_text: - -* Initial set up of the mini router -* ungleich mini router with 1 year limited warranty -* 1 ungleich mini router included ---- -offer1_link: https://datacenterlight.ch/product/managed-ipv4-setup/ - ---- -offer2_title: (B) Managed IPv4 Address: 250 CHF setup fee using existing router ---- -offer2_text: - -* Initial set up of your router (clarify if your router is compatible first) ---- -offer2_link: https://datacenterlight.ch/product/managed-ipv4-setup/ - ---- -offer3_title: Managed IPv4 Address: Yearly IPv4 subscription ---- -offer3_text: - -* Yearly fee for the static, public IPv4 address ---- -offer3_link: https://datacenterlight.ch/product/managed-ipv4-yearly-2024-11/ diff --git a/content/u/products/mastodon-hosting/contents.lr b/content/u/products/mastodon-hosting/contents.lr deleted file mode 100644 index 35fe36e..0000000 --- a/content/u/products/mastodon-hosting/contents.lr +++ /dev/null @@ -1,170 +0,0 @@ -_discoverable: yes ---- -_hidden: no ---- -title: Mastodon Hosting ---- -subtitle: Social Media done right ---- -headline1: Full control ---- -headline2: Decentralised ---- -headline3: Social Media ---- -header_background_color: #5C4CE2 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -image:/u/image/cards/mastodon.jpg ---- -feature1_title: Secure in Switzerland ---- -feature1_text: - -We host your Mastodon exclusively in Switzerland, offering its political stability and strong privacy laws as advantages. - ---- -feature2_title: Zero Carbon ---- -feature2_text: - -We host your Mastodon server in our own datacenter in Switzerland, which we believe to be as ecologically-friendly as a datacenter can get: we use old factory halls, recycled servers, passive cooling and our servers are directly plugged into a hydroelectric power plant. - ---- -feature3_title: Self hosted Social Media ---- -feature3_text: - -With Mastodon you run your own social media instance. At ungleich we -are providing the hosting for you, but if you ever want to host it -elsewhere, we provide you with the necessary exports to do so. - ---- -content1_text: - -## Time to take full control of your social media - -It's about time to take the control of your social media, where you and your community share your life and core values. Mastodon enables your community to stay connected without any compromise - be it your privacy, security, or control. You will be able to decide what matters to you the most. - -## The ungleich Mastodon Hosting offer - -Imagine your social media in a perfect world. Let's start with recycled server that runs with 100 % renewable energy. It will be hosted in a place with the highest security and privacy standards. The instance will be maintained by the experts who passionately believes in decentralisation and they will never think of selling or monetizing your data. And you have the full control of how the social media should run. - -That's your Hosted Mastodon at ungleich. - -## Simple Pricing - -Our pricing is very simple: Each instance includes 45 CHF/month base -price that includes network connectivity, maintenance and software -upgrades. The rest is depending on the size of allocated resources -such as CPU core, RAM, SSD and HDD. - -There is a 50 CHF one-time initial set up fee as Mastodon instances -are set up manually by our team. - -## Limitless scaling - -You can flexibly scale your instance as your community or userbase grows. We apply the following pricing for each resources. - -* 1 CPU core: 3 CHF/Month -* 1 GB RAM: 4 CHF/Month -* 10 GB SSD (used for storing the database): 3.5 CHF/Month -* 100 GB HDD (used for storing media): 2 CHF/Month - - -## The Mastodon Setup - -When you want to run mastodon and be part of the fediverse, you need a -domain like YOURNAME.social. This is the domain that your users will -be known under. - -## Free domains - -You can use your own domain, like social.YOURDOMAIN.org -or you can go with one of the following domains we offer for free. -Just keep in mind that once set, your domain can not be changed anymore. - -The following domains are offered free of charge by ungleich: - -* YOURNAME.ipv6.social -* YOURNAME.0co2.cloud -* YOURNAME.hjk.li - -## How it works - -After you order one of the offers below, our real human team will get -back to you with set up quetsions. After we receive the needed -information we will manually set up your instance on the server in our -Swiss datacenter. It will take 1 or 2 business days for completion and -we will give you the access information via email. - - ---- -offer1_title: Mastodon Starter 92 CHF/Month ---- -offer1_text: - -* Suitable for small group of non-heavy users -* 4 Core, 6 GB RAM, 20 GB SSD DB storage, 200 GB HDD data storage -* Maintenance fee 45 CHF/month included -* [One time setup fee 50 CHF](https://datacenterlight.ch/product/mastodon-setupfee) - ---- -offer1_link: https://datacenterlight.ch/product/mastodon-starter ---- -offer2_title: Mastodon Community 172 CHF/Month (Recommended) ---- -offer2_text: - -* Recommended for communities -* Carefree photo and media upload -* 8 Core, 12 GB RAM, 100 GB SSD DB storage, 1000 GB HDD data storage -* Maintenance fee 45 CHF/month included -* [One time setup fee 50 CHF](https://datacenterlight.ch/product/mastodon-setupfee) - ---- -offer2_link: https://datacenterlight.ch/product/mastodon-community ---- -offer3_title: Mastodon Pro 464 CHF/month ---- -offer3_text: - -* Recommended for big communities -* Carefree photo and media upload -* 16 Core, 24 GB RAM, 500 GB SSD DB storage, 5000 GB HDD data storage -* Maintenance fee 45 CHF/month included -* [One time setup fee 50 CHF](https://datacenterlight.ch/product/mastodon-setupfee) - ---- -offer3_link: https://datacenterlight.ch/product/mastodon-pro ---- -content2_text: - - -### The ungleich promise - -We are committed to Open Source and decentralisation. We are very -happy to host your Mastodon instance, but in case you want to move on, -we will help you to do so and provide you with the following data: - -* PostgreSQL database dump -* Tar file of the data directory - -The fee for the export is 50 CHF, as it is a manual process. - -### Moving your existing Mastodon instance to ungleich - -If you already have an instance and you want to migrate it to us, -we can also help you with that. You provide us with a database dump -(postgresql) and the data (tarball). We offer the import package for -85 CHF.. - - -### Test ungleich mastodon - -We've been hosting ipv6.social for some time, our own Mastodon -instance for advocating IPv6 and decentralisation. You're welcome to -join today and take a look at the world of Mastodon. diff --git a/content/u/products/matrix-custom-development/contents.lr b/content/u/products/matrix-custom-development/contents.lr deleted file mode 100644 index 0daf304..0000000 --- a/content/u/products/matrix-custom-development/contents.lr +++ /dev/null @@ -1,72 +0,0 @@ -_discoverable: yes ---- -_hidden: no ---- -title: Matrix Custom Development ---- -subtitle: Customize your Matrix Chat ---- -headline1: Custom ---- -headline2: Matrix ---- -headline3: Development ---- -header_background_color: #33D7B8 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -image:/u/image/cards/matrix-development.jpg ---- -feature1_title: Integration into private networks ---- -feature1_text: - -Deploy Matrix in closed or private environments. We'll handle the entire process, from development to deployment. - ---- -feature2_title: Add or remove features ---- -feature2_text: - -Tailor distinct features to your Matrix or eliminate unnecessary ones. Embrace the individualtiy of your Matrix setup while reaping the rewards of enhanced security and federation. - ---- -feature3_title: Custom Authentication ---- -feature3_text: - -Adapt Matrix into the existing authentication systems, including LDAP/SAML/SSO. - ---- -content1_text: - -## Customize Your Matrix - -You can seamlessly integrate Matrix into your projects and applications. Benefit from the security and federation features of Matrix while tailoring it to align with your specific use case. - -## Custom Authentication and Login - -You can have your Matrix adapted to any existing authentication systems. If you already have an existing LDAP/SAML/SSO(Single Sign-On)/AD or plan to have one, you can make use of the user accounts from those systems. This allows users to log into the Matrix using their exsting account credentials. This also allows easily onboarding or offboarding a user account for the administrator. - - -## Integration into Private Networks - -Do you have specific project requirements that demand running Matrix in isolated environments? Our team of experts can support you in developing, deploying, and maintaining Matrix within closed or private setups to meet your needs. - -## Add or Remove Features on Matrix - -Are you considering implementing custom changes or adding new features to your Matrix setup? Our team of experts can guide you on the most effective approach to bring these modifications to life. With our extensive Matrix development experience across governments, educational institutions, corporations, and activism communities, we are equipped to facilitate the creation of the features you require. - -## Matrix-based App Development - -If you plan to create an android or ios app based on Matrix, we're here to provide comprehensive support. Our consultancy covers technical viability, optimization of specific features, and long-term maintenance considerations. - -## Get in touch with our team - -What is possible or not possible with your Matrix custom development, and with what cost? Get in touch with our team at support@ungleich.ch to start a conversation about the potential of your customized Matrix project. - - - diff --git a/content/u/products/monitoring-as-a-service/contents.lr b/content/u/products/monitoring-as-a-service/contents.lr deleted file mode 100644 index 4012f63..0000000 --- a/content/u/products/monitoring-as-a-service/contents.lr +++ /dev/null @@ -1,155 +0,0 @@ -_discoverable: yes ---- -_hidden: no ---- -title: Hosted Monitoring ---- -subtitle: Safe monitoring from Switzerland ---- -headline1: Fully Open Source ---- -headline2: Hosted Monitoring ---- -header_background_color: #129A49 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -image:/u/image/cards/monitoring.jpg ---- -feature1_title: Hosted Monitoring ---- -feature1_text: -You want to know how your services are doing, but don't want to spend -time on managing your monitoring? Then hosted monitoring is the right -solution for you. ---- -feature3_title: Open Source ---- -feature3_text: -Our Monitoring solution is based on 100% Open Source products. There -is no vendor lockin and also no proprietary software. ---- -feature2_title: Safe data storage ---- -feature2_text: - -Your monitoring data is stored in Switzerland, -a country with strong privacy laws that protect your data. ---- -content1_text: - -## How it works - -We setup a dedicated VM with monitoring for you: we setup & maintain the -prometheus, grafana and operating system installation. - -## Batteries included - -You receive alerting via E-Mail when you have hosted monitoring with us. By getting notified with the monitoring status you get to react fast when the system needs your attention. - -## Pricing - -The cost is made of two parts, a one-time initial setup fee and the monthly plan you choose. -For monitoring we setup a dual stack VM with 1 core, 1 GB RAM, -10 GB SSD: 11.5 CHF + 100 GB Storage 2 CHF / 100GB = 13.5 CHF - -One time setup fee is 30 CHF and to be paid only once at the beginning of monitoring setup. -Maintenance fee 8 CHF/month is included in the monthly monitoring. - -Our team will get in touch with you as soon as we receive the order. - -Note: You can increase storage space with a short downtime (about 5 -minutes) at any time. ---- -offer1_title: Monitoring (S) 21.5 CHF/month ---- -offer1_text: -* 1 Core/1 GB RAM/10 GB SSD/100 GB -* Suitable for 1-2 systems -* [30 CHF Setup fee](https://ungleich.ch/product/monitoring-setup/) - ---- -offer1_link: https://ungleich.ch/product/monitoring-s/ ---- -offer2_title: Monitoring (M) 36.5 CHF/month ---- -offer2_text: -* 2 Core/2 GB RAM/10 GB SSD/500 GB -* Suitable for 5-10 systems -* [30 CHF Setup fee](https://ungleich.ch/product/monitoring-setup/) - ---- -offer2_link: https://ungleich.ch/product/monitoring-m/ ---- -offer3_title: Monitoring (L) 80.5 CHF/month ---- -offer3_text: -* 4 Core/4 GB RAM/10 GB SSD/2000 GB -* Suitable for 20-30 systems -* [30 CHF Setup fee](https://ungleich.ch/product/monitoring-setup/) ---- -offer3_link: https://ungleich.ch/product/monitoring-l/ ---- -content1_image: /u/image/zerocarbon-yes.jpg ---- -content2_text: - -## High Availability Monitoring - -Our monitoring offers High Availability options: if your organisation depends on critical services we recommend to use highly available monitoring in 2 data centers. - -## Pricing for HA Monitoring - -HA Monitoring consists of 2 VMs in 2 Data Centers, instead of 1 VM as in regular monitoring. Each VMs are -configured to monitor each other and to monitor all your systems. - -## Price reduction for IPv6 only monitoring - -Above offers are also available as IPv6 only offers. -The key facts are: - -* Dashboards are also reachable by IPv4 (via our IPv4-to-IPv6 proxy) -* Monitoring only works via IPv6 -* Uses a shared mailserver for sending emails - -The price is reduced by: - -* 4 CHF/month for the regular monitoring (-9 CHF for the IPv4 address, - +5 CHF for the mailservice) -* 13 CHF/month for the regular monitoring (-18 CHF for the IPv4 - addresses + 5 CHF for the mailservice) ---- -content2_image: /u/image/zerocarbon-no.jpg ---- -offer4_title: HA-Monitoring (S) 43 CHF/month ---- -offer4_text: -* 2x 1 Core/1 GB RAM/10 GB SSD/100 GB -* Suitable for 1-2 systems -* [30 CHF Setup fee](https://ungleich.ch/product/monitoring-setup/) - ---- -offer4_link: https://ungleich.ch/product/ha-monitoring-s/ ---- -offer5_title: HA-Monitoring (M) 73 CHF/month ---- -offer5_text: -* 2x 2 Core/2 GB RAM/10 GB SSD/500 GB -* Suitable for 5-10 systems -* [30 CHF Setup fee](https://ungleich.ch/product/monitoring-setup/) - ---- -offer5_link: https://ungleich.ch/product/ha-monitoring-m/ ---- -offer6_title: HA-Monitoring (L) 161 CHF/month ---- -offer6_text: -* 2x 4 Core/4 GB RAM/10 GB SSD/2000 GB -* Suitable for 20-30 systems -* [30 CHF Setup fee](https://ungleich.ch/product/monitoring-setup/) - ---- -offer6_link: https://ungleich.ch/product/ha-monitoring-l/ ---- \ No newline at end of file diff --git a/content/u/products/netbox-hosting/contents.lr b/content/u/products/netbox-hosting/contents.lr deleted file mode 100644 index 5a9bac3..0000000 --- a/content/u/products/netbox-hosting/contents.lr +++ /dev/null @@ -1,111 +0,0 @@ -_discoverable: yes ---- -_hidden: no ---- -title: Hosted Netbox ---- -subtitle: Network management made easy ---- -image: /u/image/cards/hosted-netbox.jpg ---- -headline1: Network ---- -headline2: Automation ---- -headline3: Made Easy ---- -header_background_color: #1685FC ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -link: https://link-to-the-real-product.ch ---- -feature1_title: IP address management+ ---- -feature1_text: Hosted Netbox offers much more than just IPAM ---- -feature2_title: Manage everything ---- -feature2_text: With Hosted Netbox you can manage your racks, devices, connections, cabling, prefix and more. ---- -feature3_title: Fully Extendable & Open Source ---- -feature3_text: You can add custom scripts to Hosted Netbox. Like everything else we do, Hosted Netbox is Open Source, you can change things on your own. ---- -content1_text: - -## Why Choose Hosted Netbox? - - -At ungleich and Data Center Light, we're not just offering Hosted Netbox – we're living it. Our daily operations are empowered by Netbox, and now you can harness this cutting-edge solution for your network management needs. - -## Expertise You Can Trust - -We don't just provide Hosted Netbox, we rely on it ourselves. With our hands-on experience, you're accessing a solution backed by real-world usage. - -## Seamless IPv4 and IPv6 Support - -Hosted Netbox takes care of the complexities. It offers comprehensive support for both IPv4 and IPv6, along with Virtual Local Area Network (VLAN) functionality. - -## Zero Carbon & Sustainable - -Hosted Netbox operates on 100% renewable energy in Switzerland, contributing to a zero-carbon footprint. - -## Focus on Your Core - -Shift your focus to what truly matters – your core tasks. Unburden yourself from update worries; we handle it all. Hosted Netbox empowers you to concentrate on impactful work. - - -## Hosted Netbox Plans - -We have tailored the Hosted Netbox to your needs into 3 different sizes, depending on your project scale. Our pricing structure comprises an initial setup fee and a monthly subscription. Upon order placement, our team promptly engages with you, providing Hosted Netbox access within one business day. Scaling up is hassle-free – expand your Hosted Netbox whenever you require. - -## Embrace Efficiency, Embrace Hosted Netbox - -With Hosted Netbox, your network engineering life gets a real upgrade. Say goodbye to complexities and hello to streamlined management. Elevate your network experience today and open doors to unprecedented efficiency. - ---- -content1_image: /u/image/netbox.jpg ---- -offer1_title: Hosted Netbox S @ 93.5 CHF/month ---- -offer1_text: - - -* The Hosted Netbox S has 4 Cores, 8 GB RAM, 10 GB SSD, 100 GB HDD -* Datacenter location: Glarus, Switzerland -* Standard installation: Suitable for small organisations and for a single user -* [1 time initial setup fee 100 CHF](https://ungleich.ch/product/netbox-setup/) - ---- -offer1_link: https://ungleich.ch/product/netbox-s/ ---- -offer2_title: Hosted Netbox M @ 187 CHF/month ---- -offer2_text: - -* The Hosted Netbox M has 8 Cores, 16 GB RAM, 100 GB SSD, 1000 GB HDD -* Datacenter location: Glarus, Switzerland -* Suitable for mid-size organisations and for multiple users -* Faster than Standard installation, well usable for up to 5 concurrent uers -* [1 time initial setup fee 100 CHF](https://ungleich.ch/product/netbox-setup/) - ---- -offer2_link: https://ungleich.ch/product/netbox-m/ ---- -offer3_title: Hosted Netbox L @ 495 CHF/month ---- -offer3_text: - -* The Hosted Netbox L has 16 Cores, 32 GB RAM, 500 GB SSD, 5000 GB HDD -* Datacenter location: Glarus, Switzerland -* Suitable for medium to big organisations -* Well usable for up to 20 concurrent uers -* [1 time initial setup fee 100 CHF](https://ungleich.ch/product/netbox-setup/) - - ---- -offer3_link: https://ungleich.ch/product/netbox-l/ ---- diff --git a/content/u/products/oeffentliche-ip-adresse/contents.lr b/content/u/products/oeffentliche-ip-adresse/contents.lr deleted file mode 100644 index 46dff5d..0000000 --- a/content/u/products/oeffentliche-ip-adresse/contents.lr +++ /dev/null @@ -1,124 +0,0 @@ -_discoverable: no ---- -_hidden: no ---- -title: öffentliche IP-Adresse ---- -subtitle: Public static IP address ---- -image: /u/image/cards/managedipv4.jpg ---- -headline1: öffentliche ---- -headline2: IP-Adresse ---- -headline3: ---- -header_background_color: #3f72c7 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- - -content1_text: - -## Managed IPv4 Address - -Wir bieten dir die öffentliche IP-Adresse, eine einfache Möglichkeit, auf dein Gerät aus dem Internet zuzugreifen. Egal ob Temperatursensor, Kamera oder Industriesystem, das du verwalten möchtest, du kannst jetzt problemlos darauf zugreifen. Die verwaltete IPv4-Adresse kann überall dort genutzt werden, wo du aus dem Internet erreichbar sein möchtest, indem du unseren dedizierten Hardware-Router in Verbindung mit deinem bestehenden Router verwendest. - -## Case 1 - -Hast du irgendwo eine Kamera installiert, auf die du aus der Ferne zugreifen möchtest? Mit der verwalteten IPv4-Adresse erhältst du eine IPv4-Adresse aus unserem Rechenzentrum (https://datacenterlight.ch) und kannst problemlos darauf zugreifen. - -## Case 2 - -Möchtest du die Temperatur an Orten wie Labor, Büro oder deinem Ferienhaus messen? Mit der verwalteten IPv4-Adresse senden wir dir einen Mini-Router (VIWIB), den du anschließen kannst, und von dort aus verbinden wir uns mit deinem Temperatursensor. - -## Case 3 - -Möchtest du deinen SPS (Speicherprogrammierbare Steuerung) oder andere Industriesysteme überwachen, wenn du nicht vor Ort bist? Unsere verwaltete IPv4-Adresse kann dir dabei helfen, dein Gerät zu erreichen und dir eine einfache Überwachung von überall und jederzeit ermöglichen. - -## So funktioniert es - -* Wir senden dir einen kleinen ungleich Router, der IPv4-Zugriff ermöglicht. -* Du verbindest den kleinen Router mit deinem bestehenden LTE/4G/5G-Router. -* Unser ungleich Router erhält eine öffentliche, statische IPv4-Adresse aus unserem Rechenzentrum. -* Du teilst uns die interne, private IPv4-Adresse des Geräts mit, das du dem Internet zugänglich machen möchtest. -* Wir konfigurieren die Portweiterleitung auf dem ungleich Router. - - -## Was ist inbegriffen - -* Ein Mini-Router (VIWIB) mit einjähriger Garantie -* Kostenloser Versand in der Schweiz -* Initiale Einrichtung der Portweiterleitung von IPv4 zu deinem Gerät -* 1 IPv4-Adresse mit Überwachung - -## Was ist, wenn ich die Konfiguration später ändern möchte? - -Du hast bereits die verwaltete IPv4-Adresse eingerichtet, aber dein Projekt hat sich im Laufe der Zeit verändert? Keine Sorge! Wir können dich bei den Konfigurationsänderungen unterstützen. Änderungen für die Portweiterleitung nach der initialen Einrichtung werden gegen eine Gebühr von 50 CHF/Fall unterstützt. - -## Preise - -Unser Standardangebot für die verwaltete IPv4-Adresse besteht aus einer einmaligen Einrichtungsgebühr für die Verbindung zwischen deinem Gerät und der IPv4-Adresse, einem Mini-Router (VIWIB) mit einjähriger Garantie und der monatlichen oder jährlichen IPv4-Adressgebühr. Die anfänglichen 250 CHF enthalten die Einrichtungsgebühr, einen Mini-Router und den Versand innerhalb der Schweiz. Die monatlichen 30 CHF beinhalten die Wartung der IPv4-Adresse. - -## Bestellung - -Unser Team wird sich umgehend mit dir in Verbindung setzen, um Setup-Informationen zu erhalten, sobald wir die Bestellung erhalten. Für Bestellungen außerhalb der Schweiz kannst du uns unter support@datacenterlight.ch kontaktieren. - -## Zahlung & Lieferung - -Die Zahlung kann wie unten angegeben per Kreditkarte erfolgen oder per Banküberweisung mit einer Rechnung beglichen werden. Die Lieferung des Routers sowie die Konfiguration können innerhalb von 2 Wochen ab dem Zahlungsdatum erfolgen. - ---- -content1_image: /u/image/managed-ipv4-explained.jpg ---- -offer1_title: öffentliche IP-Adresse 250 CHF/Setup ---- -offer1_text: - -* Initiale Einrichtung der Portweiterleitung zu deinem Gerät -* 1 Mini-Router (VIWIB) inbegriffen -* Versand innerhalb der Schweiz ist inklusive -* IPv4-Adresse in der Schweiz registriert -* Öffentliche statische IP-Adresse -* Geschwindigkeit von bis zu 100 Mbit/s -* Alle Preise verstehen sich ohne Mehrwertsteuer -* [Monatliche öffentliche IP-Adresse 30 CHF/month](https://datacenterlight.ch/product/managed-ipv4-monthly/) - ---- -offer1_link: https://datacenterlight.ch/product/managed-ipv4-setup/ ---- -content2_text: - -## Jährliche öffentliche IP-Adresse - -Wenn dein Anwendungsfall für die verwaltete IPv4-Adresse länger als ein paar Monate dauert, kannst du ein Jahresplan in Betracht ziehen. Bei einer jährlichen verwalteten IPv4-Adresse erhältst du einen Monat Rabatt. - ---- -offer4_title: Jährliche öffentliche IP-Adresse (+1 kostenloser Monat) 250 CHF/Setup ---- -offer4_text: - -* Initiale Einrichtung der Portweiterleitung zu deinem Gerät -* 1 Mini-Router (VIWIB) inbegriffen -* Versand innerhalb der Schweiz ist inklusive -* IPv4-Adresse in der Schweiz registriert -* Öffentliche statische IP-Adresse -* Geschwindigkeit von bis zu 100 Mbit/s -* Alle Preise verstehen sich ohne Mehrwertsteuer -* [Jährliche öffentliche IP-Adresse 330 CHF/month](https://datacenterlight.ch/product/managed-ipv4-yearly/) - - ---- -offer4_link: https://datacenterlight.ch/product/managed-ipv4-setup/ ---- -content4_text: - -## Related products - -* [IPv4 as a Service](/u/products/ipv4-as-a-service/) -* [VIWIB](/u/products/viwib/) a VPN IPv6 WiFi IOT Box - ---- diff --git a/content/u/products/pro-ipv6-box/contents.lr b/content/u/products/pro-ipv6-box/contents.lr deleted file mode 100644 index 392b7ac..0000000 --- a/content/u/products/pro-ipv6-box/contents.lr +++ /dev/null @@ -1,89 +0,0 @@ -_discoverable: yes ---- -_hidden: no ---- -title: The Pro IPv6 Box (PIB) ---- -subtitle: The PIB connects locations and offices with IPv6 ---- -image: /u/image/cards/pib.jpg ---- -content1_image: /u/image/pro-ipv6-box.jpg ---- -content1_text: - -## The professional IPv6 router - -Like the [VIIRB](../viirb-ipv6-box), the **PIB** is designed to -provide IPv6 connectivity for you. Compared to the VIIRB, the PIB is -suited for more professional use cases. It features Gigabit Ethernet -and up to 4 GB RAM at a very low energy consumption. - -## How it works - -The PIB is pre-configured with a Wireguard VPN. With this VPN you -will receive a /48 IPv6 prefix. The IPv6 connectivity is provided by -[Data Center Light](https://ungleich.ch/u/projects/data-center-light/). - -When you plug in the ethernet cable and power it on, it will do the -following: - -* Establish a VPN connection via IPv4 or IPv6 to Data Center Light -* Announce a pre-configured /64 network on the LAN -* Announce a pre-configured /64 network on the Wifi (optional) - -By default the firewall is configured to allow outgoing connections -from LAN/Wifi towards the VPN. Incoming ICMP6, SSH, HTTP and HTTPS is -open by default. - -## PIB use cases - -The configuration and uses cases are the same as the -[VIIRB](../viirb-ipv6-box). Additionally the PIB is suited for bigger -scale operations with 3 gigabit ports. - ---- -content2_image: /u/image/pro-ipv6-box-2.jpg ---- -content2_text: - -## Tech details - -* Operating System: Linux -* Size: 168 mm x 157 mm x 30 mm -* CPU: AMD Embedded G series GX-412TC, 1 GHz quad Jaguar core with 64 bit and AES-NI support, 32K data + 32K instruction cache per core, shared 2MB L2 cache. -* Memory: 2 or 4 GB DDR3-1333 DRAM -* Storage: 16GB m-SATA SSD -* SD card (internal sdhci controller), or external USB. 1 SATA + power connector. -* Power 12V DC, about 6 to 12W depending on CPU load. Jack = 2.5 mm, center positive -* Ethernet: 3 Gigabit Ethernet channels (Intel i211AT on apu2b2, i210AT on apu2b4) -* Serial: DB9 serial port -* 2 USB 3.0 external -* 2 USB 2.0 internal* -* Three front panel LEDs -* Expansion: 2 miniPCI express (one with SIM socket), LPC bus, GPIO header, I2C bus, COM2 (3.3V RXD / TXD) - -The PIB is based on the [apu2](https://www.pcengines.ch/apu2.htm) with -Linux pre-installed, pre-configured and combined with the [IPv6VPN](https://ipv6vpn.ch). - -## What is in the box - -When you order the PIB, you will receive one pre-configured -system and a power adapter. Please let us know whether you need the -EU, US or UK plug before ordering. The following models are available: - -* PIB with 2 GB RAM - 290 CHF -* PIB with 4 GB RAM - 300 CHF - -The PIB can come with optional 802.11ac WiFi Support for 30 CHF. -All prices excluding VAT and shipping costs. - -## Ordering - -To pre-order the PIB, send a mail with your shipping address -to **support -at- ungleich.ch**. Shipping will start from July 2020. - -## More of it - -If you need a more cost-effective and smaller router, we can recommend -the [VIIRB](../viirb-ipv6-box). diff --git a/content/u/products/project-management/contents.lr b/content/u/products/project-management/contents.lr deleted file mode 100644 index 6ac29ff..0000000 --- a/content/u/products/project-management/contents.lr +++ /dev/null @@ -1,92 +0,0 @@ -_discoverable: yes ---- -_hidden: no ---- -title: Project Management ---- -subtitle: Project Management for teams ---- -image: /u/image/cards/projectmanagement.jpg ---- -headline1: Project Management ---- -headline2: For Teams ---- -header_background_color: #7BC7D4 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -content1_text: - -##Hosted Redmine - -A sustainable project management for your team, powered by 100% renewable energy. Our team at ungleich has been using this open source project management for many years, Redmine very much enabled our remote collaboration between teams and communities. -Our hosted Redmine allows decentralized team to structure their workflow and to easily coordinate tasks. - -## Transparent and secure - -You can get on to doocumenting your processes and knowledge with version control, and pass it on to fellow coworkers. You can interact with your team or your customer via issue tracker and forum. Redmine allows you a transparent process and progress sharing. Access control is very easy and can be done on role-basis. - - -## Hosted Redmine Plan - -You can start hosted redmine with below plans. The cost is made of two parts, a one-time initial setup fee and the monthly plan. Our team will get in touch with you as soon as we receive the order and will give you the access in 1 business day. Growing your project management after starting a plan is very easy and can be done anytime. ---- -content1_image: /u/image/open-infrastructure.jpg ---- -content2_text: - -## A virtual tour - -Want to discover more how this project management works? You can check out our [Open Infrastructure Project](https://redmine.ungleich.ch/projects/open-infrastructure/) which is a part of our project management page for [Data Center Light.](https://datacenterlight.ch) All our knowledge on how to run an open-source data center is shared publicly. - -## Contact - -Get in touch with us! Migrating old redmine or custom offer with other services on top tailored for your team is also possible. Send us a mail to support@datacenterlight.ch or you can talk to us directly at [our chat.](https://chat.with.ungleich.ch) ---- -content2_image: /u/image/open-infrastructure-overview.jpg ---- -feature1_title: Easy management for multiple projects ---- -feature1_text: - -Manage your projects per task and per person easily. Redmine supports role-based access control ---- -feature2_title: Data kept in Switzerland ---- -feature2_text: - -Your project managment data is securely hosted in the servers in our data center in Switzerland, protected by strict privacy law ---- -feature3_title: Sustainable ---- -feature3_text: -Your Redmine is hosted in our [own -datacenter](/u/projects/data-center-light/) in Switzerland in a sustainable datacenter: operates in reused old factory halls, reuse hardware, only do passive cooling and are directly plugged into a -hydroelectric power plant. - ---- -offer1_title: Hosted Redmine (M) 22.5 CHF/Month ---- -offer1_text: - -* 100 GB space + 100 GB Backup -* Data storage replicated 3 times -* [35 CHF Setup fee](https://ungleich.ch/product/hosted-redmine-setup-fee/) - ---- -offer1_link: https://ungleich.ch/product/hosted-redmine-m/ ---- -offer2_title: Hosted Redmine (L) 34.5 CHF/Month ---- -offer2_text: - -* 1 TB space -* Data storage replicated 3 times -* [35 CHF Setup fee](https://ungleich.ch/product/hosted-redmine-setup-fee/) - ---- -offer2_link: https://ungleich.ch/product/hosted-redmine-l/ ---- diff --git a/content/u/products/sixnet/contents.lr b/content/u/products/sixnet/contents.lr deleted file mode 100644 index 3315d73..0000000 --- a/content/u/products/sixnet/contents.lr +++ /dev/null @@ -1,134 +0,0 @@ -_model: product ---- -_discoverable: no ---- -_hidden: yes ---- -title: SIXNET ---- -subtitle: Mobile Internet - IPv6 enabled ---- -header_background_color: #FACA05 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -headline1: Sixnet ---- -headline2: Mobile Internet ---- -headline3: with IPv6 ---- -image: /u/image/cards/sixnet.jpg ---- -description1: - -## What is SIXNET? - -SIXNET is an offer from ungleich to bring IPv6 enabled Internet to -you. It is based on mobile (LTE, 3G/4G) Internet. The service is -provided in collaboration with -[Digital Republic](https://digitalrepublic.ch/) and the -[IPv6VPN](/u/products/ipv6-vpn/). - -## Where can I get SIXNET? - -SIXNET is currently only available in Switzerland. If you are a mobile -provider and you would like to offer IPv6 connectivity to your -customers, you can [get in touch with us](/u/contact/). - -## How can I use SIXNET? - -The easiest way to get started is to order a pre-configured IPv6 -router from us. You can choose between the following three options: - -* The VIIRB + Cat 4 USB-LTE (1 Ethernet port) -* The VIWIB + Cat 4 USB-LTE (2 Ethernet ports, WiFi) -* The VIGIR with builtin Cat 6 LTE mode (5 Gigabit Ethernet Ports, 2x WiFi) - -For more information, checkout our -[IPv6 Mobile Internet Router](/u/products/ipv6-mobile-internet-router) -page. - - -## Bandwidth & Pricing - -SIXNET pricing is transparent and consists of two components: the -mobile subscription and the IPv6 connectivity. Note that if you decide -to get one of our routers, the first year IPv6VPN is already included. - -| Internet Speed down | Internet speed up | Price per month | -|-----------------------------------------|-----------------| -| 0.4 | 0.2 | 8 | -| 1 | 0.5 | 12 | -| 10 | 5 | 18 | -| 50 | 25 | 30 | -| 300 | 150 | 55 | - - - -The listed Internet speed is the maximum bandwidth. Depending on your -region, the effective speed might vary. -Checkout the [Sunrise coverage -map](https://www.sunrise.ch/en/residential/mobile/mobile-network/network-coverage/network-coverage-map.html) -for details. - -### 0.4 Mbit/s - -Choose this speed if you want to access a small amount of sensors. For -instance temperature/humidity sensors. A small number of -[Prometheus](https://prometheus.io/) nodes work fine with this speed. - -### 1 Mbit/s - -Choose this speed if you have more than just a few sensors or if you -need low speed remote access to resources. - -### 10 Mbit/s - -This is the entrance tariff for surfing. If you rarely surf, mostly -check emails or use text based services such as -[SSH](https://openssh.org), this is a good tariff for you. Also very -suitable for holiday homes where you mostly want to relax and slow -Internet is actually a feature. - -### 50 Mbit/s - -This is the regular Internet speed. Use this for 1-3 people working in -an office. Also allows smooth remote access to resources. - -### 300 Mbit/s - -The fastest SIXNET speed. It's a pleasure working with this speed and -you really wonder why anyone needs to have a landline. With this -speed, you actually don't. Suitable for a small to mid sized office. - -We recommend to order the VIGIR, if you plan to use this speed. - -## How to order SIXNET - -To order a SIXNET Internet subscription, simply send an email to -support@ungleich.ch including your full name, shipping address and a -scan of an ID or excerpt from the chamber of commerce (for companies -only). - - - ---- -feature1_title: Mobile Internet ---- -feature1_text: SIXNET brings Internet via the mobile network to -you. You do not need any other mobile provider or a landline. Simply -plugin our router and you are ready to surf. ---- -feature2_title: IPv6 included ---- -feature2_text: With each subscription the IPv6VPN is included. That -means you receive a static /48 IPv6 network! ---- -feature3_title: Easy to adjust ---- -feature3_text: SIXNET is not only modern, but also flexible. You can -adjust your speed every month and the minimum contract period is only -3 months. Where else have you seen that? diff --git a/content/u/products/ungleich-infrastructure-availability/contents.lr b/content/u/products/ungleich-infrastructure-availability/contents.lr deleted file mode 100644 index ad3d9a0..0000000 --- a/content/u/products/ungleich-infrastructure-availability/contents.lr +++ /dev/null @@ -1,113 +0,0 @@ -_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/) diff --git a/content/u/products/ungleich-service-hour/contents.lr b/content/u/products/ungleich-service-hour/contents.lr deleted file mode 100644 index 6b67de5..0000000 --- a/content/u/products/ungleich-service-hour/contents.lr +++ /dev/null @@ -1,103 +0,0 @@ -_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/). - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Package/FeatureDefault rate20 hours package40 hours package80 hours package
Hourly Rate (during business hours)250 CHF/h248 CHF/h245 CHF/h240 CHF/h
Hours included during business hours0204080
Hourly Rate (outside of business hours)360 CHF/h342 CHF/h327 CHF/h295 CHF/h
Hours included (outside of business hours)0025
Package valid foron demand30 days30 days60 days
Discount0%1%2%4%
PricingFREE4'9609'80019'200
-
- -* All prices exclude VAT. -* 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) diff --git a/content/u/products/ungleich-sla/contents.lr b/content/u/products/ungleich-sla/contents.lr deleted file mode 100644 index 93a605b..0000000 --- a/content/u/products/ungleich-sla/contents.lr +++ /dev/null @@ -1,273 +0,0 @@ -_discoverable: yes ---- -_hidden: no ---- -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: - -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 - -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: - -* 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 - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Feature / SLAStandard SLABusiness SLAProfessional SLAProfessional Plus SLACritical Services SLA
Support via E-Mailyesyesyesyesyes
Guaranteed response time via E-Mailbest effort1 business day4h during business hours4h during extended business hours4h every day
Support via telephonebest effortbest effortMo-Fr 09:00-17:00Mo-Fr 06:00-22:00Mo-Su 00:00-23:59
Pricing (CHF/month)Included for free4509001'8004'200
-
- -All prices are excluding the [service hours](../ungleich-service-hour). - ---- -offer1_title: Business SLA: 450 CHF/month ---- -offer1_text: -* Guaranteed response time within 1 business day -* Efficient support handling with support history -* Suitable for SME and smaller projects ---- -offer1_link: https://ungleich.ch/product/business-sla/ ---- -offer2_title: Professional SLA: 900 CHF/month ---- -offer2_text: -* 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/product/professional-sla/ ---- -offer3_title: Professional Plus SLA: 1'800 CHF/month ---- -offer3_text: -* 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/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. - -### 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. - -
- - - - - - - - - - - - - - - - - - - -
Request receivedAnswer guaranteed until
Between Monday 09:00-17:00 - Tuesday 17:00 -
Between Tuesday 09:00-17:00 - Wednesday 17:00 -
Between Wednesday 09:00-17:00 - Thursday 17:00 -
Between Thursday 09:00-17:00 - Friday 17:00 -
Between Friday 09:00 and Monday 09:00 - Monday 17:00 -
-
- -If a work day is a Swiss national holiday it is treated as Friday to -Monday period. - -### 4h during business hours reaction times - -The request will be answered within the 4h during business hours. The -table below shows the details: -
- - - - - - - - - - - - - - - - - -
Request receivedAnswer guaranteed until
Between 09:00-13:00 on a work dayBetween 13:00-17:00 on the same work day
Between 13:00-17:00 on a work dayBetween 09:00-13:00 on the next work day
-
- -### 4h during extended business hours reaction times - -The request will be answered within the 4h during business hours. The -table below shows the details: - -
- - - - - - - - - - - - - -
Request receivedAnswer guaranteed until
Between 06:00-18:00 on a work day - Between 10:00-22:00 on the same work day -
Between 18:00-22:00 on a work day - Between 06:00-10:00 on the next work day -
-
- -### Every day 4h response time reaction times - -The request will be answered within the 4h independent of the day or -time. -
- - - - - - - -
Request receivedAnswer guaranteed until
Between 00:00-23:59 every day - Within 4 hours -
-
- -### 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) diff --git a/content/u/products/ungleich-spam-scam-fees/contents.lr b/content/u/products/ungleich-spam-scam-fees/contents.lr deleted file mode 100644 index c2586b3..0000000 --- a/content/u/products/ungleich-spam-scam-fees/contents.lr +++ /dev/null @@ -1,98 +0,0 @@ -_discoverable: no ---- -_hidden: no ---- -title: ungleich spam and scam fees v0.1 ---- -subtitle: Unsolicited, Fake, Spam or Scam request fees ---- -description1: - -## Introduction - -Sending unsolicited emails to any @ungleich.ch or related email -address causes costs for our staff. -For this reason we charge the following fees, if you send us either - -* Unsolicited emails for marketing or advertisement purposes -* Unsolicited emails impersonating other people or organisations -* Unsolicited emails with vague or unclear payment requests - -Explicitly *not* part of this fee are **all regular communications**. -See below for details. - -
- - - - - - - - - - - - - - - - - - - - - - - - - -
Fee type1st encounter2nd encounterEvery further encounter
Rate2220 CHF5500 CHF10000 CHF/email
Payment due within3 business days2 business days1 business days
Late payment fee20% per late day40% per late day80% per late day
-
- -If not otherwise stated, fees accumulate and are not deductable. - - -## Am I a scammer/spammer / am I sending unsolicited emails? - -The following examples show typical cases that we are charging with -this fee. - -### Unsolicited marketing or advertisement - -In case you are advertising your product to us without prior explicit -request from our side, you are spamming and subject to the - -### Impersonation - -If you claim to be somebody else than you really are, you are subject -to the fee. Typical impersonation claims are pretending to be a -government entity, a company or (weathly) private person. - -Note: we do respect anyone who needs or wants to stay anonymous. We do -not consider using an imaginary name as impersonating, especially if -it is for safety issues. - -### Vague or unclear payment requests - -If you are sending us payment requests for whatever service, product -or tax and do not specify what product, service or consumption this -refers to, you are subject to our spam fee. - -This includes general payment requests ("fake bills"), -unspecific payment requests ("money requested for an undefined -product/service") as well as -specific unidentifiable payment requests ("requests that reference IDs -or references that are not known to us"). - -## Fee reasoning - -As the research of the actual sender as well as -verifying the (il-)legitimate cause of the request require significant -resources, our fees are reflecting the need of those resources. - -## Versions - -### 0.1 - -This version is in effect from 2022-01-12. diff --git a/content/u/products/ungleich-support-package/contents.lr b/content/u/products/ungleich-support-package/contents.lr deleted file mode 100644 index 0201fe0..0000000 --- a/content/u/products/ungleich-support-package/contents.lr +++ /dev/null @@ -1,137 +0,0 @@ -_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. - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Package/FeatureBusiness LightBusiness StandardBusiness ProBusiness Pro PlusCritical Services
Working hours included (during business hours/outside -business hours)2 / 010 / 210 / 220 / 520 / 5
SLA packageBusiness SLABusiness SLAProfessional SLAProfessional Plus SLACritical Services SLA
Reaction times1 business day1 business day4h during business hours4h during extended business hours4h every day
Targetted Minimum Availability99%99%99.9%99.99%99.999%
Pricing (CHF/month, excl. VAT)1'0783'9194'4298'29011'022
-
- -## 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: 1'078 CHF/month ---- -offer1_text: -* Contains Business SLA ---- -offer1_link: https://ungleich.ch/u/contact/ ---- -offer2_title: Business Standard: 3'919 CHF/month ---- -offer2_text: -* Contains Business SLA ---- -offer2_link: https://ungleich.ch/u/contact/ ---- -offer3_title: Business Pro: 4'429 CHF/month ---- -offer3_text: -* Contains Professional SLA ---- -offer3_link: https://ungleich.ch/u/contact/ ---- -offer4_title: Business Pro Plus: 8'290 CHF/month ---- -offer4_text: -* Contains Professional Plus SLA ---- -offer4_link: https://ungleich.ch/u/contact/ ---- -offer5_title: Critical Services: 11'022 CHF/month ---- -offer5_text: -* Contains Critical Services SLA ---- -offer5_link: https://ungleich.ch/u/contact/ ---- -description6: - -## Related pages - -* [ungleich Infrastructure Availability](../ungleich-infrastructure-availability/) -* [ungleich SLAs](../ungleich-sla/) -* [ungleich Service Hours](../ungleich-service-hour/) diff --git a/content/u/products/video-conference/contents.lr b/content/u/products/video-conference/contents.lr deleted file mode 100644 index 79f4171..0000000 --- a/content/u/products/video-conference/contents.lr +++ /dev/null @@ -1,38 +0,0 @@ -_discoverable: yes ---- -_hidden: no ---- -title: Video Conference Call ---- -subtitle: Free, Open Source and sustainable Video Conference ---- -image: /u/image/cards/videoconf.jpg ---- -headline1: Secure & Free ---- -headline2: Video Conference ---- -header_background_color: #095fce ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -content1_text: - -## A Sustainable Video Conference System - -Powered by [100% renewable energy,](https://datacenterlight.ch/en-us/cms/hydropower/) running on a VM at our [Swiss data center.](https://datacenterlight.ch) It is enabled by the open source technology Jitsi: it does not encode or decode but only forwards video streams. The encoding and decoding happens on the client side. - -## No signup needed - -You can have a call anytime at [talk.ungleich.ch](https://talk.ungleich.ch) -It's completely free. No signup needed, we don't collect your data. You can share screens or videos over it. The call works with or without video. - -## Stayhome - -Use our free video conference to call the ones you need to talk to. Wherever you are, stay safe. - ---- -content1_image: /u/image/jitsi-ungleich.jpg ---- \ No newline at end of file diff --git a/content/u/products/vigir/contents.lr b/content/u/products/vigir/contents.lr deleted file mode 100644 index d0959e2..0000000 --- a/content/u/products/vigir/contents.lr +++ /dev/null @@ -1,174 +0,0 @@ -_discoverable: yes ---- -_hidden: no ---- -title: VIGIR - The VPN IPv6 4G IoT Router ---- -subtitle: The IPv6 LTE platform ---- -image: /u/image/cards/vigir.jpg ---- -headline1: VIGIR: ---- -headline2: VPN IPv6 4G/LTE ---- -headline3: IoT Router ---- -header_background_color: #26A599 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -content1_text: - -## The VIGIR - -The VIGIR is the solution for anyone who wants to have mobile -Internet, WiFi and IPv6 in one box. Like the -[VIIRB](/u/products/viirb-ipv6-box/) and the -[VIVIB](/u/products/viwib-wifi-ipv6-box/), the VIGIR comes included -with the IPv6VPN and brings IPv6 to you anywhere in the world. - -## The VIGIR - -While the VIIRB and the VIWIB are small, easy to carry, lightweight -devices, the VIGIR isn't. The VIGIR is a bit of a monster with a lot -of antennas and features: - -* it has 2 antennas for 5 Ghz WiFi -* it has 2 antennas for 2.4 Ghz WiFi -* it has 2 antennas for 4G/LTE -* it has a CAT6 LTE modem included! -* it has 5 Gigabit ports - -And there you already see the big difference: the main use case of the -VIGIR is to bring Internet to you via 4G/LTE. Combined with the -IPv6VPN, you get proper, static IPv6 connectivity into your -network. Independent of the actual mobile provider network. - -## The 4G/LTE modem - -The included 4G/LTE modem allows you to just insert a SIM card, -configure the APN and you are ready to surf. We ship with an LTE Cat 6 -modem. At the moment we ship the VIGIR only with the EU modem -model. If you are interested in a VIGIR suitable for other regions, -please send us an email to support -at- ungleich.ch with letting us -know which region/band/frequencies you are in. - -## How to use the VIGIR - -The VIGIR is very simple to use: - -* First, plugin the SIM card -* Power it on -* Connect to the webinterface -* Configure the APN/username details - -### IPv6 enabled LAN/Wifi - -The VIGIR comes with a built-in 802.11ac WiFi network. The default SSID is -"IPv6 everywhere" and the default password is "iloveipv6". - -Both the WiFi and LAN network are configured to be dual stack, because -most mobile providers supply IPv4 addresses. - -### Using the VIGIR as traditional router: no sim card required - -If you do not have a SIM card or if you want to use the VIGIR with an -existing Internet connection, you can simply plugin the Internet into -the WAN port and you are ready to go. - -## Tech details - -* Operating System: Linux ([OpenWRT](https://openwrt.org/toh/zbt/zbt_wg3526)) -* Size: 234mm x 164mm x 22mm -* Weight: ca. 800 Gramm -* CPU: MT7621, 880 Mhz -* Memory: 512MB -* Storage: 16M Flash -* Wifi: 802.11 ac/n/g/b/a -* LTE: CAT6, 1×SIM card slot (regular size) - * LTE band/frequencies: B1, B2, B3, B4, B5, B7, B12, B13, B20, B25, B26, B29, B30, B41 - * HSPA+, UMTS band/frequencies: B1, B2, B3, B4, B5, B8 -* Ethernet: 5 Gigabit/s ports (4 LAN, 1 WAN) -* USB: USB 3.0 -* 1 Micro SD Card slot -* Power supply: 12V/2A -* Power Consumption: <24W - -The VIGIR is based on the -[ZBT -WG3526](https://www.zbtlink.com/sale-12589416-ieee802-11ac-4g-lte-openwrt-wifi-router-192-168-1-1-wireless-router-1200mbps.html) -with the 4G/LTE card included. As usual it pre-configured with stock -OpenWrt and the [IPv6VPN](https://ipv6vpn.ch). - -### IPv6VPN included - -A free subscription for 1 year is included. This way you can plug in -the VIGIR and just get started with IPv6. - -## VIGIR Add-Ons - -All VIIRB add-ons are compatible with the VIGIR! Popular add-ons for -the VIGIR are: - -### A USB camera - -This is particularly useful if you want to use the VIGIR with a mobile -Internet to monitor a particular area. For **25 CHF** you can add a tested, -Full HD (1920x1080) USB camera to your order. - -### A temperature sensor - -If you want to know how hot (or cold) it is, -you can use an USB temperature sensor to measure the temperature. -For **20 CHF** you can add a tested temperature sensor to your order. - -### A storage server - -You can turn the VIGIR into a storage system! With the optional 32GB -micro SD card, you can save a lot of data on it. For **20 CHF** you -can add an 32GB microSD card to your order. - -## Ordering - -The order are open now, shipment is expected to begin in January 2021. -To order the VIGIR, send an email with your shipping address and -the requested quantity to **support -at- ungleich.ch**. -Let us know if you want tracked or untracked shipping. - -### Price - -**Update 2024-08-09: VIGIR is temporarily out of stock** - -Thanks to your love, VIGIR is temporarily out of stock. -You can preorder it now to receive it when we have them back in stock. -Restocking is estimated to be at the second half of 2025. Get in touch with us at support@ungleich.ch if you want to learn more about the other products we have in stock. - -**The price of the VIGIR is 250 CHF**, including the LTE modem, -6 antennas and the power supply. - -The VIGIR ships with a [European style connector](https://en.wikipedia.org/wiki/Europlug) -power supply included. - -All prices exclude VAT and shipping costs. - -### Shipping costs - -Due to the size we can only ship 1 VIGIR in one package. - - -We ship world wide. If your country of residence is not in the list below, get in touch with our support and we will let you know the shipping cost. - - -## More of it - -If you prefer a smaller device and you do not need wifi, we recommend to -checkout our [VIIRB](/u/products/viirb-ipv6-box/). - -If you prefer a smaller device and you do need wifi, we recommend to -checkout our [VIWIB](/u/products/viwib-wifi-ipv6-box/). - ---- -content1_image: vigir.jpg diff --git a/content/u/products/vigir/vigir.jpg b/content/u/products/vigir/vigir.jpg deleted file mode 100644 index 397b40e..0000000 Binary files a/content/u/products/vigir/vigir.jpg and /dev/null differ diff --git a/content/u/products/viirb-ipv6-box/contents.lr b/content/u/products/viirb-ipv6-box/contents.lr deleted file mode 100644 index 7639493..0000000 --- a/content/u/products/viirb-ipv6-box/contents.lr +++ /dev/null @@ -1,318 +0,0 @@ -_discoverable: yes ---- -_hidden: no ---- -title: The VPN IPv6 IoT Router Box (VIIRB) ---- -subtitle: The VIIRB connects anything anywhere with IPv6. ---- -headline1: The VIIRB connects ---- -headline2: anything anywhere ---- -headline3: with IPv6 ---- -header_background_color: #119F21 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -image: /u/image/cards/viirb.jpg ---- -content1_image: viirb-vertical-security.jpg ---- -content1_text: - -## Our mission - -We want to enable anyone, anyone with IPv6. It should be as simple as -"plug and play". We are very proud to announce that with the -**VPN IPv6 IoT Router Box** (VIIRB), we can now offer exactly this. - -## How it works - -The VIIRB is pre-configured with a Wireguard VPN. With this VPN you -will receive a /48 IPv6 prefix. The IPv6 connectivity is provided by -[Data Center Light](https://ungleich.ch/u/projects/data-center-light/). - -When you plug in the ethernet cable and power it on, it will do the -following: - -* Establish a VPN connection via IPv4 or IPv6 to Data Center Light -* Announce a pre-configured /64 network on the LAN - -By default the firewall is configured to allow outgoing connections -from LAN towards the VPN. Incoming ICMP6, SSH, HTTP and HTTPS are -open by default. - -## Fully Open - -The VIIRB is running stock [OpenWRT](https://openwrt.org/). We flash -the latest available version before shipping. SSH and http access to -the OpenWRT management is open. The password is randomly generated and -will be sent to you with the shipping confirmation. - -## VIIRB use cases - -So what can you do with the VIIRB? - -### 1. IPv6 on the go - -Going to a friend and the network does not have IPv6? Just bring your -VIIRB, plug it in and enjoy a fully enabled IPv6 network. - -### 2. IPv6 world wide reachable audio system - -You can install the [music player daemon](https://www.musicpd.org/) on -the VIIRB and allow remote control of the music from anywhere in the -world. You can either put your music locally on an SDXC card or you -can even mount your music collection or stream music to it. - -Just connect the VIIRB to your audio system, configure it and enjoy -remotely controlled music! - -### 3. A BGP router - -With -[bird2](https://openwrt.org/packages/pkgdata/bird2) -and -[quagga](https://openwrt.org/packages/pkgdata/quagga) available on -OpenWRT, you can use it directly for peering with other ASNs. - -In fact, if you let us know before ordering, we can even connect your -VIIRB to a VPN endpoint that allows peering with the real Internet. - -### 4. A hacking box - -Thi VIIRB contains a variety of additional features like PWM, GPIO, -A/D converter, D/A converter and so on. It can also plug in a small -camera, so you can turn it into an IPv6 enabled camera. The VIIRB is -so universal, easy and hackable that it's just fun to use it. - -Remote controlling your lights, your blinds, your doorbell - all -remotely via IPv6? You can do it with the VIIRB! - -## Tech details - -* Operating System: Linux (OpenWRT) -* Size: 28mm x 30mm x 30mm -* CPU: MT7628, 580 MHz, MIPS 24K -* Memory: 128MB, DDR2, 166MHz -* Storage: 16M NOR on board, support SDXC up to 2TB -* Wifi: 802.11n, 2T2R, speed up to 300Mbps. (**disabled by default**, - see below) -* Antenna: One U.FL slot, one on board antenna. -* Ethernet: 1 port, up to 100Mbps. -* USB: Support USB 2.0, up to 480MBit/s. -* USB debugging: there is a serial console on the micro USB port -* Audio: 3.5mm jack (in/out) -* Power supply: 3.6V ~ 5.5V, 500mA -* Power Consumption: 74mA wifi standby, 230mA wifi full speed, 5V input. - -The VIIRB is based on the [vocore2](https://vocore.io/v2u.html) with -an up-to-date firmware, pre-configured and -combined with the [IPv6VPN](https://ipv6vpn.ch). - -### Local throughput - -We measured throughput on a LAN, IPv6 based with iperf: - -``` -root@viirb1:~# iperf -c 2a0a:e5c0:13::42 -t 30 -V ------------------------------------------------------------- -Client connecting to 2a0a:e5c0:13::42, TCP port 5001 -TCP window size: 87.5 KByte (default) ------------------------------------------------------------- -[ 3] local 2a0a:e5c0:13:0:bad8:12ff:fe64:9d4d port 46452 connected with 2a0a:e5c0:13::42 port 5001 -[ ID] Interval Transfer Bandwidth -[ 3] 0.0-30.0 sec 332 MBytes 92.6 Mbits/sec -``` - -### Wireguard throughput - -``` -root@viirb88:/etc/config# iperf3 -t 30 -V -c 2a0a:e5c0:16:1::1 -iperf 3.7 -Linux viirb88 4.14.195 #0 Sun Sep 6 16:19:39 2020 mips -Control connection MSS 1348 -Time: Fri, 13 Nov 2020 13:53:10 UTC -Connecting to host 2a0a:e5c0:16:1::1, port 5201 - Cookie: qsx6vtbd5a5elhc6fkdt2n6t4mgbzjze4az4 - TCP MSS: 1348 (default) -[ 5] local 2a0a:e5c0:16:2::2 port 34376 connected to 2a0a:e5c0:16:1::1 port 5201 -Starting Test: protocol: TCP, 1 streams, 131072 byte blocks, omitting 0 seconds, 30 second test, tos -0 -[ ID] Interval Transfer Bitrate Retr Cwnd -[ 5] 0.00-1.00 sec 5.88 MBytes 49.2 Mbits/sec 0 247 KBytes -[ 5] 1.00-2.02 sec 6.17 MBytes 50.9 Mbits/sec 0 363 KBytes -[ 5] 2.02-3.00 sec 5.68 MBytes 48.5 Mbits/sec 0 506 KBytes -[ 5] 3.00-4.00 sec 6.06 MBytes 50.8 Mbits/sec 0 682 KBytes -[ 5] 4.00-5.01 sec 6.09 MBytes 50.7 Mbits/sec 0 837 KBytes -[ 5] 5.01-6.00 sec 5.99 MBytes 50.5 Mbits/sec 0 837 KBytes -[ 5] 6.00-7.04 sec 6.30 MBytes 50.9 Mbits/sec 0 886 KBytes -[ 5] 7.04-8.00 sec 6.09 MBytes 53.0 Mbits/sec 0 924 KBytes -[ 5] 8.00-9.04 sec 5.83 MBytes 47.1 Mbits/sec 1 744 KBytes -[ 5] 9.04-10.00 sec 6.32 MBytes 55.4 Mbits/sec 0 803 KBytes -[ 5] 10.00-11.01 sec 5.81 MBytes 48.3 Mbits/sec 0 881 KBytes -[ 5] 11.01-12.00 sec 6.60 MBytes 55.7 Mbits/sec 0 893 KBytes -[ 5] 12.00-13.01 sec 5.62 MBytes 47.0 Mbits/sec 0 893 KBytes -[ 5] 13.01-14.00 sec 6.19 MBytes 52.2 Mbits/sec 0 894 KBytes -[ 5] 14.00-15.01 sec 6.23 MBytes 52.0 Mbits/sec 0 950 KBytes -[ 5] 15.01-16.01 sec 6.01 MBytes 50.6 Mbits/sec 0 950 KBytes -[ 5] 16.01-17.00 sec 5.96 MBytes 50.3 Mbits/sec 0 973 KBytes -[ 5] 17.00-18.00 sec 6.30 MBytes 52.8 Mbits/sec 0 973 KBytes -[ 5] 18.00-19.06 sec 6.47 MBytes 51.4 Mbits/sec 0 973 KBytes -[ 5] 19.06-20.00 sec 5.92 MBytes 52.7 Mbits/sec 0 973 KBytes -[ 5] 20.00-21.01 sec 6.16 MBytes 51.3 Mbits/sec 0 973 KBytes -[ 5] 21.01-22.00 sec 6.01 MBytes 50.8 Mbits/sec 1 682 KBytes -[ 5] 22.00-23.00 sec 6.22 MBytes 52.1 Mbits/sec 0 723 KBytes -[ 5] 23.00-24.01 sec 6.21 MBytes 51.8 Mbits/sec 0 769 KBytes -[ 5] 24.01-25.00 sec 6.20 MBytes 52.1 Mbits/sec 0 799 KBytes -[ 5] 25.00-26.01 sec 6.01 MBytes 50.2 Mbits/sec 0 816 KBytes -[ 5] 26.01-27.01 sec 6.50 MBytes 54.6 Mbits/sec 0 821 KBytes -[ 5] 27.01-28.04 sec 6.09 MBytes 49.3 Mbits/sec 0 821 KBytes -[ 5] 28.04-29.03 sec 6.00 MBytes 51.1 Mbits/sec 0 827 KBytes -[ 5] 29.03-30.00 sec 6.28 MBytes 54.1 Mbits/sec 0 827 KBytes -- - - - - - - - - - - - - - - - - - - - - - - - - -Test Complete. Summary Results: -[ ID] Interval Transfer Bitrate Retr -[ 5] 0.00-30.00 sec 183 MBytes 51.2 Mbits/sec 2 sender -[ 5] 0.00-30.05 sec 183 MBytes 51.0 Mbits/sec receiver -CPU Utilization: local/sender 6.8% (0.2%u/6.6%s), remote/receiver 6.9% (1.6%u/5.3%s) -snd_tcp_congestion cubic -rcv_tcp_congestion cubic - -iperf Done. -``` - -### WiFi - -In our long term tests the WiFi of the VIIRB shows -reliability issues with clients that are not directly next to it. - -As the majority of VIIRB users we are in touch with did not use the -WiFi and our preference is on delivering stable systems, we have -turned the WiFi off by default. Effective since 2020-12-01. - -If you are looking for an IPv6 enabler with reliable WiFi, we -recommend to use the [VIWIB](/u/products/viwib-wifi-ipv6-box) instead. - - -## What is in the box - -When you order the VIIRB, you will receive one pre-configured -system. The box **does not** contain the micro usb cable or a charger, -because we think that most people already have this and we don't want -to contribute to tech waste. - -### IPv6VPN included - -A free subscription for 1 year is included. This way you can plug in -the VIIRB and just get started with IPv6. - -## VIIRB Add-Ons - -The VIIRB comes with a variety of possible add-ons that can turn it -into an even more versatile device. - -### Turning the VIIRB into an IPv6 camera - -You can turn the VIIRB into an IPv6 streaming camera with -a compatible USB-Webcam. For **25 CHF** you can add a tested, -Full HD (1920x1080) USB camera to your VIIRB order. - -### Turning the VIIRB into an IPv6 thermometer - -If you want to know how hot (or cold) it is, -you can use an USB temperature sensor to measure the temperature. -For **20 CHF** you can add a tested temperature sensor to your VIIRB -order. - -### Turning the VIIRB into an LTE/4G router - -Using an USB 4G Modem you can use the VIIRB to enable a network not -only with IPv6, but also with Internet connectivity in general. - -For **75 CHF** you can add a 4G modem to your VIIRB order. - -### Turning the VIIRB into a GPS tracker - -The VIIRB is small and universal. What if you could use it to track -things? Like your car, your bike, your boat? And check where your -things are using IPv6? - -You can add the USB GPS tracker add on for **25 CHF** as a single -device. - -### Multiple Add-Ons via USB Hub - -To connect more than one add-on to the VIIRB, you will need a -USB-Hub. For **25 CHF** you can add a verified, -4 Port USB hub to your VIIRB order. - - -### The VIIRB autonomous security system - -The VIIRB can be turned into an autonomous security system with the -following add-ons: - -* USB Hub (to support multiple add-ons) -* LTE/4G Router (Internet Uplink, excluding SIM card) -* GPS Tracker (To record where the VIIRB is) -* USB Camera (To stream what the VIIRB can see) - -The autonomous security system set can be added to your VIIRB order -for **150 CHF** (223 CHF including the VIIRB). - -## Ordering - - -### Price - -**Update 2023-02-04:VIIRB is discontiued.** - -Thank you for the love, our VIIRB is sold out and discontinued. If you missed to order a VIIRB we have VIWIB, a mini router box with a reliable WiFi option, you can check out [VIWIB](https://ungleich.ch/u/products/viwib-wifi-ipv6-box/) or [VIGIR.](https://ungleich.ch/u/products/vigir/) - -Get in touch with us at support@ungleich.ch if you want to learn more about the other products we have in stock. - - - - -## VIIRB in the Media - -* [Heise.de: Test & Beratung | IPv6-Würfelchen](https://www.heise.de/select/ct/2021/8/2104314534415582910) -* [APNIC blog: Connect to IPv6 everywhere with VIIRB](https://blog.apnic.net/2020/09/30/connect-to-ipv6-everywhere-with-viirb/) -* [Packetpushers podcast about the VIIRB](https://packetpushers.net/podcast/ipv6-buzz-058-tackling-ipv6-access-challenges/) -* [Blog post on - gnulinux.ch](https://gnulinux.ch/viirb-die-vpn-ipv6-iot-router-box) -* [VIIRB on Twitter](https://twitter.com/search?q=viirb) -* [Bookmark on tobru.ch](https://tobru.ch/newsletter-7/) - - -## More of it - -You can also announce your own IPv6 space via the VIIRB. The only -requirement is that you have an ASN and an IPv6 prefix. Checkout the -[BGP Peering](/u/products/bgp-peering/) for more details. - ---- -content2_text: - -## How it works in detail - -The complete flow for how your computers get IPv6 in the LAN -is show in the following picture: - -![](/u/image/ipv6-with-the-viirb.png) - -So basically the VIIRB... - -* gets an IPv4 address in your LAN -* connects to the IPv6VPN.ch service -* Gets its /48 routed via Wireguard -* Announces (via Router Advertisements) IPv6 on the LAN -* Because of the announcement, all clients in the LAN assign themself - an IPv6 address - ---- diff --git a/content/u/products/viirb-ipv6-box/viirb-vertical-security.jpg b/content/u/products/viirb-ipv6-box/viirb-vertical-security.jpg deleted file mode 100644 index 155b3f1..0000000 Binary files a/content/u/products/viirb-ipv6-box/viirb-vertical-security.jpg and /dev/null differ diff --git a/content/u/products/virtual-machine-hosting/contents.lr b/content/u/products/virtual-machine-hosting/contents.lr index a3e1305..7b6375a 100644 --- a/content/u/products/virtual-machine-hosting/contents.lr +++ b/content/u/products/virtual-machine-hosting/contents.lr @@ -18,7 +18,7 @@ header_text_color: text-light --- nav_classes: navbar-dark --- -image:/u/image/cards/vps-bestseller.jpg +image:/u/image/cards/zerocarbonvps.jpg --- feature1_title: Full virtualisation --- @@ -64,5 +64,5 @@ comes from the scarcity of IPv4 addresses: there is only a very limited pool of IPv4 addresses. Both offers include an optional /64 IPv6 network that you receive on -request and both offers can also be extended with HDD storage for 2 +request and both offers can also be extended with HDD storage for 1.5 CHF/month per 100 GB storage. diff --git a/content/u/products/viwib-wifi-ipv6-box/contents.lr b/content/u/products/viwib-wifi-ipv6-box/contents.lr deleted file mode 100644 index 6cdc868..0000000 --- a/content/u/products/viwib-wifi-ipv6-box/contents.lr +++ /dev/null @@ -1,160 +0,0 @@ -_discoverable: yes ---- -_hidden: no ---- -title: VIWIB - The VPN IPv6 WiFi IoT Box ---- -subtitle: VIWIB brings you IPv6 and WiFi - everywhere. ---- -image: /u/image/cards/viwib-hot.jpg ---- -headline1: VIWIB: ---- -headline2: VPN IPv6 ---- -headline3: WiFi IoT Box ---- -header_background_color: #EBBD07 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -content1_text: - -## The VIWIB - -The VIWIB is the bigger sister of our -[VIIRB](/u/products/viirb-ipv6-box/). Compared to the VIIRB, VIWIB has 2 -Ethernet ports and a reliable WiFi. It is also slightly bigger in size -(58 x 58 x 25mm). However it does not weigh much - in fact, it -only weighs 40g! - -## VIWIB use cases - -The main use case of the VIWIB is the same as the VIIRB: to bring IPv6 -everywhere in the world. As the hardware differs slightly to the -VIIRB, we have some different use cases in mind for the VIWIB: - -### IPv6 only Wifi - -The VIWIB comes with a built-in WiFi network. The default SSID is -"IPv6 everywhere" and the default password is "iloveipv6". The -broadcasted WiFi is IPv6 only with DNS64 and NAT64 enabled. - -To show that IPv6 is fun, the default sub network id for the -wifi is "7ea", which reads similar to "tea". So if your VPN network -was 2001:db8:ace::/48, the wifi network would be 2001:db8:ace:7ea::/64. - -### IPv6-only LAN - -If you connect the LAN port to an unused network switch, the VIWIB -will create an IPv6-only network. It is very similar to the WiFi. - -To show that IPv6 is fun, the default subnetwork id for the LAN is -"cafe", which reads similar to ... you get point. - -### Dual stack LAN - -If you connect the LAN port to an existing network with IPv4 -connecvitity, the VIWIB will create a dual stack network. Whichever mode -you prefer, is up to you to decide! - -## How it works - -The VIWIB, like the VIIRB, uses the [IPv6VPN](/u/products/ipv6-vpn/) -to get IPv6 connectivity. The VIWIB is also 100% Open Source, and by -default the firewall is configured to allow outgoing connections from -LAN and WiFi towards the VPN. Incoming ICMP6, SSH, HTTP and HTTPS are -open by default, too. - -## Tech details - -* Operating System: Linux (OpenWRT) -* Size: 58 x 58 x 25mm -* Weight: 40g -* CPU: MTK7628NN @580Mhz SoC -* Memory: 128MB -* Storage: 16M Flash -* Wifi: 802.11 b/g/n -* Ethernet: 2 ports, up to 100Mbps. -* USB: USB 2.0 -* Power supply: 5V/1A Micro USB -* Power Consumption: <2.75W - -The VIWIB is based on the -[GL-MT300N-V2](https://www.gl-inet.com/products/gl-mt300n-v2/), -OpenWrt and is pre-configured with the [IPv6VPN](https://ipv6vpn.ch). - -### IPv6VPN included - -A free subscription for 1 year is included. This way you can plug in -the VIWIB and just get started with IPv6. - - -### Price - -**Update 2024-08-09: VIWIB is temporarily out of stock** - -Thanks to your love, VIWIB is temporarily out of stock. -You can preorder it now to receive it when we have them back in stock. -Restocking is estimated to be at the second half of 2025. -Get in touch with us at support@ungleich.ch if you want to learn more about the other products we have in stock. - -**The price of the VIWIB is 68 CHF**. - - -All prices exclude VAT and shipping costs. - - -## VIWIB Add-Ons - -All VIIRB add-ons are compatible with the VIWIB! So you can turn your -VIWIB into an IPv6 camera, an IPv6 thermometer, an IPv6 LTE/4G router, -into an IPv6 GPS tracker, use multiple add-ons or even turn -the VIWIB into a security system! - -### Turning the VIWIB into an IPv6 camera - -You can turn the VIWIB into an IPv6 streaming camera with a compatible USB-Webcam. For 25 CHF you can add a tested, HD (1280x720) USB camera to your VIWIB order. - -### Turning the VIWIB into an IPv6 thermometer - -If you want to know how hot (or cold) it is, you can use an USB temperature sensor to measure the temperature. For 20 CHF you can add a tested temperature sensor to your VIWIB order. - -### Turning the VIWIB into an LTE/4G router - -Using an USB 4G Modem you can use the VIWIB to enable a network not only with IPv6, but also with Internet connectivity in general. - -For 75 CHF you can add a 4G modem to your VIWIB order. - -### Turning the VIWIB into a GPS tracker - -The VIWIB is small and universal. What if you could use it to track things? Like your car, your bike, your boat? And check where your things are using IPv6? - -You can add the USB GPS tracker add on for 25 CHF as a single device. - -### Multiple Add-Ons via USB Hub - -To connect more than one add-on to the VIWIB, you will need a USB-Hub. For 25 CHF you can add a verified, 4 Port USB hub to your VIWIB order. - -### The VIWIB autonomous security system - -The VIWIB can be turned into an autonomous security system with the following add-ons: - -- USB Hub (to support multiple add-ons) -- LTE/4G Router (Internet Uplink, excluding SIM card) -- GPS Tracker (To record where the VIWIB is) -- USB Camera (To stream what the VIWIB can see) - -The autonomous security system set can be added to your VIWIB order for 150 CHF (218 CHF including the VIWIB). - -## More of it - -If you need more ports, Gigabit support, more RAM and more storage, -you can checkout our [VIGIR](../vigir/). - -If you prefer a smaller device and you do not need wifi, we recommend to -checkout our [VIIRB](/u/products/viirb-ipv6-box/). ---- -content1_image: /u/image/viwib-vertical.jpg diff --git a/content/u/products/vpn-server-as-a-service/contents.lr b/content/u/products/vpn-server-as-a-service/contents.lr deleted file mode 100644 index b9592c6..0000000 --- a/content/u/products/vpn-server-as-a-service/contents.lr +++ /dev/null @@ -1,123 +0,0 @@ -_discoverable: no ---- -_hidden: no ---- -title: VPN Server (as a service) ---- -subtitle: Manage your own VPN connections ---- -headline1: Your own VPN server ---- -headline2: GitOps flow ---- -headline3: Worry free VPN ---- -header_background_color: #1393B4 ---- -header_text_color: text-light ---- -nav_classes: navbar-dark ---- -FIXMEimage: /u/image/cards/supportsystem.jpg ---- -feature1_title: Ready for teams ---- -feature1_text: - - ---- -feature2_title: Made for developers with GitOps ---- -feature2_text: -How should one manage VPN zones? What kind of configuration utility -should one use? There is a simple answer to this: none at all. Simply -commit your VPN zones to a git repository, push it - done. Everything -else is taken care of by the our infrastructure. ---- -feature3_title: Concentrate your core business ---- -feature3_text: Don't worry - be happy -With the hosted VPN server you can focus on your -core business. The system upgrade and maintaenance is taken cared by us. ---- -content1_text: - -## VPN Server as a Service (VPNSaaS) - -This service allows you to manage VPN connections on your own VPN -servers. You manage client configurations using the standard -Wireguard configuration format. - -## Features - -The provided VPN servers are reachable via IPv6 and IPv4. - -They are available in IPv6 only and dual stack (IPv6 + IPv4) versions. - -The VPN servers are configured to pull from the configured repository -every 5 minutes. - -If you order more than one VPN server, we offer to place them into -different data centers and IP ranges. - -## How to use the VPN servers - -There are a few simple steps required: - -* Create a git repository anywhere you want - for instance on - [code.ungleich.ch](https://code.ungleich.ch) with an [ungleich - account](https://account.ungleich.ch). -* Create a wireguard configuration file named wg0.conf - -## VPN Server modes - -The needs for VPN protection are different depending on your situation -and we show some common modes on how to use the VPN server. - -### IPv6 only - -If you want to enable your clients with IPv6, you can assign -IPv6 addresses or IPv6 subnetworks to the clients. - -### Dedicated Public IPv4 - -If you want your client to be reachable via IPv4 from the outside, you -can make them reachable by assigning the client a dedicated public -IPv4 address. - -This mode can be combined with the IPv6 mode above. - -### Shared Public IPv4 - -If you want your your clients to reach the IPv4 Internet via a shared -public IPv4 address. This is the "typical VPN mode". - -This mode can be combined with the IPv6 mode above. - -## Fully Open Source and IPv6 enabled - -The VPN is completely based on Open -Source Software components. From the operating system to the software -stack, nothing is closed. This service is based -on [Wireguard](https://www.wireguard.com/). - -## Zero Carbon Hosting - -The VPN servers are running in our [Zero Carbon -Data Center.](https://datacenterlight.ch) - -## Pricing - -Your own VPN server is available in 2 versions: - -* IPv6 only VPN server with a /48 network: 37 CHF/month -* Dual stack (IPv6+IPv4) VPN server with a /48 network: 46.5 CHF/month - -Every additional public IPv6 /48 network is 5 CHF/month. -Every additional public IPv4 address is 9.5 CHF/month. - -The one time setup fee is 25 CHF. - -## How to order - -You can order via **support -at- ungleich.ch**. diff --git a/content/u/products/zero-carbon-chat/contents.lr b/content/u/products/zero-carbon-chat/contents.lr index 68c79e5..ab151c9 100644 --- a/content/u/products/zero-carbon-chat/contents.lr +++ b/content/u/products/zero-carbon-chat/contents.lr @@ -31,7 +31,7 @@ content1_text: ## What is Zero Carbon Chat? -Zero Carbon Chat is a secure and sustainable alternative to your Slack or Whatsapp. Our chat offers enhanced security and full control over your privacy, and it is hosted at a datacenter run by 100% renewable energy. By using Zero Carbon Chat instead of other environmentally unsustainable chats, you and your community will help our planet stay cooler while keeping your message private. +Zero Carbon Chat is a secure and sustainable alternative to your Slack or Skype, Whatsapp. Our chat offers enhanced security and full control over your privacy, and it is hosted at a datacenter run by 100% renewable energy. By using Zero Carbon Chat instead of other environmentally unsustainable chats, you and your community will help our planet stay cooler while keeping your message private. ## Whom is Zero Carbon Chat for? @@ -78,16 +78,20 @@ At Zero Carbon Chat you will not have * Chat data physically hosted at servers powered by fossil fuel or other unsustainable energy sources * Your privacy compromise from storing your data in a country where authorities have global access to your data +* Spam mails from us that use unnecessary bytes that cost all of us from our environment +* Cryptocurrency as payment option +* Unnecessary frills in our web interface which require more computing power and result in more carbon emission + --- content2_image: /u/image/carbonzero-chat.jpg --- -offer1_title: Light Chat 40 CHF/Month +offer1_title: Light Chat 36 CHF/Month --- offer1_text: -* Suitable for up to 50 users -* Fully scalable anytime (2 CHF/Month for 100 GB HDD) +* Up to 50 users +* Fully scalable anytime (1.5 CHF/Month for 100 GB HDD) * Application firewall included * [Initial setup fee 30 CHF](https://ungleich.ch/product/0carbonchat-setup/) @@ -100,8 +104,8 @@ offer2_title: Community Chat 63 CHF/Month --- offer2_text: -* Suitable for up to 100 users -* Fully scalable anytime (2 CHF/Month for 100 GB HDD) +* Up to 100 users +* Fully scalable anytime (1.5 CHF/Month for 100 GB HDD) * Application firewall included * [Initial setup fee 30 CHF](https://ungleich.ch/product/0carbonchat-setup/) @@ -114,8 +118,8 @@ offer3_title: Power Chat 157 CHF/Month --- offer3_text: -* Suitable for up to 1000 users -* Fully scalable anytime (2 CHF/Month for 100 GB HDD) +* Up to 1000 users +* Fully scalable anytime (1.5 CHF/Month for 100 GB HDD) * Application firewall included * [Initial setup fee 30 CHF](https://ungleich.ch/product/0carbonchat-setup/) @@ -126,9 +130,9 @@ offer3_link: https://ungleich.ch/product/0carbonchat-power/ --- headline1: zero carbon chat --- -headline2: hosted mattermost +headline2: team chat --- -headline3: with clean energy +headline3: made clean --- header_background_color: #4da553 --- diff --git a/content/u/products/zero-carbon-cloud/contents.lr b/content/u/products/zero-carbon-cloud/contents.lr index ccb2478..cbf3e1e 100644 --- a/content/u/products/zero-carbon-cloud/contents.lr +++ b/content/u/products/zero-carbon-cloud/contents.lr @@ -16,7 +16,7 @@ feature1_text: Stop storing your data in servers run by dirty energy, we use 100 --- feature2_title: Fully sustainable --- -feature2_text: We opt for fully reusing hardware and buildings to extend the lifecycle of the technology. +feature2_text: New hardware is as bad as fast fashion for the environment. We opt for fully reusing hardware and buildings to extend the lifecycle of the technology. --- feature3_title: Fully conscious --- @@ -48,12 +48,12 @@ You can access the storage easily from your desktop, mobile phone, tablet and of ## Zero Carbon Cloud Plans -You can start Zero Carbon Cloud with below plans. The cost is made of two parts, a one-time initial setup fee and the monthly plan you choose. Our team will get in touch with you as soon as we receive the order and will give you the access to the cloud in 1 business day. Growing your cloud after starting a plan is very easy and can be done anytime, 100 GB HDD is 2 CHF per month. +You can start Zero Carbon Cloud with below plans. The cost is made of two parts, a one-time initial setup fee and the monthly plan you choose. Our team will get in touch with you as soon as we receive the order and will give you the access to the cloud in 1 business day. Growing your cloud after starting a plan is very easy and can be done anytime, 100 GB HDD is 1.5 CHF per month. --- content1_image: /u/image/zerocarbon-yes.jpg --- -content4_text: +content2_text: ## Tech stack @@ -63,111 +63,69 @@ At Zero Carbon Cloud you will have * Fully scalable storage and backup * Your offsite backup for your own NAS * Unlimited bandwidth under fair use policy +* Our zero carbon emission cloud badge exposable on your website * Safe data storage protected by Swiss privacy laws * Monthly or yearly credit card payment option, or wire transfer payment option +* Discount for larger plans so you can be compensated more for the carbon emission you saved + +At Zero Carbon Cloud you will not have + +* Storage run by fossil fuel and other unsustainable energy sources +* Spam mails from us that use unnecessary bytes that cost all of us from our environment +* Cryptocurrency payment option +* Unnecessary frills in our web interface which again increase the +computing power and result in more carbon emission + --- -content4_image: /u/image/zerocarbon-no.jpg +content2_image: /u/image/zerocarbon-no.jpg --- -offer1_title: Cloud S-100 GB @ 26CHF/month +offer1_title: 100 GB @ 23CHF/month --- 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 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/) Recommended for your private use or for a smaller project --- -offer1_link: https://ungleich.ch/product/0carboncloud-s-100GB/ +offer1_link: https://ungleich.ch/product/0carboncloud-100GB/ --- -offer2_title: Cloud S-500 GB @ 34 CHF/month +offer2_title: 1 TB @ 36.5CHF/month --- offer2_text: -* **One free IPv6 VPN** 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 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 small to medium organisations --- -offer2_link: https://ungleich.ch/product/0carboncloud-s-500GB/ +offer2_link: https://ungleich.ch/product/0carboncloud-1TB/ --- -offer3_title: Cloud M-500 GB @ 45 CHF/month +offer3_title: 50 TB @ 540 CHF/month --- offer3_text: -* **One free IPv6 VPNs** included for increased security +* **Ten free IPv6 VPNs** included for increased security * Datacenter location: Glarus, Switzerland * Enhanced security by limiting access to only your devices -* 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/) - -Recommended for small to medium organisations - ---- -offer3_link: https://ungleich.ch/product/0carboncloud-m-500GB/ ---- -offer4_title: Cloud M-5 TB @ 135 CHF/month ---- -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 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/) - -Recommended for small to medium organisations - ---- -offer4_link: https://ungleich.ch/product/0carboncloud-m-5TB/ ---- -offer5_title: Cloud L-1 TB @ 77 CHF/month ---- -offer5_text: - -* **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 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/) +* **30% large scale discount** applied Recommended for medium to large organisations --- -offer5_link: https://ungleich.ch/product/0carboncloud-L-1TB/ +offer3_link: https://ungleich.ch/product/0carboncloud-50TB/ --- -offer6_title: Cloud L-10 TB @ 257 CHF/month +headline1: don't offset, --- -offer6_text: - -* **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 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/) - -Recommended for medium to large organisations - ---- -offer6_link: https://ungleich.ch/product/0carboncloud-L-10TB/ ---- -headline1: secure ---- -headline2: data storage +headline2: do zero carbon. --- headline3: zero carbon cloud --- diff --git a/content/u/products/zerocarbon-webhosting-with-ipv6/contents.lr b/content/u/products/zerocarbon-webhosting-with-ipv6/contents.lr index 26ebe56..c72b18a 100644 --- a/content/u/products/zerocarbon-webhosting-with-ipv6/contents.lr +++ b/content/u/products/zerocarbon-webhosting-with-ipv6/contents.lr @@ -22,7 +22,7 @@ nav_classes: navbar-dark --- content1_text: -## Webhosting made clean +##Webhosting made clean Are you looking for a climate neutral, sustainable and future-proven static webhosting? Are you interested in serving a small website or @@ -38,7 +38,7 @@ content2_text: ## Custom Offers -Above specs don't match what you need? Get in touch with us and let us know what you need, we'll come back to you with a custom offer. Send us a mail to support@datacenterlight.ch or you can talk to us directly at [our chat.](https://chat.with.ungleich.ch) +Above specs don't match what you need? Get in touch with us and let us know what you need, we'll come back to you with a custom offer. Send us a mail to support@datacenterlight.ch or you can talk to us directly at [our chat.](https://chat.ungleich.ch) --- content2_image: /u/image/penguin-webhosting.jpg --- @@ -67,29 +67,29 @@ reuse hardware, only do passive cooling and are directly plugged into a hydroelectric power plant. --- -offer1_title: Webhosting-S 22.5 CHF/Month +offer1_title: Webhosting-S 9 CHF/Month --- offer1_text: +* 100 GB space +* SFTP access +* IPv6 and legacy IP reachable +* Data storage replicated 3 times +* [10 CHF Setup fee](https://ungleich.ch/product/0carbonwebhosting-setup/) +* Suitable for starting + +--- +offer1_link: https://ungleich.ch/product/0carbonwebhosting-s/ +--- +offer2_title: Webhosting-M 22.5 CHF/Month +--- +offer2_text: + * 1000 GB space * SFTP access * IPv6 and legacy IP reachable * Data storage replicated 3 times -* [35 CHF Setup fee](https://ungleich.ch/product/0carbonwebhosting-setup/) -* Suitable for bigger websites - ---- -offer1_link: https://ungleich.ch/product/0carbonwebhosting-s/ ---- -offer2_title: Webhosting-M 82.5 CHF/Month ---- -offer2_text: - -* 5000 GB space -* SFTP access -* IPv6 and legacy IP reachable -* Data storage replicated 3 times -* [35 CHF Setup fee](https://ungleich.ch/product/0carbonwebhosting-setup/) +* No Setup fee * Suitable for most websites --- @@ -103,7 +103,7 @@ offer3_text: * SFTP access * IPv6 and legacy IP reachable * Data storage replicated 3 times -* [35 CHF Setup fee](https://ungleich.ch/product/0carbonwebhosting-setup/) +* No Setup fee * Suitable for websites publishing big data --- diff --git a/content/u/projects/1000eyes/contents.lr b/content/u/projects/1000eyes/contents.lr deleted file mode 100644 index 7b726e3..0000000 --- a/content/u/projects/1000eyes/contents.lr +++ /dev/null @@ -1,128 +0,0 @@ -title: The 1000 eyes project ---- -subtitle: Let's connect back - digitally ---- -_hidden: yes ---- -_discoverable: no ---- -description1: - -## What is the 1000 eyes project? - -2020 has been a difficult year for everyone. Lockdowns, sickness, -limitations of movement, being unable to see friends and family. - -2020 might be the year that we talk about for decades, probably to our -children. - -In these times, when we need to social distance to keep others safe, -we can feel isolated, locked in - wanting to go out and meet other -people. - -With the 1000eyes project we aim to bring people back together. Safely -and everywhere in the world. - -## How does the 1000 eyes project work? - -Every **eye** allows you to see one spot in the world. An eye is an -IPv6 enabled camera that is world wide reachable (*). With an eye, you -can view parts of the world. Live and unedited. - -There are two options to choose from: Option (A) an eye at your place that you -operate. Or (B) an eye that we operate for you. - -### Option (A): An eye for you and your place - -### Option (B): An eye operated by ungleich - -## How do I connect the eye? - -You can either connect the eye via a network cable to your router or -you can connect it via WiFi. - -## Meet, talk and exchange ideas - -So what if you see a cool eye? Who can you talk to it about? Where can -you announce a trip that you do with your eye? - -For this we already created an open exchange platform on the [Open -Chat](/u/projects/open-chat/): simply register at the Open Chat -and then join **1000eyes:ungleich.ch**. - -## Financial Goals - -### Initial Goal: producing first batch of 100 eyes - 7520 CHF - -Let's create the first 100 eyes together. We will setup a website that -lists all available eyes and allows you to select an individual eye -for viewing. - -### Stretch Goal #1: 20'000 CHF - -If we are able to produce a bigger amount, we will be able to add -a battery and solar panel option to allow your eye to function without -external power source for some time. Our current tested option -includes a 30000mAh battery and a 1.65W solar panel. The estimated -price for this add-on is 75 CHF (the exact price will be communicated -once we passed this stretch goal). - -### Stretch Goal #3: 50'000 CHF - -This is roughly 500 eyes distributed in the world. Reaching this goal -will allow us to add a 4G/LTE option, allowing your eye to function -even without an Ethernet cable and without WiFi. We are currently -evaluating a partnership that will even allow us to distribute it with -SIM cards in Switzerland. Estimated price for the 4G/LTE extension is -75 CHF (the exact price will be communicated once we passed this stretch goal). - -### Stretch Goal 3: 100'000 CHF - -If we reach this goal we will add IPv4 proxy support for every eye - -that means every eye will also be accessible from the IPv4 Internet. - -Additionally we plan to add more sophisticated filtering and creating -your own collection of eyes on the website - so that you can show your -selection of eyes to your friends and family. - -## Tech details - -The eyes are based on tested and running on ungleich verified -hardware. -All eyes are -running the Open Source operating system -[OpenWRT](https://openwrt.org/). The camera is a HD (1280x720) -resolution. The eye **does not store** - -### The hardware - -The eye is based on a MediaTek MT7628AN with -580Mhz, 8 MB Flash and 64 MB RAM. The underlying hardware platform is -a TP-Link TL-WR902AC v3. It has dual band WiFi chip that supports -2.4 Ghz (b/g/n) and 5 Ghz (a/n/ac) networks. The Ethernet port is a -100 Mbit/s port. - -### IPv6 Connectivity - -All eyes are bringing their own IPv6 connectivity. So you can connect -your eye to any IPv4 or IPv6 network and the eye will use the -[IPv6VPN.ch](https://ipv6vpn.ch) to get its own IPv6 address. - -### Fully Open Source - -Not only is the operating system fully Open Source, also the process -to create the eyes and to configure is openly available. Because the -eyes are using OpenWRT, you are free to reconfigure the eye to your -need. - -### Wireguard included - -The eyes use the [Wireguard](https://www.wireguard.com/) protocol to -establish the VPN. If you are reconfiguring or resetting the eye, -ensure that you make a backup of the wireguard private key. - -## The footprint / small print - -(*) The eyes are only reachable via IPv6. If we reach the If you do not have an IPv6 -connection, you can get IPv6 connectivity from the -[IPv6VPN.ch](https://ipv6vpn.ch). diff --git a/content/u/projects/cdist/contents.lr b/content/u/projects/cdist/contents.lr index 85cc8c3..093fa47 100644 --- a/content/u/projects/cdist/contents.lr +++ b/content/u/projects/cdist/contents.lr @@ -8,7 +8,7 @@ any host that has a ssh server running. --- image: /u/image/cards/cdist.jpg --- -description1: +content: If you are like us, you like to run infrastructures and you like to have things open and simple. For this reason we created cdist, the diff --git a/content/u/projects/data-center-light/contents.lr b/content/u/projects/data-center-light/contents.lr index 316a747..4a52a93 100644 --- a/content/u/projects/data-center-light/contents.lr +++ b/content/u/projects/data-center-light/contents.lr @@ -4,7 +4,7 @@ subtitle: A clean and sustainable data center --- image: /u/image/cards/datacenterlight.jpg --- -description1: +content: ## Introduction @@ -104,7 +104,7 @@ In the Data Center Light we offer * [Virtual Machine Hosting](/u/products/virtual-machine-hosting) * [IPv6 only Virtual Machine Hosting](/u/products/ipv6-only-hosting) * [Data Storage](/u/products/data-storage/) -* [Colocation](/u/products/colocation/) +* Colocation Our objective is to enable people world wide and locally. From easier working to giving safety to being able to store your data sustainable. diff --git a/content/u/projects/digital-chalet/contents.lr b/content/u/projects/digital-chalet/contents.lr index 8da7c61..c4459a5 100644 --- a/content/u/projects/digital-chalet/contents.lr +++ b/content/u/projects/digital-chalet/contents.lr @@ -4,7 +4,7 @@ subtitle: The start of Digital Glarus! --- image: /u/image/cards/digitalchalet-schwanden.jpg --- -description1: +content: ## Introduction diff --git a/content/u/projects/digital-glarus/contents.lr b/content/u/projects/digital-glarus/contents.lr index 5f59805..90d3107 100644 --- a/content/u/projects/digital-glarus/contents.lr +++ b/content/u/projects/digital-glarus/contents.lr @@ -4,7 +4,7 @@ image: /u/image/cards/digitalglarus.png --- subtitle: Using digitalisation for the good --- -content1_text: +content: ## Introduction @@ -35,17 +35,15 @@ meetups](https://www.meetup.com/Digital-Glarus-Business-Technology/) with technical and business topics. Due to the Digital Chalet getting crowded, we opened a new location -in 2019: the [Hacking Villa](/u/projects/hacking-villa). We plan to -turn the Hacking Villa into a school and will offer first courses in +in 2019: the [Hacking Hotel](/u/projects/hacking-hotel). We plan to +turn the Hacking Hotel into a school and will offer first courses in 2020. ## How you can participate If you are interested in joining us, you can contact us by mail (info -at digitalglarus.ch), [chat](https://chat.with.ungleich.ch) or even by +at digitalglarus.ch), [chat](https://chat.ungleich.ch) or even by phone (+41 55 505 62 66). It is possible to visit us for a day or two, or like many have, to stay longer and even stay with us permanently. ---- -content1_image: /u/image/diesbach_outside_small.jpg diff --git a/content/u/projects/digitale-bildung/contents.lr b/content/u/projects/digitale-bildung/contents.lr index f24da37..aea789a 100644 --- a/content/u/projects/digitale-bildung/contents.lr +++ b/content/u/projects/digitale-bildung/contents.lr @@ -8,7 +8,7 @@ Digital Chalet Schwanden and help each other in learning IT. --- image: /u/image/cards/digitalebildungungleich.jpg --- -description1: +content: Being one of the leading IT companies in [Digital Glarus](../digital-glarus/) comes with responsibility. For us it is @@ -19,7 +19,7 @@ For this reason we support the local club "Digital Bildung ungleich", which allows people to learn one evening per week. The meeting happens either in the [Digital Chalet](../digital-chalet/) -or in the [Hacking Villa](../hacking-villa/). +or in the [Hacking Hotel](../hacking-hotel/). You can read more about it in the [Digital Bildung blog diff --git a/content/u/projects/education/contents.lr b/content/u/projects/education/contents.lr deleted file mode 100644 index e98d803..0000000 --- a/content/u/projects/education/contents.lr +++ /dev/null @@ -1,55 +0,0 @@ -title: Education ---- -subtitle: -Education is the key to digital sustainability - ---- -image: /u/image/cards/education.jpg ---- -description1: - -## Education by ungleich - -Here at ungleich we are facing a lot of technogies in and out every -day. From Linux to IPv6, from Open Source to LoRaWAN, from -virtualisation to IoT - modern technogie stacks are our home. - -We want to pass the knowledge that we acquire at ungleich to enable -you for your next project. - -The following are opportunities to learn with our ungleich team: - -## 1. Kubernetes Setup Course (From 2022-06-13 to 2022-06-17, Monday to Friday) - -This is a great course for getting to know -Kubernetes. - -We are teaching [how to setup Kuberentes from a scratch.](https://ungleich.ch/en-us/cms/school-digital-glarus/k8s-setup/) The goal of the course is understanding the base -principles of Kubernetes and being able to setup a Kubernetes cluster on your own. This -course is held in the [Hacking Villa](/u/projects/hacking-villa). - - -This is an introduction course with teaching hours from 0900-1700. - -Requirements: one laptop with Linux or Mac OS installed. A course -laptop can be rented for 100 CHF. - -For participation send a mail to k8s@ungleich.ch. - -**Limited to a maximum of 6 participants for a more personal learning exprience.** - -## 2. Kubernetes Usage Course (From 2022-06-20 to 2022-06-24, Monday to Friday) - -We are teaching [how to use Kuberentes](https://ungleich.ch/en-us/cms/school-digital-glarus/k8s-usage/). This -course is held in the [Hacking Villa](/u/projects/hacking-villa). - - -This is an introduction course with teaching hours from 0900-1700. - -Requirements: one laptop with Linux or Mac OS installed. A course -laptop can be rented for 100 CHF. - -For participation send a mail to k8s@ungleich.ch. - -**Limited to a maximum of 6 participants for a more personal learning exprience.** - diff --git a/content/u/projects/hack4glarus/contents.lr b/content/u/projects/hack4glarus/contents.lr index 3bcf8d4..b4555b8 100644 --- a/content/u/projects/hack4glarus/contents.lr +++ b/content/u/projects/hack4glarus/contents.lr @@ -4,9 +4,9 @@ subtitle: Hack4Glarus is the first hackathon of Glarus. --- image: /u/image/cards/hack4glarus.png --- -description1: +content: -## The Hackathon of Glarus +##The Hackathon of Glarus Hack4Glarus is the first hackathon of Glarus. It is your chance to meet & hack with geniuses of Switzerland and the world. To our diff --git a/content/u/projects/hack4glarus/mini-hack4glarus-2022-01/contents.lr b/content/u/projects/hack4glarus/mini-hack4glarus-2022-01/contents.lr deleted file mode 100644 index ee3a916..0000000 --- a/content/u/projects/hack4glarus/mini-hack4glarus-2022-01/contents.lr +++ /dev/null @@ -1,51 +0,0 @@ -title: Mini Hack4Glarus 2022-03 ---- -subtitle: The first Hack4Glarus since Corona started ---- -description1: - -## Hack4Glarus in the Corona times - -As many of you know, before Corona we had the bi-yearly -[Hack4Glarus](https://hack4glarus.ch) in Digital Glarus. -For everyone's protection, we cancelled all events. While the health -aspect was the main reason to cancel the event, the logistic aspects -(potentially quarantine 14 days on arrival, potentially quarantine 14 -days after departure) also played a big role for us to cancel the -event. - -## Introducing the Mini-Hack4Glarus - -The measures are slowly being removed in many countries, including -Switzerland. While we are taking it a bit slower at ungleich in -regards to opening up, we also want to try to slowly normalise our -lives. - -For this reason we are launching a series of Mini-Hack4Glarus at the -[Hacking Villa Diesbach](/u/projects/hacking-villa). Each of the -Mini-Hack4Glarus will be limited in terms of participants to keep it -comfortable for everyone attending. - - -## 2022-03: Mini-Hack4Glarus No. 1 - -The first Mini-Hack4Glarus will take place from the 18th of March to -20th of March. It is limited to 5 participants, so that we can ensure -that everyone can sleep in their own room and that we have enough -space. - -The topic of the Mini-Hack4Glarus No. 1 is: -"**Corona: been there, done that**". The objective is to discuss the -learning of the Corona pandemic, which learnings there are -from it and which role Open Source and offsite places like Digital -Glarus can play in our future lives. - -If you are interested in participating, submit a proposal -in the [Mini -Hack4Glarus -2022-03 Redmine -project](https://redmine.ungleich.ch/projects/mini-hack4glarus-2022-03/issues/new) -until 2022-03-11. - -If you do not yet have an ungleich account, you can create one -on [account.ungleich.ch](https://account.ungleich.ch). diff --git a/content/u/projects/hacking-hotel/contents.lr b/content/u/projects/hacking-hotel/contents.lr new file mode 100644 index 0000000..a64bb9b --- /dev/null +++ b/content/u/projects/hacking-hotel/contents.lr @@ -0,0 +1,57 @@ +title: Hacking Hotel Diesbach +--- +subtitle: A space for creative minds in the heart of Switzerland +--- +image: /u/image/cards/hackinghotel.jpg +--- +content: + +## TL;DR + +The hacking hotel is an 1874 built hotel in Diesbach that welcomes +writers, designers, architects, geeks, hackers from all over the +world. If you want to visit or stay with us, just get in touch with us +at **hackinghotel at ungleich.ch**. + +## Why a hacking hotel? + +We are located in the heart of the pretty mountain valley +[Glarus](https://en.wikipedia.org/wiki/Glarus) and we love our +surrounding and the way of living here. We want to share this +spirit with you and this is why we opened up this hotel. +The hacking hotel is part of the [Digital +Glarus](/u/projects/digital-glarus) project. + +## What is there? + +The Hacking Hotel has 13 rooms in total with 9 rooms open for +staying. It is located next to a pretty waterfall, a cross-country +skiing area, some horses and a lot of cows. + +And more importantly: a direct 10 GBit/s network connection to the +next Data Center, the Data Center Light. + +You can have a sneak preview of how it looks inside +on the [Hacking and Living in Hotel Diesbach page](https://hack.digitalglarus.ch/hacking-and-living-in-hotel-diesbach.html). + + +## What to do in the hacking hotel? + +We are here to enjoy our life while we work the way we like to work. +However, you are free to do what you like - for instance: + +* enjoy the fast Internet +* have a walk in the valley +* hike up in the nearby mountains +* learn horse riding +* cook together +* go for a swim or sauna nearby in [Braunwald](https://www.braunwald.ch/) +* work concentrated + +## How to get there? + +Just take the train or plane to Zurich and from there it is a direct +train to the nearby station. +Checkout the [SBB +page](https://www.sbb.ch/de/kaufen/pages/fahrplan/fahrplan.xhtml?von=Zurich&nach=Diesbach-Betschwanden) +for the next train. diff --git a/content/u/projects/hacking-villa/contents.lr b/content/u/projects/hacking-villa/contents.lr deleted file mode 100644 index 5ea7479..0000000 --- a/content/u/projects/hacking-villa/contents.lr +++ /dev/null @@ -1,150 +0,0 @@ -title: Hacking Villa Diesbach ---- -subtitle: A space for creative minds in the heart of Switzerland ---- -image: /u/image/cards/hackingvilla.jpg ---- -content1_text: - -## Hacking Villa Project 2025 - -After long years of reduced activity, the Hacking Villa is reopening -its doors in 2025. Located inside an amazing picturesque setting -nearby the waterfall, this year we open up the villa to form a -community of creative minds. - -### Rooms - -We are currently preparing an inspiring mixture of dedicated rooms and -shared space. Available by summer 2025 will be 8 magnificient rooms: - -* [Hacking Villa Big Room 1](https://buy.stripe.com/fZebIW7ENaNB9c4bII) with landmark ceilings, orientated to the South West and - mountain view (est. 560 CHF/month + deposit) -* Big Room 2 with landmark ceilings, orientated to the South East and - waterfall view (est. 570 CHF/month + deposit) -* Regular Room 3 with orientated to the East with waterfall view (est. 490 CHF/month + deposit) -* Big Room 4 orientated to the North East and waterfall view (est. 550 CHF/month + deposit) -* Regular Room 5 orientated to the North (est. 490 CHF/month + deposit) -* Big Room 6 orientated to the North with private bath room (est. 580 CHF/month + deposit) -* Big Room 7 orientated to the South West and mountain view (est. 550 CHF/month + deposit) -* Big Room 8 orientated to the South East and waterfall view (est. 550 CHF/month + deposit) - -All rooms are furnish with one (regular room) or two beds (big -rooms) - tables, chairs, etc. can be provided by the Hacking Villa team. - -### Shared areas - -Additionally to the exclusive dedicated rooms is plenty of shared -area: - -- The creative area in the 2nd floor with plenty of space -- The cafe on the first floor -- The kitchen for preparing tasty meals - -Aside from being, living, working and creating in an amazing -environment, there is also the possibility to register yourself as -officially as living in Switzerland - with a real Swiss address (*). - -(*) Footnote: this obviously requires that you are legally allowed to -stay, but we can help you clarify the requirements beforehand. - -### And more! - -So far we mainly talked about the Hacking Villa itself, however this -is so much more around it. Let's start with the practical things of -life: - -* The next supermarket is reachable by foot on a nice mountain way - (2km distance, ca. 20 minutes) -* The train station Diesbach-Betschwanden with a **direct** train to - Zurich! -* Many parking spaces (10+) -* 2 public EV chargers (+1 private charger) - -### And even more! - -But that's not all, no, there is more... - -* Obvisouly the pretty water fall (about 5 minutes walk) -* A self service bar provided by Circus Mugg -* Many many hiking paths -* Restaurants in Hätzingen, Rüti and Linthal (the nearby villages) -* More shopping in the capital - if you really want and need to - -### Joining the Hacking Villa - -If you want to join the Hacking Villa, either select the room on -stripe directly or reserve it via email and use wire transfer -afterwards. - -To get a dedicated room you will need to: - -* provide the monthly payment -* provide the deposit payment - -As soon as both are received, you are entitled to get a dedicated room -key and access to all shared areas of the Hacking Villa - welcome in -the one of the prettiest parts of Switzerland. - - -## A Hacking Villa? - -We are located in the heart of the pretty mountain valley -[Glarus](https://en.wikipedia.org/wiki/Glarus) and we love our -surrounding and the way of living here. We want to share this -spirit with you and this is why we opened up this villa to the public. -The hacking villa is part of the [Digital -Glarus](/u/projects/digital-glarus) project. - -## What is there? - -The Hacking Villa has 13 rooms in total with 9 rooms open for -staying. It is located next to a pretty waterfall, a cross-country -skiing area, some horses and a lot of cows. - -And more importantly: high speed Internet is available just in the -middle of the mountains. - -You can have a sneak preview of how it looks inside -on the [Hacking and Living in Villa Diesbach page](https://hack.digitalglarus.ch/hacking-and-living-in-hotel-diesbach.html). - - -## What to do in the Hacking Villa? - -We are here to enjoy our life while we work the way we like to work. -However, you are free to do what you like - for instance: - -* have an offsite with your team -* do a focused brainstorming -* enjoy the fast Internet -* have a walk in the valley -* [learn in professional courses](/u/projects/education) -* hike up in the nearby mountains -* learn horse riding -* cook together -* go for a swim or sauna nearby in [Braunwald](https://www.braunwald.ch/) -* work concentrated - -## How to get there? - -Just take the train or plane to Zurich and from there it is a direct -train to the nearby station. -Checkout the [SBB -page](https://www.sbb.ch/de/kaufen/pages/fahrplan/fahrplan.xhtml?von=Zurich&nach=Diesbach-Betschwanden) -for the next train. - -The address is: - -``` -Hacking Villa -Hauptstrasse 28 -8777 Diesbach -Switzerland -``` - - - - ---- -content1_image: hacking-villa-diesbach.jpg ---- diff --git a/content/u/projects/hacking-villa/hacking-villa-diesbach.jpg b/content/u/projects/hacking-villa/hacking-villa-diesbach.jpg deleted file mode 100644 index 787054c..0000000 Binary files a/content/u/projects/hacking-villa/hacking-villa-diesbach.jpg and /dev/null differ diff --git a/content/u/projects/ipv6-chat/contents.lr b/content/u/projects/ipv6-chat/contents.lr index 1bf3614..8356518 100644 --- a/content/u/projects/ipv6-chat/contents.lr +++ b/content/u/projects/ipv6-chat/contents.lr @@ -4,7 +4,7 @@ subtitle: Let's talk about IPv6 --- image: https://ungleich.ch/media/filer_public/c8/86/c8867297-4573-464b-ae60-0f38117626ad/ipv6chat.jpg --- -description1: +content: ## IPv6 chat @@ -14,18 +14,11 @@ answers to common IPv6 questions. We have created a chat room dedicated to IPv6 so that anyone can exchange their ideas about IPv6. -## How to join the chat +You can join the chat via -If you already have a matrix account, you can join -**[#ipv6:ungleich.ch](https://matrix.to/#/#ipv6:ungleich.ch)** directly. +* [IPv6.chat](https://IPv6.chat) (via Mattermost) +* #ipv6:ungleich.ch (via Matrix) - -If you don't have a matrix account, you find the instructions -on [how to create a -matrix account on our Open Chat page](/u/projects/open-chat). - -## Other chat rooms - -Note: there is also an #ipv6 channel on libera.chat. We are currently +Note: there is also an #ipv6 channel on Freenode. We are currently trying to figure out whether we can bridge IPv6.chat into the IRC room to combine them. diff --git a/content/u/projects/ipv6-education/contents.lr b/content/u/projects/ipv6-education/contents.lr deleted file mode 100644 index 5f56e97..0000000 --- a/content/u/projects/ipv6-education/contents.lr +++ /dev/null @@ -1,138 +0,0 @@ -title: IPv6 Education ---- -subtitle: -Supporting and enhancing network education with a focus on IPv6 - ---- -image: /u/image/cards/ipv6education.jpg ---- -description1: - -## Objective - -IPv6 has become the de-facto network standard in many -environments. However our experience with network courses -at universities is that IPv6 is not featured at all or only is only -covered to a small extent. - -With our IPv6 education offer we would like to assist professors, -tutors and lecturers to support IPv6 in their courses. - -## Our knowledge - -We have not only given many private IPv6 courses at ungleich, but our -staff has graduated from [ETH Zurich](https://ethz.ch/) -and the university of applied sciences -[ZHAW](https://www.zhaw.ch). We have experience in the layout and -requirements of courses taught at bachelor and master level. - -Our CEO Nico Schottelius has given speeches at various conferences -include the [RIPE 79](https://ripe79.ripe.net/archives/video/165/) and -[multiple -times](https://www.ipv6.org.uk/2019/09/06/ipv6-council-annual-meeting-2019/) -at the [UK IPv6 -Council](https://www.ipv6.org.uk/2019/08/08/cloud-and-ipv6-workshop/). - -We are providing [IPv6 Only Hosting](https://ipv6onlyhosting.com/) and -maintain the [IPv6 first data center Data Center -Light](https://datacenterlight.ch/). - -And we teach courses at the [Hacking Villa Diesbach](/u/projects/hacking-villa/). - -![](/u/image/ipv6-education.png) - - -## Offer 1: IPv6 lecture counselling - -Knowing how courses look like and what professors, tutors and students -expect, we can advise on how to introduce IPv6 into course -material. We offer onsite and remote counselling, providing best -practices. We usually base our recommendations on your current course -material to simply update it for IPv6 without major changes to the -course itself. - -Typical counselling session: - -* Initial meeting to define objectives (1-2h) -* Review current course material (2-5h) -* Update of the current material by ungleich (2-5h) -* Discussion of changes and handing over new material (2-3h) - -The hourly rates for educational counselling are available at a -reduced rate of 140 CHF/h. - -## Offer 2: IPv6 course design - -If you are interested in adding a brand new network course focussed on -IPv6, we can aid you in creating the course. The setting is similar to -the IPv6 lecture counselling, however we will design and develop the -course from scratch including your requirements. - -Typical course design session: - -* Initial meeting to define objectives (1-2h) -* Development of the first draft (2-3h) -* Short review session (< 1h) -* Development of the course (5-10h) -* Final review session (2-3h) -* Final adjustments (2-5h) -* Final handover session (2-3h) - -All material is tracked in version control during development, so it -is easy for faculty to review the material in progress. This mode -avoids pitfals like inappropriate material development. - -## Offer 3: IPv6 faculty course - -If you are interested in educating your faculty to be able to teach -IPv6 courses, we provide you with a tailor made IPv6 course. - -Typical IPv6 faculty course session: - -* Initial meeting to define objectives (1-2h) -* Adjustments of our IPv6 course for your use case (1-2h) -* The course (varying - usually 2-3 days of teaching) - - -## Offer 4: IPv6 VPN with EDU discount - -In some labs and universities the Internet provider (ISP) or -the central IT department cannot provide IPv6 support. To help with -this issue, we offer the [IPv6 VPN](/u/products/ipv6-vpn/) with a 10% -education discount. Please use your department / university email for -contacting us to be eligible for the education discount. - -The IPv6 VPN provides you with one /48 network. -Inquire the support, if require bigger networks, for instance if you -want to equip the complete university with IPv6 connectivity. - -* Regular price: 120 CHF/year -* Education price: 108 CHF/year - -## Offer 5: IPv6 Pro Router: PIB - -The [PIB](/u/products/pro-ipv6-box/) is a versatile, professional -router that includes the above IPv6 VPN for one year for free. It is -suitable for dividing networks and isolating IPv6 -traffic. Specifically useful for student projects or labs. - -* Regular price: 300 CHF -* Education price: 270 CHF - -It can be setup by our staff on-site (hourly rates apply). - -![](/u/image/pro-ipv6-box-2.jpg) - -## Offer 6: IPv6 Mini Router: VIIRB - -The [VIIRB](/u/products/viirb-ipv6-box/) is not only the world's -smallest IPv6 router, but also a very handy device if you want to add -IPv6 to any IPv4 network without a hassle. The VIIRB can also be used -to enable IPv6 at the student homes: simple give your students a VIIRB -and your students can work on IPv6 related projects at home. -It also includes the first IPv6 VPN for free. - -* Regular price: 58 CHF -* Education price (for orders of 10 or more VIIRBs): 53 CHF - -![](/u/image/viirb-ipv6-box.png) diff --git a/content/u/projects/ipv6-for-you/contents.lr b/content/u/projects/ipv6-for-you/contents.lr deleted file mode 100644 index b178042..0000000 --- a/content/u/projects/ipv6-for-you/contents.lr +++ /dev/null @@ -1,115 +0,0 @@ -title: IPv6 for you ---- -subtitle: IPv6 consultancy by ungleich ---- -image: /u/image/cards/ipv6consultancy.jpg ---- -description1: - -## TL;DR - -If you need to have IPv6 and don't have the fitting resources, we can -help you to get your network and services IPv6 ready. - -## Introduction - -We have been in the IPv6 world for a while and seen companies -struggling with their first or intermediate steps towards -IPv6. - -Many times we have witnessed that customers and users request IPv6 -from their service providers and the answers were - -* We have it on a plan -* We do not have it on the plan at all - -We understand that adding a new technology stack to your -infrastructure is not always easy, especially if you don't have the -resources in-house. - -## IPv6 consultancy from ungleich - -For this reason we offer our knowledge with running data centers and -IPv6 only networks in terms on consultancy for you. - -Below you find a list of typical services we offer. - -## Services - -### Network, Application and Requirement Analysis - -One of the first steps towards IPv6 enabled networks is to find out -what the needs are and how the current situation looks like. Whether -it is implementing IPv6 in your network or in the software stack, a -thorough analysis can save resources at a later stage. - -### Cost comparison - -Going IPv6 cannot only help your organisation to stay up-to-date, but -it can also reduce your total cost of ownership (TCO). We help you -analysing the current cost and create a comparison of the resources -required with IPv6. - -Often running **IPv6 only networks** can save resources, because the -degree of complexity is reduced and less IPv4 addresses are -required. - -In fact, many networks can operate completely without IPv4, only -requiring an NAT64 service. - -### Implementation and migration plans - -Once you know where youw want to go it is important to keep an eye on -the migration paths. Are there downtimes necessary? When should they -happen? Which equipment needs to be replaced or updated? - -Each organisation has different needs and each organisation should -take the path that is best in their situation. - -We help you finding the best path in your situation. - -### Network setup - -Apart from preparing the migration towards IPv6, we can also aid or -even fully implement the IPv6 migration for you. - -### IPv6 education - -Our [education](/u/projects/education/) program features a variety of -topics including IPv6 courses. If your or your staff is interested in -knowing how to setup, design and maintain IPv6 services and -infrastructures, we can provide courses in Glarus, Switzerland or -on-site. - -### IPv6 Security Analysis - -IPv6, like IPv4, needs to be deployed in a secure way. We help you -finding out which security policies are adequate for your -situation. Together with you we create a policy and, if you wish, also -detailed firewall rules. - -### Network maintenance - -If your daily business is not running networks, we can also manage -your networks. Whether it is an office network, a data center network -or a large scale university network - we can aid in choosing the right -components maintaining your infrastructure so that you can concentrate -on your daily business. - - -### IPv6 Progress Communication - -If you are implementing IPv6 based on customer or user requests, -communication with your customers is a key element. Providing more -details than just "IPv6 is planned" gives your customers confidence in -the process and can help to keep your users, even if IPv6 cannot be -implemented right away. - -In our experience customers are more likely to stay with your product, -when you can update about IPv6 progress in a regular manner. - - -## Request a quote - -If you are interested in IPv6 consultancy, you can [contact](/contact) -us and reach out for a quote. diff --git a/content/u/projects/ipv6-torrent-tracker/contents.lr b/content/u/projects/ipv6-torrent-tracker/contents.lr index 4234150..287f03f 100644 --- a/content/u/projects/ipv6-torrent-tracker/contents.lr +++ b/content/u/projects/ipv6-torrent-tracker/contents.lr @@ -4,7 +4,7 @@ subtitle: Make your Open Source torrent IPv6 reachable --- image:/u/image/cards/ipv6-torrent-tracker.jpg --- -description1: +content: ## Background diff --git a/content/u/projects/ipv6ula/contents.lr b/content/u/projects/ipv6ula/contents.lr deleted file mode 100644 index a071def..0000000 --- a/content/u/projects/ipv6ula/contents.lr +++ /dev/null @@ -1,38 +0,0 @@ -title: The IPv6 ULA registry ---- -subtitle: We revived the sixxs ULA registry! ---- -image: /u/image/cards/ula-registry.jpg ---- -description1: - -## Introduction - -The IPv6 ULA registry is based on Django, Bootstrap 4 -and uses LDAP authentication. It was written and designed for -powering [The IPv6 ULA registry](https://ula.ungleich.ch). - -ipv6ula is FOSS and its source code can be found on -[code.ungleich.ch](https://code.ungleich.ch/ungleich-public/ipv6ula/). -You can review the development from the -[Hack4Glarus](https://hack4glarus.ch) -in the [redmine ticket](https://redmine.ungleich.ch/issues/8673). - -## How to install - -* git clone above repository -* Setup a local postgresql database named "ipv6ula" -* Copy ipv6ula/sample_settings.py to ipv6ula/local_settings.py -* Modify settings as needed -* Install requirements using `pip install -r requirements.txt` - -## How to import the old sixxs database - -``` -python manage.py import_sixxs_prefixes -``` - -## How to run - -It is a standard Django app, so you can use uwsgi -or the included server for testing: `python manage.py runserver`. diff --git a/content/u/projects/jobs-hacks-bounties/contents.lr b/content/u/projects/jobs-hacks-bounties/contents.lr deleted file mode 100644 index c44eb8b..0000000 --- a/content/u/projects/jobs-hacks-bounties/contents.lr +++ /dev/null @@ -1,197 +0,0 @@ -title: Jobs, Hacks and Bounties ---- -subtitle: Doing stuff with or at ungleich ---- -image: /u/image/cards/jobs.jpg ---- -description1: - -## Introduction - -You might know, ungleich means "not equal" or "different" in -English. So working for, with or at ungleich is usually a bit -different from working for other companies. We practice a high degree of -remote working and our team consists of a lot of international -members from a variety of cultures. - -So instead of the classical "job openings", we have three different -sections of how to get started with ungleich. - -## Hacks - -Hacks are easy to do, easy to learn tasks that help you understand -the way we work and the technology stacks we use. These are easy -things to do at home or anywhere you are. You can join the -[open chat room "Hacking & Learning"](/u/projects/open-chat/) for -asking questions. - -### Hack 1: Get IPv6 - -For most stuff we do, you will need IPv6. Head over to the -[IPv6 VPN](/u/products/ipv6-vpn/) to get yourself started. Note: -the VPN is for free if you have a VM with us. - -### Hack 2: Deploy ubookmark - -[ubookmark](/u/projects/ubookmark/) is a simple Django app. -Deploy it on your local machine (it -is IPv6 reachable, isn't it?) and send us a shout when it's reachable -using HTTPS. If you need a domain name for your letsencrypt -certificate, checkout [has-a.name](https://has-a.name). - -### Hack 3: IPv6 cat - -Create a micro django project that does the following: - -* If you are visiting via IPv4, it will show a static page saying "Sorry, only reachable by IPv6" -* If you are visiting it via IPv6, it will show a friendly cat picture -* No other features required, design up to you - -### Hack 4: Mini Marketplace - -This project is designed to check your skills as a Django developer. -Create a django project that provides the following features: - -* User login + registration -* A logged in user can create items to sell -* An item to sell has a name, description and can have 1-5 pictures - attached, and obviously a price -* There should be one page with all items that are able to be sold - (can be seen without login) -* There should be one page with all items that have been sold -* A logged in user can buy an item from another user -* Users should be able to write messages to each other in a reasonable - way (not to anyone, think about what makes sense) -* You do not need to implement real world payment services - -### Hack 5: Mini Marketplace with Matrix communication - -* Based on hack 4 -* However instead of using your internal messaging, you are going to - use the Matrix protocol -* Whenever users want to talk to each other, create a matrix room for - them -* For each article that is being sold, create a matrix room in which - users can discuss the item - - -## Jobs - -We are currently not looking for new staff to join. But if you are -interested in working with us, you are always free to give us a shout -so we remember you when we are actively looking again. - -## Bounties - -At ungleich we heavily depend on and contribute [Open Source -Software](/u/projects/opensource). Sometimes (often?) we have a lot of -ideas we would like to implement in Open Source Software, but daily -tasks prevent us from implementing them. - -We at ungleich have created a bounty program that offers -money for fixing/hacking Open Source Software. - - -### Bounty 3: Enable IPv6 only in the Linux kernel - -As you might remember, we created -[a challenge to disable IPv4](https://ungleich.ch/en-us/cms/blog/2019/01/09/die-ipv4-die/) in -your operating system. It turns out that as of 2020-05-01, the only -operating system that truly can turn off IPv4, is FreeBSD. - -If you are into hacking the Linux kernel, we offer a __300 CHF__ -bounty to disable IPv4 in the Linux kernel. The bounty includes: - -* Create a patch against Linux mainline that completely disables IPv4 -* Ensure that make menuconfig/config can turn IPv4 off -* Preparing the patch so that it can be included -* Submission to LKML -* Polishing patch so that it can be accepted -* Patch is included in the Linux kernel source git repo -* Show a short proof of concept that there is truly no more IPv4 - - -### Bounty 5: Allow wireguard to automatically switch the underlying IP version - -If you establish a VPN connection with wireguard, it resolves the -hostname in your configuration and remembers that IP address. - -This is problematic, because if you connect to the VPN server in an -IPv6 only network and then later switch to an IPv4 only network, -wireguard will never reconnect. The same problem appears if you switch -the other way round. - -We offer a __150 CHF__ bounty for the person who successfully -patches/integrates/releases something (it can be a daemon, a patch) -open source that allows seamless transition between the different IP -networks. - -On the wireguard mailing list it was discussed whether a peer can have -multiple IP addresses. This could be a proper solution, as it also -addresses the case when a VPN server has multiple IPv6 or IPv4 -addresses. - -## Historic Bounties - -The following bounties have been implemented and/or have expired. - -### Bounty 1: eboard updates - -[eboard](https://www.bergo.eng.br/eboard/) is a classical FICS client -for playing chess on the Internet. However, it did not have some -updates for some time, so we offer the following bounties: - -* Add eboard to Alpine Linux packages (__30 CHF__) - * Bounty paid when it's in __apk add__ able from either edge/testing/community -* Add alsa support to eboard upstream (__50 CHF__) - * Enable beeping on move of the opponent without the OSS emulation - * Bounty successful when a new eboard release was made with it -* Add IPv6 support to eboard (__50 CHF__) - * FICS is basically using a telnet protocol - * Eboard does not work in NAT64 scenarios, because it does not have IPv6 support -** Bounty successful when a new eboard release was made with it - -__STATUS__: partially implemented - -### Bounty 2: Alpine Linux installable in IPv6 only networks - -Alpine Linux currently does not start rdnssd in the installer nor does -it have the ndisc package installed. - -The installer in particular needs to assign itself IPv6 addresses -(SLAAC should already work), needs to accept DNS servers and search -suffix from router advertisements (requires rdnssd running) and -wget/curl need to have IPv6 support to retrieve files via IPv6. - -Present a short video that successfully shows the updated upstream -installer working in an IPv6 only network to install Alpine -Linux. Bounty is __100 CHF__. - -__STATUS__: implemented - -### Bounty 4: Enable IPv6 only in the OpenBSD kernel - -Very similar to bounty 3, we offer another __300 CHF__ bounty, if you -can patch OpenBSD to fully disable IPv4. Requirements for collecting -the bounty: - -* Create the necessary kernel patch -* Get it included into the OpenBSD source tree -* Show a short proof of concept that there is truly no more IPv4 - -__STATUS__: expired - -### Bounty 5: Add VXLAN support to netbox - -At ungleich we love -[netbox](https://netbox.readthedocs.io/en/stable/). However at the -moment it only supports VLANs and not VXLANs. How amazing would it be, -if it also supported VXLANs? The bounty for adding this upstream is -__50 CHF__. - -__STATUS__: implemented - -``` -Solution: Alpine Linux now ships with dhcpcd enabling IPv6 address -acquisition as well as name resolution. -``` diff --git a/content/u/projects/open-chat/contents.lr b/content/u/projects/open-chat/contents.lr index 2e88e91..cd80e02 100644 --- a/content/u/projects/open-chat/contents.lr +++ b/content/u/projects/open-chat/contents.lr @@ -4,81 +4,15 @@ subtitle: Open Source requires Open Communication --- image: /u/image/cards/open-chat.jpg --- -description1: +content: -You can chat with us on [matrix.ungleich.ch](https://matrix.ungleich.ch). +You can chat with us either via Mattermost on +[chat.ungleich.ch](https://chat.ungleich.ch) or +Matrix on [matrix.ungleich.ch](https://matrix.ungleich.ch). +For matrix you can find our public channels on **+public:ungleich.ch**. -## How to join the chat - -* Create an account on https://account.ungleich.ch -* Verify your account by email -* Go to https://matrix.ungleich.ch, login with your new account -* Type **/join #ungleich:ungleich.ch** to join the main channel - -## IPv6 Chat - -To foster IPv6 deployement, we created [IPv6.chat](../ipv6-chat/), -which is also reachable via matrix. Follow above instructions and type -**/join #ipv6:ungleich.ch** instead. - -## 1000eyes - -Are you interested in the [1000eyes](https://1000ey.es) project? Then -do not hesitate to **/join #1000eyes:ungleich.ch**. - -## VIIRB - -If you own a [VIIRB](/u/products/viirb-ipv6-box) -or if you are interested in a VIIRB, **viirb.ungleich.ch** where -people interested in the VIIRB exchange their ideas. - -## Data Center Light - -For discussion and questions about [Data Center -Light](../data-center-light/), you can -**/join #datacenterlight:ungleich.ch**. Anything about VMs, hosting, -colocation or our setup can be discussed there. - -## Hacking and Learning - -Specifically for learning new technologies and to exchange knowledge -we created the **Hacking & Learning channel** which can be found at -**#hacking-and-learning:ungleich.ch**. - -## Kubernetes - -Recently (in 2021) we started to run Kubernetes cluster at -ungleich. We share our experiences in **#kubernetes:ungleich.ch**. - -## Ceph - -To exchange experiences and trouble shooting for ceph, we are running -**#ceph:ungleich.ch**. - -## cdist - -We meet for cdist discussions about using, developing and more -on **#cdist:ungleich.ch**. - -## Sustainability - -We discuss topics related to sustainability in -**#sustainability:ungleich.ch**. - -## More channels - -* The main / hangout channel is **#town-square:ungleich.ch** (also bridged - to Freenode IRC as #ungleich and - [discord](https://discord.com/channels/706144469925363773/706144469925363776)) -* The bi-yearly hackathon Hack4Glarus can be found in - **#hack4glarus:ungleich.ch** -* An unofficial bridge to the RIPE #social IRC channel: - **#ripe-social:ungleich.ch** (also bridged to - [discord](https://discord.gg/HfbMF6), thanks to - [spale](https://twitter.com/spale75/status/1260140467766919168) for - providing the server) - -## Bridged Channels +To foster IPv6 deployement, we created [IPv6.chat](../ipv6-chat), +which is also reachable on both chat systems. And some of our channels are also available on IRC, you can find them on the [list of bridged channels](https://redmine.ungleich.ch/projects/open-infrastructure/wiki/CHATting_with_ungleich). diff --git a/content/u/projects/open-infrastructure/contents.lr b/content/u/projects/open-infrastructure/contents.lr index 311a0f2..bef70b1 100644 --- a/content/u/projects/open-infrastructure/contents.lr +++ b/content/u/projects/open-infrastructure/contents.lr @@ -4,7 +4,7 @@ subtitle: Transparency everywhere --- image: /u/image/cards/open-infrastructure.jpg --- -description1: +content: Next to our [Open Source](../open-source/) efforts, we also believe that what you run your services on, should also be open and diff --git a/content/u/projects/opensource/contents.lr b/content/u/projects/opensource/contents.lr index eddb5c6..1000966 100644 --- a/content/u/projects/opensource/contents.lr +++ b/content/u/projects/opensource/contents.lr @@ -4,7 +4,7 @@ subtitle: Open Source literally created ungleich --- image: /u/image/cards/opensource.jpg --- -description1: +content: ## History of Open Source at ungleich @@ -62,7 +62,7 @@ Mattermost and Matrix. We started the [Digital Glarus project](../digital-glarus) to support the local community and just recently opened the [Hacking -Villa](../hacking-villa/) in Diesbach to welcome (FOSS) hackers from +Hotel](../hacking-hotel) in Diesbach to welcome (FOSS) hackers from all around the world. And twice per year we welcome hackers to our (strongly Open Source diff --git a/content/u/projects/penguin-comics/contents.lr b/content/u/projects/penguin-comics/contents.lr index 69c98aa..2aa2e70 100644 --- a/content/u/projects/penguin-comics/contents.lr +++ b/content/u/projects/penguin-comics/contents.lr @@ -5,7 +5,7 @@ Welcome to the world of Linux & IPv6 penguins! --- image: /u/image/cards/penguincomics.jpg --- -description1: +content: Who doesn't love smart and stupid penguins talking about technology? Explore the cutting-edge, real time tech topics with our Linux & IPv6 penguin heroes. diff --git a/content/u/projects/privacy-policy/contents.lr b/content/u/projects/privacy-policy/contents.lr deleted file mode 100644 index 4c9ec6d..0000000 --- a/content/u/projects/privacy-policy/contents.lr +++ /dev/null @@ -1,41 +0,0 @@ -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. diff --git a/content/u/projects/sixnet/contents.lr b/content/u/projects/sixnet/contents.lr deleted file mode 100644 index 32ee3eb..0000000 --- a/content/u/projects/sixnet/contents.lr +++ /dev/null @@ -1,40 +0,0 @@ -_model: product ---- -title: SIXNET ---- -subtitle:test ---- -_discoverable: no ---- -_hidden: no ---- -header_background_color #000000 ---- -header_text_color: text-light ---- -nav_classes:navbar-dark ---- -intro_image: /u/image/vigir.jpg ---- -content1_text: - -## SIXNET: Professional Internet. - -Sixnet brings professional Internet to you. -With full IPv6 support. Zero configuration, zero effort. - -## Variants - -### With router - -* Pre configured -* Only sim needs to be activated - -* Using the VIIRB: 128 CHF -* Using the VIWIB: 138 CHF -* Using the VIGIR: 250 CHF - -### Without router - -* Setup your own router. -* Send us your public Wireguard key diff --git a/content/u/projects/this-week-via-ipv6/contents.lr b/content/u/projects/this-week-via-ipv6/contents.lr index eff3b98..846b328 100644 --- a/content/u/projects/this-week-via-ipv6/contents.lr +++ b/content/u/projects/this-week-via-ipv6/contents.lr @@ -2,9 +2,7 @@ title: This.week.via-IPv6.com --- subtitle: What happens in a week with IPv6? --- -_discoverable: no ---- -description1: +content: To be able to track what is going on in the IPv6 world, we created a dedicated page tracking IPv6 activity that we are aware of. The page diff --git a/content/u/projects/ubookmark/contents.lr b/content/u/projects/ubookmark/contents.lr deleted file mode 100644 index 25deaf2..0000000 --- a/content/u/projects/ubookmark/contents.lr +++ /dev/null @@ -1,32 +0,0 @@ -title: ubookmark ---- -subtitle: -ubookmark is a simple link collecting website. ---- -image: /u/image/cards/ubookmark.jpg ---- -description1: - -## Introduction - -ubookmark is based on Django, Bootstrap 4 -and uses LDAP authentication. It was written and designed for -running [IPv6.blog](https://IPv6.blog), but should be re-usable in -other situations. - -ubookmark is FOSS and its source code can be found on -[code.ungleich.ch](https://code.ungleich.ch/ungleich-public/ubookmark/). - -## How to install - -* git clone above repository -* Setup a local postgresql database named "ubookmark" -* Copy ubookmark/sample_settings.py to ubookmark/local_settings.py -* Modify settings as needed -* Install requirements using `pip install -r requirements.txt` -* - -## How to run - -It is a standard Django app, so you can use uwsgi -or the included server for testing: `python manage.py runserver`. diff --git a/content/u/projects/ungleich-quiz-v6/contents.lr b/content/u/projects/ungleich-quiz-v6/contents.lr index c984b62..ff1748b 100644 --- a/content/u/projects/ungleich-quiz-v6/contents.lr +++ b/content/u/projects/ungleich-quiz-v6/contents.lr @@ -6,7 +6,7 @@ it to the hall of fame? We're as curious as you are! --- image: /u/image/cards/ungleichquizv6.jpg --- -description1: +content: Who doesn't love quizzes? We certainly do and this is why we created the [ungleich quiz diff --git a/content/u/sitemap/contents.lr b/content/u/sitemap/contents.lr deleted file mode 100644 index c694b27..0000000 --- a/content/u/sitemap/contents.lr +++ /dev/null @@ -1,106 +0,0 @@ -_model: page-2020 ---- -title: SITEMAP ---- - -## PRODUCTS - -*VM, VPS Hosting* - -* [Data Center Light](https://datacenterlight.ch/) -* [IPv6onlyhosting](https://ipv6onlyhosting.com/) - -*Managed Hosting* - -* [Django Hosting](https://ungleich.ch/u/products/django-hosting/) -* [Hosted Matrix](https://ungleich.ch/u/products/hosted-matrix-chat/) -* [Hosted Mattermost](https://ungleich.ch/u/products/zero-carbon-chat/) -* [Hosted Netbox](https://ungleich.ch/u/products/netbox-hosting/) -* [Hosted Redmine](https://ungleich.ch/u/products/project-management/) -* [Hosted Support System: RT](https://ungleich.ch/u/products/hosted-support-system/) -* [Kubernetes Hosting (High Performance)](https://ungleich.ch/u/products/kubernetes-hosting-high-performance/) -* [Kubernetes Hosting (Low Power)](https://ungleich.ch/u/products/kubernetes-hosting-low-power/) -* [Mastodon Hosting](https://ungleich.ch/u/products/mastodon-hosting/) -* [Monitoring as a service](https://ungleich.ch/u/products/monitoring-as-a-service/) -* [Video Conference](https://ungleich.ch/u/products/video-conference/) -* [Web Hosting](https://ungleich.ch/u/products/zerocarbon-webhosting-with-ipv6/) - -*Cloud Solution* - -* [Managed Backup](https://ungleich.ch/u/products/backup/) -* [Zero Carbon Cloud:Hosted Nextcloud](https://ungleich.ch/u/products/zero-carbon-cloud/) -* [Zero Carbon Data Storage](https://ungleich.ch/u/products/data-storage/) - -*VPN, IPv4, IPv6 - -* [BGP Peering](https://ungleich.ch/u/products/bgp-peering/) -* [IPv4 as a Service](https://ungleich.ch/u/products/ipv4-as-a-service/) -* [IPv4 to IPv6 Proxy](https://ungleich.ch/u/products/ipv4-to-ipv6-proxy/) -* [IPv6 to IPv6 Proxy](https://ungleich.ch/u/products/ipv6-to-ipv4-proxy/) -* [IPv6 Autonomous Security System](https://ungleich.ch/u/products/ipv6-autonomous-security-system/) -* [IPv6 Car Tracker](https://ungleich.ch/u/products/ipv6-car-tracker/) -* [IPv6 Camera](https://ungleich.ch/u/products/ipv6-camera/) -* [IPv6 Holiday Kit](https://ungleich.ch/u/products/ipv6-holiday-kit/) -* [IPv6 VPN](https://ungleich.ch/u/products/ipv6-vpn/) -* [Mobile Internet with IPv6: Sixnet](https://ungleich.ch/u/products/sixnet/) -* [Pro IPv6 Box (PIB)](https://ungleich.ch/u/products/pro-ipv6-box/) -* [Public static IP address: Managed IPv4 Address](https://ungleich.ch/u/products/managed-ipv4-address/) -* [VIGIR: VPN IPv6 4G/LTE IOT Router](https://ungleich.ch/u/products/vigir/) -* [VIIRB:VPN IPv6 IoT Router Box](https://ungleich.ch/u/products/viirb-ipv6-box/) -* [VIWIB: VPN IPv6 WiFi IOT Box](https://ungleich.ch/u/products/viwib-wifi-ipv6-box/) - - -*Services* - -* [ungleich service hourly package](https://ungleich.ch/u/products/ungleich-service-hour/) -* [ungleich SLA levels](https://ungleich.ch/u/products/ungleich-sla/) -* [ungleich support pacakge](https://ungleich.ch/u/products/ungleich-support-package/) -* [IPv6 consultancy](https://ungleich.ch/u/projects/ipv6-for-you/) - -## PROJECTS - -*Coworking, Offsite* - -* [Digital Glarus](https://ungleich.ch/u/projects/digital-glarus/) -* [Digital Chalet Schwanden](https://ungleich.ch/u/projects/digital-chalet/) -* [Hacking Villa Diesbach](https://ungleich.ch/u/projects/hacking-villa/) - -*Open Source* - -* [cdist](https://ungleich.ch/u/projects/cdist/) -* [Hack4Glarus](https://ungleich.ch/u/projects/hack4glarus/) -* [IPv6 torrent tracker](https://ungleich.ch/u/projects/ipv6-torrent-tracker/) -* [Open Infrastructure](https://ungleich.ch/u/projects/open-infrastructure/) -* [Open Source at ungleich](https://ungleich.ch/u/projects/opensource/) -* [The IPv6 ULA registry](https://ungleich.ch/u/projects/ipv6ula/) -* [ungleich quiz v6](https://ungleich.ch/u/projects/ungleich-quiz-v6/) - -*Chat, Social Media - -* [IPv6.Chat](https://ungleich.ch/u/projects/ipv6-chat/) -* [Open Chat](https://ungleich.ch/u/projects/open-chat/) -* [Penguin Comics](https://ungleich.ch/u/projects/penguin-comics/) - -*Education* - -* [Digitale Bildung ungleich](https://ungleich.ch/u/projects/digitale-bildung/) -* [Kubernetes course](https://ungleich.ch/u/projects/education/) -* [IP6 education](https://ungleich.ch/u/projects/ipv6-education/) - -## BLOG - -* [Blog](https://ungleich.ch/u/blog/) -* [Old BLog: pre 2021-Feb](https://ungleich.ch/en-us/cms/blog/) - -## CONTACT - -* [Contact](https://ungleich.ch/u/contact/) - -## EVENTS - -* [Events](https://ungleich.ch/u/events/) - -## TERMS OF SERVICE, PRIVACY POLICY - -* [ungleich infrastructure availability](https://ungleich.ch/u/products/ungleich-infrastructure-availability/) -* [Privacy Policy](https://ungleich.ch/u/projects/privacy-policy/) \ No newline at end of file diff --git a/models/offers.ini b/models/offers.ini index 55d20b1..09b79e8 100644 --- a/models/offers.ini +++ b/models/offers.ini @@ -1,6 +1,6 @@ [model] name = Offers -label = {{ this.title }} +label = Offers hidden = yes [fields.title] diff --git a/models/page-2020.ini b/models/page-2020.ini index b526442..2a9b653 100644 --- a/models/page-2020.ini +++ b/models/page-2020.ini @@ -17,7 +17,3 @@ type = markdown [fields.image] label = Image type = url - -[fields.slider] -type = flow -flow_blocks = slider diff --git a/models/product.ini b/models/product.ini index 2affbcd..be8906d 100644 --- a/models/product.ini +++ b/models/product.ini @@ -57,15 +57,35 @@ type = markdown label = Description 5 type = markdown -[fields.description6] -label = Description 6 -type = markdown - [fields.link] label = Link type = url width = 1/4 +[fields.feature1_title] +label = Feature1 Title +type = string + +[fields.feature2_title] +label = Feature2 Title +type = string + +[fields.feature3_title] +label = Feature3 Title +type = string + +[fields.feature1_text] +label = Feature1 Text +type = markdown + +[fields.feature2_text] +label = Feature2 Text +type = markdown + +[fields.feature3_text] +label = Feature3 Text +type = markdown + [fields.content1_text] label = Content1 Text type = markdown @@ -82,23 +102,6 @@ type = markdown label = Content 2 Image type = url -[fields.content3_text] -label = Content 3 Text -type = markdown - -[fields.content3_image] -label = Content 3 Image -type = url - -[fields.content4_text] -label = Content 4 Text -type = markdown - -[fields.content4_image] -label = Content 4 Image -type = url - - [fields.offer1_title] label = Offer 1 Title type = string @@ -135,95 +138,6 @@ type = markdown label = Offer 3 Link type = url -[fields.offer4_title] -label = Offer 4 Title -type = string - -[fields.offer4_text] -label = Offer 4 Text -type = markdown - -[fields.offer4_link] -label = Offer 4 Link -type = url - -[fields.offer5_title] -label = Offer 5 Title -type = string - -[fields.offer5_text] -label = Offer 5 Text -type = markdown - -[fields.offer5_link] -label = Offer 5 Link -type = url - -[fields.offer6_title] -label = Offer 6 Title -type = string - -[fields.offer6_text] -label = Offer 6 Text -type = markdown - -[fields.offer6_link] -label = Offer 6 Link -type = url - [fields.image] label = Index Image type = url - -[children] -model = product -order_by = title - - -[fields.feature1_title] -label = Feature1 Title -type = string - -[fields.feature2_title] -label = Feature2 Title -type = string - -[fields.feature3_title] -label = Feature3 Title -type = string - -[fields.feature4_title] -label = Feature4 Title -type = string - -[fields.feature5_title] -label = Feature5 Title -type = string - -[fields.feature6_title] -label = Feature6 Title -type = string - -[fields.feature1_text] -label = Feature1 Text -type = markdown - -[fields.feature2_text] -label = Feature2 Text -type = markdown - -[fields.feature3_text] -label = Feature3 Text -type = markdown - -[fields.feature4_text] -label = Feature4 Text -type = markdown - -[fields.feature5_text] -label = Feature5 Text -type = markdown - -[fields.feature6_text] -label = Feature6 Text -type = markdown diff --git a/models/products.ini b/models/products.ini index c45a5e2..31b271f 100644 --- a/models/products.ini +++ b/models/products.ini @@ -1,6 +1,6 @@ [model] name = Products -label = {{ this.title }} +label = Products hidden = yes [fields.title] diff --git a/models/projects.ini b/models/projects.ini deleted file mode 120000 index 10ce2d9..0000000 --- a/models/projects.ini +++ /dev/null @@ -1 +0,0 @@ -products.ini \ No newline at end of file diff --git a/models/projects.ini b/models/projects.ini new file mode 100644 index 0000000..01cd5ac --- /dev/null +++ b/models/projects.ini @@ -0,0 +1,20 @@ +[model] +name = Projects +label = Projects +hidden = yes + +[fields.title] +label = Title +type = string + +[fields.subtitle] +label = Subtitle +type = string + +[fields.image] +label = Image +type = url + +[children] +model = page-2020 +order_by = title \ No newline at end of file diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 58717e8..0000000 --- a/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -lektor diff --git a/templates/README b/templates/README new file mode 100644 index 0000000..d2dfe6e --- /dev/null +++ b/templates/README @@ -0,0 +1,4 @@ +The structure of templates should be: + +- layout.html: valid for everything +- product.html: valid for all products diff --git a/templates/README.md b/templates/README.md deleted file mode 100644 index 4c6f610..0000000 --- a/templates/README.md +++ /dev/null @@ -1,10 +0,0 @@ -Installation - -``` -$ pip install lektor -``` - -The structure of templates should be: - -- layout.html: valid for everything -- product.html: valid for all products \ No newline at end of file diff --git a/templates/blocks/slider.html b/templates/blocks/slider.html deleted file mode 100644 index 1397967..0000000 --- a/templates/blocks/slider.html +++ /dev/null @@ -1,3 +0,0 @@ -
- {{ this.text }} -
diff --git a/templates/layout-2020.html b/templates/layout-2020.html index 05d5fbd..3a70c7b 100644 --- a/templates/layout-2020.html +++ b/templates/layout-2020.html @@ -5,12 +5,10 @@ - {% block title %}Welcome!{% endblock %} - ungleich.ch + ungleich.ch - {% block title %}Welcome!{% endblock %} - @@ -92,26 +90,17 @@ -
- - +
- {# Priority: - If slider given, take slider. - If headline1/2/3 given, take the headline. - Else default to boxed title + subtitle - #} - {% if this.headline1 or this.headline2 or this.headline3 %} -
+

{% if this.headline1 %} @@ -148,10 +137,7 @@
Copyright ungleich - glarus ag. All prices excluding VAT if not specified - otherwise. Looking for an overview? Checkout the - sitemap. - + glarus ag.
diff --git a/templates/product.html b/templates/product.html index de6b400..74015d7 100644 --- a/templates/product.html +++ b/templates/product.html @@ -4,77 +4,40 @@ {% block content %} {% if this.description1 %} -
-
-
-
- {{ this.description1 }} -
+
+
+
+ {{ this.description1 }}
-
+

{% endif %} -
-
-
-
- -
-
- -
-
- +
+
+
+

{{ this.feature1_title }}

+

{{ this.feature1_text }}

+
+
+

{{ this.feature2_title }}

+

{{ this.feature2_text }}

+
+
+

{{ this.feature3_title }}

+

{{ this.feature3_text }}

-
-
-
-
-
- -
-
- -
-
- -
-
-
- +
{% if this.description2 %} -
-
-
-
- {{ this.description2 }} -
+
+
+
+ {{ this.description2 }}
-
+
{% endif %} - -{% if this.content1_text %}
@@ -87,8 +50,6 @@
-{% endif %} - {% if this.description3 %}
@@ -99,14 +60,14 @@
{% endif %}
-
+
{% if this.offer1_title and this.offer1_text and this.offer1_link %}
{{ this.offer1_title }}

{{ this.offer1_text }}

- Order + Order
{% endif %} @@ -117,7 +78,7 @@
{{ this.offer2_title }}

{{ this.offer2_text }}

- Order + Order
{% endif %} @@ -128,28 +89,24 @@
{{ this.offer3_title }}

{{ this.offer3_text }}

- Order + Order
{% endif %}
-
- +
{% if this.description4 %} -
-
-
-
- {{ this.description4 }} -
+
+
+
+ {{ this.description4 }}
-
+
{% endif %} -{% if this.content2_text %}
@@ -162,8 +119,6 @@
-{% endif %} - {% if this.description5 %}
@@ -173,85 +128,4 @@
{% endif %} - -{% if this.content3_text %} -
-
-
- {{ this.content3_text }} -
-
- {% if this.content3_image %} - - {% endif %} -
-
-
-{% endif %} - -
-
-
- {% if this.offer4_title and this.offer4_text and this.offer4_link %} -
-
-
{{ this.offer4_title }}
-

{{ this.offer4_text }}

- Order -
-
- {% endif %} -
-
- {% if this.offer5_title and this.offer5_text and this.offer5_link %} -
-
-
{{ this.offer5_title }}
-

{{ this.offer5_text }}

- Order -
-
- {% endif %} -
-
- {% if this.offer6_title and this.offer6_text and this.offer6_link %} -
-
-
{{ this.offer6_title }}
-

{{ this.offer6_text }}

- Order -
-
- {% endif %} -
-
-
-
- -{% if this.content4_text %} -
-
-
- {{ this.content4_text }} -
-
- {% if this.content4_image %} - - {% endif %} -
-
-
-{% endif %} - -{% if this.description6 %} -
-
-
- {{ this.description6 }} -
-
-
-{% endif %} - - {% endblock %} diff --git a/templates/sitemap.html b/templates/sitemap.html deleted file mode 100644 index 3d61193..0000000 --- a/templates/sitemap.html +++ /dev/null @@ -1,20 +0,0 @@ -{% extends "layout-2020.html" %} -{% block title %}Sitemap{% endblock %} -{% block content %} -
-
-
-
    - {% for page in [site.root] if page.record_label recursive %} -
  • {{ page.record_label }} - {% if page.children %} -
      {{ loop(page.children|sort(attribute='path')) }}
    - {% endif %} -
  • - {% endfor %} -
-
-
-
- -{% endblock %} diff --git a/templates/summary-page.html b/templates/summary-page.html index 5cf1ca6..aed0ef0 100644 --- a/templates/summary-page.html +++ b/templates/summary-page.html @@ -3,47 +3,21 @@ {% block subtitle %}{{ this.subtitle }}{% endblock %} {% block content %} -
+
{% for childpage in this.children %} - - {# Setup default settings for the overview #} - - {% if childpage.header_background_color %} - {% set div_style = 'background-color:' + childpage.header_background_color + ';' %} - {% else %} - {% set div_style = 'background-color: #6FB0E5;' %} - {% endif %} - - {% if childpage.header_text_color %} - {% set div_classes = childpage.header_text_color %} - {% else %} - {% set div_classes = 'text-light' %} - {% endif %} - - {% if loop.first %}
{% endif %}
- {% if childpage.image %} - {{ childpage.title }} - + {% if childpage.image %} + {{ childpage.title }} {% else %} - + {{ childpage.title }} {% endif %}
@@ -63,5 +37,4 @@
-
{% endblock %} diff --git a/ungleich-staticcms.lektorproject b/ungleich-staticcms.lektorproject index eee9435..1208423 100644 --- a/ungleich-staticcms.lektorproject +++ b/ungleich-staticcms.lektorproject @@ -3,4 +3,4 @@ name = ungleich: IPv6 - Linux - FOSS url = https://ungleich.ch [packages] -lektor-atom = 0.4.0 +lektor-atom = 0.3