1
0
Fork 0
Commit Graph

176 Commits (master)

Author SHA1 Message Date
q3k ed421911ce app/matrix: matrix.hackerspace.pl: give psql more storage
We ran out of disk space on the old PVC. Made a new one, copied data
over, and this change points the postgres data mount to that new PVC.

Change-Id: Iea4e140680066a3335cc69caf9293093f90bb568
2021-06-30 21:23:49 +00:00
q3k abca7901a2 app/matrix: bump riot to 1.7.29
Change-Id: I26c99f110abb7a68320587d7056558403b34a122
2021-06-06 14:23:26 +00:00
viq a1501ab250 matrix: bump version and remove default options
Change-Id: I3b66b5869957b574b0d5e58d52d45ff5832bccbc
2021-06-06 13:10:36 +00:00
q3k 1431d1d2db app/matrix: matrix.hackerspace.pl: add libera.chat static mappings
Change-Id: Ib9052c14ab9c91ed2d11fce40bccf214d08df340
2021-06-06 12:59:25 +00:00
q3k 972e54651c app/matrix: appservice-irc: use secret in bootstrap job
Previously: 856b216459 switched to using a
Secret instead of a ConfigMap for appservice-irc. That however didn't
update the bootstrap job which still used the ConfigMap. This fixes
that.

Change-Id: I50f33935691678ce24ecf4e04d7ce1b13c184929
2021-06-06 12:59:25 +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 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 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 ab1f7dc924 app/matrix: 0x3c: fix secret name
Change-Id: Ifc519c068eb2af4ca1462d438c7b7050d9c0b2d8
2021-05-12 21:07:07 +00:00
q3k c3ca29512a app/matrix: update mautrix image
The old image disappearified from their registry:

httpReaderSeeker: failed open: content at https://dock.mau.dev/v2/tulir/mautrix-telegram/manifests/sha256:dc95be8f9cd7c226686bcd8be52872cdc20de6751b5eb9f10c6db87ec478b1ca not found: not found

This is the current latest image. Production (at least
matrix.hackerspace.pl) has been updated.

Change-Id: I754b13f08b569e717295fb48d36c0e6544438aa4
2021-04-10 11:15:31 +00:00
informatic 37fbff768a app/matrix/appservice-irc: implement passwordEncryptionKey
This allows people to save their NickServ passwords into bridge's
storage. Obviously nobody should trust us tho.

Change-Id: I2afe9e5215cd8f7419e9eab8183789df13e21aac
2021-02-13 20:18:51 +01:00
informatic 3d5bb6f2e9 app/matrix/appservice-irc: add ignoreIdleUsersOnStartup option
This should alleviate an issue of people getting joining and immediately
getting dropped off due to client limit on bridge restarts.

Change-Id: Ideb13ba9930d565ede728d2750d0c7af04746cf1
2021-02-13 19:58:58 +01:00
q3k 32d3eaac01 app/matrix: bump appservice-irc
Already deployed to matrix/appservice-irc.

Change-Id: I906390eaed9a9154b154bc8952412f9fa6708f64
2021-02-13 17:50:56 +00:00
Norbert Szulc 5d784c5861 app/matrix change displayname rules for matrix.0x3c.pl
prefer username as those are more commonly used in this community

Change-Id: Ia9e5394cd672d3f759e89e4b72dc16a5059857b4
2021-02-12 19:35:26 +01:00
q3k 34f56935b9 app/matrix/telegram: re-pin alpine to 3.13
Newer versions of alpine edge repos have a `yq` that behaves oddly:

    $ kubectl -n matrix-0x3c logs -f appservice-telegram-prod-85d66696c6-9drnl -c generate-config
    + apk add --no-cache yq
    fetch https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
    fetch https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
    (1/1) Installing yq (4.4.1-r0)
    Executing busybox-1.31.1-r21.trigger
    ERROR: busybox-1.31.1-r21.trigger: script exited with error 127
    OK: 11 MiB in 15 packages
    + cp /config/config.yaml /data/config.yaml
    + yq r /registration/registration.yaml as_token
    Error: unknown command "r" for "yq"
    Run 'yq --help' for usage.
    + yq w -i /data/config.yaml appservice.as_token
    Error: unknown command "w" for "yq"
    Run 'yq --help' for usage.

This downgrades back to a working yq.

Change-Id: Ifc77bcc88156b02f3ec17e6f84c5615149108777
2021-02-08 17:54:10 +01:00
informatic 95da3d5011 app/matrix: enable labs settings on matrix.hackerspace.pl
This adds an extra tab in profile settings window.

Change-Id: I2a6f162975b7ef6047aea5fdc72ba711084db2d5
2021-02-06 11:55:48 +01:00
informatic babcb8017f app/matrix/matrix.hackerspace.pl: migrate to matrix-ng
Change-Id: I131049da1037d9501a21a900d46929242fd5cba5
2021-01-31 19:07:53 +01:00
informatic fb119aa4f0 app/matrix: backport matrix.metadata(component) into matrix-ng
This is used by some external modules (appservices/instance
definitions). In order to reduce scope of (untested) changes in this
rollout, let's temporarily backport that function into matrix-ng.

Change-Id: Ib1054844391497ef1455b25c7f939c68c628ff09
2021-01-31 19:07:53 +01:00
informatic 356dd6d571 app/matrix/matrix.hackerspace.pl: update appservice-irc-freenode node
Change-Id: Id9c47f61d51291bd10fab3c58c17abddc1fdac17
2021-01-31 18:57:07 +01:00
informatic d6f08fc98f Merge "app/matrix: split matrix-ng into submodules, use kube.Namespace.Contain" 2021-01-31 15:50:54 +00:00
informatic b67ae4893c app/matrix: split matrix-ng into submodules, use kube.Namespace.Contain
matrix-ng split into multiple submodules causes some changes in keys
that might've been used for homeserver/riot configuration customization.

Migration to kube.Namespace.Contain has also caused change in Deployment
selectors (immutable fields), thus needing manual removal of these
first.

This is, as always, documented in lib/matrix-ng.libsonnet header.

Change-Id: I39a745ee27e3c55ec748818b9cf9b4e8ba1d2df5
2021-01-31 12:55:38 +01:00
informatic 0c75256f48 Merge "app/matrix: matrix-ng - synapse deployment cleanup" 2021-01-30 20:58:55 +00:00
informatic 8ec865728e app/matrix: matrix-ng - synapse deployment cleanup
This is a major revamp of our matrix/synapse deployment as a separate
.libsonnet module.

* synapse version bump to 1.25.0
* riot-web version bump to 1.7.18
* Replaced synapse migration hack we used to template configuration with
environment variable replacement done by Kubernetes itself
* Implemented support for OpenID Connect, migration from CAS has been
verified to be working with some additional configuration options
* Moved homeserver signing key into k8s secret, thus making it possible
to run synapse processes without a single data volume
* Split synapse into main process, generic worker and media repository
worker. (latter is the only container using data volume) Both generic
worker and media repository worker is running on a single replica, until
we get proper HTTP routing/loadbalancing
* Riot nginx.conf has been extracted into an external file loaded using
importstr.

Change-Id: I6c4d34bf41e148a302d1cbe725608a5aeb7b87ba
2021-01-30 21:18:51 +01:00
informatic 77351a68c7 Merge changes Ic71cbdce,I097b58ef
* changes:
  app/matrix: cleanup irc bridge registration oneliner
  app/matrix: add wellKnown server integration
2021-01-30 15:34:25 +00:00
informatic ee62857c70 app/matrix: cleanup irc bridge registration oneliner
Change-Id: Ic71cbdce6bd9668754285f863fd987c63ab5386d
2021-01-30 13:10:22 +01:00
informatic 63244ca465 app/matrix: add wellKnown server integration
Exposes /.well-known/matrix/ metadata endpoints on cfg.webDomain that
are required for federation to work properly. This can be enabled using
cfg.wellKnown flag set to true.

Change-Id: I097b58efc7442b904a135d4519999e36d155c197
2021-01-30 13:10:15 +01:00
q3k 8506af2c24 app/matrix/wellknown: push container
Change-Id: Ifc8fec94cdfd7c98b5c87c1c20167b34608e1eea
2021-01-29 22:55:32 +00:00
q3k 61f978a0a0 *: tear down ceph-waw2
It reached the stage of being crapped out so much that the OSDs spurious
IOPS killed the performance of disks colocated on the same M610 RAID
controllers. This made etcd _very_ slow, to the point of churning
through re-elections due to timeouts.

etcd/apiserver latencies, observe the difference at ~15:38:

https://object.ceph-waw3.hswaw.net/q3k-personal/4fbe8d4cfc8193cad307d487371b4e44358b931a7494aa88aff50b13fae9983c.png

I moved gerrit/* and matrix/appservice-irc-freenode PVCs to ceph-waw3 by
hand. The rest were non-critical so I removed them, they can be
recovered from benji backups if needed.

Change-Id: Iffbe87aefc06d8324a82b958a579143b7dd9914c
2021-01-22 16:26:09 +01:00
q3k d67635d338 Bump riot-web on matrix.hackerspace.pl
Change-Id: Ia043a03afb85b1a149b112a2be5c29fb26d5969d
2020-12-29 22:27:32 +00:00
q3k 21e9f7aaea app/matrix: allow not7cd access to matrix-0x3c
Change-Id: Iba9edfdfd2d05701e1266c279ec2f4881fa3505e
2020-11-11 23:39:48 +01:00
Norbert Szulc 2117416052 app/matrix: fix typo in secret in matrix.0x3c.pl
it looks like I have missed a typo

Change-Id: I5cdf06d44d23ab678f239c19d78170d3f1125b9c
2020-11-11 18:37:46 +01:00
Norbert Szulc 2508009f50 app/matrix bump casProxy to 0.1.5 for matrix.0x3c.pl
Change-Id: I182ce7a23f21faf20f04f7211e4837dc30e2cf1e
2020-11-11 17:34:09 +00:00
Norbert Szulc 6ab920a103 app/matrix: fix secret in matrix.0x3c.pl
Change-Id: Iffd361b6fde96e9a6c3967bc88c730b5acf14082
2020-11-10 23:20:07 +00:00
not7cd 5903c1e64a Merge "app/matrix enable cas proxy for matrix.0x3c.pl" 2020-11-10 23:06:04 +00:00
Norbert Szulc c67abc23a8 app/matrix enable cas proxy for matrix.0x3c.pl
Change-Id: I63c8172dbc93b9f6781aa03f7924be944b8f1846
2020-11-10 23:34:30 +01:00
q3k 8483d37581 app/matrix: make cas deployment configurable
This is an alternative to https://gerrit.hackerspace.pl/509 that was
reverted in https://gerrit.hackerspace.pl/541 .

This has already been deployed.

Change-Id: I7d54943c970804cac910e0e15201d1c3fa337489
2020-11-10 22:07:30 +01:00
Norbert Szulc 014c9cd018 app/matrix make cas deployment configurable
Change-Id: I59ea4d0d5f4a68ffbd88264857c309f6bac61288
2020-11-09 15:22:56 +01:00
not7cd 9e5a8b8520 Merge "app/matrix enable telegram in matrix.0x3c.pl" 2020-11-08 15:51:11 +00:00
not7cd cc711d23ab Merge "app/matrix add branding to matrix.0x3c.pl" 2020-11-08 15:48:01 +00:00
not7cd 8a504b1bc2 Merge "app/matrix: make riotConfig parametrizable" 2020-11-08 15:39:01 +00:00
Norbert Szulc 9dcf5f886f app/matrix enable telegram in matrix.0x3c.pl
Change-Id: Id602fb46904f4499a797af593ec129b9ebc3f526
2020-11-08 16:19:01 +01:00
Norbert Szulc caabcaba01 app/matrix add branding to matrix.0x3c.pl
Change-Id: Ib78a2dae0ed177d670ab760892896306363ed3e6
2020-11-08 16:16:32 +01:00
Norbert Szulc 1ef5600dcb app/matrix: make riotConfig parametrizable
Change-Id: Ib616ec7fbf097ab1e17a254c5c16202bb9151585
2020-11-08 16:13:58 +01:00
q3k ec7e0a9dc2 app/matrix: add wellknown server
This is in preparation for spinning up a staging/QA matrix instance,
where the MXID domain is under control by hscloud machinery (and not a
top-level organizational domain).

Change-Id: I10505615ebb407b3b2eac0c1b87ad5625e2009c0
2020-11-05 20:47:04 +01:00
q3k 52e796606f app/matrix: add matrix.0x3c.pl
Change-Id: I1f1d41fd80c08cefd274141ca598526dd466ad24
2020-11-04 00:09:03 +01:00
q3k 21a9616583 app/matrix: finish parametrization, fix running as non-root
This should allow us to run matrix on our default podsecuritypolicy.

Change-Id: I054f527ebab2f499e7a6595e618281a58c82e283
2020-11-04 00:09:03 +01:00
q3k ace32c0360 app/matrix: parametrize configuration
This adds cfg.cas.enable, and parametrizes homeserver.yaml from jsonnet
configuration.

Change-Id: I37a9b27a7080248cdd70282b897bbf6d3f9ae5f6
2020-11-03 22:04:08 +01:00
q3k 60076c70f8 matrix: refactor synapse into library
This is in prepration for bringing up a Matrix server for hsp.sh.

Verified to cause no diff on prod.

Change-Id: Ied2de210692e3ddfdb1d3f37b12893b214c34b0b
2020-11-03 21:36:49 +01:00
informatic cf47f08481 app/covid-formity: enable redis password
This has already been deployed in production

Change-Id: I9c603a4985332d422d8875ecf6f8dca157f32f22
2020-10-10 18:40:45 +00:00
informatic 018d219dc9 Merge changes Ie974e7e8,I0bda7f6e
* changes:
  app/covid-formity: add kurjerzy integration
  app/covid-formity: image update, add /qr1, /manual, /video redirect
2020-10-10 17:13:53 +00:00
q3k c09d8fedcc Merge "app/onlyoffice: init" 2020-09-16 16:59:06 +00:00
q3k 5533ce9075 matrix: bump synapse to 1.19.2
This has already been deployed to production.

Change-Id: I0ebf818193bd161d6565a9ec4eddc785e79d9077
2020-09-16 14:20:09 +00:00
q3k 06b61d4d47 app/onlyoffice: init
This deploys office.hackerspace.pl. It's a collaborative document
editing server that works with Nextcloud.

This is already live, and can be tested with owncloud.hackerspace.pl
(new -> document).

Change-Id: Ic8055a8a6679e7a0695ebb9e41108074d8f789af
2020-09-15 18:23:08 +00:00
q3k 1230ac38b5 matrix: enable metrics
Change-Id: Ia916cb1311ab079153ba37818455170e85e437bc
2020-09-12 22:26:12 +00:00
q3k 1db03c32b6 matrix: fix iOS signup issues by specifying public_baseurl
WHITE
WHALE
HOLY
GRAIL

Complex systems are complex. Let me tell you a story about that.

Matrix clients perform their last stage of login by performing a POST to
/_matrix/client/r0/login on the Matrix homeserver they log in to. How
they reach the Homeserver is specified earlier - either by using
discovery via SRV or .well-known, or by the client manually specifying
the Matrix homeserver URL.

Regardless of how they reach this endpoint in the first place, this POST
endpoint, as per the Matrix Client-Server API Specification (r0.6.1),
MAY return a `well_known` key, which MUST contain a `homeserver`
address, pointing to the address of the homeserver which the client
should talk to. If present, the client SHOULD use that instead of
whatever it connected to so far.

Issue the first: the iOS client requires `well_known` in that response,
and doesn't work otherwise. https://github.com/vector-im/element-ios/issues/3448

Issue the second: Synapse will return `well_known` accordingly, but only
if `public_baseurl` is set in its configuration. It is not required to
be set. If not set, it will simply not return this key.

Shrek the third: we never set `public_baseurl` in Synapse, and the first
issue (iOS needing `well_known`) only became a regression in
https://github.com/vector-im/element-ios/issues/2715 . As such, it was
difficult to troubleshoot this issue, and we kept getting on some red
herrings: is it the SSO? Is our server broken? Is the iOS implementation
broken?

But now we know - https://github.com/vector-im/element-ios/issues/2715
seems to be the true culprit.

Change-Id: I913792e31e3c6813d4e51d4befdba720cad3f532
2020-08-26 18:10:36 +00:00
q3k de6275101b matrix: add Telegram bridge appservice.
Configuring this one is a bit different from appservice-irc. Notably,
there's no way to give it a registration.yaml to overlay on top of a
config, se we end up using an init container with yq to do that for us.

Also, I had to manually copy the regsitration.yaml in synapse, from
/appservices/telegram-prod/registration.yaml to
/data/appservices/telegram-prod.jsonnet, in order to make it work with
the synapse docker start magic. :/

Otherwise, this is deployed and seems to be working.

Change-Id: Id747a0e310221855556c1d280439376f0c4e5ed6
2020-08-24 21:20:39 +00:00
q3k cdba291e7d matrix: split up appservice to separate file
This is in preparation for adding a Telegram bridge appservice. The main
jsonnet file was getting quite chonky.

This does not affect production, and is just a refactor.

Change-Id: I7cdee2bd71aedb40a9f6c3e5148f829023171dcb
2020-08-24 19:14:04 +00:00
q3k c0c037aad9 app/matrix: migrate postgres and data to waw3
The way this was migrated is not to be spoken of.

(hint: it involved downtime, and mounting two volumes at once)

appservice-irc has some storage, we should migrate that to waw3, too. But
it's not as critical.

The new storage (waw3) is _much_ faster.

Change-Id: I4b4bd32e4fedc514753d25bac35d001e8a9c5f00
2020-08-24 19:12:08 +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 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 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
informatic e60250c4eb app/covid-formity: add kurjerzy integration
Change-Id: Ie974e7e83849a0886cd51ba14fe76da10ce8718e
2020-05-21 19:12:19 +02:00
informatic 1be143c3ae app/covid-formity: image update, add /qr1, /manual, /video redirect
Change-Id: I0bda7f6e219404aeb47ea0712e06b974723e5341
2020-04-13 15:16:53 +02:00
q3k 006c1bf8f3 *: add more OWNERS
Change-Id: If2740a0aaee845160b38b8ea0b23fea7bab3bded
2020-04-13 01:46:15 +02:00
q3k 9b50a69c11 Merge "app/matrix: upgrade and migrate to official appservice-irc image" 2020-04-12 12:50:31 +00:00
q3k ddd5c8e6e0 Merge "app/matrix: upgrade and migrate to official riot-web container image" 2020-04-12 12:50:27 +00:00
q3k adb72ccdec Merge "app/matrix: synapse upgrade" 2020-04-12 12:38:09 +00:00
informatic 973076c0fb app/covid-formity: covid19 hackerspace relief form
Change-Id: I952ca040e85e6305d5241816c3afa8ae69031d5f
2020-03-26 21:40:01 +01:00
informatic 57349d2a76 app/matrix: upgrade and migrate to official appservice-irc image
Change-Id: I9104974bd0906739f08239146737c56efde36cfe
2020-03-21 23:35:11 +01:00
informatic aca7e28f69 app/matrix: upgrade and migrate to official riot-web container image
Change-Id: I438e5b6e1bfb4a20bb6613904497e1e8a6d86fc5
2020-03-21 23:35:03 +01:00
informatic 8ebfc1d338 app/matrix: synapse upgrade
Change-Id: Ice5f70be190126da5eecfc1d5ec5c1f746679ec9
2020-03-03 21:01:18 +01:00
q3k 92b48d6216 {matrix,lelegram}: pin to bc01n0{1,2}.hswaw.net
Only these nodes (and bc01n03( are #blesed by freenode.

In the future we should fix this by having custom node labels for
blessed nodes. But this will do for now.

Change-Id: Ia5d7cfcb9329da0de8d596ed40b20b0e0f286f43
2020-01-08 13:59:04 +01:00
q3k 6781f62ec4 Merge "app/radio: add support for following relays" 2019-09-25 12:06:17 +00:00
q3k 2d81427410 app/radio: add support for following relays
Change-Id: Ib079d657239b1bf5294ad8457370d56a0093dd6d
2019-09-25 13:59:08 +02:00
q3k 5f3a5e0310 cluster/kube: emergency fixes after evition
Some pods got evicted. Some of them broke.

  - postgres in matrix and nginx in internet because of the new policies
    (chown issues)
  - cas proxy in matrix because apparently the image was not reuploaded
    to the regsitry after ceph-waw1 died, and another node didn't have it
  - registry because it had a weak image pin an downgraded to some
    broken version on another node

Change-Id: I836036872629843c8ede1b7f67982112c90d71f0
2019-09-25 02:58:15 +02:00
informatic eabbe8a11e app/matrix: update software components, refactor config handling
Dynamic config generation based on environment variables in Synapse is
no longer supported. To pass secrets to container we use a patch that
implements configuration overrides via environment variables directly.
(to be upstreamed...)

Due to Synapse update, appservice configuration ConfigMaps don't need to
be copied into Synapse /data volume anymore.

Change-Id: I70e6480983bfb997362739c6ce0ec3c313320836
2019-08-30 23:21:53 +02:00
informatic b20b366092 app/matrix: change storageclass to waw-hdd-paranoid-2
Change-Id: I757942409f4ef4da69d4cf1925d26dc758c65311
2019-08-30 23:21:53 +02:00
q3k d07861b7df ceph-waw1 -> ceph-waw2
Change-Id: I03d6244b9697a9efc06492114ef90cdb01e17601
2019-08-08 17:49:31 +02:00
q3k f774f2f31d Merge "app/registry: integrate into cluster/kube" 2019-08-02 00:28:10 +00:00
q3k 7fb4acb690 app/factorio -> personal/q3k/factorio
Change-Id: I92be6a726aef306f6f4de4e5a91defa86cda81fc
2019-07-21 15:07:07 +00:00
q3k c4e653ad46 app/internet -> bgpwtf/internet
Change-Id: I66740f68ebfb508d866c742d7849447a3aca45be
2019-07-21 15:06:52 +00:00
q3k 4d61d20aec app/registry: integrate into cluster/kube
This makes a registry be automatically part of the cluster
infrastructure.

Tested by running kubecfg diff, no diffs (apart from out-of-date ACLs)
found.

Change-Id: Ic0635e789cf3fb851f410bcf2865326f1fa87545
2019-07-21 16:56:41 +02:00
q3k 57efce6b02 app/{gerrit,bazel-cache} -> devtools/
Change-Id: I2a98f33c76a59392e644579a1f7064a7c8eaec7c
2019-07-21 16:40:33 +02:00
q3k 9b5359d0f4 app/gerrit: fix advertised address
This should get rid of some :29418 ports publically visible.

Change-Id: Ied3114888ccfdea494580d19e04d88a847d96cfe
2019-07-21 15:38:21 +02:00
q3k b4f6fb3c3b app/registry: allow inf and q3k to push to app/* and go/svc/*
We have quite a bit of them at this point, and we're likely going to use
app/* and go/svc/* for 'core' services only anyway.

Change-Id: Ic315fbd2d672e525439992bfcd9ead730d1a1b71
2019-07-13 17:13:09 +02:00
q3k 4343e9289e Merge "app/internet: initialize with landing page" 2019-07-09 11:24:28 +00:00
q3k 94f8dbf347 app/internet: initialize with landing page
This is already rolled out at https://internet.hackerspace.pl/.

Change-Id: Ibebaeb830a4b58cecfc1ecbf63d07cc63ded7e2b
2019-07-09 13:03:30 +02:00
q3k 0ef497e461 Merge "app/registry: abstract away pushers" 2019-07-09 10:39:40 +00:00
q3k c292410d15 app/factorio: update to 0.17.52
Change-Id: I70230b1f83a40cc70015e135e25319116c6e15e8
2019-06-30 17:35:57 +02:00
q3k 1c825949c4 app/registry: abstract away pushers
Another change I lost somewhere in the process of remembering how to
gerrit.

I rewrote it (lost the original commit), and also added the (upcoming)
egressifier service.

Change-Id: I1647bc3b1e504a192150ab76f4c6d1709e608f0a
2019-06-30 00:37:34 +02:00
q3k a7e26ccfe1 app/gerrit/kube: implement
This change impelements the k8s machinery for Gerrit.

This might look somewhat complex at first, but the gist of it is:

 - k8s mounts etc, git, cache, db, index as RW PVs
 - k8s mounts a configmap containing gerrit.conf into an external
   directory
 - k8s mounts a secret containing secure.conf into an external directory
 - on startup, gerrit's entrypoint will copy over {gerrit,secure}.conf
   and start a small updater script that copies over gerrit.conf if
   there's any change. This should, in theory, make gerrit reload its
   config.

This is already running on production. You're probably looking at this
change through the instance deployed by itself :)

Change-Id: Ida9dff721c17cf4da7fb6ccbb54d2c4024672572
2019-06-21 20:47:53 +02:00