Commit Graph

212 Commits (a6f2ccf344571138371576d32b5dc7b6eb274533)

Author SHA1 Message Date
q3k a6f2ccf344 mastodon: bump to 4.2.6
Change-Id: Ib849b360888988eeb3fab10b10779e2204aef147
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1904
Reviewed-by: ar <ar@hackerspace.pl>
2024-02-16 11:35:49 +00:00
palid 6c6fda3076 walne: bump deps to properly re-deploy
Change-Id: I56d5a8b058586f02aabf1b395243339c754a6bc1
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1899
Reviewed-by: radex <radex@hackerspace.pl>
2024-02-04 15:56:20 +00:00
radex ec11a8173e kube/redis: explicit version and storage class, clean up
By forcing version to be explicit, we encourage users to pick the latest version when they first deploy, or to upgrade to latest from the old 5.0.4.

Also, non-existent storage class default is removed in favor of explicitly asking for storageClassName.

Change-Id: Ibf9113eae4c2be20bf273c7536176b42fac52256
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1796
Reviewed-by: q3k <q3k@hackerspace.pl>
Reviewed-by: radex <radex@hackerspace.pl>
2024-02-04 14:23:06 +00:00
q3k 9e35c36065 mastodon: bump to 4.2.5
Change-Id: Ieddb860467611187b551076c1b09f4b0e8c87938
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1891
Reviewed-by: ar <ar@hackerspace.pl>
2024-02-03 14:23:51 +00:00
radex 1333a525cd hswaw: add printservant
Change-Id: Ia972cf7daedef87a7bba62ab2962b369c241d80d
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1890
Reviewed-by: informatic <informatic@hackerspace.pl>
2024-02-02 18:12:15 +00:00
radex cbc91bfa79 app/inventory: add labelmaker
Change-Id: Iec74829c796865a11df67333eb9a9e3f1ca9d6ce
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1886
Reviewed-by: palid <palid@hackerspace.pl>
2024-01-31 13:11:18 +00:00
informatic a51e754022 app/codehosting: enable indexer, actions and notifications, disable footer identifiers
Change-Id: I1063748a9647f70623a8bf5f1ecec55ddeb6a8d1
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1782
Reviewed-by: q3k <q3k@hackerspace.pl>
2024-01-30 21:16:33 +00:00
informatic 9e4382506b app/codehosting: use code.hackerspace.pl as canonical name
Change-Id: Ifdad75922bec45b8626b8fcbd14951fc2c64c879
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1687
Reviewed-by: q3k <q3k@hackerspace.pl>
2024-01-30 21:16:33 +00:00
informatic 3a3b425ddf app/codehosting: forgejo deployment
Change-Id: Icfe6e0b17932a3248e1bdb807f431c59c48430de
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1685
Reviewed-by: q3k <q3k@hackerspace.pl>
2024-01-30 21:16:33 +00:00
informatic f1dbac29a1 matrix.0x3c.pl: migrate to native oidc support
Change-Id: I1c0f0561e78cb3c8bf60a279d8959d97cb27806e
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1860
Reviewed-by: informatic <informatic@hackerspace.pl>
2024-01-30 21:16:09 +00:00
informatic 3325214147 matrix: bump synapse, element-web, telegram, mmr
Change-Id: Ia66cd31590f9936c04735e1b2889f588e02d8534
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1859
Reviewed-by: implr <implr@hackerspace.pl>
2024-01-30 21:16:09 +00:00
informatic a8bd2faae2 matrix/telegram: workaround for broken mautrix-telegram
Change-Id: I79e4ff0513f3f2fc25fdf655942627655f1b4900
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1858
Reviewed-by: implr <implr@hackerspace.pl>
2024-01-30 21:16:09 +00:00
informatic f1d5c737e8 matrix: upgrade postgres on 0x3c instance, update synapse
Change-Id: Ieaa9f98b808a372f963994a0284361b20bb836f1
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1857
Reviewed-by: informatic <informatic@hackerspace.pl>
2024-01-30 21:16:09 +00:00
informatic 63fb77f6e3 matrix: bump 0x3c to matrix-ng on synapse v1.71.0
This is the last release before postgres upgrade. Disable generic worker
routes for now since ones in the config don't match ones supported by
synapse v1.71.0

Change-Id: Iddf1b09f6ffc9434aec3915f06752a97218966f6
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1827
Reviewed-by: implr <implr@hackerspace.pl>
2024-01-30 21:15:15 +00:00
palid 18aec0cba4 inventory: add current inventory implementation
feat: migrate statics and media to s3

Change-Id: I54df88ac288f0b436c852fb62fd60b6f5b4fd4bc
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1845
Reviewed-by: radex <radex@hackerspace.pl>
2024-01-22 20:51:02 +00:00
informatic a090225125 matrix: adjust for cluster changes, fix evaluation
Change-Id: I11eae24a073df4f2893a2a371c4c142dd1017d50
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1826
Reviewed-by: radex <radex@hackerspace.pl>
2024-01-18 23:47:09 +00:00
implr 5b388946e4 app/mastodon: give web and sidekiq more memory
Change-Id: I7506ffcbeedbf50eeaf789235a006b4b0b3bb985
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1851
Reviewed-by: q3k <q3k@hackerspace.pl>
2024-01-16 10:54:44 +00:00
q3k dacb77828d *: run buildifier
Change-Id: I4da53918e23ab5bb878ad47cfbfcf416e7b1660b
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1848
Reviewed-by: palid <palid@hackerspace.pl>
2024-01-15 13:48:24 +00:00
implr 4d73db2be1 app/mastodon: 4.1.9 -> 4.2.3
Change-Id: I7e5957d753f2dcc520be8c013b392ae74c130a14
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1828
Reviewed-by: q3k <q3k@hackerspace.pl>
2024-01-05 20:34:39 +00:00
radex ad91bd2893 kube/postgres: force explicit versioning, storage class, clean up
Postgres version should be stated explicitly by the user. We can't auto-upgrade all apps, so we'd never change the 10.4 default. By forcing version to be explicit, we encourage users to pick the latest version when they first deploy, or to upgrade to latest from the old 10.4.

Also, non-existent storage class default is removed in favor of explicitly asking for storageClassName.

Change-Id: I715bcde6a66ca97be757abcea93c14139d61ed5a
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1791
Reviewed-by: informatic <informatic@hackerspace.pl>
2024-01-03 11:39:20 +00:00
radex 5a12c4048f kube/postgres: disable bouncer by default
Change-Id: I29b3be1394545998409cf11cc1702d9976be0f5c
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1790
Reviewed-by: informatic <informatic@hackerspace.pl>
Reviewed-by: q3k <q3k@hackerspace.pl>
2024-01-03 11:39:20 +00:00
radex 33fbaed817 kube: remove postgres_v, add versionedNames to postgres
Change-Id: Ia9a20efa1f8c7279cff836440c2d9214a749f5ba
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1789
Reviewed-by: informatic <informatic@hackerspace.pl>
Reviewed-by: radex <radex@hackerspace.pl>
2024-01-03 11:39:20 +00:00
implr 961dbb7d53 app/mailman-web: rebuild image
Change-Id: Iea3e26e1403ec3f0630e3fd48979b85be6ca1a08
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1797
Reviewed-by: informatic <informatic@hackerspace.pl>
2023-12-17 21:34:23 +00:00
radex 4ffc64d97d kube: add .volume field on PVCs and ConfigMaps
Change-Id: I93eec44bd6df4ecb0044a4797faa9bf6fd26802d
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1811
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-12-04 20:33:37 +00:00
radex 7a4c27d28c kube: clean up (various)
Change-Id: Idc11cf70fa7fd0360f63438270748ef1d9bad989
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1810
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-12-04 20:33:31 +00:00
radex d45584aa6d kube: clean up SimpleIngress
Rename `target_service` to `target` to mirror Service's `target`; rename `extra_paths` to `extraPaths` to follow the camelCase convention used everywhere except for a few places in kube.upstream (assumed to be a mistake)

Change-Id: Icfcb70ef889e3359bf0391c465034817f4b70cce
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1809
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-12-04 20:33:10 +00:00
radex f41987b880 app/walne: deploy
Change-Id: I25c56698a8d366ae0af401b9eb68d669b571c7cc
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1763
Reviewed-by: palid <palid@hackerspace.pl>
2023-12-02 17:57:41 +00:00
radex 9da9df6b7a cluster/kube: admitomatic, admins, owners changes
Change-Id: Ia2f167d84cff999c9ab273db16609d1dec740f25
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1801
Reviewed-by: informatic <informatic@hackerspace.pl>
2023-11-26 15:50:57 +00:00
radex 0e12849717 kube: use ns.Contain() for postgres and redis
This is purely for consistency. While it's objectively more "magic" than the previous convention, newcomers may be asking themselves how come namespace is passed to kube objects using ns.Contain(), but to these custom objects via cfg.namespace.

Change-Id: I061c27c74213d5481b2c7e0afd5f316e84335786
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1808
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-11-24 20:39:30 +00:00
radex 37991744d8 kube: standardize convention for passing postgres options
Declare options when creating postgres {}, then pass env by taking from postgres's cfg and svc. This is both to reduce chance of making a mistake, and to improve copy-pasteability of jsonnets

Change-Id: Ief16a6825af64795f3b10e1e617b96c3d1c2a578
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1807
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-11-24 20:39:18 +00:00
radex 1439fde1ba kube: standardize top.secretRefs convention
Introduce a convention of declaring a secretsRefs:: object below cfg:: for containing all secretKeyRefs. The goal is to self-document all secrets that need to be created in order to deploy a service

Change-Id: I3a990d54f65a288f5e748262c576d2a120efd815
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1806
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-11-24 20:39:11 +00:00
radex c995c212d2 kube: standardize on a `local top = self` convention
A convention is introduced to specify `local top = self` declaration at the top of an app/service/component's jsonnet, representing the top-level object. Reasoning is as following:

- `top` is more universal/unambiguous than `app`
- `top` is usually shorter than $NAME
- a conventional `top` instead of $NAME (coupled with other conventions introduced) makes app jsonnets wonderfully copy-paste'able, aiding in learning and quickly building

Change-Id: I7ece83ce7e97021ad98a6abb3500fb9839936811
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1805
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-11-24 20:38:59 +00:00
radex 99ed6a7abb kube: standardize on a `local ns` convention
A convention is introduced to specify the kube.Namespace object in a deployment as a `local ns` instead of an `ns:` or a `namespace:` for these reasons:

- non-cluster admins cannot create new namespaces, and we've been moving in the direction of specifying objects that require cluster admin permissions to apply (policies, role bindings) in //cluster/kube/k0 instead of in the app jsonnet
- namespace admins CAN delete the namespace, making `kubecfg delete` unexpectedly dangerous (especially if a namespace contains more than just the contents of the file being applied - common with personal namespaces)
- `.Contain()` is a common operation, and it shows up in lines that are pretty long, so `ns.Contain()` is preferable to `app.ns.Contain()` or `service.namespace.Contain()`

Change-Id: Ie4ea825376dbf6faa175179054f3ee3de2253ae0
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1804
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-11-24 20:38:44 +00:00
radex 36964dca3b kube: clean up PersistentVolumeClaims
There's no difference as far as jsonnet is concerned, but it may confuse newbies, as Service and SimpleIngress use double colon for its top-level kube helpers. This also removes any ambiguity as to whether this is manifested in final JSON. So we can make that a convention.

Change-Id: I01ad4ea63f4d5d8ee6e5d41c79637ba186548c6f
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1803
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-11-24 20:37:53 +00:00
radex 8b8f3876a9 kube: add target:: convenience field to Service
Change-Id: If69116d93b6074136a36d98973e1aa997e2ebbef
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1802
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-11-24 20:37:48 +00:00
radex f28cd62c0e *: Simplify kube.PersistentVolumeClaims
Change-Id: I0a3e44de9f1c4db146fd1e493741f5fe381da3ae
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1768
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-11-18 12:36:00 +00:00
radex 3fdda9c9a3 hswaw/walne: initial deployment
Co-authored-by: Palid <palid@hackerspace.pl>
Change-Id: I7c5ef8a1d310821937c49598c4bd983f80a8fbcb
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1741
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-10-30 21:35:29 +00:00
radex caf65fcaaf *: Kill frab, smsgw, toot, covid-formity, voucherchecker
Change-Id: I763c758994008db38b47a7e61d3f1b503685aba6
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1750
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-10-30 19:08:23 +00:00
radex f5844311eb */kube: Add kube.SimpleIngress
Change-Id: Iddcac629b9938f228dd93b32e58bb14606d5c6e5
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1745
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-10-28 17:55:48 +00:00
informatic b17060a688 matrix/0x3c: increase postgres volume size before migration to matrix-ng
Change-Id: I80834986f9aeb629c3eb32c4e824290d9531c4ca
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1602
Reviewed-by: informatic <informatic@hackerspace.pl>
2023-10-16 17:18:08 +00:00
implr 4703e55b5c app/mastodon: update to 4.1.9
also add manual db dumper job config

Change-Id: Ifbd85c7452893c26ec1db416b20f2fd8610e1b19
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1691
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-10-12 21:47:28 +00:00
radex 924d0035fd *: Fix code.hackerspace.pl references
Change-Id: I677cbf743c524bf43cd012579642c34c846f4bcc
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1722
Reviewed-by: informatic <informatic@hackerspace.pl>
2023-10-11 21:01:13 +00:00
radex 0776a79df3 cluster/kube: Centralize namespace admin RoleBindings
Change-Id: Iec3505b2f4a1647e67cf47cf189c77534b5be6ac
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1696
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-10-10 17:34:22 +00:00
q3k 9ae11fdabb matrix: move appservice-irc off blade
Change-Id: I9edbdedc6c2ec7aea30ee7fc5ad83deddb569b00
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1695
Reviewed-by: informatic <informatic@hackerspace.pl>
2023-10-09 22:46:27 +00:00
informatic f549d43b40 matrix: add informatic & q3k as admins
Change-Id: I7c70e5c0c31aa9bae8b5cdc4b4ed5331223913c2
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1682
Reviewed-by: informatic <informatic@hackerspace.pl>
2023-10-08 21:16:39 +00:00
palid 62b83e04de app: +inventory (spejstore)
Co-authored-by: Radek Pietruszewski <radexpl@gmail.com>
Change-Id: If334f59ae8fe13c6e9362c080b22d53ced49f3ea
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1572
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-09-22 22:51:48 +00:00
q3k 97b5cd7b58 go: re-do the entire thing
This is a mega-change, but attempting to split this up further is
probably not worth the effort.

Summary:

1. Bump up bazel, rules_go, and others.
2. Switch to new go target naming (bye bye go_default_library)
3. Move go deps to go.mod/go.sum, use make gazelle generate from that
4. Bump up Python deps a bit

And also whatever was required to actually get things to work - loads of
small useless changes.

Tested to work on NixOS and Ubuntu 20.04:

   $ bazel build //...
   $ bazel test //...

Change-Id: I8364bdaa1406b9ae4d0385a6b607f3e7989f98a9
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1583
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-09-22 21:50:19 +00:00
implr f5b1a215f4 app/mailman-web: create
There's a lot of ugly hacks here, but this has been the state of prod
for months now, so we should reflect that.
Also, this bumps a bunch of workspace deps.

Change-Id: I744e0d3aff27036cfed73416cf442c7d62444a8b
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1473
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-09-10 21:11:37 +00:00
ar 1ad72123b6 mastodon: bump to 4.0.6
Fixes after the security bugfix last week.
Not yet rolled out to qa/prod.

Change-Id: I52de0dc1d082fd1c6269025b1f41d87c02c67113
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1536
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-07-23 11:49:09 +00:00
q3k c69ccf8cee mastodon: bump to 4.0.5
Rolled out to prod and qa.

Change-Id: I0b66ccda2f5ffad812a9654fd7edffe239e7e576
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1524
Reviewed-by: ar <ar@hackerspace.pl>
2023-07-09 13:02:12 +00:00