1
0
Fork 0
Commit Graph

83 Commits (924d0035fdb64b7652f534d05ee67867b764c4d3)

Author SHA1 Message Date
q3k e9f2c9d21b bgpwtf: widen hswaw prefix
Change-Id: I6bf97db741af6cfb788a0e69227ea9e616afea15
2020-11-08 16:31:11 +01:00
q3k d9a6365f8b bgpwtf: add static v6 routes via bird
A customer was missing a static v6 route via their router. Since we
don't want to add them to networking.interfaces.routes.* (as this
restarts the whole scripted network stack in NixOS), we add them to
bird. This requires implementing hscloud.routing.static.

Change-Id: I0a205ed1e1f17a86de43aaf72ab6c2694a069112
2020-10-16 19:07:52 +02:00
q3k eb09c6a347 speedtest: fix mimetype on served JS
Change-Id: Ifcb1d4f8a58a5e6120f31373b2a8c0e307e414be
2020-10-06 15:29:08 +00:00
q3k 6abe4fa771 bgpwtf/machines: init edge01.waw
This configures our WAW edge router using NixOS. This replaces our
previous Ubuntu installation.

Change-Id: Ibd72bde66ec413164401da407c5b268ad83fd3af
2020-10-03 14:57:38 +00:00
q3k be89707ce1 bgpwtf/landing: import
This imports a snapshot of the current landing page (that used to be
versioned in a separate repository, but we want to pull into hscloud).

Change-Id: Ia98bca294ae64bfd57c4a4250d7d3a5a7e5f8145
2020-07-25 12:18:59 +02:00
implr cae27ecd99 Replace rules_pip with rules_python; use bazel built upstream grpc
instead of Python packages

As usual with Python sadness, the @pydeps wheels are built on the bazel
host, so stuffing them inside a container_image (or py_image) will cause
new and unexpected kinds of misery.

Change-Id: Id4e4d53741cf2da367f01aa15c21c133c5cf0dba
2020-07-08 18:55:34 +02: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 006c1bf8f3 *: add more OWNERS
Change-Id: If2740a0aaee845160b38b8ea0b23fea7bab3bded
2020-04-13 01:46:15 +02:00
q3k 572d766096 bgpwtf/invoice: bump for 2020
This doesn't automatically bump generated numbers - however, new users
will at least have sensible IDs now :).

To bump an existing deployment, you will have to do some mild surgery:

 - edit the touched query to once generate a new, appropriate serial
   (eg. 20001)
 - run and seal one invoice
 - restore original code (now with the new 20000 default)

In the future we should have an RPC override for the new sealed final
UID with some basic sanity checks.

Change-Id: Idd8187618869f6ea76f1b187acfbdd2f1c94005b
2020-01-14 14:03:38 +01:00
q3k 4836dff19b bgpwtf/internet: fix prod diff
Change-Id: Ie967ef5fbfdb479b1251e2495a28edd09864730c
2019-10-11 16:10:14 +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
Serge Bazanski ef93747aec cccampix: updates from camp
Change-Id: I77e6d9fb6e91b0b7e2d1f89e80164ee8116b5d50
2019-08-29 14:53:18 +02:00
Serge Bazanski a2960f526c birdie: use passwords
Change-Id: I2204ba0b09648799dfd5bd01bd15d2580b3cb3c8
2019-08-22 20:13:47 +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 915b265b8a bgpwtf/cccampix: deploy pgpencryptor
Change-Id: I3714c81b663781d9b449695760d83c1b8841d0e0
2019-08-22 18:14:02 +02:00
Serge Bazanski 187c4bb60a pgpencryptor: potentially fix crash on encyptor close
We seem to be hitting a bug where the encryptor doesn't initialize
because of a lacking gpg binary, and then crashes on .Close().

This should fix the issue, but is untested.

    goroutine 70 [running]:
    code.hackerspace.pl/hscloud/bgpwtf/cccampix/pgpencryptor/gpg.(*CLIEncryptor).Close(0x0)
            bgpwtf/cccampix/pgpencryptor/gpg/gpg.go:144 +0x22
    main.(*service).Encrypt(0xc000345e00, 0x16d13a0, 0xc00047f260, 0x1688400, 0xc00003d4a0)
            bgpwtf/cccampix/pgpencryptor/main.go:132 +0x6f9
    code.hackerspace.pl/hscloud/bgpwtf/cccampix/proto._PGPEncryptor_Encrypt_Handler(0x133bf00, 0xc000345e00, 0x16c6300, 0xc0000d6000, 0x2247b78, 0xc0001f8000)
            bazel-out/k8-fastbuild/bin/bgpwtf/cccampix/proto/linux_amd64_stripped/ix_go_proto%/code.hackerspace.pl/hscloud/bgpwtf/cccampix/proto/ix.pb.go:1816 +0xad
    google.golang.org/grpc.(*Server).processStreamingRPC(0xc000160c00, 0x16d6ce0, 0xc000161500, 0xc0001f8000, 0xc0004244e0, 0x21b00e0, 0xc0000c6ff0, 0x0, 0x0)
            external/org_golang_google_grpc/server.go:1175 +0xacd
    google.golang.org/grpc.(*Server).handleStream(0xc000160c00, 0x16d6ce0, 0xc000161500, 0xc0001f8000, 0xc0000c6ff0)
            external/org_golang_google_grpc/server.go:1254 +0xcbe
    google.golang.org/grpc.(*Server).serveStreams.func1.1(0xc000404770, 0xc000160c00, 0x16d6ce0, 0xc000161500, 0xc0001f8000)
            external/org_golang_google_grpc/server.go:690 +0x9f
    created by google.golang.org/grpc.(*Server).serveStreams.func1
            external/org_golang_google_grpc/server.go:688 +0xa1
    created by google.golang.org/grpc.(*Server).serveStreams.func1
            external/org_golang_google_grpc/server.go:688 +0xa1

Change-Id: Idd167a120e157005f44d255a61ef13dc80e8eeed
2019-08-22 18:14:02 +02:00
q3k 73b96184c7 Merge "bgpwtf/cccampix: cronjobify ripe-sync" 2019-08-14 12:34:10 +00:00
Serge Bazanski 821fa5fcc4 bgpwtf/cccampix: cronjobify ripe-sync
Change-Id: I185c2702384941b6537a6a4048bdb2e1c4e183ba
2019-08-14 14:33:30 +02:00
lb5tr 716ecf6bc5 bgpwtf/cccampix/pgpencryptor: implement service
TODO:
  * tests

Change-Id: I5d0506542070236a8ee879fcb54bc9518e23b5e3
2019-08-12 19:17:05 -07:00
Serge Bazanski 49bf87f8e1 bgpwtf/cccampix: fix da build
Change-Id: Id890b0f4c7a7bd7d961d2105b388b1b0b14f9015
2019-08-11 23:51:50 +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
lb5tr e5f8e8ae0c bgpwtf/cccampix/pgpencryptor: add service base
Add emacs swap files to .gitignore.

Change-Id: I5e0e3e31a0a0cd6d73e6c89a82b73412f0f78a15
2019-08-10 10:51:07 -07:00
q3k 0e223ec77f bgpwtf/cccampix/proto: add PGPEncryptor service
Change-Id: I932ce6bf5fdb792eb83945a8e46551f169e51c97
2019-08-09 19:02:32 +02:00
q3k 2316ac0e99 bgpwtf/cccampix/irr: limit concurrency
Change-Id: I958322f33c86469f9c3e21d1bd962faede2a3fee
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 0607abae1d bgpwtf/cccampix/peeringdb: allow multiple routers per peer
Change-Id: I84200cc0056d569e962c104cf082ce10f9c4025f
2019-08-02 13:39:41 +02:00
q3k beefe44228 bgpwtf/cccampix: add and deploy octorpki
Change-Id: I8d5de697925b65d8f0e762b2f2acad3a7e560fe6
2019-07-30 13:09:26 +02:00
q3k c4e653ad46 app/internet -> bgpwtf/internet
Change-Id: I66740f68ebfb508d866c742d7849447a3aca45be
2019-07-21 15:06:52 +00:00
q3k 1446e98beb proto/invoice -> bgpwtf/invoice/proto
Change-Id: I5d25864046665e4b0e57ec62a29797fbce6ed3cb
2019-07-21 16:04:23 +02:00
q3k cea71e3be8 go/svc/{invoice,speedtest} -> bgpwtf/
Continued from https://gerrit.hackerspace.pl/c/hscloud/+/71 .

Change-Id: I5aef587c7e9a4cec301e3c95530c33914851ad44
2019-07-21 15:30:08 +02:00
q3k e653e6a620 bgpwtf/cccampix/peeringdb: init
First pass at a proxy to expose PeeringDB data.

Change-Id: I844973755473b3abc5d334586744004b86d1c3a3
2019-07-20 18:03:35 +02:00
q3k 57be3f7c40 bgpwtf/cccampix: init
Add sync script for camp IX.

This will likely be triggered externally from some sort of long-running
service.

Change-Id: I4ead566e4308d24fdb64e789a7ca0e3dbf0214fb
2019-07-19 21:05:15 +02:00