A Kubernetes operator to start instances of Dremio REST server.
There is an available deployment file ready to be used. Install operator and CRD:
kubectl apply -f deployment.yaml
An example CR is found at config/samples/operator_v1_dremiorestserver.yaml
. The CRD included in the deployment file is found at config/crd/bases/operator.dremiorestserver.com_dremiorestservers.yaml
.
Launch CR:
kubectl apply -f config/samples/operator_v1_dremiorestserver.yaml
The custom resource's properties are:
tables
: Required. Comma-separated list of tables to exposeconnection
:host
: Required.port
: Optional.user
: Used withpassword
to authenticate on Dremio. Do not provide ifsecretName
is provided.password
: Used withuser
to authenticate on Dremio. Do not provide ifsecretName
is provided.jdbcProperties
: Optional. String for extra connection parameters, in the formatparameter1=value¶meter2=value
.secretName
: Name of a Kubernetes secret containing connection properties. Do not provide ifuser
andpassword
are provided. More information in a later section.
Note that you must provide either secretName
, or user
and password
, but if you provide the former, do not provide the latter two, and vice versa.
A valid sample spec configuration is:
...
spec:
tables: postgres.myschema.mytable
connection:
host: 192.168.123.123
user: dremio
password: dremio123
Another valid sample:
...
spec:
tables: postgres.myschema.mytable
connection:
host: 192.168.123.123
port: 32010
jdbcProperties: useEncryption=false&disableCertificateVerification=true
secretName: mysecret
Instead of writing user and password as properties, you can provide a connection.secretName
property, containing a string with the name of a Kubernetes secret to use to authenticate.
Here is a sample file you can apply with kubectl apply -f secret-file.yml
to create the secret:
apiVersion: v1
kind: Secret
metadata:
name: mysecret
namespace: dremio-rest-server-operator-system
stringData:
USER: dremio
PASSWORD: dremio123