1
0
Fork 0
Commit Graph

961 Commits (9848e7e15f73226d56d3b5b3f7cbf173d7abb2c6)

Author SHA1 Message Date
q3k 7251f2720e Merge changes Ib068109f,I9a00487f,I1861fe7c,I254983e5,I3e2bedca, ...
* changes:
  cluster/identd/ident: update README
  cluster/kube: deploy identd
  cluster/identd: implement
  cluster/identd/kubenat: implement
  cluster/identd/cri: import
  cluster/identd/ident: add TestE2E
  cluster/identd/ident: add Query function
  cluster/identd/ident: add IdentError
  cluster/identd/ident: add basic ident protocol server
  cluster/identd/ident: add basic ident protocol client
2021-05-28 23:08:10 +00:00
q3k 196c556001 app/matrix: matrix.hackerspace.pl: unplumb a static secret channel
Change-Id: I63801798b2bd7f97f6c6f16b9243dc98102911ea
2021-05-26 19:46:44 +00:00
q3k 7711224d73 app/matrix: matrix.hackerspace.pl: add libera.chat
Apart from this, we also had to manually edit the registration yaml to
add @libera_ and #libera_ prefixes to the allowlists.

Change-Id: If85f58cf3d1291e0bf9099ef13d9397040a47782
2021-05-26 19:46:40 +00:00
q3k 46c3137d36 cluster/identd/ident: update README
Change-Id: Ib068109ff37749207e7b2a18c07f51d3c4ed3fd6
2021-05-26 19:46:13 +00:00
q3k 2414afe3c0 cluster/kube: deploy identd
Change-Id: I9a00487fc4a972ecb0904055dbaaab08221062c1
2021-05-26 19:46:09 +00:00
q3k 044386d638 cluster/identd: implement
This implements the main identd service that will run on our production
hosts. It's comparatively small, as most of the functionality is
implemented in //cluster/identd/ident and //cluster/identd/kubenat.

Change-Id: I1861fe7c93d105faa19a2bafbe9c85fe36502f73
2021-05-26 19:46:06 +00:00
q3k 6b649f8234 cluster/identd/kubenat: implement
This is a library to find pod information for a given TCP 4-tuple.

Change-Id: I254983e579e3aaa04c0c5491851f4af94a3f4249
2021-05-26 19:46:02 +00:00
q3k ae052f0804 cluster/identd/cri: import
This imports the CRI protobuf/gRPC specs. These are pulled from:

    https://raw.githubusercontent.com/kubernetes/cri-api/master/pkg/apis/runtime/v1alpha2/api.proto

Our host containerd does not implement v1, so we go with v1alpha2.

Change-Id: I3e2bedca76edc85eea9b61a8634c92175f0d2a30
2021-05-26 19:45:58 +00:00
q3k b387f57497 app/matrix: matrix.hackerspace.pl: run apppservice-irc identd
This doesn't have to be publicly reachable, as the future
//cluster/identd will dial into the pod directly to access the
appservice's identd.

Change-Id: I139341ead76309a6640eeb9a278462565290dd34
2021-05-26 19:45:22 +00:00
q3k 3638a3d76a cluster/identd/ident: add TestE2E
Change-Id: I8a95fadf19376de2806cb63897b77e370559392f
2021-05-23 16:27:22 +00:00
q3k 8e603e13e5 cluster/identd/ident: add Query function
This is a high-level wrapper for querying identd, and uses IdentError to
carry errors received from the server.

Change-Id: I6444a67117193b97146ffd1548151cdb234d47b5
2021-05-23 16:27:17 +00:00
q3k 1c2bc12ad0 cluster/identd/ident: add IdentError
This adds a Go error type that can be used to wrap any ErrorResponse.

Change-Id: I57fbd056ac774f4e2ae3bdf85941c1010ada0656
2021-05-23 16:26:59 +00:00
q3k ce2737f2e7 cluster/identd/ident: add basic ident protocol server
This adds an ident protocol server and tests for it.

Change-Id: I830f85faa7dce4220bd7001635b20e88b4a8b417
2021-05-23 16:26:54 +00:00
q3k d4438d67a2 cluster/identd/ident: add basic ident protocol client
This is the first pass at an ident protocol client. In the end, we want
to implement an ident protocol server for our in-cluster identd, but
starting out with a client helps me getting familiar with the protocol,
and will allow the server implementation to be tested against the
client.

Change-Id: Ic37b84577321533bab2f2fbf7fb53409a5defb95
2021-05-23 16:26:50 +00:00
q3k 13c90f0fe6 go/mirko: add GetRemoteHTTPClient
Change-Id: Icf1ec5c28ea487e62a23590069042c5b9edad846
2021-05-23 13:03:19 +02:00
q3k ba28a04c65 go/mirko: move kubernetes clientset state to singleton
We want to access the clientset (or at least check the fact that we're
in a cluster) outside of the Mirko object lifecycle.

In reality, this should _probably_ be moved outside of the Mirko library
and get a better API than this (ie. one that returns complete
information about the state of being in production/dev/...).

Change-Id: I86444477e0306a39a1611207855127a7b963603e
2021-05-22 19:16:39 +00:00
q3k e17f7edde0 cluster/kube: nginx: add Hscloud-Nic-Source-* headers
These can be used by production jobs to get the source port of the
client connecting over HTTP. A followup CR implements just that.

Change-Id: Ic8e29eaf806bb196d8cfcfb604ff66ae4d0d166a
2021-05-22 19:16:39 +00:00
q3k e1d8680110 Merge changes I92c7cdf9,I54334f4e,I93472c8c,If5063a3b,I2778c543, ...
* changes:
  matrix.hackerspace.pl: add secret appservice-irc mappings
  matrix.hackerspace.pl: give appservce-irc admin access to q3k and inf
  matrix.hackerspace.pl: disable bootstrap jobs
  matrix: appservice-irc: set debugService.enable if needed
  matrix: add bootstrapJob config flag to appservices
  matrix: bump appservice-irc
2021-05-19 22:14:14 +00:00
q3k ba2f4d8215 cluster/prodvider: deploy
Change-Id: I01d931a664e4b09c0d75fb01fb3f2528bc0f1a53
2021-05-19 22:13:26 +00:00
q3k 02e1598eb3 cluster/prodvider: emit crdb certs
This emits short-lived user credentials for a `dev-user` in crdb-waw1
any time someone prodaccesses.

Change-Id: I0266a05c1f02225d762cfd2ca61976af0658639d
2021-05-19 22:13:22 +00:00
q3k bade46d45f go/pki: fix error return
DeveloperCredentialsLocation used to glog.Exitf instead of returning an
error, and a consumer (prodaccess) used to not check the return code.
Bad refactor?

Change-Id: I6c2d05966ba6b3eb300c24a51584ccf5e324cd49
2021-05-19 22:12:08 +00:00
q3k 856b216459 matrix.hackerspace.pl: add secret appservice-irc mappings
These contain a channel key for a secret channel.

We also had to migrate the appservice-irc config to a secret.

Change-Id: I92c7cdf9679f65d9e655e22d690cef2e83180135
2021-05-19 22:04:02 +00:00
q3k 6be8b2e301 matrix.hackerspace.pl: give appservce-irc admin access to q3k and inf
Change-Id: I54334f4e8d1abd037ae2c821cb3569312bd2fe3b
2021-05-19 16:32:29 +00:00
q3k e7f14471e1 matrix.hackerspace.pl: disable bootstrap jobs
Change-Id: I93472c8ca03b9d0a2d4bea1504ec93102d68f258
2021-05-19 16:10:31 +00:00
q3k 4154673593 matrix: appservice-irc: set debugService.enable if needed
This is the case for any IRC server that has ignoreIdleUsersOnStartup
set, because of what seems like an appservice-irc bug.

Change-Id: If5063a3bc2d79c7f2fc79ec7560bf9bfe2b25aba
2021-05-19 16:10:03 +00:00
q3k 25cd650ec9 matrix: add bootstrapJob config flag to appservices
This allows us to bypass the issue where Kubernetes jobs cannot be
updated once completed, so bumping appservice image versions was
painful.

But really, though, this is probably someting that kubecfg/kartongips
should handle.

Change-Id: I2778c5433f699db89120a3c44e55d2fbe2a10015
2021-05-19 16:09:13 +00:00
q3k 8eae454769 matrix: bump appservice-irc
Also drive-by bump appservice-telegram, which was already bumped on
prod.

Change-Id: Ic8222775e7e3dbaa44361e6ccd84bdd6617924c3
2021-05-19 16:07:52 +00:00
q3k 6751d826f1 Merge changes I2afe9e52,Ideb13ba9
* changes:
  app/matrix/appservice-irc: implement passwordEncryptionKey
  app/matrix/appservice-irc: add ignoreIdleUsersOnStartup option
2021-05-19 15:41:55 +00:00
q3k d9f78cee5d Merge "app/matrix: 0x3c: fix secret name" 2021-05-19 15:35:04 +00:00
q3k 5ae5cbec81 Merge "cluster/kube: bump nginx-ingress-controller, backport openssl 1.1.1k" 2021-05-19 15:34:45 +00:00
q3k a21b563926 Merge "cebulacamp/landing: update for 2021" 2021-05-12 21:43:05 +00:00
q3k dad166800e cebulacamp/landing: update for 2021
Change-Id: I3f740ec0f7c6873905fb520d1d5803a5d999e6f0
2021-05-12 21:41:11 +00:00
q3k 9d05db751c Merge "hswaw/kube: add cebula.camp" 2021-05-12 21:29:41 +00:00
q3k f98ec010fc Merge "cebulacamp/landing: build and push backend" 2021-05-12 21:29:17 +00:00
q3k a1cbb18fba Merge "cebulacamp/landing: rewrite to plain html and css" 2021-05-12 21:28:48 +00:00
q3k de81b1eb84 Merge "hswaw/cebulacamp/landing: import from github.com/cebulacamp/queens-landing" 2021-05-12 21:28:38 +00:00
q3k 95ba05d970 hswaw/kube: add cebula.camp
Change-Id: I7659640d4a1445b828a944769aa6d9a08bcd7bbe
2021-05-12 21:28:10 +00:00
q3k b9ed123ff2 cebulacamp/landing: build and push backend
Change-Id: I1336fb2fe52de7c42e5de0c4f1e05f42c32a9777
2021-05-12 21:16:18 +00:00
q3k 69c7f99810 cebulacamp/landing: rewrite to plain html and css
We don't have pug/scss in Bazel/hscloud, so we just go ahead and rewrite
this to the lowest common denominator of web technologies.

Alternatively, we could at least go for gcss, which does have Bazel
rules - but it's probably not worth the effort.

Change-Id: I379157d8fd8682c4bcb87768e9cfe1f051fe9033
2021-05-12 21:11:50 +00:00
q3k ed27a8bd7d hswaw/cebulacamp/landing: import from github.com/cebulacamp/queens-landing
License: WTFPL

At commit: c9b43f5c1e69d6d263a8380a15372bd7d3497ac2

Change-Id: Iedad211589438569c0288c1cc3c2a67846bfcac6
2021-05-12 21:11:50 +00:00
q3k 87ede25bec bgpwtf/invoice: format for non-eu customers
Change-Id: I42ec23d911cd69a310a6de8ffe5dca5ff1b30f00
2021-05-12 21:09:47 +00:00
q3k 8a572cd36a Merge "devtools/ci/remote-cache: init" 2021-05-12 21:09:00 +00:00
q3k 4999dc4b7a Merge "third_party/go: add minio client lib" 2021-05-12 21:08:34 +00:00
q3k ab1f7dc924 app/matrix: 0x3c: fix secret name
Change-Id: Ifc519c068eb2af4ca1462d438c7b7050d9c0b2d8
2021-05-12 21:07:07 +00:00
Norbert Szulc a6e1b8dd1d Bump version of "io_bazel_rules_docker"
This presumably enables build on bazel 4.0.0 outside of nix install

Change-Id: I5acab20a20bc0fb63f20208a86c573529ce65c75
2021-05-12 14:17:31 +02:00
q3k fa818da7c6 bgpwtf/invoice: add recurrent billing tool
Change-Id: Ic3cc03d7b04304ae8c7aa76d8bb889ae8c144838
2021-05-06 00:12:53 +02:00
q3k 605aadbfa4 Merge "bgpwtf/invoice: render SP/GTU codes on invoices" 2021-05-05 20:48:12 +00:00
implr 474e0d1c2c personal/implr: more vpn
Change-Id: I4918a7b7fbae3da71e61a23e7f5fbe37e5db61f8
2021-04-30 20:07:51 +02:00
q3k 101747d1df Merge "app/matrix: update mautrix image" 2021-04-21 18:39:54 +00:00
q3k ffb80d0ed6 bgpwtf: add ar's ssh keys to routers
Change-Id: I87247136052b5b7077cb7eed33f13b60b81b898e
2021-04-19 07:11:26 +00:00