{"id":26778290,"url":"https://github.com/elastisys/welkin","last_synced_at":"2025-04-05T06:10:42.556Z","repository":{"id":37084715,"uuid":"292511965","full_name":"elastisys/welkin","owner":"elastisys","description":"Documentation for the Welkin project - a Kubernetes-based platform for software critical to society","archived":false,"fork":false,"pushed_at":"2024-11-07T08:20:17.000Z","size":757952,"stargazers_count":122,"open_issues_count":52,"forks_count":32,"subscribers_count":12,"default_branch":"main","last_synced_at":"2024-11-07T08:23:30.809Z","etag":null,"topics":["compliance","gdpr","information-security","kubernetes","nis2"],"latest_commit_sha":null,"homepage":"https://elastisys.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elastisys.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-03T08:30:09.000Z","updated_at":"2024-11-07T08:18:30.000Z","dependencies_parsed_at":"2023-10-03T17:38:23.497Z","dependency_job_id":"9df64464-cf54-47ae-a417-ab3cf722b76d","html_url":"https://github.com/elastisys/welkin","commit_stats":null,"previous_names":["elastisys/welkin"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elastisys%2Fwelkin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elastisys%2Fwelkin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elastisys%2Fwelkin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elastisys%2Fwelkin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elastisys","download_url":"https://codeload.github.com/elastisys/welkin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247294541,"owners_count":20915340,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compliance","gdpr","information-security","kubernetes","nis2"],"created_at":"2025-03-29T05:36:48.699Z","updated_at":"2025-04-05T06:10:42.525Z","avatar_url":"https://github.com/elastisys.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Welkin Documentation\n\n[![Regularly check links](https://github.com/elastisys/welkin/actions/workflows/checklinks.yml/badge.svg)](https://github.com/elastisys/welkin/actions/workflows/checklinks.yml)\n\nThis is the main repository for documentation about the Welkin project. For Welkin code, please refer to:\n\n- [`compliantkubernetes-kubespray`](https://github.com/elastisys/compliantkubernetes-kubespray) for setting up a vanilla Kubernetes Cluster on top of a compliant cloud provider;\n- [`compliantkubernetes-apps`](https://github.com/elastisys/compliantkubernetes-apps) for augmenting a vanilla Kubernetes Cluster with security and observability.\n\n## Prerequisites\n\n[Python 3](https://www.python.org/). You can check that it is already present on your Linux/macOS as follows:\n\n```sh\npython3 --version\n```\n\nFor generating figures, please install:\n\n```sh\nsudo apt-get install graphviz make\n```\n\nFor generating `docs/stylesheets/style.css`, please install:\n\n```sh\nnpm install -g sass\n```\n\n## Usage\n\n\u003e [!NOTE]\n\u003e For Mac users, you might have to install Cairo: `brew install cairo`\n\nTo view locally:\n\n```sh\npython3 -m venv .venv\nsource .venv/bin/activate\npip3 install -r requirements.txt\n\nmkdocs serve\n```\n\n\u003e [!CAUTION]\n\u003e The command `mike serve` also works to preview a page, but it does not seem to support live preview.\n\u003e This means that you need to restart `mike serve` after every file change, which is not really productive\n\n- To view locally: `mike deploy welkin -t 'main'` and then `mike serve`.\n- To re-generate figures: `make -C docs/img`. **For simplicity, please commit generated figures. Prefer PNG (width == 1200px), to facilitate embedded logos.**\n- For continuous preview of figures: `make -C docs/img preview`.\n- To generate `docs/stylesheets/style.css`, please use `sass extra_sass/style.css.scss \u003e docs/stylesheets/style.css`.\n\n## Tech Stack\n\n- [mkdocs](https://www.mkdocs.org/)\n- [mkdocs-material](https://squidfunk.github.io/mkdocs-material/)\n- [GitHub Pages](https://pages.github.com/)\n- [Graphviz](https://graphviz.org/)\n- [mike](https://github.com/jimporter/mike)\n- [sass](https://www.npmjs.com/package/sass)\n\n## Deployment\n\nGitHub Actions will deploy the `main` branch automatically.\n\n## Known Issues\n\n### `nodeenv` provided with Ubuntu 24.04 is old\n\nIf you get the following errors:\n\n```console\n$ pre-commit run --all\n[...]\nAn unexpected error has occurred: CalledProcessError: command: ('/usr/bin/python3', '-mnodeenv', '--prebuilt', '--clean-src', '/home/cklein/.cache/pre-commit/repoxgjtxt_g/node_env-default')\n[...]\n      File \"/usr/lib/python3/dist-packages/nodeenv.py\", line 881, in main\n        opt.node = get_last_stable_node_version()\n\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n```\n\nThen this could be caused by the version of `nodeenv` delivered with Ubuntu 24.04.\nYou have two options.\n\n#### Option 1: Run pre-commit from a virtual environment\n\n1. Remove Ubuntu's pre-commit and `nodeenv`: `sudo apt purge nodeenv --autoremove`.\n1. Activate the virtual environment you created above: `. .venv/bin/activate`.\n1. Install pre-commit in the virtual environment: `pip install pre-commit`.\n1. Run pre-commit from the virtual environment: `pre-commit run --all`.\n\n#### Option 2: Break system package\n\n```shell\nsudo apt install pre-commit\nsudo apt install python3-pip\nsudo pip install nodeenv --break-system-packages --upgrade\n```\n\n## 📜 Licensing Information\n\nAll source files in this repository are licensed under the Apache License, Version 2.0 unless otherwise stated.\nSee the [LICENSE](LICENSE.md) file for full details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felastisys%2Fwelkin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felastisys%2Fwelkin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felastisys%2Fwelkin/lists"}