From 445650b59310c415ed8ba7962bf8cc3053b93529 Mon Sep 17 00:00:00 2001 From: Tapajit Chandra Paul Date: Mon, 28 Oct 2024 13:11:19 +0600 Subject: [PATCH] Add druid TLS docs Signed-off-by: Tapajit Chandra Paul --- docs/guides/druid/tls/_index.md | 10 + docs/guides/druid/tls/guide.md | 308 ++++++++++++++++++ docs/guides/druid/tls/images/druid-ui.png | Bin 0 -> 99499 bytes docs/guides/druid/tls/images/tls.png | Bin 0 -> 41254 bytes docs/guides/druid/tls/overview.md | 70 ++++ .../druid/tls/yamls/deep-storage-config.yaml | 16 + .../druid/tls/yamls/druid-ca-issuer.yaml | 8 + .../druid/tls/yamls/druid-cluster-tls.yaml | 21 ++ 8 files changed, 433 insertions(+) create mode 100755 docs/guides/druid/tls/_index.md create mode 100644 docs/guides/druid/tls/guide.md create mode 100644 docs/guides/druid/tls/images/druid-ui.png create mode 100644 docs/guides/druid/tls/images/tls.png create mode 100644 docs/guides/druid/tls/overview.md create mode 100644 docs/guides/druid/tls/yamls/deep-storage-config.yaml create mode 100644 docs/guides/druid/tls/yamls/druid-ca-issuer.yaml create mode 100644 docs/guides/druid/tls/yamls/druid-cluster-tls.yaml diff --git a/docs/guides/druid/tls/_index.md b/docs/guides/druid/tls/_index.md new file mode 100755 index 0000000000..c25a09ea76 --- /dev/null +++ b/docs/guides/druid/tls/_index.md @@ -0,0 +1,10 @@ +--- +title: Run Druid with TLS +menu: + docs_{{ .version }}: + identifier: guides-druid-tls + name: TLS/SSL Encryption + parent: guides-druid + weight: 45 +menu_name: docs_{{ .version }} +--- diff --git a/docs/guides/druid/tls/guide.md b/docs/guides/druid/tls/guide.md new file mode 100644 index 0000000000..7beefcdf60 --- /dev/null +++ b/docs/guides/druid/tls/guide.md @@ -0,0 +1,308 @@ +--- +title: Druid Combined TLS/SSL Encryption +menu: + docs_{{ .version }}: + identifier: guides-druid-tls-guide + name: Topology Cluster + parent: guides-druid-tls + weight: 30 +menu_name: docs_{{ .version }} +section_menu_id: guides +--- + +> New to KubeDB? Please start [here](/docs/README.md). + +# Run Druid with TLS/SSL (Transport Encryption) + +KubeDB supports providing TLS/SSL encryption for Druid. This tutorial will show you how to use KubeDB to run a Druid cluster with TLS/SSL encryption. + +## Before You Begin + +- At first, you need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. If you do not already have a cluster, you can create one by using [kind](https://kind.sigs.k8s.io/docs/user/quick-start/). + +- Install [`cert-manger`](https://cert-manager.io/docs/installation/) v1.0.0 or later to your cluster to manage your SSL/TLS certificates. + +- Now, install KubeDB cli on your workstation and KubeDB operator in your cluster following the steps [here](/docs/setup/README.md). + +- To keep things isolated, this tutorial uses a separate namespace called `demo` throughout this tutorial. + + ```bash + $ kubectl create ns demo + namespace/demo created + ``` + +> Note: YAML files used in this tutorial are stored in [docs/examples/druid](https://github.com/kubedb/docs/tree/{{< param "info.version" >}}/docs/examples/druid) folder in GitHub repository [kubedb/docs](https://github.com/kubedb/docs). + +## Overview + +KubeDB uses following crd fields to enable SSL/TLS encryption in Druid. + +- `spec:` + - `enableSSL` + - `tls:` + - `issuerRef` + - `certificate` + +Read about the fields in details in [druid concept](/docs/guides/druid/concepts/druid.md), + +`tls` is applicable for all types of Druid (i.e., `combined` and `topology`). + +Users must specify the `tls.issuerRef` field. KubeDB uses the `issuer` or `clusterIssuer` referenced in the `tls.issuerRef` field, and the certificate specs provided in `tls.certificate` to generate certificate secrets. These certificate secrets are then used to generate required certificates including `ca.crt`, `tls.crt`, `tls.key`, `keystore.jks` and `truststore.jks`. + +## Create Issuer/ ClusterIssuer + +We are going to create an example `Issuer` that will be used throughout the duration of this tutorial to enable SSL/TLS in Druid. Alternatively, you can follow this [cert-manager tutorial](https://cert-manager.io/docs/configuration/ca/) to create your own `Issuer`. + +- Start off by generating you ca certificates using openssl. + +```bash +openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ./ca.key -out ./ca.crt -subj "/CN=druid/O=kubedb" +``` + +- Now create a ca-secret using the certificate files you have just generated. + +```bash +kubectl create secret tls druid-ca \ + --cert=ca.crt \ + --key=ca.key \ + --namespace=demo +``` + +Now, create an `Issuer` using the `ca-secret` you have just created. The `YAML` file looks like this: + +```yaml +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + name: druid-ca-issuer + namespace: demo +spec: + ca: + secretName: druid-ca +``` + +Apply the `YAML` file: + +```bash +$ kubectl create -f https://github.com/kubedb/docs/raw/{{< param "info.version" >}}/docs/guides/druid/tls/yamls/druid-ca-issuer.yaml +issuer.cert-manager.io/druid-ca-issuer created +``` + +## TLS/SSL encryption in Druid Cluster + +### Create External Dependency (Deep Storage) + +Before proceeding further, we need to prepare deep storage, which is one of the external dependency of Druid and used for storing the segments. It is a storage mechanism that Apache Druid does not provide. **Amazon S3**, **Google Cloud Storage**, or **Azure Blob Storage**, **S3-compatible storage** (like **Minio**), or **HDFS** are generally convenient options for deep storage. + +In this tutorial, we will run a `minio-server` as deep storage in our local `kind` cluster using `minio-operator` and create a bucket named `druid` in it, which the deployed druid database will use. + +```bash + +$ helm repo add minio https://operator.min.io/ +$ helm repo update minio +$ helm upgrade --install --namespace "minio-operator" --create-namespace "minio-operator" minio/operator --set operator.replicaCount=1 + +$ helm upgrade --install --namespace "demo" --create-namespace druid-minio minio/tenant \ +--set tenant.pools[0].servers=1 \ +--set tenant.pools[0].volumesPerServer=1 \ +--set tenant.pools[0].size=1Gi \ +--set tenant.certificate.requestAutoCert=false \ +--set tenant.buckets[0].name="druid" \ +--set tenant.pools[0].name="default" + +``` + +Now we need to create a `Secret` named `deep-storage-config`. It contains the necessary connection information using which the druid database will connect to the deep storage. + +```yaml +apiVersion: v1 +kind: Secret +metadata: + name: deep-storage-config + namespace: demo +stringData: + druid.storage.type: "s3" + druid.storage.bucket: "druid" + druid.storage.baseKey: "druid/segments" + druid.s3.accessKey: "minio" + druid.s3.secretKey: "minio123" + druid.s3.protocol: "http" + druid.s3.enablePathStyleAccess: "true" + druid.s3.endpoint.signingRegion: "us-east-1" + druid.s3.endpoint.url: "http://myminio-hl.demo.svc.cluster.local:9000/" +``` + +Let’s create the `deep-storage-config` Secret shown above: + +```bash +$ kubectl create -f https://github.com/kubedb/docs/raw/{{< param "info.version" >}}/docs/guides/druid/tls/yamls/deep-storage-config.yaml +secret/deep-storage-config created +``` + +Now, lets go ahead and create a druid database. + +```yaml +apiVersion: kubedb.com/v1alpha2 +kind: Druid +metadata: + name: druid-cluster-tls + namespace: demo +spec: + version: 28.0.1 + enableSSL: true + tls: + issuerRef: + apiGroup: "cert-manager.io" + kind: Issuer + name: druid-ca-issuer + deepStorage: + type: s3 + configSecret: + name: deep-storage-config + topology: + routers: + replicas: 1 + deletionPolicy: Delete +``` + +### Deploy Druid Topology Cluster with TLS/SSL + +```bash +$ kubectl create -f https://github.com/kubedb/docs/raw/{{< param "info.version" >}}/docs/guides/druid/tls/yamls/druid-cluster-tls.yaml +druid.kubedb.com/druid-cluster-tls created +``` + +Now, wait until `druid-cluster-tls created` has status `Ready`. i.e, + +```bash +$ kubectl get druid -n demo -w + +Every 2.0s: kubectl get druid -n demo aadee: Fri Sep 6 12:34:51 2024 +NAME TYPE VERSION STATUS AGE +druid-cluster-tls kubedb.com/v1alpha2 28.0.1 Ready 20s +druid-cluster-tls kubedb.com/v1alpha2 28.0.1 Provisioning 1m +... +... +druid-cluster-tls kubedb.com/v1alpha2 28.0.1 Ready 38m +``` + +### Verify TLS/SSL in Druid Cluster + +```bash +$ kubectl describe secret druid-cluster-tls-client-cert -n demo +Name: druid-cluster-tls-client-cert +Namespace: demo +Labels: app.kubernetes.io/component=database + app.kubernetes.io/instance=druid-cluster-tls + app.kubernetes.io/managed-by=kubedb.com + app.kubernetes.io/name=druids.kubedb.com + controller.cert-manager.io/fao=true +Annotations: cert-manager.io/alt-names: + *.druid-cluster-tls-pods.demo.svc.cluster.local,druid-cluster-tls-brokers-0.druid-cluster-tls-pods.demo.svc.cluster.local:8282,druid-clust... + cert-manager.io/certificate-name: druid-cluster-tls-client-cert + cert-manager.io/common-name: druid-cluster-tls-pods.demo.svc + cert-manager.io/ip-sans: 127.0.0.1 + cert-manager.io/issuer-group: cert-manager.io + cert-manager.io/issuer-kind: Issuer + cert-manager.io/issuer-name: druid-ca-issuer + cert-manager.io/uri-sans: + +Type: kubernetes.io/tls + +Data +==== +ca.crt: 1147 bytes +keystore.jks: 3720 bytes +tls-combined.pem: 3835 bytes +tls.crt: 2126 bytes +tls.key: 1708 bytes +truststore.jks: 865 bytes +``` + +Now, Lets exec into a druid broker pod and verify the configuration that the TLS is enabled. + +```bash +$ kubectl exec -it -n demo druid-cluster-tls-coordinators-0 -- bash +Defaulted container "druid" out of: druid, init-druid (init) +bash-5.1$ cat conf/druid/cluster/_common/common.runtime.properties +druid.client.https.trustStorePassword={"type": "environment", "variable": "DRUID_KEY_STORE_PASSWORD"} +druid.client.https.trustStorePath=/opt/druid/ssl/truststore.jks +druid.client.https.trustStoreType=jks +druid.emitter=noop +druid.enablePlaintextPort=false +druid.enableTlsPort=true +druid.metadata.mysql.ssl.clientCertificateKeyStorePassword=password +druid.metadata.mysql.ssl.clientCertificateKeyStoreType=JKS +druid.metadata.mysql.ssl.clientCertificateKeyStoreUrl=/opt/druid/ssl/metadata/keystore.jks +druid.metadata.mysql.ssl.useSSL=true +druid.server.https.certAlias=druid +druid.server.https.keyStorePassword={"type": "environment", "variable": "DRUID_KEY_STORE_PASSWORD"} +druid.server.https.keyStorePath=/opt/druid/ssl/keystore.jks +druid.server.https.keyStoreType=jks +``` + +We can see from the above output that, all the TLS related configuration is added. Here the `MySQL` and `ZooKeeper` deployed with Druid is also TLS secure and their connection configs are added as well. + +#### Verify TLS/SSL using Druid UI + + +To check follow the following steps: + + +Druid uses separate ports for TLS/SSL. While the plaintext port for `routers` node is `8888`. For TLS, it is `9088`. Hence, we will use that port to access the UI. + +First port-forward the port `9088` to local machine: + +```bash +$ kubectl port-forward -n demo svc/druid-cluster-tls-routers 9088 +Forwarding from 127.0.0.1:9088 -> 9088 +Forwarding from [::1]:9088 -> 9088 +``` + + +Now hit the `https://localhost:9088/` from any browser. Here you may select `Advance` and then `Proceed to localhost (unsafe)` or you can add the `ca.crt` from the secret `druid-cluster-tls-client-cert` to your browser's Authorities. + +After that you will be prompted to provide the credential of the druid database. By following the steps discussed below, you can get the credential generated by the KubeDB operator for your Druid database. + +**Connection information:** + +- Username: + + ```bash + $ kubectl get secret -n demo druid-cluster-tls-admin-cred -o jsonpath='{.data.username}' | base64 -d + admin + ``` + +- Password: + + ```bash + $ kubectl get secret -n demo druid-cluster-tls-admin-cred -o jsonpath='{.data.password}' | base64 -d + LzJtVRX5E8MorFaf + ``` + +After providing the credentials correctly, you should be able to access the web console like shown below. + +

+  lifecycle +

+ +From the above output, we can see that the connection is secure. + +## Cleaning up + +To cleanup the Kubernetes resources created by this tutorial, run: + +```bash +kubectl delete druid -n demo druid-cluster-tls +kubectl delete issuer -n demo druid-ca-issuer +kubectl delete ns demo +``` + +## Next Steps + +- Detail concepts of [Druid object](/docs/guides/druid/concepts/druid.md). +- Monitor your Druid cluster with KubeDB using [out-of-the-box Prometheus operator](/docs/guides/druid/monitoring/using-prometheus-operator.md). +- Monitor your Druid cluster with KubeDB using [out-of-the-box builtin-Prometheus](/docs/guides/druid/monitoring/using-builtin-prometheus.md). +- Use [kubedb cli](/docs/guides/druid/cli/cli.md) to manage databases like kubectl for Kubernetes. +- Detail concepts of [Druid object](/docs/guides/druid/concepts/druid.md). +- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md). diff --git a/docs/guides/druid/tls/images/druid-ui.png b/docs/guides/druid/tls/images/druid-ui.png new file mode 100644 index 0000000000000000000000000000000000000000..9f173c38c2d03c2ebe86cb9453506478e86eb9bd GIT binary patch literal 99499 zcmZsB1yqzx*fvN@hjgldbayErA*G;nr*wBI-AFep($d{5xim}H(%lV9@4vp^dE@)f zH|KD6c%GSg=AOCZx+DCfvMly<^5+N$2-xy+(y9muXub#t$QbCT@F!ie1jg_mWM@hF z&*<>xgKioI|DVj|y{3zry}66Kk&_vMg`K^v8Jn|-lbM;F^H+P96C|KGe2|glXH6F= zCo>}#OM5%o&z81k@P`Nps|Ag#g^{ZT<*Nmys|D?=1(meig0!mz!K(#HtA)|41%SU^ z!{5PQaB}m~a&ifC@(OeF{Lh%*@aKO`Yx-+&uAHz*0RjRog1q#*&mNhFOP;z(W>2uQ zSs}F1xaqg^Oq5ig9OZQ<24BxIrKmbjac5Ok+dyY){a7-F)2rK9Su%>p`9}ts^2zEb zZOKMZQWiNsKTlGs4E(m^ki0^JhKFo=hG2ZMv%!_H2=y($chArw*ne9s<@orx%icu(gNX^x%*+4Xu<=Mq5Ne~xMV zuLbkoM}&uWg25^|75`l;OitkiHFb=NGYOq)+|X8+9Y?1*N9UHynp2BolkSLK@_z=` z;>qOV=XQP@H|;UL?zOq@{rZ_EFLTqag^LtxL@#8v)@u4gPDLiwhYyrQFS0uHRVNnn z|1(_D<4^~(oJaf+?!$OTAAx2u=nf;ws64%U(=}qw}uWarN zLLg-r+&+Oi6y6hyOI8@t(wU1ko zl>(_0ipVI=%uNtIEJ)~36HTK`z*W%$l92qvp2*c0XH4q&`jW3RPTk-w0gDI z1T!%(Y*&ov1wHUZOxvbef<6( zX3Z?Y+7+FVa&m*k@W_b-zeKB=z%;gK)( zva+({Z8`xOqh}kVOO(PcjiY@HwKVGgoB)2@-Kj2GsBJGF<>-dg@)+SsIIbzss zHT3bN@Hdw;&SiPVhqac1`fivPab3N;54v&X#EKXiI zE+L6li_Ti}eVz`s-d@&O6Xn9naKsF^tl)J2Vv-F#Bq3PIz!`nC`7mUEtZHQup63lC zEu|1h(4SiDoni>P=|sX%(CKyGyLz0zX5_CDF!H33D~6gJY$#e0{e3iX&D^9|t8Rc# z+ZntLv>N)iXkA@h2r6>7C;qU|x`XyJ)ubyP(^Er)<)?dzR^jqa!=FV(sWWAPt-{B7 z@(HP2Ca6zOPt(V^xVSr^Y6TR2J6Z0j68`P8R&U-EEhM_L-*%57E(+T|Q`X^PNI)ut zpwW0!mr40J+yxnTgq7tXhfaofn)a-{foqrUewGlf`~3H%S~`y|V6&z6WddsIQSXzs zP{@(_`R2gpwwD0ox%RI2q>_M9m8Qp0-E1r0CfVL{n+SVKWR{3KzYaD-Lb&4w$PxaE zfP!LZJXdzU#hrsfz;3e}S7H-HVQ+eOxu@$g{$5Fa5`{#!;{q(9qN_`ZfPsPWu*KoO zwgd3Dt95SHwL7GbVTNq53)19PohOc#Y1bLwoUZls^i*0-GVt3iYVKT+M$3#!NYvZq zR5YcQXVvKHFH+D}uTUMvX1j5*n&3VI^di8`DpD~%vPPosL3dP8aIo+-Utot4KS4BII z=T;yr-)QaGR#ZQ9xi|8U}bnBU!jdFQ{(3DZlcOWmJ$ce z8+vSeei0fPdeMc+fk#6F21QfcUPJ7;GDcoAFgQV%+<81s4OP|DGHMHQq(aZy- zhXH{S*0beh7foGV3z)+hRQWLY<^7S#R20)Wo*e&LxTi4l&b)$7;TG;)%roD4eD zWGyq5=Pgo+0u||!VKm%{h-XGOB9Z-bPkb!E``b-F80j4rnVhjMDI!sPLVH?;x*h$b zdf%g2VfemeCVj${rNsijj{~(T9bW{QCrZ>wCD)urlt?{laKHc6YzHb#>co8B~e18FZ;n!lY2e0rq8sEcu5`8d@yWY$mg&D z061o6Ek$@yqb8XS4KFX|95aLaQ6Kbe0ysxCmjSS zeIBo7Eku`#M+GmlL_N9PS9}E&QrOLo7n_!g23YEC=AXRw$&4>+DzACa7k!^i*P_ckCPV0SDBi39k+-Qs=%+HxANu~3;Q*Bhd+Z~bHz z1(twiZf z`4--f_=;@2Q)X~*i?X&SA(1y?{5?&w+xT4qr!mnZTXCswbA%5-?hcn`c(+rX*sqC3 zr|f8ByCL8T*$6#!_9vSWa`Ks?!doQ|9rlwi#7Q9*ig^i;G*e%q4 zTS*%6000>6#6N6u&vYU$9AVh^T1fonRI1tiWU$hxJDv5Ck31TSocD((|$fDRE?PXAj(g_f&g(*#j;q8qN))?Y{TF#SA<=G^r$4tWsMXMsjg^ zoLy9m+4v`B{0DhrMF)OMncYL2M{;YLTwPRzHE9_))TpTiBEO)R-z`DKE0m8VH90kT z+-lCZ&^&Gu9zW9nbmUU6-TfLxk~vHB%3wd{p<;c_i_KHx$={)3-K7JMyC1#Ep(p9X zi+b6P3E4|s-z^Z`&W6WIJYUsdnlRwLrrjc32JcE1eq@2Hz_M#8X`QL8O&~ntblE== zM>aFonVWrOO(1B&Pdmp>E07bGPM0%iikVVm{4unU$gZdqMHlo~ zcf#R)S0J~(!MbVlp|F1{d%VF*ST-f!tDS>wsgJ7-m}G{jp70J2Lqq=^VD4i866=lN z^MRqc!C3=4hHg~6fmI3+e)2hcq*??54Xe1gG`*6EIl;H2BN{ei-zh;mxnZ+Ci5ZW5 z&R{$MZ`c#nON{!teu=tQ^Ha&k-J#<^Da$^mm}msRq)UBzz%HjDX9`0Po>f5C16Aq6 zF2w}KOTP}zJ4R^&tLnIvs*E}oAcr1FWBrafLp7K)gb{>Kj=*otZ~(kXOr!+gT2VJN z-&uLKC*9!9SUj8Lz-IWSW_^BWFR<=r9)lp*wczig7*V(HEEM0IrdLnu)ze2nVAz$M zFu1Teomc;jKJ)$GQiA*|H}~eaX3!Wb?anf`vP2+$RG4jSLu)FTnUJbS=$wA1m; zO-xW|C?O@0^v92!ot^J$Z6V34t1}N!pf%iix_s~#^IUzp?;jcIwPO4Evm>JJ=eNT{ z8&$OuFz$ZW+UXN(=&YVQRc~)^>+N=iK21y0l!ez0XrjuO((cvGO$+<0pW^Z zxz!VnTFQY>UKN0qt#a}^R1_5T`E3V5%|-`0wE{&tCZ_P=VMTG+Vh#0M*BpDLfIy1s zelNW4Y~QS%cqdQ)W2DkL5a-=-i^r87ra!q*B=$9Jh}b_61;2yx&^OO2{1c zkqdi0g?yXC6{J;~XOVgMV?-!5oQ*5~jekFDb-cwDU5*rG@@EwbdsCY?qnTx!NP^b$ z1`N#EILVa!`7aQR>U{K`g+)aKM1Aq8>VDqoc-eNTDuX+^Q^o;Ro2*#QOf)N9{DO?b z7_81H{bkXb!LDC0q|f|(X%^trgD<~AheReO80+tI%cJ}dPUDCz_0n1H){6|y7BPta zvcNx@FFl;X2|HJ0Ztm#_sAY|!@GaV>Fs*TImh+bs9g}rR%?z<(;S+q3<(>&BkZw|I z$T{+`FAULW)2A*oDb3AC@}WvgCA(tVv83e01>Era*KnCnix^r4eN4Oj7l{?J6?P-r zW+Y1f(wXN5g_m$5hMvMPWgq_+|hF#y3qdNGml8FFPAZQ-(L)P?%9?k&!7dMiAfgt*LZ zSWewir+>qPoVq!=zV-`fEhv@-ckGSAHh3DL*N<5-2lF+Ia8E!lp94Lbo}IlM^rO1!#HvW%(XmP+#u7cHWS?>uZf+J#{BPFK z>g`vQH8n}e$jGKg0s0x~An~$P$3;%js4Ep+@GBY*ZEuaE=jOc;)=jRLH8z?OF%%(a zHBaFZPAh1kzeOL$LSFc&-ko5#7?VDZu)StTy*2c8Wvq#-T2m9(s-w|V(!P(pv3mG; zm!VO~e0b@)Xk)EVIWkzDbTC)Bf__wAN}j3UcSZH`SQ9VRXH^9N`G#6XE}RKs`FPVsPoy?#COJpgwWxL(VnGhK@w> zaZfyH>a>M6iwQd=o{L_hE6l|efn8CbRVNj!pNn5z9Ca9t&@t{zp$S)RC5op+QS!T5 zsi+z;L)64NowEH!vru~oK(Tom_pXG0yEt(*18|7{$D^U~t4(bJi}yW3moPmF+^?^$ zwz{a74V110qI83w8Qbz;`(nv9UWw%bK-~#ffayi$r`aOUJ^&Nht_Vy2GV{(N>vrqy){=C2)B+>4Id@2`7M1E)iJ zpOGauXNj2jv)8X01{{1ub6zpCT=21byp(wDcgB9Pa{I&e{-6=ndEBmDpR9YA&ZMyk z?Hf{PH=0e$o8KFS!vvI)-`EnSjzWLxp(FQ==j!3@wLIUirFj`{Z$T$PA5EVA)A~!Q zeXmi~s(k>tj;{(MZ#*6V!MJZlSu&rB4Ee_68tqiM} zkxH0~I1^dnWkm?+^OD^NZOvC&$2hu=BP)_g**YNg`W;=RiOqv>NL`W=Q_Dc5@PUM# zEw~{WY?PnAKdfw&L#XyGxLR#4!bVV$m=*i6IsET1qFjP@lhX?x^Tn>sf!XtAZ<^C_ z*+@hc8Q!hC19S|GttEF7zJ=S1^K*~$fx^avQIV#DQHWOaCE?Q}ASo$^Ox%Z*@JTQm z?j&=c)Xg%ni#vjL#4>(y*jH#AD)A|u=*~QNTup2IQJ4Hr&JHaO8=$Y8p3SvN3{EjG zYBpE%=Zw#remgL+TX4#%%-!-GBEOGOTs&6p3GFpG75bp-Kw~UfEg$w6{Qlxvz^?2C z+?H3w&i@>9?+ie>xxICS`%MW+Nxh|7HLZFYZSbG%+WY(KBLxo+L3l9BXlFDlS|1E| zUK9(Jv#i99;RuL%tNX4ma6P|EmCY0)stg|Y_|Hc{GiF+c8S_fNpIx7*!mRr8jZq*R4n*)ADs%J zs%%AvnM^$Orn9fO?Rz~;~*-X`Q@EhMP+ii&^8vinyKm)3~9HV zEPrvxq_W#9kxawivn+8nIN(}-PaBvG3R6=2PK27l>{QU<>kWvCR=R5QtT{b+qN4S; zaLL)Nx`*AUV!O@*PVw2&-Xv5N zZ~Q3TBf@XDFnr6>ZVHd8>=CVmV^i?sEjIIE=r!X}A8R#ph>K^_P;j}!S)kJy4D5i3 zUD9gko`o{!oFr-Jc6J8ti9#PDvD1ZWg=GTWy9E;ldY0T*u%~RP7P;Y(EDe3n-jX_x z$vt6TLPA2%o3&7iwh*K}3BqLt#8)!PjghC==-sRRjO9w`fxlF>YG!4CwEnDp*CxPS z0v(6s+pUyEU+5ARDd#tP;A8!Q2|UyytEh+t@Vm22 zm~#1DEyA{c@oe%VJkPMhKJXeQyz+|QhyUv2La{8V??AZaQ|`E)BH$A(Fh^`2oKjqDs+`%CAMRNC_`BZml>*HH(wwz_`_-C@q4OP{P1QFI z^=-DYPycY>=m&t`H5nStVW9;$Ti0zqKPV{Z93J?nx=c{H@eN(!aoS93TvSeGyKf!0 zauCi!M!u=BUlB(L!KQlF@q5~!O2C!Fk)+3y?G)w2-S7z>>_u9of!)Yv6}qABt^k1= z2dDLu!R<@Ut|irFd3ikte1{SaVUb?$-Pm*3^oL+QDQoXHXcOFLx1Ka0K+O4YI4vp) z@sGW`;Gh|jRjZT0UgMm`Q+S>NQz8Y!eFo;R3Ghtu&|}rA&Kn1b=hl}*baFV%pa4hk zZvreFkK$g*p6}+ya$C=^^4rXPYzG@xIV`!(I$n$j)L4M2#o?iIhLVz|o14@(j)Kg# zLtqJYKgN&m&(6-G$oYOx@TUy*!rAQWQZwH@^u%JeTrX9T;SSEqCF*5wn154>Q;BJZ z-rgOlm#Sk@g+%AA47$%dd_}p?Snkq+f-P|Dt0&02cgftx={D5N{XZdGtK9Z2NL=hc zR$SPeN@z6=MbPu7W^#zr)3XI;t{N$}`%}(*vD9SKL$6;=YrmPg*ql<;uyu7I>x+`6 zXqj-TL~*C%8V=y=ju>grNaUsHu4qX(;8r)mwvMztk}VxP=}H|y!jQWSf(mRIW7sLk z$)SIuYMx}IBY<3Q`DCe+Hw#V5&zqU~z>IXY8^f^x9;hzRoql(Tc#Izjpt!E%*9=z- z{=UNM06YTrXvU7_KrEJznnQjs_ohYx4@dVbibt7J3!Rb#-dM&CPv)v+I1jlGXO^d% zVAqd{g9WvIQPd86-M;XYKq2~r6#APFW*Q+>5vud43!zo=8a#^@NZ!sic*G(31sX%u zXYu9cm6k}Bw>UllzLm#HW+qk=AO<}p0tz`6EC!>u5?!S&n(6AH?W;eoU&{#f53qC@ zg}>(RK-2NVAN_Ty4XXR}^@6TkN;J+=XQ1@x_D|{I^*_t^x*)Wr= zMab3sU?EG}#FvKSA1_6T-t2&1wO)Nhliz+hpmWvyvglK46odHfWsQuG|G`Wd1}3IS zUkptXtlfKWYG6`urbL6oZ{Q{vo^I1dL%S%M7MV@*_1UkR(aZ8V?L=!m15xPHKyB*W zPnMY>zSkbTzVFo+c;292MdA@I#Kg0#k=$j z??mM+VRa$5+w(0}gZ9=1$9h``h;LRm5CEWoXDSZoYYIQCV*W@_ONkjTYlVTF;;Gvr z)8qk8M`%r@%_lO)Sv(nOP+*T~WOQvJZWA=lV%`v~-|SXTz&P!KlgDD%+y@@G;y+a# zEVP+BrNjl}n#|nHKU|<<&XsPO9$K`$Fx1()U@a>vpPa=ff+UQ)$8LP*#GG@I(}A($ zg7u=QG=-rr;>Au9-@h-SUhJx>qrh)^hSg6`X8U3B&dp zl@r{Fd21$eF4_Z&RhgTK6Ynx5YMkb0vB(xf*ETqM1EO1pKgR>-R@11P>mTE&_V6;n z*R>Jvg$6WR0_qS0cX>RB#C#|PpGWo&4Chti81#lzCDfm*#V4SS1HqgG&wQjX#hd@G z1#lqR{&B4*+)|0;Hlg9yMG_p?R11EQ{a7zqDtnz^a1?7De1@v~4i`@Do=-*(yPuAdC9%Z*SRG;b z8mjQr79^p(kPCw$0=UDRL9z#wvHIG(4Eg&Vs z>pZr1Wk`;RL8}7}4gn^N(W2~YOc&OAXf5#UTMFxkQ`u>lu_E_#9cqBPy{Hx7*N5e}41A}t7 z!(X77Ci(d@5kg-Kl?fbYv|i2VP>Q&f%J0Jw49y%o!V6C#6~HC$k9162j`AH{6l5+w zFhlMxmGhJ`#=N2@f&TskgoFeA{f5)Ozhnx2YFZK(5ebE7DXeLV&iwl1vAg1*hBq5O zKQ*0t|MnC38@Pvs$>n|xI9QuiX^(jq$i9=HB2Irh0B;a$iCTrot9*DRQl)W=OItotPQak(iiR>9VJq%wAU4Rx=Ji(MbI^uW4^UL#nTD6@c5|K3l99 zj;G#VrPKI7-d&X%0NWRQ;rMaMTlGLNUUj8lIynfZbMt7atmEIpl0137r>j%wGVJF# zs2-x=aaa+Xkn}|;k;PH)#%3OP^W+aRS?w5Vbz(Q5p{Y>W60u(vwQIlK7T)26$1;aA z1i&SHnL`u)qo!;3ETp`2Apjh^ZsW6^uYSahIbRGB{GQk|d(()7hJ)_2epaq(L_Ak9 z6s&lqeE&(@%l>`z_lgEzxDTY5!H*r<-8pOEe{^-$HnYd#Bn+=IRvLY zD8ufK5DYxWU-6su;X(DzfESu@s~WYE<6ba9Q|DK^-z+(`m-hMKzJ83q|Rf6L6rl z3%`WLj;p6LDIe*xw(lkQL!2#Gn>9d4`@wNgl zR28(d8C#JX`i+l|nB2S2|L!1narc=A6}E)z(mI)N)=mK zcS98X44ry=83pwuRgFTHersAo1{^&F4<0DyxLwUq3ZATiAs8V%8Trqp^xJFx&+L?rxBd^>T7T{ZEwFQ}D91(t+Xo(F;U$D`1P&BSQG&OQZvG|b z<;&<1Lry$OqHptuki~pCq&KH!*;RkO$6hm^^5Y`Fa(b|I^H zx8Eeh#S6CC-?#Qq(Ag^Bda&v%*i%ZHh6wSC zH+Ao%-u~?qZ0eful5>$`kt)fsni~w88$`({`FWQ!x9IBt_R@6jK95d+f){HI9=Vxt zlAl%8c5PaN40#E@@*0mtR)l5dFS4iXm=mR7hAxGa^u!G9iS9hT#rr$RhHojq?;L%t z+nQZ6rjh<$Yt9-23$%Hl;P{EoQ)r$D@TQ>WxMRzS-#z^0%V}&GR@dSs#D2;mM&gZcx|160w)WQTW;@NU*=``$^l|Z0TVDTFPGcq#js0l{OMXoss z!P#{noRA-`2SUcbzGh{OnxV@PJmmin@qCRkll*VO;lHE$e{589Mhp6_?VFQh?B}30 zhxlwiyc9L6wwF$Joau@^dU&A&eL;_n&3^ynfu!^HzOH??B(Q6sfHSZVXDVFM<^k6U z&kXQ|3L7((uTNBRi;B<{K04eUWdFlgVR9z$qPOUB)|*P?x`Mo((YRNk(~k@9d^C& z=eUghE4aDiMHzbkl9o4qW3!MvxyaWqG<@W?=GKCa51){(p?)A;%`2T4Hz! ze1{6BQX8!M@A;9Zz?G16_9#Do+=?*RI!7P(KiBX0<}wMC8zm*(BUKUlpO1$T-Th1B zpTn#*gda;>QNEIN9&;Q2f8Igi94u4tO-fq2BKSWGr2bzE{QKcQ+tcO@ZvS`2pB`JP zq`|+!0q?~T55v{mn~ijCeCX*A#e;{GIgY8B$z1#7#fq&+n?~lp_YCj#Ywed}_%3yG zgod4lNQl3r+>P+Q`FU;|l4Q-vuKi4F-a`N9|2JV5K0yg89&+DRZowPUBC8RG&Oy^B z=7Tqi*fmQ03&PLX>j_mO$6%_w+8^aH@E?Qii+3johRQ3Gfj_ z`78HjD&M^szwJ|%er$BibBk*ecYG?UQ3`wCIk^}AIc_-6GvVfUM~r4*q1bS~;AGWa zzis42wo@FBGl~{|+M^WLh5Zl`ZeE+T1YkdFi7{L+gF3^m9ytZvxu$eug{oN|Lt>29 z!=#^OlnMX$tc5hP#Io9>=~y5 zBzW`~7eT{DwyS+E%YODqo)%_e=EBOJ0VyDvcl!sWO3G^{OIv$pg%&?O=<;{#L1aaU8~-51 zc=hOfLHa^dF_@k$I<0&byj`Dj7E}Nn1yJimx5dO_DQ5N$Q}m4it%+>E<$B)FReRxA zz*&OMK*bbhpG z74yeuO2d{=&wG!K+s)_tGNkAYC#jX#Vx`rHkZVGGSXgG8E_C_RQ~U7EqG+(2YWe#6 z6sz|^8|>aH{ze*^Y78Fiqr3NVe+lb;@w#^`^NG~Uu8b!!nP4+hm8E0qV^5k*^Jk`J z0(a-tuG2+170%-izjN%=`3smDp1FD;Y0=~lG&_#RTS-)f*otu3K*Hgi+<4r!5p{wW z7W2G*dM&7)v}tL-mi~Xzmp%9)y!ox$a5Lt9Z-zR0Kjq{(Mvn;id>vwD|$FfF0#XFIU;NB9WmZdI8b)uchBsP zyfB|&DRNoNb$bSp9=D#eZCz%INt@iMq^m&ei}-9ZoXV9+;zNDH?$faF=%0OO5u+7b zWiwyRP%^-0N{iJ->Ep9cbk__Q6M1-*cV_g%Z8haO;0GgV<2*%mmXxdnHS`g@uV`6UaHxQf*qmOmYb)2EFfg zaf4L-X_n{SfyZi!&lj5o=6#1$?_IUkbZH!X(bVUtl&0zGug)I=6$RM1Bh4;nIbPJY z!lkm_?tx?gz(IR!fSD?G!2T;&bj{Mm#Ulyf>PTSQVY-M;S~i%+dq(fIfBUyG3Ro}1 zewayu0Y19XYU;;iwumru=B7W}Pn8q9q)U5mQwc3>FM8~XHfqyv)bIX{pT{)%yU6J+9_bL8pB1A_%YstLHid23{yo}?V$IOYrMs7w)Y3DFDczk zNskZ2RuGPv2pufUG(2;)+GjpWd$ehH=H_;#J3Pz#oCO7x zt-kS;ozQ|U6AtU?HPy{>pJL4T!KC+OWp8$`NaMhrKp;vzCJ8v~l{^;D}I>@z+uiukJSAwq8c>WQyzndn}Mv z%&l~Zkoqon@)KR>!e6paOk(?(K0a6d(Bg6=qETtJVtcudV*5+-yGzk*)yrv}YEukx z1{zQdRpjK_W+1Kv!fLa11-y(><80mnP-Qw0uPt-N-mP)KS$azxxONHEnLc2zR_jsp z40+-1D&Ev-*_WQtn_UJong3<>`h?A9tZ^a$t_sP;(cz}OB+IwA@oP8<$1s}1+RZ_e z??bQd96NGk*^k9sV5LPj^LATfx|pk;$!e*QdH=?R$8M|H!(O&2j!;HRc8%N~G+yK- zB~pIPedh13LvekR<4!3WiO!zgNy-ZaZvXU42FU2;{m5cqsJLGuW&(}jM8-YXp>jnK zc0uMi#9M%~H+-^y`u3A}Qz-O8>YQ8u#!v)hL=Q04?`xzH1s=I*on_Yn{$5vl_F`F$ zqW-9-vdzVm^F&I)3W1zqF~Ks>`o&N$SJHFGrVGbaY#;tZg*o%UEwT0Vni z3M7ifE_JT7+dBeV|5Ep(UdL-GfQO&FH)Yq2OoXD7j2d2tv|oqqRwhpCfBindJn2EG zbiy9pp{{Tl84-JMS{!K{wa=~CgS>{Lj6WcVzvRK#v(6fttc-ZnK6YU~{jqNhdL)qj zT39$!fY_%8jvX{D4YX)QP44o@X$**oV;jA^l6<$+SW{3Y_=@b9%~cR|ud3{UT%mBe zsIk1ju}eRb%lEZsy$LIk!7cuLBGka{VED3O)H|;DEI9!Z@GI;@B3YJ@aPMZ-MSuAt zd3JgWx0(LdUN~J?(T(83+|aX`kL%5Kx!C;ApWCDc282bZ81El?ED$N0jfSX6Lee!C z@XQcxvi%zl_~K;^!n#Bs-I5=5R~9x>Z!RN;54XuGS9d=hZomDtE<&JfMz1HT_L_#H z#n3TPw1sN8jg*Twn-&upn^FPRG5s1X?d(!~fvL#FcLN=5GFGyIAGx;||G6ou8yj|* z?IENxzssxhUK6(QsQ^@$qvWIUOH)=@Rw!Nr0eQR}CPx5kPe|N&`_=!>9r+C{pP7ND zuPfY;o74E*AetNSz+>w9J!>6bzg3y^RU6+%oZ~eX3rcuk2I!bn)^>gDz8u{;Sjj5> zb=2wxyMHj`F*(DfZI-fNrx1!STy9Q91dDdU=x6Oe!0Iy;U+HkuZEDb2|B-<{aNoUt(}*MoVglGjuoPKnqOX z76K&(w8|GXL&x)}U}gt;WW;QibMIr62~!2!xozFqHtGuNo%@O9AQuqlPXL7BUW;p= z{X|1(A(SNY2m||C^>qy&hh~ zOBj4KGnlUhBh;7!b&qbgI&E#O5dr4R+Y#_U>an`Xs*d^zocZMd`g-8;7y}+Xd*3O- z^aY&i^?9w<#8%vU6sa_!dwdY6!DQl*N6Y<)QuWYWc=;}j@wAT0X!?QC!&2+HCo;i2 z7tVE3`@l*=DjEYD!^w{5;Wr_tH&Ea;@~hlmq{8(Q&H|<75R{TjaHHj&!l9@gBj=gA zzK;>}Qh*niqm4##TWgJ99on^pp#bK`js>9v56*eQ%k))W4}Fs2ra%cG@`RUa`s-mgAw74M74)Spjp zCw#h*MNnro__QGm94R}5&XCpY)JT|t2iO}8g}Ln1xh)2Qru`Kvz;$6S*6q^1DC4mF;w3C zfsN-BYF=z>Q>zUiYmNLr-o_M;HuUt}G`rT9WWHn-j;y5Uz2&~a6^bvPywq%*UGB4; zb2zl-v+Dvl4z+zNb(&+tn)Ng}Fh7=H`V3Kuucw`Rf-dEgn(c;~ovponq>`cyK53zy zl=c}29hnRT>{ssFvXARrT| z&Dxop26I}-f3SSxl{uXC0%(8U|8To0dp$hOsx1~Ar?y@t?e;ox`g68o6Kegdt)==t zHR38kvzJSEI$`^Bac|w6TE*)Mi3}SMlWEuQt_nBqOs}`Ti}AEIi?5JxR;|rTaP7}O z&xonmI2lsilc3KoGEzCUgh2%3(cb0cWEYnq+PHyveYSs|mmA(Q&1xN)*>-(5AM{E- z5+UKS7=QcZsUyJpsf|=9KgB|}GqzN_K3{d|N=QAAp3|qAG7unvN@IW}W3r{Z5?0CV z-{Fzj17b(w$-osNcDjv_oC-JIC?&wGctsUKYK4 zGDw|cM@a1r8UN;tTk&{?Nc>=2aItHtNCU~j1jqig#oMG_e0NS^f8OP|fgSyQPoda6Qcu_HP)hIg4B+0V6wLm$FBrN7VT27Ew7)@C zLq{r5GPw&AcZtFI7T|+ptKHQW`?_WYBXc&b*j>qF-Rvm*jD=3XmJrjxCm~n|^WZ^u zl$;N_z3}Oijb;-n^fzD9v9yay+BfH$tu6oBnG|fRqunE)p-3NI;b;-i$Ohy&P=vkJ zn%Z8kJ}rZ>t(%__Iody9dINglk7;x`_4*Ek`qq&c@^rza0<5l=WGqZe%}MawEqHxb zkNG{oU@rARoTK#`cy1B^lIYwY_r94lA&c@g zRPAJ#JshQ(UK4rZ6h9tlX?+A*vZjh)9kj$c?1t9T@g`Ce8xEmhU!p}eCn-~CzBHnW? zjsC#_Ye6NmSI7OjpbX{sb{5!(*01E39vAx<`_s!0oK^R-i^BKFLdTYeb?UmMWnp#! z$>&;6&;(MkrIHV{AJn{C>?*wQx;R>LKW$i)I3Je?t-628@NBj5+PM(sIV&GfZ0)&d z_;v+1uF0btqYY3G2B&@AMDJtD?j$iV<6PQ_*23y7^tS#I{Bmgi+Ut`S{%;%pTD2ti z8;u5JX|~wEqL0Ox8f@R~>SoLL=Z5D$^0k2-#Y7;^V!1Z{y?dF~U)L=UwXL0wgWF$x zAvsL89s2D%*i<5ejktQTRafDvF=MM!bx_Z)*E+2P@wwYzjxx9#`OMY$$Jqk-pM5D) z;|Dma38!G#%IZ=eP!uy2KD<3rFfxEEHWU>67bGb6%#<&AcI&1#TkC+xDQWes zzqe1wbYh4r%JRLix44UgG}^AeZI+Q4XP*F#54*(RseHzpJO2=9=KXGOXE>_q+*Kf8 zkiBRAXp2s1cWl1Z1FpF0KZ|>xyUw6qTO9Vpz3z22*~hHFzg%_MPF7CR1DL#5-T|w@ zhWkIg(mFruBgN+QYc1SpC~on^Zh;ze>TtrN#W@`LS)bvy;5ZG07#dss{3iy6D*ga$oq4(t=K*$$?l?i4_D$efHxh%~@< zf93r2G28!^SeQo6d|B#3@FUUNogBi{r&(D`Yp-vxdlf%yl{|CXTPaxO-?adQPyH7# zK$~}LWb-f#1|$8kmJv`)8nzv99ANXaz>=CDcgsj3vW})yiCOI;!3~e4j=N4Yxxm~! zKh4tmJ=(afS%axS@Q4&mk|-@RduPaxm%k_#X}Y5>Uh?2Ia58Kc2*1b z*%eBVtFq~2#O>jbO?OsK0*3d7=P;}$D2!)XFs0zvFS2$KVB0l)&EZ|72$0Pe=INjQF;mN7O{oFUQzWnifb6CcLin+EdJyh>JX{HzaO*dOc*GZFJa$lxJfw zI;T)GSJf!ChC8y8fZ6c{bKC8emU^J~v5c$NilZtu2E$=~TpsX+(mFj_@b7Uq$Y2tz zREY~0t`|}97k7BpaY=w$(U&y7XnLbmbj+jA^oA(Gb6LeD24)c!FYz?Nd5CgWHERp~@K$3fy360J?=&l3vl=&OFR;SAr*1-Q?<({E*n7*UIKHKC6ekH9oM6Ed+?^o-f=h4+?(Xiv z9fCVU&=A}P2=4CA;O-6s400#`bDrm%_kOyc-*x9huU_5LyQ^#0u3c5T>bEN)N7l_B zX45gWwa#zPCnE)=7-YdZzjc)0nmBqt9}dO3+xq9s3fK)R({X5JQ!Mm-%F$~Gi~v*^ zjM07EcrVE;A>@N_;ZXT-kX)UVO|I?vWeAWNd}Ao&!j|?LSCn|Re;#yt*6}m?8)ss= zcBT0!SSW#7gM-s)r#{S&J0OMvx)qbY9rWc0VrKHg7)56VmMi9Tg3LYjGbrrD-P& zwkYE(2wS8_?pSQXhk4JvPQ6pPM-K#TmqIA0)(-;Z-?TT%c*XAK1S-C;9BAE7V?9i5C>>cbuO^6cX{~WdG8-a?y{&?pbEM zxQz{nSd}xv2nwwbZV3l+C(c9m^t~snX>i3__?{-2a@JIr(R{MbB7vOSpXqJ~sV|#$ zY@+LZV`-mXt$Jrv<8?(SE`8Kbr)@k6Ck7M2>+SBJ!54*XiZ9hHg1jK zj%2WhztvL`$Mf|);xNK)WtP-@v}M^@(qm=)vz#RRIM(Xpp0}^Z@7812e4;1&XhCq* z6?IyV8{q>y>`K8BOM8HlfztQjhz?enQ#}(?RBA>*)r7i28_OD#;$$pd&n4CnD`%ya zqL_S_N(_N6Zf~s0@fz9jhi()AF(ACD0eM~FP0{a)Vls_2gH@lW&&!bV-3a$cGZTRZ z``h`_nnH(2-Is6DP2v?Ei7Zh-lg-2W=%)=Nb|t~^a3N8d$@f%Qr5Ac_%TaHibi&up ziIqz3KLOVK38Y65onM{T8`M}2-|g@LTkz%cUazAo0nZFK&-y>ln9ZFuv~G;h=Y=m& zbk%?nZ4iI{Rtei&&vyo}!|JJrA* z7t)cQ&iE1VS{;COs6xq%OqethpFX9uP?XuCWMb zySUii+wYik+f;U#WSQcmEIo|k(A%zPaB%vq{nO(zyqrma=_fq~V*F%g0=`fsK*c8% zZL^i}f&X-Q9ij?4H1^|OY2Fk$ecqC`NBfvr*fKzCTwB}aWm2HN zE78-dbYXZfPM4#&I3aEAnC$z5mhv_~#D}GmwYY%Kpj>-5WdvdaUPQsLI+NzF<+L%v zsMBx`H|L#T&F&g1{8wbWv42BpTSsJtfz2?(kzcTFwR54`n3#9$Lar`!`-5q?iU-nI zKE=E~Oyi$CjV|+d`pMa+> zEiPHUj&7|jskjj@lcMe~r!HlOIvGKmxv@cbT=>49-5SZI)!uMKXx-o#lYi?vOw;*; zq_`WzI(KPi0ag=_o`sK{xoVF^P{Rc_BnGT2YaA}w5QJpx zS=#2?*1U_BuWqw##m)fmg?eFSPtD=gFOe3~G<3U6E99BusH`DuoAb5|{=ON%^FAZP z`1S$PZ#lapQMQ0zQ*+f>Z*dU8P+=Z12S4Iz%mFW*>1lWnU|rjlxpBi_ryu#EO8-i~ z>S{Pan-oDZ}-H89;0^VhSiEFZpc zH~6jCgqO7PSVXO9N77v*QVENY7`nKFl7IayA?kkl?{u(|%gEuM-eLub`5En1Ac!G7(SL!QtBhF-q%ad~I#3&*iQ;yG~} zxnuGp1>-aMDmn%R9Tk5_>Qc2@r=Sy(=QA#1-fu?gBfO-1v45KZJ%oM49g}6 zZ>&g2ZaLCha9zjL^#cr1AW0igSk+8Yu^peR)+R)BurP)pByq9Z9-6$gd1w`^Vpr!H znj|w`c;N7@J|$2sYS_1=F7{8e$*rlQzc#CUrIELt35N+ESbM zkSW7FBbeRmgsn?OB@H3#dG+FB#6#hjWmW$^L@~!dB5C5qY|~eY2b!@#V=WYqa2LgMN%JmccT! zhm$l75Fe zf9dPGIt){Z0Jo4Pi11MO!e~#H^H0bEc4%WUc6IwToOW$**SM*OU`62l?;tDumvbP{zjGP~)-#nL2C{uo< zz3BW;&e3mWyYy-*T3-!JzT@URznTc*G5s>1_a?g`34Zl8S`I@e*5=*rt|htZWoKKE0EWhGC8CO+HR{PpT5*o88PwrjKt6aqXrxN|EUg zj7InK3Nv3TH-*^>Xr%J?yUB_<%8fq3mH3>jKSeP}HhEa! z?daj+WZCVj_a;LoX3T#0kYPinRbbo!M`LpXYrC^M@A6>3%WDQwi!Ga;)?=eh{Cip~ zPThkAOoxdQI}WY&Wfp?*7^*^@@9ec7KIsiM9b1cbW{;rpwO3W?tj`NP*p>C$TIVLc zxf782tde^4QwJb6qpcJi?UAr54E_{C2A0sV=STr!93P7IXTm{=y-$|bV?*$84TidX zX1gF1W9B!{HIO0vnlV-GDr(?a8-Mh{&1WR{7^Ag;&o0A&j>83+9QS+lHCw%5_e_yo z=sC8TuwagRYInEdmjt`t>w3<1LCu0`W2(hFL-ZG!<7tpl^G28~%@8MQU4saP{sa&F zktUt~z@WXCs?adwYxOnGkjdMd0KT91>cM%KKPe-Qn3`G-8g6=POvl)iLyM>x>pO&d zWH1L+tT_+a5~}O*`}*nXkDfZ~xUyCpI&jJM2;W5G(xg76tAzO~9kC2kq=P~a%Kg;b z1zDW+WHrZWI@a~7%1W+UIm`KOTM@J`lt(Y*|AGg&6}(>5B@#!*Xyj9@kW#CW80c(ax{LQ4Jj

OARi)?=J8#vuzjj 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

*(5D{^Y!StGY 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 IeD)vz3tjT>3;+NC literal 0 HcmV?d00001 diff --git a/docs/guides/druid/tls/images/tls.png b/docs/guides/druid/tls/images/tls.png new file mode 100644 index 0000000000000000000000000000000000000000..7f21589742423303355ef6edc0755a7c24459cc8 GIT binary patch literal 41254 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
Fp?PS5iRix@K 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 literal 0 HcmV?d00001 diff --git a/docs/guides/druid/tls/overview.md b/docs/guides/druid/tls/overview.md new file mode 100644 index 0000000000..2022e51955 --- /dev/null +++ b/docs/guides/druid/tls/overview.md @@ -0,0 +1,70 @@ +--- +title: Druid TLS/SSL Encryption Overview +menu: + docs_{{ .version }}: + identifier: guides-druid-tls-overview + name: Overview + parent: guides-druid-tls + weight: 10 +menu_name: docs_{{ .version }} +section_menu_id: guides +--- + +> New to KubeDB? Please start [here](/docs/README.md). + +# Druid TLS/SSL Encryption + +**Prerequisite :** To configure TLS/SSL in `Druid`, `KubeDB` uses `cert-manager` to issue certificates. So first you have to make sure that the cluster has `cert-manager` installed. To install `cert-manager` in your cluster following steps [here](https://cert-manager.io/docs/installation/kubernetes/). + +To issue a certificate, the following crd of `cert-manager` is used: + +- `Issuer/ClusterIssuer`: Issuers, and ClusterIssuers represent certificate authorities (CAs) that are able to generate signed certificates by honoring certificate signing requests. All cert-manager certificates require a referenced issuer that is in a ready condition to attempt to honor the request. You can learn more details [here](https://cert-manager.io/docs/concepts/issuer/). + +- `Certificate`: `cert-manager` has the concept of Certificates that define a desired x509 certificate which will be renewed and kept up to date. You can learn more details [here](https://cert-manager.io/docs/concepts/certificate/). + +**Druid CRD Specification :** + +KubeDB uses following crd fields to enable SSL/TLS encryption in `Druid`. + +- `spec:` + - `enableSSL` + - `tls:` + - `issuerRef` + - `certificates` + +Read about the fields in details from [druid concept](/docs/guides/druid/concepts/druid.md), + +When, `enableSSL` is set to `true`, the users must specify the `tls.issuerRef` field. `KubeDB` uses the `issuer` or `clusterIssuer` referenced in the `tls.issuerRef` field, and the certificate specs provided in `tls.certificate` to generate certificate secrets using `Issuer/ClusterIssuers` specification. These certificates secrets including `ca.crt`, `tls.crt` and `tls.key` etc. are used to configure `druid` server and clients. + +## How TLS/SSL configures in Druid + +The following figure shows how `KubeDB` enterprise used to configure TLS/SSL in Druid. Open the image in a new tab to see the enlarged version. + +
+Deploy Druid with TLS/SSL +
Fig: Deploy Druid with TLS/SSL
+
+ +Deploying Druid with TLS/SSL configuration process consists of the following steps: + +1. At first, a user creates a `Issuer/ClusterIssuer` cr. + +2. Then the user creates a `Druid` CR which refers to the `Issuer/ClusterIssuer` CR that the user created in the previous step. + +3. `KubeDB` Provisioner operator watches for the `Druid` cr. + +4. When it finds one, it creates `Secret`, `Service`, etc. for the `Druid` cluster. + +5. `KubeDB` Ops-manager operator watches for `Druid`(5c), `Issuer/ClusterIssuer`(5b), `Secret` and `Service`(5a). + +6. When it finds all the resources(`Druid`, `Issuer/ClusterIssuer`, `Secret`, `Service`), it creates `Certificates` by using `tls.issuerRef` and `tls.certificates` field specification from `Druid` cr. + +7. `cert-manager` watches for certificates. + +8. When it finds one, it creates certificate secrets `tls-secrets`(server, client, exporter secrets etc.) that holds the actual certificate signed by the CA. + +9. `KubeDB` Provisioner operator watches for the Certificate secrets `tls-secrets`. + +10. When it finds all the tls-secret, it creates the related `PetSets` so that Druid database can be configured with TLS/SSL. + +In the next doc, we are going to show a step-by-step guide on how to configure a `Druid` cluster with TLS/SSL. \ No newline at end of file diff --git a/docs/guides/druid/tls/yamls/deep-storage-config.yaml b/docs/guides/druid/tls/yamls/deep-storage-config.yaml new file mode 100644 index 0000000000..3612595828 --- /dev/null +++ b/docs/guides/druid/tls/yamls/deep-storage-config.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Secret +metadata: + name: deep-storage-config + namespace: demo +stringData: + druid.storage.type: "s3" + druid.storage.bucket: "druid" + druid.storage.baseKey: "druid/segments" + druid.s3.accessKey: "minio" + druid.s3.secretKey: "minio123" + druid.s3.protocol: "http" + druid.s3.enablePathStyleAccess: "true" + druid.s3.endpoint.signingRegion: "us-east-1" + druid.s3.endpoint.url: "http://myminio-hl.demo.svc.cluster.local:9000/" + diff --git a/docs/guides/druid/tls/yamls/druid-ca-issuer.yaml b/docs/guides/druid/tls/yamls/druid-ca-issuer.yaml new file mode 100644 index 0000000000..d6298c972c --- /dev/null +++ b/docs/guides/druid/tls/yamls/druid-ca-issuer.yaml @@ -0,0 +1,8 @@ +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + name: druid-ca-issuer + namespace: demo +spec: + ca: + secretName: druid-ca diff --git a/docs/guides/druid/tls/yamls/druid-cluster-tls.yaml b/docs/guides/druid/tls/yamls/druid-cluster-tls.yaml new file mode 100644 index 0000000000..902b5b36d4 --- /dev/null +++ b/docs/guides/druid/tls/yamls/druid-cluster-tls.yaml @@ -0,0 +1,21 @@ +apiVersion: kubedb.com/v1alpha2 +kind: Druid +metadata: + name: druid-cluster-tls + namespace: demo +spec: + version: 28.0.1 + enableSSL: true + tls: + issuerRef: + apiGroup: "cert-manager.io" + kind: Issuer + name: druid-ca-issuer + deepStorage: + type: s3 + configSecret: + name: deep-storage-config + topology: + routers: + replicas: 1 + deletionPolicy: Delete