Skip to main content

Configuration

Configuration contains a variety of information about the whole platform. In this section, we will check how to compose the kupboard configuration with kupboard-data-sample.

Version and Metadata#

The following three items must be defined and they can be updated by the information you want.

version: v0.1
metadata:
name: hello kupboard
company: mycompany
project: myproject

Global Variables#

In the vars section, you can define many variables that you can refer to by kupboard and kollection.

Project Information#

The variables in Project Information are required for the service operation. To use the Harbor registry, a valid ssl certification should be prepared. If you're not using the registry, you can ignore these variables.

## Project Information
##
kbd_service_domain: mycompany.com
kube_enable_rook: false
kube_namespace: myproject
kube_registry_username: kupboard
kube_registry_password: Kupboard1234
kube_registry_email: username@email.com
kube_registry_domain: harbor.mycompany.com
kube_registry_url: harbor.mycompany.com/myproject
note

kube_enable_rook needs to be true if you want to use a persistent volume in a service cluster.

kube_registry_password should be 8-20 characters long with at least 1 uppercase, 1 lowercase and 1 number. Check out Harbor Package for more information.

Secrets#

Secrets variables are used to access various open source packages. If you're not using open source packages, you can ignore these variables.

## Secrets
##
grafana_admin_password: kupboard
harbor_admin_password: kupboard
argocd_admin_password: kupboard
mysql_root_password: kupboardroot
mysql_user_password: kupboard1234
mongodb_root_password: kupboardroot
redis_root_password: kupboardroot
influxdb_root_password: kupboardroot
minio_access_key: kupboard
minio_secret_key: kupboard1234
keycloak_admin_password: kupboard

Cluster#

In cluster section, public IP and private IP of all servers in the kupboard platform. Fill the cluster section with IP addresses of servers we created.

## Cluster Definition
##
cluster:
admin:
- name: admin-node1
public_ip: x.x.x.x
private_ip: x.x.x.x
gateway:
- name: gateway-node1
public_ip: x.x.x.x
private_ip: x.x.x.x
service:
- name: service-node1
public_ip: x.x.x.x
private_ip: x.x.x.x
- name: service-node2
public_ip: x.x.x.x
private_ip: x.x.x.x
- name: service-node3
public_ip: x.x.x.x
private_ip: x.x.x.x
- name: service-node4
public_ip: x.x.x.x
private_ip: x.x.x.x

The configuration of the cluster can be customized as you want. If you want to configure it for test or demo, you can configure it with six servers as above, but you can configure three gateway servers and four or more servers in the service clutter to install a variety of solutions. If you want to build a separated Data plane, you can configure an additional storage cluster.

Custom Cluster#

You can also add clusters with names you want as shown in the following example.

## Cluster Definition
##
cluster:
admin:
- name: admin-node1
public_ip: x.x.x.x
private_ip: x.x.x.x
finance:
- name: finance-node1
public_ip: x.x.x.x
private_ip: x.x.x.x
- name: finance-node2
public_ip: x.x.x.x
private_ip: x.x.x.x
blockchain:
- name: blockchain-node1
public_ip: x.x.x.x
private_ip: x.x.x.x

Hostname#

The servers in the cluster section have a naming convention such as <cluster-name>-node#. For example, the first server in the admin cluster is admin-node1 and the second server in the service cluster is service-node2.

note

When the initialization is complete, the server can be accessed via ssh connection usingkupboard ssh admin-node1.