- **username**: Specify the User to connect to MariaDB. It should have enough privileges to read all the metadata.
- **password**: Password to connect to MariaDB.
- **hostPort**: Enter the fully qualified hostname and port number for your MariaDB deployment in the Host and Port field.
- **Connection Options (Optional)**: Enter the details for any additional connection options that can be sent to MariaDB during the connection. These details must be added as Key-Value pairs.
- **Connection Arguments (Optional)**: Enter the details for any additional connection arguments such as security or protocol configs that can be sent to MariaDB during the connection. These details must be added as Key-Value pairs.
- In case you are using Single-Sign-On (SSO) for authentication, add the `authenticator` details in the Connection Arguments as a Key-Value pair as follows: `"authenticator" : "sso_login_url"`
- In case you authenticate with SSO using an external browser popup, then add the `authenticator` details in the Connection Arguments as a Key-Value pair as follows: `"authenticator" : "externalbrowser"`
The `sourceConfig` is defined [here](https://github.com/open-metadata/OpenMetadata/blob/main/openmetadata-spec/src/main/resources/json/schema/metadataIngestion/databaseServiceMetadataPipeline.json):
We support different security providers. You can find their definitions [here](https://github.com/open-metadata/OpenMetadata/tree/main/openmetadata-spec/src/main/resources/json/schema/security/client).
- You can find all the definitions and types for the `serviceConnection` [here](https://github.com/open-metadata/OpenMetadata/blob/main/openmetadata-spec/src/main/resources/json/schema/entity/services/connections/database/mariaDBConnection.json).
- The `sourceConfig` is defined [here](https://github.com/open-metadata/OpenMetadata/blob/main/openmetadata-spec/src/main/resources/json/schema/metadataIngestion/databaseServiceProfilerPipeline.json).
`tableConfig` allows you to set up some configuration at the table level.
All the properties are optional. `metrics` should be one of the metrics listed [here](https://docs.open-metadata.org/openmetadata/ingestion/workflows/profiler/metrics)
#### Workflow Configuration
The same as the metadata ingestion.
### 2. Run with the CLI
After saving the YAML config, we will run the command the same way we did for the metadata ingestion:
```bash
metadata profile -c <path-to-yaml>
```
Note how instead of running `ingest`, we are using the `profile` command to select the Profiler workflow.
In order to integrate SSL in the Metadata Ingestion Config, the user will have to add the SSL config under connectionArguments which is placed in the source.
```yaml
---
source:
type: mariadb
serviceName: "<servicename>"
serviceConnection:
config:
type: MariaDB
username: <username>
password: <password>
hostPort: <hostPort>
...
...
connectionArguments:
ssl:
ssl_ca: /path/to/client-ssl/ca.pem,
ssl_cert: /path/to/client-ssl/client-cert.pem
ssl_key: /path/to/client-ssl/client-key.pem
#ssl_disabled: True #boolean
#ssl_verify_cert: True #boolean
#ssl_verify_identity: True #boolean
```
- **ssl**: A dict of arguments which contains:
- **ssl_ca**: Path to the file that contains a PEM-formatted CA certificate.
- **ssl_cert**: Path to the file that contains a PEM-formatted client certificate.
- **ssl_disabled**: A boolean value that disables usage of TLS.
- **ssl_key**: Path to the file that contains a PEM-formatted private key for the client certificate.
- **ssl_verify_cert**: Set to true to check the server certificate's validity.
- **ssl_verify_identity**: Set to true to check the server's identity.
You can learn more about how to ingest DBT models' definitions and their lineage [here](https://docs.open-metadata.org/openmetadata/ingestion/workflows/metadata/dbt).