diff --git a/app/internet/Dockerfile b/app/internet/Dockerfile new file mode 100644 index 00000000..0fbe1ab3 --- /dev/null +++ b/app/internet/Dockerfile @@ -0,0 +1,3 @@ +FROM nginx:1.17.1-alpine + +COPY static /usr/share/nginx/html diff --git a/app/internet/kube/prod.jsonnet b/app/internet/kube/prod.jsonnet new file mode 100644 index 00000000..fa712e01 --- /dev/null +++ b/app/internet/kube/prod.jsonnet @@ -0,0 +1,85 @@ +local kube = import '../../../kube/kube.libsonnet'; + +{ + local internet = self, + local cfg = internet.cfg, + cfg:: { + namespace: "internet", + appName: "internet-landing", + domain: "internet.hackerspace.pl", + + tag: "201907091256", + image: "registry.k0.hswaw.net/app/internet:" + cfg.tag, + + resources: { + requests: { + cpu: "25m", + memory: "50Mi", + }, + limits: { + cpu: "100m", + memory: "200Mi", + }, + }, + }, + + namespace: kube.Namespace(cfg.namespace), + + metadata(component):: { + namespace: cfg.namespace, + labels: { + "app.kubernetes.io/name": cfg.appName, + "app.kubernetes.io/managed-by": "kubecfg", + "app.kubernetes.io/component": component, + }, + }, + + deployment: kube.Deployment("nginx") { + metadata+: internet.metadata("nginx"), + spec+: { + replicas: 1, + template+: { + spec+: { + containers_: { + nginx: kube.Container("nginx") { + image: cfg.image, + ports_: { + http: { containerPort: 80 }, + }, + resources: cfg.resources, + }, + }, + }, + }, + }, + }, + + svc: kube.Service("frontend") { + metadata+: internet.metadata("frontend"), + target_pod:: internet.deployment.spec.template, + }, + + ingress: kube.Ingress("frontend") { + metadata+: internet.metadata("frontend") { + annotations+: { + "kubernetes.io/tls-acme": "true", + "certmanager.k8s.io/cluster-issuer": "letsencrypt-prod", + }, + }, + spec+: { + tls: [ + { hosts: [cfg.domain], secretName: "frontend-tls"} + ], + rules: [ + { + host: cfg.domain, + http: { + paths: [ + { path: "/", backend: internet.svc.name_port }, + ], + }, + }, + ], + }, + }, +} diff --git a/app/internet/static/index.html b/app/internet/static/index.html new file mode 100644 index 00000000..6de086cd --- /dev/null +++ b/app/internet/static/index.html @@ -0,0 +1,74 @@ + + + + + Warszawski Hackerspace - Internet + + + +
+

Warszawski Hackerspace

+

Dostęp do Internetu

+

+ Świadczymy usługi dostępu do Internetu drogą kablową i światłowodową w obrębie budynku na ul. Wolność 2A w Warszawie. +

+

+ Kontakt: kontakt@hackerspace.pl +

+

+ Zgłaszanie awarii: awaria@hackerspace.pl +

+

+ Zgłaszanie nadużycia (abuse): abuse@hackerspace.pl +

+
+
+

Zasoby

+

+ Regulamin świadczenia usług telekomunikacyjnych - Dostęp do Internetu (obowiązuje od 2019/07/01) +

+

+ Pomiar prędkości łącza - speedtest +

+

+ Informacje techniczne (peering, sieć szkieletowa, ...) +

+
+
+

+ Stowarzysznie “Warszawski Hackerspace” (KRS 0000424347) zarejestrowane jest w Rejestrze Przedsiębiorców Telekomunikacyjnych UKE pod numerem 12216. +

+
+ + diff --git a/app/internet/static/regulamin.pdf b/app/internet/static/regulamin.pdf new file mode 100644 index 00000000..e1d0ec85 Binary files /dev/null and b/app/internet/static/regulamin.pdf differ diff --git a/app/registry/prod.jsonnet b/app/registry/prod.jsonnet index d2ffbc67..ad106349 100644 --- a/app/registry/prod.jsonnet +++ b/app/registry/prod.jsonnet @@ -153,6 +153,7 @@ local cm = import "../../cluster/kube/lib/cert-manager.libsonnet"; { who: ["q3k"], what: "app/radio" }, { who: ["q3k"], what: "app/factorio" }, { who: ["q3k"], what: "app/gerrit" }, + { who: ["q3k"], what: "app/internet" }, { who: ["q3k"], what: "go/svc/egressifier" }, ], acl: [