Tabul Configuration Vault (.tabul.yml)

Undraw My Documents

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,

  • the file is searched recursively from the working directory
  • if:
    • found, it defines the app home directory
    • not found, the path is in the user $HOME\.tabul directory.

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
         ...



Related HowTo
Undraw My Documents
How to create a SMTP connection?

This howto shows you how to create a smtp connection to a SMTP system An oracle connection supports : all common connection attributes Uri, user, password ... and all Smtp connection...
Undraw My Documents
How to create a SQLite connection?

This howto shows you how to add a Sqlite connection. An sqlite connection supports : all common connection attributes Uri, user, password ... and all relational connection attributes ...
Undraw My Documents
How to create an Microsoft SqlServer connection?

This howto shows you how to create a connection to an sqlserver database. An sqlserver connection supports : all common connection attributes Uri, user, password ... and all relational...
Undraw My Documents
How to create an MySQL connection?

This howto shows you how to create a connection to an mysql database. An mysql connection supports : all common connection attributes Uri, user, password ... and all database connection...
Undraw My Documents
How to create an Oracle connection?

This howto shows you how to create a connection to an oracle database. An oracle connection supports : all common connection attributes Uri, user, password ... and all relational connection...
Undraw My Documents
How to start and use the HowTo MySQL database in Tabulify

This howto shows you how to: start an mysql database with the mysql howto docker service and use the @mysql default howto mysql connection in tabul commands. howto docker services are an...
Undraw My Documents
How to start and use the HowTo SMTP server in Tabulify ?

We provide a smtp: howto connection and howto service (ie a Mailpit smtp server, a local server that accepts all messages) This howto shows you how to: start an SMTP server with the smtp howto...
Undraw My Documents
How to start and use the HowTo SqlServer database in Tabulify

This howto shows you how to: start an sqlserver database with the sqlserver howto docker service and use the @sqlserver default howto sqlserver connection in tabul commands. howto docker services...
Undraw My Documents
How to start and use the Oracle database in Tabulify

This howto shows you how to: start an oracle database with the oracle docker service and use the @oracle default howto oracle connection in tabul command. howto docker services are an easy...

Task Runner