diff --git a/docs/content/guides/kamaji-deployment-guide.md b/docs/content/getting-started.md similarity index 83% rename from docs/content/guides/kamaji-deployment-guide.md rename to docs/content/getting-started.md index 55530f9..144f1d8 100644 --- a/docs/content/guides/kamaji-deployment-guide.md +++ b/docs/content/getting-started.md @@ -1,11 +1,12 @@ -# Setup Kamaji on a generic infrastructure -This guide will lead you through the process of creating a working Kamaji setup on a generic infrastructure, either virtual or bare metal. +# Getting started with Kamaji +This guide will lead you through the process of creating a working Kamaji setup on a generic infrastructure. -The material here is relatively dense. We strongly encourage you to dedicate time to walk through these instructions, with a mind to learning. We do NOT provide any "one-click" deployment here. However, once you've understood the components involved it is encouraged that you build suitable, auditable GitOps deployment processes around your final infrastructure. +!!! warning "" + The material here is relatively dense. We strongly encourage you to dedicate time to walk through these instructions, with a mind to learning. We do NOT provide any "one-click" deployment here. However, once you've understood the components involved it is encouraged that you build suitable, auditable GitOps deployment processes around your final infrastructure. The guide requires: -- one bootstrap workstation +- a bootstrap machine - a Kubernetes cluster to run the Admin and Tenant Control Planes - an arbitrary number of machines to host `Tenant`s' workloads @@ -13,19 +14,20 @@ The guide requires: * [Prepare the bootstrap workspace](#prepare-the-bootstrap-workspace) * [Access Admin cluster](#access-admin-cluster) + * [Install Cert Manager](#install-cert-manager) * [Install Kamaji controller](#install-kamaji-controller) * [Create Tenant Cluster](#create-tenant-cluster) * [Cleanup](#cleanup) ## Prepare the bootstrap workspace -This guide is supposed to be run from a remote or local bootstrap machine. First, clone the repo and prepare the workspace directory: +On the bootstrap machine, clone the repo and prepare the workspace directory: ```bash git clone https://github.com/clastix/kamaji cd kamaji/deploy ``` -We assume you have installed on your workstation: +We assume you have installed on the bootstrap machine: - [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) - [kubeadm](https://kubernetes.io/docs/tasks/tools/#kubeadm) @@ -33,7 +35,7 @@ We assume you have installed on your workstation: - [jq](https://stedolan.github.io/jq/) ## Access Admin cluster -In Kamaji, an Admin Cluster is a regular Kubernetes cluster which hosts zero to many Tenant Cluster Control Planes. The admin cluster acts as management cluster for all the Tenant clusters and implements Monitoring, Logging, and Governance of all the Kamaji setup, including all Tenant clusters. +In Kamaji, an Admin Cluster is a regular Kubernetes cluster which hosts zero to many Tenant Cluster Control Planes. The admin cluster acts as management cluster for all the Tenant clusters and hosts monitoring, logging, and governance of Kamaji setup, including all Tenant clusters. Throughout the following instructions, shell variables are used to indicate values that you should adjust to your environment: @@ -45,7 +47,7 @@ Any regular and conformant Kubernetes v1.22+ cluster can be turned into a Kamaji - CNI module installed, eg. [Calico](https://github.com/projectcalico/calico), [Cilium](https://github.com/cilium/cilium). - CSI module installed with a Storage Class for the Tenant datastores. Local Persistent Volumes are an option. -- Support for LoadBalancer service type, eg. [MetalLB](https://metallb.universe.tf/), or alternatively, an Ingress Controller, eg. [ingress-nginx](https://github.com/kubernetes/ingress-nginx), [haproxy](https://github.com/haproxytech/kubernetes-ingress). +- Support for LoadBalancer service type, eg. [MetalLB](https://metallb.universe.tf/), or a Cloud based controller. - Optionally, a Monitoring Stack installed, eg. [Prometheus](https://github.com/prometheus-community). Make sure you have a `kubeconfig` file with admin permissions on the cluster you want to turn into Kamaji Admin Cluster and check you can access: @@ -54,11 +56,24 @@ Make sure you have a `kubeconfig` file with admin permissions on the cluster you kubectl cluster-info ``` +## Install Cert Manager + +Kamaji takes advantage of the [dynamic admission control](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/), such as validating and mutating webhook configurations. These webhooks are secured by a TLS communication, and the certificates are managed by [`cert-manager`](https://cert-manager.io/), making it a prerequisite that must be installed: + +```bash +helm repo add jetstack https://charts.jetstack.io +helm repo update +helm install \ + cert-manager jetstack/cert-manager \ + --namespace cert-manager \ + --create-namespace \ + --version v1.11.0 \ + --set installCRDs=true +``` + ## Install Kamaji Controller -Kamaji takes advantage of the [dynamic admission control](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/), such as validating and mutating webhook configurations. These webhooks are secured by a TLS communication, and the certificates are managed by [`cert-manager`](https://cert-manager.io/), making it a prerequisite that must be [installed](https://cert-manager.io/docs/installation/). - -The Kamaji controller needs to access a default datastore in order to save data of the tenants' clusters. The Kamaji Helm Chart provides the installation of a basic unamanaged `etcd`, out of box. +Installing Kamaji via Helm charts is the preferred way. The Kamaji controller needs to access a Datastore in order to save data of the tenants' clusters. The Kamaji Helm Chart provides the installation of a basic unamanaged `etcd` as datastore, out of box. Install Kamaji with `helm` using an unmanaged `etcd` as default datastore: @@ -68,7 +83,8 @@ helm repo update helm install kamaji clastix/kamaji -n kamaji-system --create-namespace ``` -A managed datastore is highly recommended in production. The [kamaji-etcd](https://github.com/clastix/kamaji-etcd) project provides a viable option to setup a managed multi-tenant `etcd` running as StatefulSet made of three replicas. Optionally, Kamaji offers support for a different storage system, as `MySQL` or `PostgreSQL` compatible database, thanks to the native [kine](https://github.com/k3s-io/kine) integration. +!!! note "A managed datastore is highly recommended in production" + The [kamaji-etcd](https://github.com/clastix/kamaji-etcd) project provides the code to setup a multi-tenant `etcd` running as StatefulSet made of three replicas. Optionally, Kamaji offers support for a more robust storage system, as `MySQL` or `PostgreSQL` compatible database, thanks to the native [kine](https://github.com/k3s-io/kine) integration. ## Create Tenant Cluster @@ -224,7 +240,10 @@ And make sure it is `${TENANT_ADDR}:${TENANT_PORT}`. ### Prepare worker nodes to join -Currently Kamaji does not provide any helper for creation of tenant worker nodes. You should get a set of machines from your infrastructure provider, turn them into worker nodes, and then join to the tenant control plane with the `kubeadm`. In the future, we'll provide integration with Cluster APIs and other tools, as for example, Terraform. +Currently Kamaji does not provide any helper for creation of tenant worker nodes. You should get a set of machines from your infrastructure provider, turn them into worker nodes, and then join to the tenant control plane with the `kubeadm`. + +!!! note "Cluster APIs support" + In the future, we'll provide creation of tenant clusters through Cluster APIs. You can use the provided helper script `/deploy/nodes-prerequisites.sh`, in order to install the dependencies on all the worker nodes: @@ -232,7 +251,8 @@ You can use the provided helper script `/deploy/nodes-prerequisites.sh`, in orde - Install `crictl`, the command line for working with `containerd` - Install `kubectl`, `kubelet`, and `kubeadm` in the desired version -> Warning: the script assumes all worker nodes are running `Ubuntu 20.04`. Make sure to adapt the script if you're using a different distribution. +!!! warning "" + The provided script is just a facility: it assumes all worker nodes are running `Ubuntu 20.04`. Make sure to adapt the script if you're using a different distribution. Run the script: diff --git a/docs/content/getting-started/getting-started.md b/docs/content/getting-started/getting-started.md deleted file mode 100644 index 7855a96..0000000 --- a/docs/content/getting-started/getting-started.md +++ /dev/null @@ -1,191 +0,0 @@ -# Getting started with Tenant Control Planes - -This document explains how to deploy a minimal Kamaji setup on [KinD](https://kind.sigs.k8s.io/) for development scopes. Please refer to the [Kamaji documentation](concepts.md) for understanding all the terms used in this guide, as for example: `admin cluster`, `tenant cluster`, and `tenant control plane`. - -## Pre-requisites - -We assume you have installed on your workstation: - -- [Docker](https://docker.com) -- [KinD](https://kind.sigs.k8s.io/) -- [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) -- [kubeadm](https://kubernetes.io/docs/tasks/tools/#kubeadm) -- [Helm](https://helm.sh/docs/intro/install/) -- [jq](https://stedolan.github.io/jq/) -- [openssl](https://www.openssl.org/) -- [cfssl/cfssljson](https://github.com/cloudflare/cfssl) - - -> Starting from Kamaji v0.1.0, `kubectl` and `kubeadm` need to meet at least minimum version to `v1.25.0` due to the changes regarding the `kubelet-config` ConfigMap required for the node join. - -## Setup Kamaji on KinD - -The instance of Kamaji is made of a single node hosting: - -- admin control-plane -- admin worker -- multi-tenant datastore - -### Standard Installation - -You can install your KinD cluster, an `etcd` based multi-tenant datastore and the Kamaji operator with a **single command**: - -```bash -$ make -C deploy/kind -``` - -Now you can deploy a [`TenantControlPlane`](#deploy-tenant-control-plane). - -### Installation with alternative datastore drivers - -Kamaji offers the possibility of using a different storage system than `etcd` for datastore, like `MySQL` or `PostgreSQL` compatible databases. - -First, setup a KinD cluster and the other requirements: - -```bash -$ make -C deploy/kind reqs -``` - -Install one of the alternative supported databases: - -- **MySQL** install it with command: - - `$ make -C deploy/kine/mysql mariadb` - -- **PostgreSQL** install it with command: - - `$ make -C deploy/kine/postgresql postgresql` - -Then use Helm to install the Kamaji Operator and make sure it uses a datastore with the proper driver `datastore.driver=`. - -For example, with a PostreSQL datastore: - -```bash -helm install kamaji charts/kamaji -n kamaji-system --create-namespace \ - --set etcd.deploy=false \ - --set datastore.driver=PostgreSQL \ - --set datastore.endpoints[0]=postgres-default-rw.kamaji-system.svc:5432 \ - --set datastore.basicAuth.usernameSecret.name=postgres-default-superuser \ - --set datastore.basicAuth.usernameSecret.namespace=kamaji-system \ - --set datastore.basicAuth.usernameSecret.keyPath=username \ - --set datastore.basicAuth.passwordSecret.name=postgres-default-superuser \ - --set datastore.basicAuth.passwordSecret.namespace=kamaji-system \ - --set datastore.basicAuth.passwordSecret.keyPath=password \ - --set datastore.tlsConfig.certificateAuthority.certificate.name=postgres-default-ca \ - --set datastore.tlsConfig.certificateAuthority.certificate.namespace=kamaji-system \ - --set datastore.tlsConfig.certificateAuthority.certificate.keyPath=ca.crt \ - --set datastore.tlsConfig.certificateAuthority.privateKey.name=postgres-default-ca \ - --set datastore.tlsConfig.certificateAuthority.privateKey.namespace=kamaji-system \ - --set datastore.tlsConfig.certificateAuthority.privateKey.keyPath=ca.key \ - --set datastore.tlsConfig.clientCertificate.certificate.name=postgres-default-root-cert \ - --set datastore.tlsConfig.clientCertificate.certificate.namespace=kamaji-system \ - --set datastore.tlsConfig.clientCertificate.certificate.keyPath=tls.crt \ - --set datastore.tlsConfig.clientCertificate.privateKey.name=postgres-default-root-cert \ - --set datastore.tlsConfig.clientCertificate.privateKey.namespace=kamaji-system \ - --set datastore.tlsConfig.clientCertificate.privateKey.keyPath=tls.key -``` - -### Deploy Tenant Control Plane - -Now it is the moment of deploying your first tenant control plane. - -```bash -$ kubectl apply -f - < Check networkProfile fields according to your installation -> To let Kamaji works in kind, you have indicate that the service must be [NodePort](https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport) - -### Get the kubeconfig - -Let's retrieve kubeconfig and store in `/tmp/kubeconfig` - -```bash -$ kubectl get secrets tenant1-admin-kubeconfig -o json \ - | jq -r '.data["admin.conf"]' \ - | base64 -d > /tmp/kubeconfig - ``` - -It can be export it, to facilitate the next tasks: - -```bash -$ export KUBECONFIG=/tmp/kubeconfig -``` - -### Install CNI - -We highly recommend to install [kindnet](https://github.com/aojea/kindnet) as CNI for your kamaji TCP. - -```bash -$ kubectl create -f https://raw.githubusercontent.com/aojea/kindnet/master/install-kindnet.yaml -``` - -### Join worker nodes - -```bash -$ make -C deploy/kind kamaji-kind-worker-join -``` - -> To add more worker nodes, run again the command above. - -Check out the node: - -```bash -$ kubectl get nodes -NAME STATUS ROLES AGE VERSION -d2d4b468c9de Ready 44s v1.23.4 -``` - -> For more complex scenarios (exposing port, different version and so on), run `join-node.bash`. - -Tenant control plane provision has been finished in a minimal Kamaji setup based on KinD. Therefore, you could develop, test and make your own experiments with Kamaji. - -## Cleanup - -```bash -$ make -C deploy/kind destroy -``` diff --git a/docs/content/getting-started/install.md b/docs/content/getting-started/install.md deleted file mode 100644 index 1f3088b..0000000 --- a/docs/content/getting-started/install.md +++ /dev/null @@ -1,34 +0,0 @@ -# Install Kamaji - -## Quickstart - -### Pre-requisites - -- [Helm](https://helm.sh/docs/intro/install/) -- Kubernetes cluster - -### Install cert-manager - -```shell -helm repo add jetstack https://charts.jetstack.io -helm repo update -helm install \ - cert-manager jetstack/cert-manager \ - --namespace cert-manager \ - --create-namespace \ - --version v1.11.0 \ - --set installCRDs=true -``` - -### Install Kamaji with default datastore - -``` -helm repo add clastix https://clastix.github.io/charts -helm repo update -helm install kamaji clastix/kamaji -n kamaji-system --create-namespace -``` - -Now you're ready to go with Kamaji! - -Please follow the documentation to start playing with it. - diff --git a/docs/content/guides/alternative-datastore.md b/docs/content/guides/alternative-datastore.md new file mode 100644 index 0000000..8f87a77 --- /dev/null +++ b/docs/content/guides/alternative-datastore.md @@ -0,0 +1,63 @@ +# Use alternative datastores + +Kamaji offers the possibility of having a different storage system than `etcd` thanks to [kine](https://github.com/k3s-io/kine) integration. One of the implementations is [PostgreSQL](https://www.postgresql.org/). + +## Install the datastore + +On the admin cluster, install one of the alternative supported datastore: + +- **MySQL** install it with command: + + `$ make -C deploy/kine/mysql mariadb` + +- **PostgreSQL** install it with command: + + `$ make -C deploy/kine/postgresql postgresql` + +## Install Cert Manager + +As prerequisite for Kamaji, install the Cert Manager + +```bash +helm repo add jetstack https://charts.jetstack.io +helm repo update +helm install \ + cert-manager jetstack/cert-manager \ + --namespace cert-manager \ + --create-namespace \ + --version v1.11.0 \ + --set installCRDs=true +``` + +## Install Kamaji + +Use Helm to install the Kamaji Operator and make sure it uses a datastore with the proper driver `datastore.driver=`. + +For example, with a PostreSQL datastore installed: + +```bash +helm install kamaji charts/kamaji -n kamaji-system --create-namespace \ + --set etcd.deploy=false \ + --set datastore.driver=PostgreSQL \ + --set datastore.endpoints[0]=postgres-default-rw.kamaji-system.svc:5432 \ + --set datastore.basicAuth.usernameSecret.name=postgres-default-superuser \ + --set datastore.basicAuth.usernameSecret.namespace=kamaji-system \ + --set datastore.basicAuth.usernameSecret.keyPath=username \ + --set datastore.basicAuth.passwordSecret.name=postgres-default-superuser \ + --set datastore.basicAuth.passwordSecret.namespace=kamaji-system \ + --set datastore.basicAuth.passwordSecret.keyPath=password \ + --set datastore.tlsConfig.certificateAuthority.certificate.name=postgres-default-ca \ + --set datastore.tlsConfig.certificateAuthority.certificate.namespace=kamaji-system \ + --set datastore.tlsConfig.certificateAuthority.certificate.keyPath=ca.crt \ + --set datastore.tlsConfig.certificateAuthority.privateKey.name=postgres-default-ca \ + --set datastore.tlsConfig.certificateAuthority.privateKey.namespace=kamaji-system \ + --set datastore.tlsConfig.certificateAuthority.privateKey.keyPath=ca.key \ + --set datastore.tlsConfig.clientCertificate.certificate.name=postgres-default-root-cert \ + --set datastore.tlsConfig.clientCertificate.certificate.namespace=kamaji-system \ + --set datastore.tlsConfig.clientCertificate.certificate.keyPath=tls.crt \ + --set datastore.tlsConfig.clientCertificate.privateKey.name=postgres-default-root-cert \ + --set datastore.tlsConfig.clientCertificate.privateKey.namespace=kamaji-system \ + --set datastore.tlsConfig.clientCertificate.privateKey.keyPath=tls.key +``` + +Once installed, you will able to create Tenant Control Planes using an alternative datastore. \ No newline at end of file diff --git a/docs/content/guides/kamaji-azure-deployment-guide.md b/docs/content/guides/kamaji-azure-deployment.md similarity index 84% rename from docs/content/guides/kamaji-azure-deployment-guide.md rename to docs/content/guides/kamaji-azure-deployment.md index b5e143a..5b3647c 100644 --- a/docs/content/guides/kamaji-azure-deployment-guide.md +++ b/docs/content/guides/kamaji-azure-deployment.md @@ -1,31 +1,33 @@ # Setup Kamaji on Azure This guide will lead you through the process of creating a working Kamaji setup on on MS Azure. -The material here is relatively dense. We strongly encourage you to dedicate time to walk through these instructions, with a mind to learning. We do NOT provide any "one-click" deployment here. However, once you've understood the components involved it is encouraged that you build suitable, auditable GitOps deployment processes around your final infrastructure. +!!! warning "" + The material here is relatively dense. We strongly encourage you to dedicate time to walk through these instructions, with a mind to learning. We do NOT provide any "one-click" deployment here. However, once you've understood the components involved it is encouraged that you build suitable, auditable GitOps deployment processes around your final infrastructure. The guide requires: -- one bootstrap workstation -- an AKS Kubernetes cluster to run the Admin and Tenant Control Planes -- an arbitrary number of Azure virtual machines to host `Tenant`s' workloads +- a bootstrap machine +- a Kubernetes cluster to run the Admin and Tenant Control Planes +- an arbitrary number of machines to host `Tenant`s' workloads ## Summary * [Prepare the bootstrap workspace](#prepare-the-bootstrap-workspace) * [Access Admin cluster](#access-admin-cluster) + * [Install Cert Manager](#install-cert-manager) * [Install Kamaji controller](#install-kamaji-controller) * [Create Tenant Cluster](#create-tenant-cluster) * [Cleanup](#cleanup) ## Prepare the bootstrap workspace -This guide is supposed to be run from a remote or local bootstrap machine. First, clone the repo and prepare the workspace directory: +On the bootstrap machine, clone the repo and prepare the workspace directory: ```bash git clone https://github.com/clastix/kamaji cd kamaji/deploy ``` -We assume you have installed on your workstation: +We assume you have installed on the bootstrap machine: - [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) - [kubeadm](https://kubernetes.io/docs/tasks/tools/#kubeadm) @@ -39,10 +41,10 @@ Make sure you have a valid Azure subscription, and login to Azure: az account set --subscription "MySubscription" az login ``` -> Currently, the Kamaji setup, including Admin and Tenant clusters need to be deployed within the same Azure region. Cross-regions deployments are not supported. + ## Access Admin cluster -In Kamaji, an Admin Cluster is a regular Kubernetes cluster which hosts zero to many Tenant Cluster Control Planes. The admin cluster acts as management cluster for all the Tenant clusters and implements Monitoring, Logging, and Governance of all the Kamaji setup, including all Tenant clusters. For this guide, we're going to use an instance of Azure Kubernetes Service - AKS as the Admin Cluster. +In Kamaji, an Admin Cluster is a regular Kubernetes cluster which hosts zero to many Tenant Cluster Control Planes. The admin cluster acts as management cluster for all the Tenant clusters and implements Monitoring, Logging, and Governance of all the Kamaji setup, including all Tenant clusters. For this guide, we're going to use an instance of Azure Kubernetes Service (AKS) as Admin Cluster. Throughout the following instructions, shell variables are used to indicate values that you should adjust to your own Azure environment: @@ -95,11 +97,24 @@ And check you can access: kubectl cluster-info ``` +## Install Cert Manager + +Kamaji takes advantage of the [dynamic admission control](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/), such as validating and mutating webhook configurations. These webhooks are secured by a TLS communication, and the certificates are managed by [`cert-manager`](https://cert-manager.io/), making it a prerequisite that must be installed: + +```bash +helm repo add jetstack https://charts.jetstack.io +helm repo update +helm install \ + cert-manager jetstack/cert-manager \ + --namespace cert-manager \ + --create-namespace \ + --version v1.11.0 \ + --set installCRDs=true +``` + ## Install Kamaji Controller -Kamaji takes advantage of the [dynamic admission control](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/), such as validating and mutating webhook configurations. These webhooks are secured by a TLS communication, and the certificates are managed by [`cert-manager`](https://cert-manager.io/), making it a prerequisite that must be [installed](https://cert-manager.io/docs/installation/). - -The Kamaji controller needs to access a default datastore in order to save data of the tenants' clusters. The Kamaji Helm Chart provides the installation of a basic unamanaged `etcd`, out of box. +Installing Kamaji via Helm charts is the preferred way. The Kamaji controller needs to access a Datastore in order to save data of the tenants' clusters. The Kamaji Helm Chart provides the installation of a basic unamanaged `etcd` as datastore, out of box. Install Kamaji with `helm` using an unmanaged `etcd` as default datastore: @@ -109,7 +124,8 @@ helm repo update helm install kamaji clastix/kamaji -n kamaji-system --create-namespace ``` -A managed datastore is highly recommended in production. The [kamaji-etcd](https://github.com/clastix/kamaji-etcd) project provides a viable option to setup a managed multi-tenant `etcd` running as StatefulSet made of three replicas. Optionally, Kamaji offers support for a different storage system, as `MySQL` or `PostgreSQL` compatible database, thanks to the native [kine](https://github.com/k3s-io/kine) integration. +!!! note "A managed datastore is highly recommended in production" + The [kamaji-etcd](https://github.com/clastix/kamaji-etcd) project provides the code to setup a multi-tenant `etcd` running as StatefulSet made of three replicas. Optionally, Kamaji offers support for a more robust storage system, as `MySQL` or `PostgreSQL` compatible database, thanks to the native [kine](https://github.com/k3s-io/kine) integration. ## Create Tenant Cluster @@ -257,7 +273,11 @@ kubernetes 10.240.0.100:6443 57m ``` ### Prepare worker nodes to join -Currently Kamaji does not provide any helper for creation of tenant worker nodes. You should get a set of machines from your infrastructure provider, turn them into worker nodes, and then join to the tenant control plane with the `kubeadm`. In the future, we'll provide integration with Cluster APIs and other tools, as for example, Terrform. + +Currently Kamaji does not provide any helper for creation of tenant worker nodes. You should get a set of machines from your infrastructure provider, turn them into worker nodes, and then join to the tenant control plane with the `kubeadm`. + +!!! note "Cluster APIs support" + In the future, we'll provide creation of tenant clusters through Cluster APIs. Create an Azure VM Stateful Set to host worker nodes diff --git a/docs/content/guides/mysql-datastore.md b/docs/content/guides/mysql-datastore.md deleted file mode 100644 index 40ca6c9..0000000 --- a/docs/content/guides/mysql-datastore.md +++ /dev/null @@ -1,5 +0,0 @@ -# MySQL as Kubernetes Storage - -Kamaji offers the possibility of having a different storage system than `ETCD` thanks to [kine](https://github.com/k3s-io/kine) integration. One of the implementations is [MySQL](https://www.mysql.com/). - -> A detailed guide for production setup will be released soon. Please refer to [Getting Started Guide](../getting-started.md) for a demo setup with KinD. \ No newline at end of file diff --git a/docs/content/guides/postgresql-datastore.md b/docs/content/guides/postgresql-datastore.md deleted file mode 100644 index ccef160..0000000 --- a/docs/content/guides/postgresql-datastore.md +++ /dev/null @@ -1,6 +0,0 @@ -# PostgreSQL as Kubernetes Storage - -Kamaji offers the possibility of having a different storage system than `etcd` thanks to [kine](https://github.com/k3s-io/kine) integration. -One of the implementations is [PostgreSQL](https://www.postgresql.org/). - -> A detailed guide for production setup will be released soon. Please refer to [Getting Started Guide](../getting-started.md) for a demo setup with KinD. \ No newline at end of file diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 7edc4ca..105288c 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -55,16 +55,12 @@ markdown_extensions: # Generate navigation bar nav: - 'Kamaji': index.md -- 'Getting started': - - getting-started/install.md - - getting-started/getting-started.md +- 'Getting started': getting-started.md - 'Concepts': concepts.md - 'Guides': - guides/index.md - - guides/kamaji-deployment-guide.md - - guides/kamaji-azure-deployment-guide.md - - guides/postgresql-datastore.md - - guides/mysql-datastore.md + - guides/kamaji-azure-deployment.md + - guides/alternative-datastore.md - guides/kamaji-gitops-flux.md - guides/upgrade.md - guides/datastore-migration.md