1
0
Fork 0
Commit Graph

52 Commits (0ae0728ea84ef5716ca8a0b03f383887f40a83bd)

Author SHA1 Message Date
q3k 0ae0728ea8 Merge "third_party/factorio: init" 2020-06-04 21:45:55 +00:00
q3k de3d3fa641 bgpwtf/invoice: hide invoicee VAT number when not given
Also re-add go-bindata to WORKSPACE, something nuked it.

Change-Id: I723ebee7f843d0135a3e1121e2e93ae5fe56bc4b
2020-05-31 00:12:11 +02:00
q3k 32f8a58236 personal/q3k: add minecraft plugins
Also drive-by modify WORKSPACE to add required deps.

Also drive-by update deps in WORKSPACE.

Also drive-by remove old stackb/proto library from WORKSPACE (only used
in cccampix, which is dead, and stackb/proto should be replaceable by
the main grpc lib by this point).

Change-Id: I7ac7fe2237e859dc1c45bf41a016174ed8e9ee71
2020-05-17 23:06:42 +00:00
q3k 480505768d third_party/factorio: init
We turn the existing experimental BUILD file into a nicely abstracted
starlark rule generator, for generating both external repositories and
container build rules from a single source of truth.

We also add 0.18.22 (which we already pushed via :push_latest).

Change-Id: I521d6e5cb9447eaf6f237671b7ef07d621cd9c77
2020-05-18 00:46:31 +02:00
q3k 222a00a25a devtools/gerrit: bump to 3.0.8, add OWNERS plugins
Change-Id: I161ca0339bec0486c9b1446b141ecf1424112d9c
2020-04-12 18:37:21 +02:00
q3k 8adbd49051 *: more hackdoc updates
Change-Id: Ib9830c66fe36c423d38f447905c470b67cde5399
2020-04-10 22:10:18 +02:00
q3k 4c0e9b52c0 devtools/depotview: init
This is a small service for accessing git repos read-only over gRPC.

It's going to be used to allow hackdoc to render arbitrary versions of
hscloud.

Change-Id: Ib3c5eb5a8bc679e8062142e6fa30505d9550e2fa
2020-04-08 22:42:33 +02:00
q3k c881cf3c22 devtools/hackdoc: init
This is hackdoc, a documentation rendering tool for monorepos.

This is the first code iteration, that can only serve from a local git
checkout.

The code is incomplete, and is WIP.

Change-Id: I68ef7a991191c1bb1b0fdd2a8d8353aba642e28f
2020-04-08 20:03:12 +02:00
q3k 59786c5dfa personal/q3k/factorio: bump, add ds
Change-Id: I15dbbfdd911fb61fc5769443ef4f2e862cf6c7e1
2020-04-01 02:05:42 +02:00
q3k 540663904b personal/q3k/factorio: bump
Change-Id: I2a93d24f85d7517a1e2b6247668c5ae63f4e2732
2020-03-25 10:48:52 +01:00
q3k 9d738cedc3 k8s.io/apimachinery: bypass https://github.com/kubernetes/kubernetes/issues/87675
For us this manifests when doing

   kubecfg update cluster/kube/cluster.libsonnet

To be precise: when hitting the Ceph/Rook CRD definition.

This is a weird bug. I've seen it manifest earlier on NixOS, but I am
now also seeing it on Gentoo. I've thought that it was because of Go API
breakage, but I've quickly tried to specify older toolchain versions,
but that didn't seem to help? :/

Regardless, I've applied a patch by rnb [1] that seems to fix this. I
also have a suspicion that updating to a newer k8s version might just
fix this, that's why I'm not not too concerned about this for now.

[1] - a32521024f

Change-Id: Id66e3c0bd56e84d785e1baeca86373aa2d0eb6f9
2020-02-21 12:54:05 +01:00
q3k e03c217cc1 go: bump rules_go, autodetect nix for go toolchains
Change-Id: If10a7843e5e54ade82fbeec85f4e6727e4d2a117
2020-02-15 01:04:38 +01:00
q3k 9937146d25 personal/q3k: bump factorio
Change-Id: Id472ad9fffd09917b040ce8572b760862b4fcd2f
2020-01-14 13:47:26 +01:00
q3k a885488fd0 lelegram: init
This is an IRC/Telegram bridge.

It does multi-account puppet-like access to IRC making everyone's life
easier.

Compared to teleirc it also:
 - is smarter about converting messages
 - uses teleimg for public image access
 - is not written in JS

Experimental for now.

Change-Id: I66ba3f83abdfdea6463ab3be5380d8d3f2769291
2020-01-05 21:01:07 +01:00
q3k c315aaccc7 teleimg: init
This is a shitty small proxy to unfuck telegram's bot image URLs, ie. do
not add content-disposition and send a proper MIME in content-type.

It also does some local caching and hides the Telegram API token.

Change-Id: I0afb29ca3f1807a13fa157fdcf486ee4c857f08d
2020-01-05 20:59:17 +01:00
q3k e5a956a1c8 *: bump to q3k's kubecfg, kubernetes 1.16
Change-Id: I302876d5a45cbfb63d87ad9f6ea9aaeff7bec17d
2019-11-17 22:38:40 +01:00
q3k 96c428f7d7 nixops: fix
Change-Id: I15ebde319fcae3f9771da6a549e52783e0ec4409
2019-11-17 19:00:46 +01:00
q3k 47b7e850e7 dc/arista-proxy: fix by using github.com/q3k/cursedjson
Change-Id: Id9657a30af8c16afe4ddde7e2ac04f4508a2fd18
2019-09-26 18:32:39 +02:00
q3k 5f9b1ecd67 rules_pip: update to new version
rules_pip has a new version [1] of their rule system, incompatible with the
version we used, that fixes a bunch of issues, notably:
 - explicit tagging of repositories for PY2/PY3/PY23 support
 - removal of dependency on host pip (in exchange for having to vendor
   wheels)
 - higher quality tooling for locking

We update to the newer version of pip_rules, rename the external
repository to pydeps and move requirements.txt, the lockfile and the
newly vendored wheels to third_party/, where they belong.

[1] - https://github.com/apt-itude/rules_pip/issues/16

Change-Id: I1065ee2fc410e52fca2be89fcbdd4cc5a4755d55
2019-09-25 14:05:07 +02:00
q3k b13b7ffcdb prod{access,vider}: implement
Prodaccess/Prodvider allow issuing short-lived certificates for all SSO
users to access the kubernetes cluster.

Currently, all users get a personal-$username namespace in which they
have adminitrative rights. Otherwise, they get no access.

In addition, we define a static CRB to allow some admins access to
everything. In the future, this will be more granular.

We also update relevant documentation.

Change-Id: Ia18594eea8a9e5efbb3e9a25a04a28bbd6a42153
2019-08-30 23:08:18 +02:00
Serge Bazanski ec71cb50bd Draw the actual rest of the fucking owl.
Change-Id: Ia04fb49ebbe3a5afccc57e62f6335e35b45192fe
2019-08-22 18:14:35 +02:00
Serge Bazanski bfcaedcf2b prodimage: add gnpug, use pl mirrors
Change-Id: I6245e9b1b127c5db574d58e35b5f3006551d795b
2019-08-14 19:21:48 +02:00
q3k 1fad2e5c6e bgpwtf/cccampix: draw the rest of the fucking owl
Change-Id: I49fd5906e69512e8f2d414f406edc0179522f225
2019-08-11 23:43:25 +02:00
q3k ddfd6591f8 *: bump docker images and storage pools
This brings all core services back to life after The Failure.

Change-Id: I98b0c104c66fa11f646864018356e9c3a226a1f9
2019-08-11 23:42:47 +02:00
q3k 30317b4278 go/mirko: add SQL migrations machinery
This uses github.com/golang-migrate/migrate and adds a Source that
allows using go_embed data files.

We also provide a test/example.

Change-Id: Icd2b6c7f7d0f728073b3fdf39b432b33ce61a3cd
2019-08-03 23:49:43 +02:00
q3k 6eaaaf9bab bgpwtf/cccampix: add IRR daemon
We add a small IRR service for getting a parsed RPSL from IRRs. For now,
we only support RIPE and ARIN, and only the following attributes:
 - remarks
 - import
 - export

Since RPSL/RFC2622 is fucking insane, there is no guarantee that the
parser, especially the import/export parser, is correct. But it should
be good enough for our use. We even throw in some tests for good
measure.

    $ grpcurl -format text -plaintext -d 'as: "26625"' 127.0.0.1:4200 ix.IRR.Query
    source: SOURCE_ARIN
    attributes: <
      import: <
        expressions: <
          peering: "AS6083"
          actions: "pref=10"
        >
        filter: "ANY"
      >
    >
    attributes: <
      import: <
        expressions: <
          peering: "AS12491"
          actions: "pref=10"
        >
        filter: "ANY"
      >
    >

Change-Id: I8b240ffe2cd3553a25ce33dbd3917c0aef64e804
2019-08-02 13:39:42 +02:00
q3k beefe44228 bgpwtf/cccampix: add and deploy octorpki
Change-Id: I8d5de697925b65d8f0e762b2f2acad3a7e560fe6
2019-07-30 13:09:26 +02:00
q3k b2d6b112b5 devtools/prodimage: create
We start having the need to have our own production image instead ofjust
a bare Ubuntu image. For instance, octorpki will need rync and TLS CA
bundles.

Change-Id: Ia8d9604ae8c320f858cfe8a2dc21ddcc321017ff
2019-07-30 13:09:26 +02:00
q3k 356ea8bc3a devtools/bazel-cache: build from source, use docker_push
Change-Id: Ie889372b9a7b439e04c1899c90753349440e727a
2019-07-22 00:01:20 +02:00
q3k 8fe651b569 go/{mirko,statusz}: better status, kubernetes client
Change-Id: I66753a79eaf36529aee508d2b7782aab00de1498
2019-07-21 23:54:41 +02:00
q3k 57efce6b02 app/{gerrit,bazel-cache} -> devtools/
Change-Id: I2a98f33c76a59392e644579a1f7064a7c8eaec7c
2019-07-21 16:40:33 +02:00
q3k d5ac5d112f WORKSPACE: bump rules_pip
Change-Id: I8e5ed9ab7743a71de0c216fa425fe2ecb1bbca81
2019-07-19 20:53:21 +02:00
Serge Bazanski 2ce367681a *: move away from python_rules
python_rules is completely broken when it comes to py2/py3 support.

Here, we replace it with native python rules from new Bazel versions [1] and rules_pip for PyPI dependencies [2].

rules_pip is somewhat little known and experimental, but it seems to work much better than what we had previously.

We also unpin rules_docker and fix .bazelrc to force Bazel into Python 2 mode - hopefully, this repo will now work
fine under operating systems where `python` is python2 (as the standard dictates).

[1] - https://docs.bazel.build/versions/master/be/python.html

[2] - https://github.com/apt-itude/rules_pip

Change-Id: Ibd969a4266db564bf86e9c96275deffb9610dd44
2019-07-16 22:22:05 +00:00
q3k 838cf6526a go/svc: finish porting services to Bazel
The following services were never ported:
 - cmc-proxy
 - arista-proxy
 - m6220-proxy
 - topo

They now build.

Change-Id: I0688bfe43cdff946e6662e21969ef539382c0e86
2019-07-16 23:31:25 +02:00
q3k 1cace13396 WORKSPACE: bump rules_go
This fixes builds with new Bazel (--incompatible_require_ctx_in_configure_features)

Change-Id: I62498a121cd8c5bac8d4e942d6f13e2f733c438e
2019-07-13 16:17:05 +02:00
q3k c292410d15 app/factorio: update to 0.17.52
Change-Id: I70230b1f83a40cc70015e135e25319116c6e15e8
2019-06-30 17:35:57 +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
q3k 573da78859 app/gerrit: import OAuth provider and add SSO support
This change:

 - imports gerrit-oauth-provider from upstream
 - adds sso.hackerspae.pl support to it

Change-Id: I92e7053614a9297bf1ced3aac044c0002acd836a
2019-06-21 20:09:01 +02:00
q3k 644f9ff57e app/factorio: multiple versions 2019-05-19 03:09:47 +02:00
q3k 44116eae1e WORKSPACE: fix indentation 2019-05-18 16:26:56 +02:00
q3k 6586533bb3 app/factorio: build docker image 2019-05-18 16:23:45 +02:00
q3k 4a024bbd6a WORKSPACE: fix for newer bazel versions 2019-05-17 18:10:02 +02:00
q3k 1e6b52a194 tools/: add nixops
This now means we require Nix to be installed globally. This shouldn't
be the case in the long run, but will be until
https://github.com/tweag/rules_nixpkgs/issues/75 gets fixed or we maybe
move from rules_nixpkgs to nix-bundle or something similar.
2019-05-15 19:08:25 +02:00
q3k 258686cf9a WORKSPACE: bump gazelle for go 1.12 2019-05-01 12:26:43 +02:00
q3k 3e59718d3a WORKSPACE: add bazel docker rules 2019-04-19 14:40:47 +02:00
q3k acd001bf83 tools: add cfssl 2019-04-09 13:17:06 +02:00
q3k 3a2a693e0c WORKSPACE: bump go 2019-04-06 01:20:19 +02:00
q3k 9dc4b68f24 go: add bazel buildfiles, implement leasifier 2019-04-05 23:53:25 +02:00
q3k 0752971f8a tools: add calicoctl 2019-01-18 01:24:38 +01:00
q3k 8a32c90c25 bazel: fix http_archive for bazel 0.21 2019-01-13 21:27:44 +01:00