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.