To provision Lenses you need to construct
provision.yaml, a file in yaml format describing the resources you want Lenses to connect to. This file will be provided to Lenses CLI to communicate the appropriate state to Lenses API.
provision.yaml support license / connections and uses the following high-level structure:
license: fileRef: # one of the following options # inline: ... # filePath: ... # URL: ... connections: [CONNECTION NAME]: templateName: [CONNECTION TEMPLATE] configurationObject: ... [CONNECTION NAME]: templateName: [CONNECTION TEMPLATE] configurationObject: ...
To set Lenses license use the following format:
license: fileRef: # Read more for files below inline: '[LICENSE FILE CONTENTS]'
A few notes:
fileRefis a key of special usage, learn more here .
Under this root key you can describe the connection details towards multiple core services. The whole list of services can be found here
To set a connection use the following format:
connections: [CONNECTION NAME]: templateName: [CONNECTION TEMPLATE] tags:  # Comma separated list of strings, is required even as an empty array `` configurationObject: ...
A few notes:
- should be unique
- is bound to specific value on some connection types (use
Constant connection nameif specified in connection’s page)
- should follow domain name naming conventions
configurationObjectis specific to the connection type, actual values can be found in Dynamic configuration pages.
- Learn more about how
fileRefis used here .
- To provision Lenses successfully the only required connection is towards the Kafka brokers.
A solid example with 3 connections follows:
connections: kerberos: # Constant connection name templateName: Kerberos tags: [ "production", "cluster-1" ] configurationObject: kerberosKrb5: fileRef: inline: ... kafka: # Constant connection name templateName: Kafka tags: [ "production", "cluster-1" ] configurationObject: protocol: SASL_SSL kafkaBootstrapServers: - SASL_SSL://my-cluster-1:9096 - SASL_SSL://my-cluster-2:9096 - SASL_SSL://my-cluster-3:9096 keytab: fileRef: inline: ... saslJaasConfig: | com.sun.security.auth.module.Krb5LoginModule required ... saslMechanism: GSSAPI sslTruststore: fileRef: inline: ... sslTruststorePassword: ... custom-connect-cluster: # templateName: KafkaConnect tags: [ "production", "cluster-1", "lenses-processors" ] configurationObject: workers: - https://my-custom-connect-cluster:8083 metricsPort: 8084 metricsSsl: true metricsType: JMX
fileRef is a specific key used to reference a file using one of the following
inline: the raw file contents either raw or in base64 (lenses-cli will decode)
URL: url accessible at runtime
filepath: a filesystem reference pointing to a file