1
0
Fork 0
Commit Graph

530 Commits (35d437883b6a02fd73c0e5258d40bcf065ce3065)

Author SHA1 Message Date
q3k 35d437883b kube/policies: implement mostlysecure
This now allows to run apt and should allow to run most upstream docker
images. In return, we prohibit some mildly sketchy stuff. But this is
safe enough for project namespaces with limited administrative access.

We should still get gvisor sooner than later...

Change-Id: Ida5ccfae440bacb6f3fd55dcc34ca0addfddd5ae
2020-08-23 11:32:44 +00:00
q3k ed71be4392 Merge "devtools: fix sourcegraph" 2020-08-23 11:06:27 +00:00
q3k b7898a8038 devtools: fix sourcegraph
Permissions get mangled on container restart. This adds an init
container to fix them.

Change-Id: I37c44e23a75b8ec41e6aba2ed38eee223496b8b9
2020-08-23 11:05:57 +00:00
q3k 99db0cd62f Merge "cluster/clustercfg: fix BUILD" 2020-08-23 01:38:25 +00:00
q3k 1b15dc46ea app/matrix: move appservice-irc to bc01n03
When deploying https://gerrit.hackerspace.pl/c/hscloud/+/401 we manually
re-pinned appservice-irc to run on bc01n03 (to prevent reschedule as
bc01n02 was updated while bc01n03 was already done). This change makes
git reflect production.

Change-Id: I2518a8a227bfacefd9f1905ded5a1d65e379845f
2020-08-23 01:03:00 +02:00
q3k bc73a44519 cluster/clustercfg: fix BUILD
This is continued fallout after migrating from rules_pip.

Change-Id: Idb9b4d4f22aa36512d220ac31375bae7a0f25e4e
2020-08-22 20:33:37 +00:00
q3k 31e41d5ff7 Merge changes I4ecc5002,Iff21654e,I312be8e8
* changes:
  kube/kube.libsonnet: add OpenAPI.Require
  kube/kube.libsonnet: add Contain to Namespace
  kube/kube.libsonnet: add CertificateVolume
2020-08-22 20:32:02 +00:00
q3k d5918c8e72 cluster: change q3k's laptop key
Paranoia is dead, long live Mimeomia.

This has already been deployed to production.

Change-Id: Ibbc5015b5277380a3450f76e62d3fab6e71be1a0
2020-08-22 22:29:42 +02:00
q3k 0b6d5d526f kube/kube.libsonnet: add OpenAPI.Require
This allows for the following:

    local oa = kube.OpenAPI,

    vaidation: oa.Validation(oa.Dict {
        foo: oa.Required(oa.String),
        bar: oa.Required(oa.Array(oa.Dict {
            baz: oa.Boolean,
        })),
    }),

No more `oa.String { required:: true }`!

Change-Id: I4ecc5002e83a8a1cfcdf083d425d7decd4cf8871
2020-08-22 19:01:01 +00:00
q3k 5a89d225e7 kube/kube.libsonnet: add Contain to Namespace
This allow for the following:

    ns: kube.Namespace("foo"),

    service: self.ns.Contain(kube.Service("bar")) {
        spec+: {
            // ...
        },
    },

No more `metadata+: { namespace: ... }` !

Change-Id: Iff21654e18919afbe60c574e560356c6bd6d9b89
2020-08-22 18:57:30 +00:00
q3k 394dd83219 kube/kube.libsonnet: add CertificateVolume
CertificateVolume is like SecretVolume, but for secrets generated from
Certificates.

Change-Id: I312be8e84c856221173583df478ec5317aa948c0
2020-08-22 18:56:53 +00:00
q3k 8887655aa8 go/mirko: fix trace logging
Change-Id: I95b8ce32ad529ffe0b43282f5761495df78b2b10
2020-08-16 13:25:40 +00:00
q3k b97a303f89 Merge "hswaw/ldapweb: bump" 2020-08-15 18:44:03 +00:00
q3k fceedd1bab hswaw/ldapweb: bump
This pulls in https://code.hackerspace.pl/q3k/ldap-web-public/commit/?id=1cced0d613f4ec8b454c1a6c6fd9bb01eed391e3

Change-Id: Ib676d09084bf1bd00bfa88eab980353550525729
2020-08-15 18:43:46 +00:00
q3k 0581bbf8a0 games/factorio: add modproxy
This adds a mod proxy system, called, well, modproxy.

It sits between Factorio server instances and the Factorio mod portal,
allowing for arbitrary mod download without needing the servers to know
Factorio credentials.

Change-Id: I7bc405a25b6f9559cae1f23295249f186761f212
2020-08-14 13:03:46 +02:00
q3k 791ab6d1a5 factorio: bump to 1.0.0
Change-Id: I24c96e556ae4054fb1b25e671341f2cb671010c2
2020-08-14 10:35:28 +00:00
q3k 15db04c705 hackdoc: deploy
There's an issue with the registry that forbids me from pushing into
anything but my personal namespace - might have been introduced by
0697e01144 . For now, I move the hackdoc
image to my personal namespace, as at some point in the future I want to
revamp the registry system, anyway.

We also drive-by fix a mirko.libsonnet typo that, for some reason,
hasn't manifested itself yet.

Change-Id: I8544e4a52610fb84c5c9d8b0de449f785248f60f
2020-08-10 18:57:26 +02:00
q3k d40bd1bd71 README: link to cs instead of gitiles
Change-Id: Iaaa6cbe1327fc75dfd642bbfe5677740bb9b2fb6
2020-08-10 18:03:04 +02:00
q3k 77a5a4b388 Merge "hackdoc: do not render links to pages that wouldn't serve anything" 2020-08-10 16:01:51 +00:00
q3k d701c4ebc6 hackdoc: do not render links to pages that wouldn't serve anything
This gets rid of annoying clickable 404 links.

Change-Id: Ibf767875af29f4571e7f935d494b44dde002fac6
2020-08-10 18:01:13 +02:00
q3k 03c9a5ed86 app/matrix: add q3k to OWNERS
(apparently these don't get inherited?)

Change-Id: Ie0052677585863da6dade8c184e25b8c15ddf42c
2020-08-05 23:04:29 +02:00
q3k fe33aa6489 Merge "third_party/py: bump cffi and psycopg2 to latest versions" 2020-08-05 20:58:12 +00:00
q3k 970b7687f3 factorio: bump all to 0.18.40
Change-Id: Iaf9b28ce6fed9ba791075307ee3e75f218267d23
2020-08-04 20:33:25 +02:00
q3k 3d29484ebb k0: move registry to ceph-waw3
ceph-waw2 has currently some production issues [1] which have started to
cause write failures in the registry. The registry is the only user of
ceph-waw2's affected pool, so we reduce the dumpster fire blast radious
by moving it over to ceph-waw3.

This has already been deployed and data has been migrated over (via
s3cmd sync), and the migration has been verified (by a push and pull,
and pull of an older image).

[1] - pgs stuck inactive in the object storage pool

Change-Id: I26789b52008bb7be953954ec3fd3dd727ac15347
2020-08-04 01:36:51 +02:00
q3k 1773f32c8a factorio: bump to 0.18.40
Change-Id: I065a5e8a8c6608a137c0ae4f1cb04f8254ef6ddd
2020-08-01 22:02:38 +02:00
q3k ef2fbaf892 go/pki: allow overriding host in client
Change-Id: I5d913d6056efc5128c26ffe4db962fdb86b08315
2020-08-01 22:01:33 +02:00
q3k 4ded56ab8a prodvider: emit client/server cert
Change-Id: I024782a7dfa6e16ff5f562a62ddd8fe3bf299c51
2020-08-01 22:01:05 +02:00
q3k f3312ef77e *: developer machine HSPKI credentials
In addition to k8s certificates, prodaccess now issues HSPKI
certificates, with DN=$username.sso.hswaw.net. These are installed into
XDG_CONFIG_HOME (or os equiv).

//go/pki will now automatically attempt to load these certificates. This
means you can now run any pki-dependant tool with -hspki_disable, and
with automatic mTLS!

Change-Id: I5b28e193e7c968d621bab0d42aabd6f0510fed6d
2020-08-01 17:15:52 +02:00
q3k 1e1a4ddfc8 BUILD: fix gazelle repo file marker
Change-Id: I2ba10be7f4af784782d684b662529f926c348232
2020-08-01 12:10:19 +00:00
q3k bbb1623cb7 q3k/minecraft: bump prod to 1.16.1
Change-Id: I4926d17f1d7c07aa3a2c922481be4645291124f3
2020-08-01 10:05:11 +00:00
q3k 509ab6e29a k0/cockroach: add public DNS entry for cockroach
Change-Id: I934bf348e2165148b515b709e853ab67f039a402
2020-07-30 22:56:30 +02:00
q3k 6c1a712522 secretstore: fix decryption in sync
Change-Id: If5be7679e9e0b6e0acf78ffd871adb1f9af8d7f4
2020-07-30 20:55:54 +00:00
q3k 96074a7859 laserproxy: document deployment
Change-Id: I4461b8c392f79781247605315b2e1b744bbb1acb
2020-07-30 20:55:46 +00:00
q3k d15f928516 .bazelrc: re-enable stamping in go
Change-Id: Icb25fa970e090730803ff964f26e7c0dc5295fae
2020-07-30 20:55:26 +00:00
q3k 67b8592bfb Merge "OWNERS += implr" 2020-07-30 20:54:52 +00:00
q3k 9736a6adc3 OWNERS += implr
Change-Id: I41a2413ccc4a231e074b5f9ebe890c48b1fe14a9
2020-07-30 22:52:58 +02:00
patryk a8bc92f34a third_party/py: bump cffi and psycopg2 to latest versions
This fixes broken builds on Ubuntu 20.04 and Python 3.8.

Change-Id: Id81a38e5b9694fcb38c8c07b405a71354b10b601
2020-07-30 21:44:50 +02:00
q3k de0330a07c laserproxy: init
Change-Id: I1900be6eea2d702548279176d796c58c34952dc8
2020-07-30 20:49:04 +02:00
q3k be89707ce1 bgpwtf/landing: import
This imports a snapshot of the current landing page (that used to be
versioned in a separate repository, but we want to pull into hscloud).

Change-Id: Ia98bca294ae64bfd57c4a4250d7d3a5a7e5f8145
2020-07-25 12:18:59 +02:00
q3k 5618a63278 app/matrix: disable password login in synapse
This should, according to a GH issue thread [1] fix some flows (like
session delete) with our CAS configuration.

Not deployed, untested.

[1] - https://github.com/matrix-org/synapse/issues/5667#issuecomment-632040218

Change-Id: Iaf041f07e26d1abfb92caba451ebfbbf899e9964
2020-07-17 11:12:57 +00:00
q3k ec221a0b85 app/matrix: bump synapse, riot-web
This has already been bumped in production, and this change makes it
reflect that.

This was supposed to fix iOS sign-in, but that didn't seem to have
worked.

Change-Id: I9278490e40b332a8439fdf1361f27df770b8cd9e
2020-07-17 12:50:53 +02:00
q3k 735ac9cc7f app/matrix: reflect current production status
At some point someone bumped appservice-irc to 0.17.1 without commiting
this to git. This fixes that, and also drive-by refactors the
appservice-irc image version to live next to all the other version
strings.

`kubecfg diff --diff-strategy=subset prod.jsonnet` now shows no diff.

Change-Id: I90a64d05cc72669de41fa68195672adca2eb37e8
2020-07-17 12:12:38 +02:00
implr 9fed3c95c7 implr/vpn: create
Change-Id: I2843ccb60d257ec10f305e8842a7ebb08c2b5e06
2020-07-09 15:13:42 +02:00
implr cae27ecd99 Replace rules_pip with rules_python; use bazel built upstream grpc
instead of Python packages

As usual with Python sadness, the @pydeps wheels are built on the bazel
host, so stuffing them inside a container_image (or py_image) will cause
new and unexpected kinds of misery.

Change-Id: Id4e4d53741cf2da367f01aa15c21c133c5cf0dba
2020-07-08 18:55:34 +02:00
informatic 97a6ca8a8b Merge "cluster/kube/lib/nginx: add gitea-prod ingress service" 2020-07-02 17:15:53 +00:00
informatic 0697e01144 cluster/kube/lib/registry: allow auth'd users to pull all images
"Anyone can pull all images" rule did only match on anonymous users. Now
it should match all users, including authenticated ones.

Change-Id: I2205299093feca51f30526ba305eadbaa0a68ecb
2020-07-02 18:45:42 +02:00
informatic f00edf6ee8 cluster/kube/lib/nginx: add gitea-prod ingress service
We would like gitea to have its ssh server exposed on TCP port 22 on the
same address as its web interface. We would also still like to use all
the automation around ingresses already in place (like cert-manager
integration).

To solve this, we create an additional LoadBalancer service for
nginx-ingress-controller and set up special tcp-services forwarding rule
to pass port 22 traffic to gitea-prod/gitea service, like we already do
in case of gerrit.

Change-Id: I5bfc901ebe858464f8e9c2f3b2216b254ccd6c4d
2020-07-02 18:30:38 +02:00
implr 7418a5a963 Add shallow_since to WORKSPACE git_repository rules
per bazel warning
DEBUG: Rule 'com_apt_itude_rules_pip' indicated that a canonical reproducible form can be obtained by modifying arguments shallow_since = "1564255337 -0400"

Change-Id: I6564e8325aa31bbd156ffdf85854f3f5459bd4df
2020-07-01 05:43:28 +02:00
q3k 0a48bc9e8c Merge "WORKSPACE: cleanup" 2020-06-28 16:40:06 +00:00
wasiumpks aca02f63d3 update to 1.16.1
Change-Id: Ia2051c518023260c8a30a9142213d2c536d3c0a7
2020-06-28 11:02:30 +02:00