5.0
Construct provision.yaml
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.
Currently 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:
...
License
To set Lenses license use the following format:
license:
fileRef:
# Read more for files below
inline: '[LICENSE FILE CONTENTS]'
A few notes:
fileRef
is a key of special usage, learn more here .
Connections
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:
CONNECTION NAME
:- should be unique
- is bound to specific value on some connection types (use
Constant connection name
if specified in connection’s page) - should follow domain name naming conventions
configurationObject
is specific to the connection type, actual values can be found in Dynamic configuration pages.- Learn more about how
fileRef
is 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
Files
fileRef
is a specific key used to reference a file using one of the following
supported options:
inline
: the raw file contents either raw or in base64 (lenses-cli will decode)URL
: url accessible at runtimefilepath
: a filesystem reference pointing to a file
Contents