Find a file
Serge Bazanski b3c6770f8d ops, cluster: consolidate NixOS provisioning
This moves the diff-and-activate logic from cluster/nix/provision.nix
into ops/{provision,machines}.nix that can be used for both cluster
machines and bgpwtf machines.

The provisioning scripts now live per-NixOS-config, and anything under
ops.machines.$fqdn now has a .passthru.hscloud.provision derivation
which is that script. When ran, it will attempt to deploy onto the
target machine.

There's also a top-level tool at `ops.provision` which builds all
configurations / machines and can be called with the machine name/fqdn
to call the corresponding provisioner script.

clustercfg is changed to use the new provisioning logic.

Change-Id: I258abce9e8e3db42af35af102f32ab7963046353
2021-09-10 23:55:52 +00:00
app app/matrix: bump appservice-irc to 0.27.0 2021-07-18 18:10:11 +00:00
bgpwtf bgpwtf: edge01: fix ipv4 static routing for customers 2021-09-08 23:40:29 +02:00
bzl third_party/go/kubernetes: fix version reported in kubectl 2020-11-03 21:15:41 +01:00
cluster ops, cluster: consolidate NixOS provisioning 2021-09-10 23:55:52 +00:00
dc dc/hbj11/flasher: fix build 2021-03-27 12:19:00 +00:00
devtools Merge "devtools/ci/remote-cache: init" 2021-05-12 21:09:00 +00:00
doc doc/codelabs: fix typo in checking-out.md 2021-03-21 14:16:34 +01:00
games Merge "games/factorio: pymods: bump up resources again" 2021-07-18 13:26:44 +00:00
gcp secretstore: add implr 2019-05-18 00:15:25 +02:00
go go/mirko: add GetRemoteHTTPClient 2021-05-23 13:03:19 +02:00
hswaw hswaw/site: deploy 2021-09-04 21:32:30 +02:00
kube update kube.libsonnet 2021-06-16 19:14:50 +02:00
nix *: add default.nix/readTree 2020-10-03 14:57:34 +00:00
ops ops, cluster: consolidate NixOS provisioning 2021-09-10 23:55:52 +00:00
personal personal - start 2021-09-09 18:26:33 +02:00
third_party *: update build_naming_convention for new rules_go 2021-08-30 18:21:03 +00:00
tools tools/secretstore: fix gpg encryption for expired key 2021-07-10 16:53:59 +00:00
.bazelrc .bazelrc: switch over to PY3 (rules_docker is now fully PY3 compliant) 2021-01-30 20:30:48 +00:00
.gitignore Add bazel error log to .gitignore 2021-03-21 22:25:09 +01:00
BUILD BUILD: fix gazelle repo file marker 2020-08-01 12:10:19 +00:00
ci_presubmit.sh prodvider: fix build after k8s update, add to CI presubmit 2020-11-27 09:43:47 +00:00
COPYING Update COPYING 2020-10-10 15:59:10 +00:00
default.nix default.nix: bump nixpkgs 2021-08-11 16:49:21 +00:00
env.fish env.fish: add 2020-02-15 01:22:58 +01:00
env.sh WORKSPACE: Shuffle things around to fix tools build on macOS 2020-06-05 23:37:34 +02:00
hackdoc.toml devtools/hackdoc: init 2020-04-08 20:03:12 +02:00
OWNERS OWNERS += implr 2020-07-30 22:52:58 +02:00
README.md doc/codelabs: add getting-started/checking-out 2021-03-21 14:05:48 +01:00
shell.nix shell.nix: add git to targetPkgs 2021-07-18 18:08:27 +00:00
WORKSPACE *: update for M1 support 2021-08-30 18:58:54 +02:00

hscloud is the main monorepo of the Warsaw Hackerspace infrastructure code.

Getting started

See //doc/codelabs for tutorials on how to use hscloud.

If you want to browse the source of hscloud in a web browser, use cs.hackerspace.pl.

If you want some other help, talk to q3k, informatic or your therapist.

Directory Structure

Directories you should care about:

  • app: external services that we host that are somewhat universal: matrix, covid-formity, etc.
  • bgpwtf: code related to our little ISP
  • cluster: code related to our Kubernetes cluster (k0.hswaw.net)
  • dc: code related to datacenter automation
  • devtools: code related to developer tooling, like gerrit or hackdoc
  • doc: high-level documentation that doesn't fit anywhere else, ie. codelabs
  • hswaw: Warsaw Hackerspace specific/internal services. The line between this and app is unfortunately blurry.
  • personal: user's personal (experimental) directories
  • kube, go: code specific to languages but general to the whole of hscloud

Licensing

Unless noted otherwise, code in hscloud is licensed under the BSD 0-clause license - see COPYING.