Commit Graph

1360 Commits (ff8a50cb02c261f12e020e5995d51a5dff7e41ed)

Author SHA1 Message Date
viq a694d21670 ops/monitoring: update components
Update Prometheus, VictoriaMetrics and Grafana to latest releases, LTS
where applicable

Change-Id: I18e173a8c75288c341503e97d367e0f65f807b3f
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1842
Reviewed-by: q3k <q3k@hackerspace.pl>
2024-01-12 22:34:35 +00:00
q3k 260ff1c011 ops/monitoring: scrape ceph
Change-Id: Ibe2d4d2e4c562789a8849074abe6e789c95c598d
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1837
Reviewed-by: viq <viq@hackerspace.pl>
2024-01-10 14:00:14 +00:00
informatic e118330506 devtools/gerrit: use correct code.hackerspace.pl domain
Change-Id: Iebabb7ae5d5db6cfc340b3c01dcce85fc85ae405
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1831
Reviewed-by: q3k <q3k@hackerspace.pl>
2024-01-09 21:43:23 +00:00
viq 3727b27339 cluster/kube/cluster.libsonnet: allow users to list RoleBindings
Change-Id: Ifa4289ea8c4d48171bc8ce61150a0c9f736b0fe5
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1835
Reviewed-by: q3k <q3k@hackerspace.pl>
2024-01-08 20:35:59 +00:00
viq d693a60dc0 cluster/kube/k0.libsonnet: access for viq to monitoring-global-k0
Since `ops/monitoring` operates on both `monitoring-cluster` and
`monitoring-global-k0` namespaces, working properly using the tooling
requires access to both.
While there, add access to `monitoring-external-k0` for potential
working with external targets.

Change-Id: I5f37ed306f064ffcced705609aa919b684a46235
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1834
Reviewed-by: informatic <informatic@hackerspace.pl>
2024-01-08 20:35:38 +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
viq bb72db8b86 cluster/kube/k0.libsonnet: allow viq to mess with prometheus
This gives viq admin access to monitoring-cluster namespace to be able
to inspect what's already there and try to extend it.

Change-Id: I48eaba8db6cd6868879da33abd93607ed5de2008
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1829
Reviewed-by: q3k <q3k@hackerspace.pl>
2024-01-03 16:42:25 +00:00
informatic d850c42b6b README: fix main page link
Change-Id: I65b1580caf323929c180c8bab0e9d86f3abf615f
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1823
Reviewed-by: radex <radex@hackerspace.pl>
2024-01-03 11:40:26 +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
informatic e9413de660 hswaw/paperless: listen on 127.0.0.1 only
This prevents authentication bypass from users on pod
network/boston-packets. Unfortunate.

Change-Id: I410dabff507b2f25298db09e99b6d628d76292b9
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1816
Reviewed-by: radex <radex@hackerspace.pl>
2023-12-28 18:47:28 +00:00
implr ed5c5fce42 personal/implr/vpn: drop praisethesun, add iotbox to curs
Change-Id: I9f0bb001cca5d0fea6546a510159dda6d23dbbce
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1825
2023-12-17 21:46:41 +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
cheshire dccfc0d3f4 docs: update CRLF to more based LF to remove hsdocs bad render
Change-Id: I8ccb44a6e659f8d280849f780700b322de7bdc12
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1824
Reviewed-by: radex <radex@hackerspace.pl>
2023-12-16 11:32:20 +00:00
radex c370e44c23 personal/radex: add fuck-nixos demo project
Change-Id: I4a51f11defec0ef82b3586bb6c5cf71831cb6ec9
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1821
2023-12-15 21:27:20 +00:00
radex 6274508e3b kube: add radex and informatic to owners
Change-Id: I67b5d33fb4db32103e2d8b56e91b239cb970719c
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1817
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-12-04 20:43:35 +00:00
radex 7fa38d47b8 personal/radex: add radex stuff
Change-Id: I31e186d71f05375b28a0f4e708cc1caa6147dac2
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1814
2023-12-04 20:34:05 +00:00
radex 304515b58b bgpwtf/internet: clean up, use unprivileged nginx
Change-Id: I6f1291c2facf35f4871283c28a4e6f771a3b5102
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1813
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-12-04 20:33:56 +00:00
radex f5b311794e bgpwtf/speedtest: clean up
Change-Id: Iccfc69c82b0c1dd21b1e0debe0089a0426c5fa50
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1812
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-12-04 20:33:46 +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
palid ac8f9f8405 readme: add better initial docs
Change-Id: I45bd444a7adcd822accbaf3491716fa6a60e46a4
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1588
Reviewed-by: informatic <informatic@hackerspace.pl>
2023-12-03 17:33:45 +00:00
radex f2cf98e04c doc: add radex to owners
Change-Id: Ib4b3ca54227038c3e7a82771a3415ae4edeb9436
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1815
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-12-02 19:10:50 +00:00
cheshire 808a2cd723 doc/codelabs/getting-started: update tutorials from hscloud-docs
Change-Id: I2781c0913a59d33721bde6a0132d2bf6dea7ad42
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1764
Reviewed-by: radex <radex@hackerspace.pl>
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-12-02 19:08:04 +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 03365c6de1 cluster/kube: group admitomatic, admins entries by category
Change-Id: I0405fd894c775314059e382a804994184afb0f64
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1800
Reviewed-by: informatic <informatic@hackerspace.pl>
2023-11-26 15:49:37 +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 6e0041d401 hswaw/ldapweb: deploy latest; add radex to owners
Change-Id: Ib2c90bcc2e0e782f957d92b36a9413f1c1f87dc2
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1799
Reviewed-by: informatic <informatic@hackerspace.pl>
2023-11-23 19:45:00 +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 527386ab0c hswaw/teleimg: RIP lelegram
Change-Id: Iea1acac5826519c63ab7da1955972544f2098ce0
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1793
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-11-18 12:34:38 +00:00
radex 63328a353a hswaw/cebulacamp: migrate away from mirko.libsonnet
Change-Id: I208ff1eec8ead60ebdc1c8a52063bfe383eaaa6f
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1792
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-11-18 11:19:30 +00:00
informatic 6963e8b96b hswaw/paperless: fix ingestion failure for invoices from new generator
https: //ocrmypdf.readthedocs.io/en/latest/advanced.html#rendering-and-rasterizing-options
Change-Id: I88e3e7cbf1c97f54004df50f7626cf6c74a839ee
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1787
Reviewed-by: radex <radex@hackerspace.pl>
2023-11-16 22:36:44 +00:00
informatic 13e6052b93 hswaw/beyondspace: fix https redirect pollution for local non-https services
Change-Id: I86505b571695e1bbcfccf869817f627140d7b596
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1786
Reviewed-by: informatic <informatic@hackerspace.pl>
2023-11-16 22:36:44 +00:00
informatic d0920a5a9a hswaw/checkinator: implement unclaimed devices listing
Change-Id: Ieecaf44927b7949c6e16dabea3a84e3bd80d3b7f
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1785
Reviewed-by: vuko <vuko@hackerspace.pl>
Reviewed-by: implr <implr@hackerspace.pl>
2023-11-16 22:36:44 +00:00
informatic 8abe2023dc hswaw/customs: sensible webpage for unknown vhosts, beyondspace branding
Change-Id: Ie73f8abc3c596f82bb787cac66b454519fe9621f
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1784
Reviewed-by: vuko <vuko@hackerspace.pl>
2023-11-16 22:36:44 +00:00
informatic ab299d4b9b hswaw/customs: avoid major rebuilds, nixpkgs deprecations, update arcade
Change-Id: I6f2d15e2a6b8f9189a92ab88658e3235ed119c48
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1729
Reviewed-by: vuko <vuko@hackerspace.pl>
2023-11-16 22:36:44 +00:00
implr ac4f99e2e1 cluster/machines/dcr01s24: pivot to lvm root and efi boot
Change-Id: I2df08a0ff7366607781421e6fe8c0ddce86e57a5
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1781
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-11-12 19:36:25 +00:00
implr f47d359a28 cluster/machines/dcr01s22: pivot to mirrored efi boot
Change-Id: I673bad18915ee76e0f35c56e689345f360d295dc
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1771
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-11-12 19:36:25 +00:00
implr b8ccfa8459 cluster/machines: move common LVM support bits into base.nix
Change-Id: I13e5653241a8245bae67cc7e660312484f1dcaca
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1767
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-11-12 01:31:39 +00:00
implr 8edc52e619 c/m/dcr01s22: pivot to lvm root
The bootloader is *not* moved yet, machine still boots off the old disk

Change-Id: I8cc92489bb06bfe9581d68503237e08fa8082c7c
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1766
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-11-12 01:30:42 +00:00
implr b37b70cbd4 cluster/m/m/base: chronyd: enable rtc sync, aggresively step
Change-Id: I61827ec2c77e79ce3e394eb2574372d3c21394d8
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1765
Reviewed-by: q3k <q3k@hackerspace.pl>
2023-11-12 01:30:42 +00:00