1
0
Fork 0
Commit Graph

784 Commits (f4d02581f60b18a8635d026079ed67039cdc45e6)

Author SHA1 Message Date
wasiumpks aca02f63d3 update to 1.16.1
Change-Id: Ia2051c518023260c8a30a9142213d2c536d3c0a7
2020-06-28 11:02:30 +02:00
q3k 0c3b9a570e WORKSPACE: cleanup
This removes some old skylib/zlib deps, moves all Go repositories to a
separate file, and in general does a small cleanup pass on external
repository magic.

Change-Id: Ic9700ee4c40cdb2e5a68e4fc7c6b3e386a109f8a
2020-06-25 19:54:25 +02:00
q3k 91e1a8c9c5 devtools: add sourcegraph
Change-Id: Ic3c40768c761e598e0f42b17a4b9f0d4ebcb2bb2
2020-06-25 12:27:34 +02:00
q3k b1aadd88ff k0: add q3k's personal s3 user
Change-Id: I5681774e1dca2cf4a865d9e1a24602ed4334f006
2020-06-24 17:19:36 +00:00
q3k 0037edaa5b cluster/tools/rook-s3cmd-config: build using bazel
This turns the existing script into a proper sh_binary, and injects
dependencies (kubectl and jq) as deps into it.

This change also pulls in BUILDfiles for jq, and a dep (oniguruma) into
//third_party, and adds buildable external repositories for them.

The jq/oniguruma BUILDfiles are lifted from
https://github.com/attilaolah/bazel-tools/.

Change-Id: If2e548bd60a8fd34e4f3be767ae59c6b2f2286d9
2020-06-13 22:46:41 +02:00
implr d9df5879e3 add radosgw bucket for spark
Change-Id: Id8ea8901ce038ccbf11afabe0e6272c358b32cf2
2020-06-13 21:31:56 +02:00
q3k 9b2ce179a8 Merge "cluster/kube: split up cluster.jsonnet" 2020-06-13 17:52:27 +00:00
q3k dbfa988c73 cluster/kube: split up cluster.jsonnet
It was getting large and unwieldy (to the point where kubecfg was slow).
In this change, we:

 - move the Cluster function to cluster.libsonnet
 - move the Cluster instantiation into k0.libsonnet
 - shuffle some fields around to make sure things are well split between
   k0-specific and general cluster configs.
 - add 'view' files that build on 'cluster.libsonnet' to allow rendering
   either the entire k0 state, or some subsets (for speed)
 - update the documentation, drive-by some small fixes and reindantation

Change-Id: I4b8d920b600df79100295267efe21b8c82699d5b
2020-06-13 19:51:58 +02:00
q3k 77f7ac6287 Merge "WORKSPACE: remove nixpkgs/rules_nix" 2020-06-11 20:29:58 +00:00
q3k c1364e8d8a ops/monitoring: add implr to owners
This will fix future reviews from him having to require my +2.

Change-Id: Icde1f64fe4387e92d19943d7469ce0569eb45257
2020-06-07 02:23:09 +02:00
q3k 66a26a8f02 WORKSPACE: remove nixpkgs/rules_nix
We're not using them for anything. Initially they were going to be used
for nixops, but nixops is not very good, so let's just drop them.

We still have a Nix dependency for clustercfg.py when provisioning
nodes, but rules_nix/nixpkgs in WORKSPACE were unrelated to that.

Change-Id: I28c249507d1be9c5dbbd1ee764deccd9ab038549
2020-06-07 02:22:14 +02:00
q3k 2022ac2338 ops/monitoring: split up jsonnet, add simple docs
Change-Id: I8120958a6862411de0446896875766834457aba9
2020-06-06 17:05:15 +02:00
q3k ce81c39081 ops/metrics: basic cluster setup with prometheus
We handwavingly plan on implementing monitoring as a two-tier system:

 - a 'global' component that is reponsible for global aggregation,
   long-term storage and alerting.
 - multiple 'per-cluster' components, that collect metrics from
   Kubernetes clusters and export them to the global component.

In addition, several lower tiers (collected by per-cluster components)
might also be implemented in the future - for instance, specific to some
subprojects.

Here we start sketching out some basic jsonnet structure (currently all
in a single file, with little parametrization) and a cluster-level
prometheus server that scrapes Kubernetes Node and cAdvisor metrics.

This review is mostly to get this commited as early as possible, and to
make sure that the little existing Prometheus scrape configuration is
sane.

Change-Id: If37ac3b1243b8b6f464d65fee6d53080c36f992c
2020-06-06 15:56:10 +02:00
patryk 30f9d03106 WORKSPACE: Shuffle things around to fix tools build on macOS
Change-Id: I281c1209620e9f3a017718fda1401d1ead9c52a4
2020-06-05 23:37:34 +02:00
q3k 0ae0728ea8 Merge "third_party/factorio: init" 2020-06-04 21:45:55 +00:00
q3k 7371b7288b tools/secretstore: add sync command, re-encrypt
This kills two birds with one stone:

 - update the secretstore tool to be slightly smarter about secrets, to
   the point where we can now just point it at a secret directory and
   ask it to 'sync' all secrets in there
 - runs the new fancy sync command on all keys to update them, which
   is a follow up to gerrit/328.

Change-Id: I0eec4a3e8afcd9481b0b248154983aac25657c40
2020-06-04 19:25:07 +00:00
patryk c410432d94 personal/patryk/arma3: create a S3 bucket account for Arma3 mods
Change-Id: Idd31b5f46fcaebfcd72334dc82fbc8df805203b1
2020-06-04 18:51:51 +02:00
wasiumpks 2a788d392a rename dockerfile for spigot and add dockerfile for paper
Change-Id: If70ee79f7aeba8c51a869a6b8b0f049bc08be357
2020-06-03 15:50:15 +02:00
q3k 75fd2f4a13 Merge "personal/q3k/minecraft: add and deploy bridge" 2020-06-01 12:30:29 +00:00
patryk d600ebb5c8 Re-enable cz2 gpg key in secretstore.py
Change-Id: Iccefecccafe3748c310e5922f366c86d5f2cf11d
2020-05-31 16:46:58 +00:00
informatic cb96eb6df6 Merge "crdb.k0: add sso client" 2020-05-31 12:26:04 +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 e55493f635 calico: fix access to resources from controller
This fixes even more networking issues.

Change-Id: I754656a01e3de8a34055280908b343a1a25a4707
2020-05-30 17:57:05 +02:00
q3k ba375e62b2 calico: fix node name selection
This was an attempt to make new calico nodes use a full FQDN. However,
this change seemingly also makes the calico control plane use the FQDN
for all existing nodes, as such breaking CNI for new pods.

We revert this change, thereby keeping all calico nodes names as
hostnames. We could fix this by editing /var/lib/calico/nodename on
hosts to FQDNs, but it might not be worth the effort.

See https://github.com/projectcalico/calico/issues/1093 for more
context.

Change-Id: I52bfb00f604053d57d3009aebd6c50db7dc74f58
2020-05-30 16:18:13 +02:00
informatic 42da0e9aec crdb.k0: add sso client
Change-Id: I7490a3594694d61a19910e436983937667ed34bd
2020-05-30 14:34:33 +02:00
q3k d81bf72d7f calico: upgrade to 3.14, fix calicoctl
We still use etcd as the data store (and as such didn't set up k8s CRDs
for Calico), but that's okay for now.

Change-Id: If6d66f505c6b40f2646ffae7d33d0d641d34a963
2020-05-28 16:47:16 +02:00
vuko d13df642c5 Merge "personal/vuko/shells initial commit" 2020-05-22 20:04:32 +00:00
vuko 6c678e391e personal/vuko/shells initial commit
Change-Id: Icba91e8d4ffe53fc8a7ab7946f3a1b45daf20290
2020-05-22 22:02:22 +02:00
informatic e60250c4eb app/covid-formity: add kurjerzy integration
Change-Id: Ie974e7e83849a0886cd51ba14fe76da10ce8718e
2020-05-21 19:12:19 +02:00
q3k 5786d5245d third_party/java: actually commit
this unfucks master, whoops

Change-Id: I118b9d32aaf53e598333960b959bfb3c0fe33681
2020-05-18 23:48:49 +02:00
q3k f316932930 personal/q3k/minecraft: add and deploy bridge
Change-Id: Ie191690414840668f31f3de4cdf809b35c610248
2020-05-18 23:47:37 +02:00
q3k 7fa92b4029 personal/q3k/minecraft: expose port 2137 (gRPC plugin)
Change-Id: I0816d63f0307c6ca7cafcd752e93e857e6a41f7f
2020-05-17 23:07:19 +00: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
Rafał Hirsz 12ab93ac7e personal/q3k/minecraft: add worldedit+worldguard
This assumes that a new Docker image will be built at tag spigot-1.15.2-r3.

Change-Id: Ia230510d2400faa3631bde99a96366d72e69a4bd
2020-05-16 21:09:04 +02:00
Rafał Hirsz ccda33361c kube/upstream: bump to 1.14.4
Change-Id: I2aef3a36d523df46a5b6b3464eb25d9aef6fb72d
2020-05-16 21:06:35 +02:00
q3k 6a0b75bd84 personal/q3k/minecraft: enforce whitelist on main server
Change-Id: I7edf0babd476b7aeb92551ea62ccffa2c79a13a1
2020-05-16 21:05:09 +02:00
q3k 1223cde4d4 cluster: fix nuke's personal storage
Change-Id: I422a6d9f7a483e7c44cc8dfd8c0d8a98d9e17e46
2020-05-16 17:38:23 +02:00
q3k 741c08f66c cluster: add nuke's personal storage
He needs some personal backup space, and we have enough best effort
spare capacity for that.

Change-Id: I75ed6f62e79d33907c0974ec5f2839389ce62543
2020-05-14 18:13:53 +00:00
q3k a168c50132 SECURITY: cluster: limit api objects modifiable by namespace admins
This previous allowed all namespace admins (ie. personal-$user namespace
users) to create any sort of obejct they wanted within that namespace.

This could've been exploited to allow creation of a RoleBinding that
would then allow to bind a serviceaccount to the insecure
podsecuritypolicy, thereby allowing escalation to root on nodes.

As far as I've checked, this hasn't been exploited, and the access to
the k8s cluster has so far also been limited to trusted users.

This has been deployed to production.

Change-Id: Icf8747d765ccfa9fed843ec9e7b0b957ff27d96e
2020-05-11 20:49:31 +02:00
q3k e3432ee775 kube/policies: implement mostlysecure
Change-Id: I0f5dc29f9fc3ad534ddda766a79bb18e64757a6c
2020-05-11 20:17:11 +02:00
q3k 1743a6b4f3 Merge "cluster/rook: bump to 1.1.9" 2020-05-11 18:16:24 +00:00
q3k d1ccdcff3d personal/q3k/minecraft: init
Change-Id: I39585afa33411f2a58185469015aed3b2b4dcdeb
2020-05-06 20:35:48 +02:00
q3k d436de2010 cluster/rook: bump to 1.1.9
This bumps Rook/Ceph. The new resources (mostly RBAC) come from
following https://rook.io/docs/rook/v1.1/ceph-upgrade.html .

It's already deployed on production. The new CSI driver has not been
tested, but the old flexvolume-based provisioners still work. We'll
migrate when Rook offers a nice solution for this.

We've hit a kubecfg bug that does not allow controlling the CephCluster
CRD directly anymore (I had to apply it via kubecfg show / kubectl apply
-f instead). This might be due to our bazel/prod k8s version mismatch,
or it might be related to https://github.com/bitnami/kubecfg/issues/259.

Change-Id: Icd69974b294b823e60b8619a656d4834bd6520fd
2020-05-02 23:30:52 +02:00
Bartosz Stebel 98ef1518e0 add vpn insecure namespace
Change-Id: I8a774ae625342af3521ad0ab11a8f6d4e4ef6c97
2020-04-24 13:28:38 +02:00
q3k e9f4b77bf8 Merge "doc: add getting-started/your-first-change" 2020-04-22 12:11:03 +00: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 ac1163d67a devtools/gerrit: disable owners-autoassign
This plugin sounds good in practice, but has a flaw: it assigns _all_
owners automatically, even if a change is already submitted by one of
the other owners.

We might come back to it later - or implement something of our own.

Change-Id: Iff179ea623c1371c2c861b6d7ec2e7749c940369
2020-04-13 12:26:00 +02:00
q3k 7b1d137d50 doc: add getting-started/your-first-change
Change-Id: Ib3d3805507e2cb5ef0194605f081c74719f3b1a3
2020-04-13 10:19:38 +00:00
q3k f3fac43938 Merge "*: add more OWNERS" 2020-04-13 09:04:11 +00:00