<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Integrations on SILO</title><link>https://silo.pgsty.com/integrations/</link><description>Recent content in Integrations on SILO</description><generator>Hugo</generator><language>en</language><atom:link href="https://silo.pgsty.com/integrations/index.xml" rel="self" type="application/rss+xml"/><item><title>Using MinIO with Veeam</title><link>https://silo.pgsty.com/integrations/using-minio-with-veeam/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://silo.pgsty.com/integrations/using-minio-with-veeam/</guid><description>&lt;p&gt;&lt;a id="using-minio-with-veeam"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When using Veeam Backup and Replication, you can use S3 compatible object storage such as MinIO as a capacity tier for backups. This disaggregates storage for the Veeam infrastructure and allows you to retain control of your data. With the ease of use of setup and administration of MinIO, it allows a Veeam backup admin to easily deploy their own object store for capacity tiering.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;One or both of Veeam Backup and Replication with support for S3 compatible object store (e.g. 9.5.4) and Veeam Backup for Office365 (VBO)&lt;/li&gt;
&lt;li&gt;MinIO object storage set up per &lt;a href="https://silo.pigsty.io/index.html#procedure"&gt;https://silo.pigsty.io/index.html#procedure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Veeam requires TLS connections to the object storage. This can be configured per &lt;a href="https://silo.pigsty.io/operations/network-encryption.html"&gt;https://silo.pigsty.io/operations/network-encryption.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The S3 bucket, Access Key and Secret Key have to be created before and outside of Veeam.&lt;/li&gt;
&lt;li&gt;Configure the MinIO Client for the Veeam MinIO endpoint - &lt;a href="https://silo.pigsty.io/reference/minio-mc.html"&gt;https://silo.pigsty.io/reference/minio-mc.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="setting-up-an-s3-compatible-object-store-for-veeam-backup-and-replication"&gt;Setting up an S3 compatible object store for Veeam Backup and Replication&lt;/h2&gt;
&lt;h3 id="create-a-bucket-for-veeam-backups"&gt;Create a bucket for Veeam backups&lt;/h3&gt;
&lt;p&gt;Create a bucket for Veeam Backup, e.g.,&lt;/p&gt;</description></item><item><title>Disaggregated HDP Spark and Hive with MinIO</title><link>https://silo.pgsty.com/integrations/disaggregated-spark-and-hadoop-hive-with-minio/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://silo.pgsty.com/integrations/disaggregated-spark-and-hadoop-hive-with-minio/</guid><description>&lt;p&gt;&lt;a id="disaggregated-hdp-spark-and-hive-with-minio"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="cloud-native-architecture"&gt;&lt;strong&gt;1. Cloud-native Architecture&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://silo.pgsty.com/images/integrations/spark/image1.png" alt="cloud-native"&gt;&lt;/p&gt;
&lt;p&gt;Kubernetes manages stateless Spark and Hive containers elastically on the compute nodes. Spark has native scheduler integration with Kubernetes. Hive, for legacy reasons, uses YARN scheduler on top of Kubernetes.&lt;/p&gt;
&lt;p&gt;All access to MinIO object storage is via S3/SQL SELECT API. In addition to the compute nodes, MinIO containers are also managed by Kubernetes as stateful containers with local storage (JBOD/JBOF) mapped as persistent local volumes. This architecture enables multi-tenant MinIO, allowing isolation of data between customers.&lt;/p&gt;</description></item><item><title>AWS CLI with MinIO Server</title><link>https://silo.pgsty.com/integrations/aws-cli-with-minio/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://silo.pgsty.com/integrations/aws-cli-with-minio/</guid><description>&lt;p&gt;&lt;a id="aws-cli-with-minio-server"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://slack.min.io"&gt;&lt;img src="https://slack.min.io/slack?type=svg" alt="Slack"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;AWS CLI is a unified tool to manage AWS services. It is frequently the tool used to transfer data in and out of AWS S3. It works with any S3 compatible cloud storage service.&lt;/p&gt;
&lt;p&gt;In this recipe we will learn how to configure and use AWS CLI to manage data with MinIO Server.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;1. Prerequisites&lt;/h2&gt;
&lt;p&gt;Install MinIO Server from &lt;a href="https://silo.pigsty.io/operations/deployments/installation.html"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="installation"&gt;2. Installation&lt;/h2&gt;
&lt;p&gt;Install AWS CLI from &lt;a href="https://aws.amazon.com/cli/"&gt;https://aws.amazon.com/cli/&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="configuration"&gt;3. Configuration&lt;/h2&gt;
&lt;p&gt;To configure AWS CLI, type &lt;code&gt;aws configure&lt;/code&gt; and specify the MinIO key information.&lt;/p&gt;</description></item><item><title>Configure NGINX Proxy for MinIO Server</title><link>https://silo.pgsty.com/integrations/setup-nginx-proxy-with-minio/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://silo.pgsty.com/integrations/setup-nginx-proxy-with-minio/</guid><description>&lt;p&gt;&lt;a id="configure-nginx-proxy-for-minio-server"&gt;&lt;/a&gt;
&lt;a id="integrations-nginx-proxy"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The following documentation provides a baseline for configuring NGINX to proxy requests to MinIO in a Linux environment. It is not intended as a comprehensive approach to NGINX, proxying, or reverse proxying in general. Modify the configuration as necessary for your infrastructure.&lt;/p&gt;
&lt;p&gt;This documentation assumes the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;An existing &lt;a href="http://nginx.org/en/download.html"&gt;NGINX&lt;/a&gt; deployment&lt;/li&gt;
&lt;li&gt;An existing &lt;a href="https://silo.pgsty.com/operations/deployments/installation/#minio-installation"&gt;MinIO&lt;/a&gt; deployment&lt;/li&gt;
&lt;li&gt;A DNS hostname which uniquely identifies the MinIO deployment&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There are two models for proxying requests to the MinIO Server API and the MinIO Console:&lt;/p&gt;</description></item><item><title>Upload Files Using Pre-signed URLs</title><link>https://silo.pgsty.com/integrations/presigned-put-upload-via-browser/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://silo.pgsty.com/integrations/presigned-put-upload-via-browser/</guid><description>&lt;p&gt;&lt;a id="upload-files-using-pre-signed-urls-"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a id="upload-files-using-pre-signed-urls"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://slack.min.io"&gt;&lt;img src="https://slack.min.io/slack?type=svg" alt="Slack"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Using pre-signed URLs, a client can upload files directly to an S3-compatible cloud storage server (S3) without exposing the S3 credentials to the user.&lt;/p&gt;
&lt;p&gt;This guide describes how to use the &lt;a href="https://silo.pigsty.io/developers/go/API.html#presignedputobject-ctx-context-context-bucketname-objectname-string-expiry-time-duration-url-url-error"&gt;&lt;code&gt;presignedPutObject&lt;/code&gt;&lt;/a&gt; API from the &lt;a href="https://github.com/minio/minio-js"&gt;MinIO JavaScript Library&lt;/a&gt; to generate a pre-signed URL. This is demonstrated through a JavaScript example in which an Express Node.js server exposes an endpoint to generate a pre-signed URL and a client-side web application uploads a file to MinIO Server using that URL.&lt;/p&gt;</description></item><item><title>Generate Let’s Encrypt certificate using Certbot for MinIO</title><link>https://silo.pgsty.com/integrations/generate-lets-encrypt-certificate-using-certbot-for-minio/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://silo.pgsty.com/integrations/generate-lets-encrypt-certificate-using-certbot-for-minio/</guid><description>&lt;p&gt;&lt;a id="generate-let-s-encrypt-certificate-using-certbot-for-minio"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://slack.min.io"&gt;&lt;img src="https://slack.min.io/slack?type=svg" alt="Slack"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://letsencrypt.org/"&gt;Let’s Encrypt&lt;/a&gt; is a new free, automated, and open source, Certificate Authority.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://certbot.eff.org/"&gt;Certbot&lt;/a&gt; is a console based certificate generation tool for Let’s Encrypt.&lt;/p&gt;
&lt;p&gt;In this recipe, we will generate a Let’s Encypt certificate using Certbot. This certificate will then be deployed for use in the MinIO server.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;1. Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Install MinIO Server from &lt;a href="https://silo.pigsty.io/index.html#procedure"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Install Certbot from &lt;a href="https://certbot.eff.org/"&gt;here&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="dependencies"&gt;2. Dependencies&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Port 443 for https needs to be open and available at time of executing &lt;code&gt;certbot&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Certbot needs root access while executing because only root is allowed to bind to any port below 1024.&lt;/li&gt;
&lt;li&gt;We will be using our own domain &lt;code&gt;myminio.com&lt;/code&gt; as an example in this recipe. Replace with your own domain under your setup.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="recipe-steps"&gt;3. Recipe Steps&lt;/h2&gt;
&lt;h3 id="step-1-install-certbot"&gt;Step 1: Install Certbot&lt;/h3&gt;
&lt;p&gt;Install Certbot by following the documentation at &lt;a href="https://certbot.eff.org/"&gt;https://certbot.eff.org/&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>