1
0
Fork 0
 
 
 
 
 
 
Go to file
q3k 0f8e5a2132 *: do not require env.sh
This removes the need to source env.{sh,fish} when working with hscloud.

This is done by:

 1. Implementing a Go library to reliably detect the location of the
    active hscloud checkout. That in turn is enabled by
    BUILD_WORKSPACE_DIRECTORY being now a thing in Bazel.
 2. Creating a tool `hscloud`, with a command `hscloud workspace` that
    returns the workspace path.
 3. Wrapping this tool to be accessible from Python and Bash.
 4. Bumping all users of hscloud_root to use either the Go library or
    one of the two implemented wrappers.

We also drive-by replace tools/install.sh to be a proper sh_binary, and
make it yell at people if it isn't being ran as `bazel run
//tools:install`.

Finally, we also drive-by delete cluster/tools/nixops.sh which was never used.

Change-Id: I7873714319bfc38bbb930b05baa605c5aa36470a
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1169
Reviewed-by: informatic <informatic@hackerspace.pl>
2021-10-17 21:21:58 +00:00
app app/matrix: add healthchecks, increase generic workers 2021-09-16 21:47:39 +00:00
bgpwtf edge01: deploy kkc wireguard tunnel (never used) 2021-10-07 18:50:51 +00:00
bzl third_party/go/kubernetes: fix version reported in kubectl 2020-11-03 21:15:41 +01:00
cluster *: do not require env.sh 2021-10-17 21:21:58 +00:00
dc m6220-proxy: make cli iface into library 2021-10-07 18:50:27 +00:00
devtools devtools/hackdoc: fixup rendering on mobile 2021-09-18 20:23:34 +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 *: do not require env.sh 2021-10-17 21:21:58 +00:00
hswaw hswaw/laserproxy: limit nix rebuilds 2021-10-17 20:15:49 +00:00
kube app/matrix/matrix.hackerspace.pl: finish matrix-media-repo rollout 2021-09-16 18:57:08 +00:00
nix/readtree nix: upgrade readTree 2021-09-11 12:18:04 +02:00
ops ops/machines.nix: inject workspace 2021-10-16 21:24:22 +00:00
personal testing markdown 2021-09-28 15:08:48 +00:00
third_party third_party/go: add filippo.io/age 2021-10-07 20:18:25 +00:00
tools *: do not require env.sh 2021-10-17 21:21:58 +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
COPYING Update COPYING 2020-10-10 15:59:10 +00: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
WORKSPACE third_party/go: add filippo.io/age 2021-10-07 20:18:25 +00:00
ci_presubmit.sh ci_presubmit: don't rely on tools/install.sh and hscloud_root 2021-10-16 21:24:47 +00:00
default.nix nix: upgrade readTree 2021-09-11 12:18:04 +02:00
env.fish *: do not require env.sh 2021-10-17 21:21:58 +00:00
env.sh *: do not require env.sh 2021-10-17 21:21:58 +00:00
hackdoc.toml devtools/hackdoc: init 2020-04-08 20:03:12 +02:00
shell.nix *: do not require env.sh 2021-10-17 21:21:58 +00:00

README.md

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.