mirror of
https://gitlab.fabcity.hamburg/software/fab-city-software-kit.git
synced 2024-09-20 04:18:51 +02:00
122 lines
5.5 KiB
Markdown
122 lines
5.5 KiB
Markdown
<p align="center">
|
||
<img src="https://raw.githubusercontent.com/dyne/interfacer-docs/main/docs/_media/general/interfacer-logo.png" alt="Interfacer" />
|
||
</p>
|
||
|
||
<h1 align="center">Fab City Software Kit for Kubernetes ⚓️</h1>
|
||
|
||
<h4 align="center">
|
||
<a href="https://interfacerproject.github.io/interfacer-docs">Documentation</a> |
|
||
<a href="https://www.interfacerproject.eu/">Website</a> |
|
||
<a href="https://www.interfacerproject.eu/#news">Blog</a>
|
||
</h4>
|
||
|
||
<p align="center">
|
||
<a href="https://gitlab.fabcity.hamburg/software/fab-city-os-core-chart/LICENSE"><img src="https://img.shields.io/badge/license-AGPL-informational" alt="License"></a>
|
||
<a href="https://matrix.to/#/#fcos:fabcity.hamburg"><img src="https://img.shields.io/badge/Matrix-FabCityOS-blue.svg?logo=element" alt="Matrix"></a>
|
||
</p>
|
||
|
||
Welcome to the Fab City Software Kit! This Repo is designed to be a lightweight way to configure the Fab City Software Kit applications. Fab City Software Kit is a bundle of Applications to enabling a data-based circular economy via global collaboration and local production.
|
||
|
||
## About the **INTERFACER** Project
|
||
|
||
The goal of the INTERFACER project is to build the open-source digital infrastructure for Fab Cities.
|
||
|
||
Our vision is to promote a green, resilient, and digitally-based mode of production and consumption that enables the greatest possible sovereignty, empowerment and participation of citizens all over the world.
|
||
|
||
We want to help Fab Cities to produce everything they consume by 2054 on the basis of collaboratively developed and globally shared data in the commons.
|
||
|
||
To know more [DOWNLOAD THE WHITEPAPER](https://www.interfacerproject.eu/assets/news/whitepaper/IF-WhitePaper_DigitalInfrastructureForFabCities.pdf).
|
||
|
||
## Table of Contents <!-- omit in toc -->
|
||
|
||
- [About the **INTERFACER** Project](#about-the-interfacer-project)
|
||
- [🚀 Getting Started](#-getting-started)
|
||
- [Kubernetes introduction](#kubernetes-introduction)
|
||
- [Repository structure](#repository-structure)
|
||
- [⚙️ Dependencies](#️-dependencies)
|
||
- [Install kubectl](#install-kubectl)
|
||
- [Install helm](#install-helm)
|
||
- [💾 Install Fab City Software Kit](#-install-fab-city-software-kit)
|
||
- [📖 Documentation](#-documentation)
|
||
- [Tools](#tools)
|
||
- [Helm Charts](#helm-charts)
|
||
- [👤 Contributing](#-contributing)
|
||
- [🌐 Links](#-links)
|
||
- [💼 License](#-license)
|
||
|
||
## 🚀 Getting Started
|
||
|
||
### Kubernetes introduction
|
||
|
||
Please refer to our [introductory guide](./KUBERNETES.md) for a brief overview of Kubernetes setup, cluster sizing, command-line tools, and security considerations.
|
||
|
||
### Repository structure
|
||
|
||
```yaml
|
||
├── base # kustomize global objects folder
|
||
│ ├── kustomization.yaml # kustomize global application config
|
||
│ └── ... # kustomize global cluster objects
|
||
├── apps # kustomize global applications folder
|
||
│ ├── gitea # kustomize global application folder
|
||
│ │ ├── kustomization.yaml # kustomize global application definition
|
||
│ │ ├── charts # helm global chart config folder
|
||
│ │ └── ... # kustomize global application objects
|
||
│ └── ... # kustomize global applications objects
|
||
├── overlays # kustomize environment overrides
|
||
│ ├── dev # kustomize environment specific
|
||
│ │ ├── kustomization.yaml # kustomize environment definition
|
||
│ │ └── cert-manager # kustomize applications folder
|
||
│ │ ├── kustomization.yaml # kustomize application config
|
||
│ │ └── ... # kustomize application objects
|
||
│ └── ... # kustomize environment folder
|
||
├── .envrc # direnv support file
|
||
└── flake.nix # nix flake for local runtime dependency
|
||
```
|
||
|
||
## ⚙️ Dependencies
|
||
|
||
### Install kubectl
|
||
|
||
`kubectl` is the most commonly used CLI to manage a Kubernetes cluster. The installation instructions are [available here](https://kubernetes.io/docs/tasks/tools/install-kubectl/).
|
||
|
||
### Install helm
|
||
|
||
`helm` is a Command Line Interface which will automate chart management and installation on your Kubernetes cluster. To install Helm, follow the [Helm installation instructions](https://helm.sh/docs/intro/install/).
|
||
|
||
### 💾 Install Fab City Software Kit
|
||
|
||
```sh
|
||
git clone https://gitlab.fabcity.hamburg/software/fab-city-software-kit/
|
||
cd fab-city-software-kit
|
||
kubectl kustomize --enable-helm overlays/dev | kubectl apply -f -
|
||
```
|
||
|
||
## 📖 Documentation
|
||
|
||
### Tools
|
||
|
||
- [kubectl](https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands)
|
||
- [kustomize](https://kubectl.docs.kubernetes.io/guides/)
|
||
- [helm](https://helm.sh/docs/)
|
||
|
||
### Helm Charts
|
||
|
||
- [Cert Manager](https://cert-manager.io/docs/)
|
||
- [Ingress Nginx](https://kubernetes.github.io/ingress-nginx/)
|
||
- [Fab City OS Core](https://gitlab.fabcity.hamburg/software/fab-city-os-core-chart)
|
||
- [Gitea](https://gitea.com/gitea/helm-chart/)
|
||
- [Matrix Synapse](https://github.com/ananace/matrix-synapse)
|
||
|
||
## 👤 Contributing
|
||
|
||
Any new contribution is more than welcome in this project! If you want to know more about the development workflow or want to contribute, please visit our [contributing guidelines](/CONTRIBUTING.md) for detailed instructions!
|
||
|
||
## 🌐 Links
|
||
|
||
- <https://interfacerproject.eu/>
|
||
- <https://fabcity.hamburg/>
|
||
|
||
## 💼 License
|
||
|
||
[AGPL-3.0](./LICENSE). © 2023 Fab City Hamburg e. V.
|