forked from hswaw/hscloud
infra monorepo (https://gerrit.hackerspace.pl)
Serge Bazanski
b3c6770f8d
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 |
||
---|---|---|
app | ||
bgpwtf | ||
bzl | ||
cluster | ||
dc | ||
devtools | ||
doc | ||
games | ||
gcp | ||
go | ||
hswaw | ||
kube | ||
nix | ||
ops | ||
personal | ||
third_party | ||
tools | ||
.bazelrc | ||
.gitignore | ||
BUILD | ||
ci_presubmit.sh | ||
COPYING | ||
default.nix | ||
env.fish | ||
env.sh | ||
hackdoc.toml | ||
OWNERS | ||
README.md | ||
shell.nix | ||
WORKSPACE |
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.