Table of Contents

Tabul Configuration Vault (.tabul.yml)

About

The Tabul configuration vault is a configuration file named .tabul.yml that stores:

and is located:

Location

By default,

You can get the location of the configuration vault with the variable list command.

tabul env list conf
attribute   value                              origin    description
---------   --------------------------------   -------   ------------------------
CONF        /home/tabulify/.tabul/.tabul.yml   Default   The conf vault file path

Default creation if not found

By default, if a configuration vault file does not exist, it will be created with:

kind: tabul
spec:
  connections:
    mysql:
      comment: The default mysql data store
      driver: com.mysql.cj.jdbc.Driver
      password: my-secret-pw
      uri: jdbc:mysql://localhost:3306/howto
      user: root
      varchar-default-precision: 2000
    oracle:
      comment: The howto oracle connection
      driver: oracle.jdbc.OracleDriver
      login-statements: ALTER SESSION SET CURRENT_SCHEMA = tabulify
      name-quoting-enabled: false
      password: oracle
      uri: jdbc:oracle:thin:@localhost:1521/freepdb1
      user: system
    postgres:
      comment: The howto postgres connection
      driver: org.postgresql.Driver
      password: welcome
      uri: jdbc:postgresql://localhost:5432/postgres
      user: postgres
    smtp:
      comment: HowTo Smtp Connection
      from: [email protected]
      to: [email protected]
      uri: smtp://localhost:1025
    sqlite:
      comment: The sqlite default connection
      driver: org.sqlite.JDBC
      uri: jdbc:sqlite:////home/tabulify/.tabul/sqlite.sqlite3
    sqlite_target:
      comment: The default sqlite target (Sqlite cannot read and write with the same
        connection)
      driver: org.sqlite.JDBC
      uri: jdbc:sqlite:////home/tabulify/.tabul/sqlite_target.sqlite3
    sqlserver:
      comment: The default sqlserver connection
      driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
      password: TheSecret1!
      uri: jdbc:sqlserver://localhost:1433;encrypt=true;trustServerCertificate=true
      user: sa
  services:
    mysql:
      environment:
        MYSQL_DATABASE: howto
        MYSQL_ROOT_PASSWORD: my-secret-pw
      image: mysql:5.7.37
      ports:
      - 3306:3306
      type: docker
    oracle:
      environment:
        APP_USER: tabulify
        APP_USER_PASSWORD: oracle
        ORACLE_ALLOW_REMOTE: 'true'
        ORACLE_DISABLE_ASYNCH_IO: 'true'
        ORACLE_PASSWORD: oracle
      image: ghcr.io/gvenzl/oracle-free:23.7-slim-faststart
      ports:
      - 1521:1521
      type: docker
    postgres:
      environment:
        POSTGRES_PASSWORD: welcome
      image: postgres:13.21
      ports:
      - 5432:5432
      type: docker
    smtp:
      environment:
        MP_LABEL: Tabulify HowTo Service
        MP_TENANT_ID: tabulify
      image: axllent/mailpit:v1.25.1
      ports:
      - 1025:1025
      - 8025:8025
      type: docker
    sqlserver:
      environment:
        ACCEPT_EULA: Y
        MSSQL_SA_PASSWORD: TheSecret1!
      image: mcr.microsoft.com/mssql/server:2022-CU19-ubuntu-22.04
      ports:
      - 1433:1433
      type: docker

Cli Command

Advanced user will modify the file directly with a text editor but for convenience, we provide also:

In every tabul command, you can specify the location of this file with:

Secret

The configuration vault supports secrets as value.

You can:

Format

The .tabul.yml file is a manifest where the configurations are stored in the spec field

kind: tabul
spec:
  # List of global attributes
  env:
    key1: value
    key2: value
  # List of connections
  connections:
    connectionName1:
      # uri
      uri: uri
      # description
      description: description
      # user
      user: user
      # password
      password: ${MY_PASSWORD}
      # Native Driver extra attributes
      natives:
        # for example, for jdbc sql driver
        applicationName: myName
    connectionName2:
      uri: xxx
  # List of Services
  services:
     name:
         type: docker
         image: xxx
         ...