Find a file
2022-07-26 13:02:32 +02:00
.vscode added makefile to setup dev cluster with oml 2022-07-25 20:12:34 +02:00
apps added basic keycloak deployment via operator model 2022-07-26 12:55:26 +02:00
base updated default resources 2022-07-26 12:59:39 +02:00
ci move k3d cluster config 2022-07-13 22:55:45 +02:00
overlays fixed local dns and gitea deployment 2022-07-13 18:10:18 +02:00
test cleaned policie tests 2022-07-13 23:22:28 +02:00
.editorconfig fixed pipeline 2022-07-12 19:02:36 +02:00
.envrc fixed pipeline 2022-07-12 19:02:36 +02:00
.gitignore added makefile to setup dev cluster with oml 2022-07-25 20:12:34 +02:00
.gitlab-ci.yml fixed pipeline 2022-07-13 09:53:17 +02:00
.helmignore Initial commit 2022-07-12 13:44:03 +02:00
.mdlrc Initial commit 2022-07-12 13:44:03 +02:00
.yamllint.yaml Initial commit 2022-07-12 13:44:03 +02:00
CONTRIBUTING.md Initial commit 2022-07-12 13:44:03 +02:00
default.nix Initial commit 2022-07-12 13:44:03 +02:00
flake.lock fixed flake 2022-07-12 17:45:34 +02:00
flake.nix fixed flake 2022-07-12 17:45:34 +02:00
LICENSE Initial commit 2022-07-12 13:44:03 +02:00
Makefile added additional make commands for oml operations 2022-07-26 13:02:32 +02:00
README.md Initial commit 2022-07-12 13:44:03 +02:00
shell.nix added additional make commands for oml operations 2022-07-26 13:02:32 +02:00

FabCity Hamburg

FabCityOS Kubernetes Integration Repo

Helm Chart | Documentation | Element | Website | Blog |

License Build status Element

The FabCityOS Integration Repo for Kubernetes

This Integration repo is designed to be a lightweight way to configure FabCityOS applications.

FabCityOS is an operating system enabling a data-based circular economy via global collaboration and local production.

Table of Contents

📖 Documentation

🚀 Getting Started

Kubernetes (K8s), is an open-source system for automating deployment, scaling, and management of containerized applications. You can run a FabCityOS Core instance inside your Kubernetes cluster, either if you want to expose it to the outside world or just let some other applications use it inside your cluster and take advantage of the instant and powerful search engine.

First of all, you will need a Kubernetes cluster up and running. If you are not familiar with how Kuberentes works or need some help with this step, please check the Kubernetes documentation.

Repository structure

├── apps                                # kustomize global applications folder
│   ├── wordpress                       # kustomize global application folder
│   │   ├── kustomization.yaml          # kustomize global application definition
│   │   ├── charts                      # helm global chart config folder
│   │   └── ...                         # kustomize global application objects
│   └── ...                             # kustomize global applications objects
├── base                                # kustomize global objects folder
│   ├── kustomization.yaml              # kustomize global application config
│   └── ...                             # kustomize global cluster objects
├── overlays                            # kustomize environment overrides
│   ├── dev                             # kustomize environment folder
│   │   ├── kustomization.yaml          # kustomize environment definition
│   │   └── apps                        # kustomize applications folder
│   │       └── cert-manager            # kustomize application folder
│   │           ├── kustomization.yaml  # kustomize application config
│   │           └── ...                 # kustomize application objects
│   └── ...                             # kustomize environment folder
├── .envrc                              # direnv support file
├── default.nix                         # nixos flake legacy support file
├── flake.lock                          # nixos flake versions lock file
├── flake.nix                           # nixos local runtime dependency
├── shell.nix                           # nixos local development shell

Install kubectl

kubectl is the most commonly used CLI to manage a Kubernetes cluster. The installation instructions are available here.

Deploy FabCityOS

Install Kustomize

Kustomize CLI is a Command Line Interface which will automate configuration management on your Kubernetes cluster. To install Kustomize, follow the Kustomize installation instructions.

Install helm

Helm CLI is a Command Line Interface which will automate chart management and installation on your Kubernetes cluster. To install Helm, follow the Helm installation instructions.

Deploy FabCityOS

kubectl kustomize overlays/prod --enable-helm | kubectl apply -f -

🤖 Compatibility with FabCityOS

We recommend that the Helm chart version is aligned to the version of the product you want to deploy. This will ensure that you are using a chart version that has been tested against the corresponding production version. This will also ensure that the documentation and examples for the chart will work with the version of the product, you are installing.

For example, if you want to deploy an fcos 0.1.0 cluster, use the corresponding 0.1.0 [tag][fcos-010].

The master version of these charts is intended to support the latest pre-release versions of our products, and therefore may or may not work with current released versions.

⚙️ Development Workflow and 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 for detailed instructions!