tree: a491608c97746edc04f0ef17b589b89c37c4bb85 [path history] [tgz]
  1. .devcontainer/
  2. .vscode/
  3. app/
  4. bgpwtf/
  5. bzl/
  6. cluster/
  7. dc/
  8. devtools/
  9. doc/
  10. games/
  11. gcp/
  12. go/
  13. hswaw/
  14. kube/
  15. nix/
  16. ops/
  17. personal/
  18. third_party/
  19. tools/
  20. .bazelrc
  21. .bazelversion
  22. .git-blame-ignore-revs
  23. .gitignore
  24. .gitreview
  25. BUILD
  26. CEMETERY.md
  27. ci_presubmit.sh
  28. COPYING
  29. default.nix
  30. env.fish
  31. env.sh
  32. everything.jsonnet
  33. go.mod
  34. go.sum
  35. hackdoc.toml
  36. MODULE.bazel
  37. MODULE.bazel.lock
  38. OWNERS
  39. README.md
  40. shell.nix
  41. treefmt.toml
  42. WORKSPACE
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.

Initial setup: //doc/codelabs/getting-started/bazel-go.md

Initial bazel build for tools: bazelisk run //tools:install

For additional documentation go to //cluster

VSCode support

hscloud supports simpler setup and working with its source via dev containers. After opening the hscloud directory in VSCode, you should see a notification in the bottom right corner with suggested extensions. Currently the only suggested extension is the Dev Containers extension which allows you for one-click build of hscloud repository, without having to figure out all of its dependencies.

After building the container you should be able to create a new terminal from the vscode instance. It will be connected to the docker image which already has all the necessary tools built and included into your environment/PATH.

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, mastodon, 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.