### mc batch start Command Example Source: https://docs.min.io/enterprise/aistor-object-store/reference/cli/mc-batch/mc-batch-start Provides a practical example of starting a batch job, specifying the MinIO alias and the path to the job definition YAML file. ```shell mc batch start myminio ./replication.yaml ``` -------------------------------- ### Setup Process Fix Source: https://docs.min.io/enterprise/aistor-object-store/reference/release-notes/kubernetes/archived-releases Addresses an issue where the setup process was getting stuck. This ensures a smoother and more reliable initial configuration experience. ```Go // Fix Setup Stuck by @dvaldivia func runSetup() error { // Setup steps... // Identify and fix the point where setup was getting stuck return nil } ``` -------------------------------- ### AIStor Installation Guides Source: https://docs.min.io/enterprise/aistor-object-store/installation/linux/install Provides instructions for deploying AIStor on RHEL and Ubuntu Server, serving as a baseline for network and server-side encryption tutorials. ```Markdown # Install AIStor #### Install on Red Hat Enterprise Linux Deploy AIStor onto RHEL 10+ #### Install on Ubuntu Server Deploy AIStor onto Ubuntu 24.04LTS+ The guides in this section provide instructions for deploying AIStor onto Linux infrastructure. These guides serve as a baseline for the subsequent tutorials for enabling network encryption and server-side-encryption. ``` -------------------------------- ### Vault Server Dev Mode Output Example Source: https://docs.min.io/enterprise/aistor-key-manager/legacy-key-management/installation/hashicorp-vault-keystore Example output from starting a Vault server in dev mode, showing configuration details, API address, and the unseal key and root token. ```text ==> Vault server configuration: Administrative Namespace: Api Address: http://127.0.0.1:8200 Cgo: disabled Cluster Address: https://127.0.0.1:8201 Environment Variables: Go Version: go1.21.8 Listener 1: tcp (addr: "127.0.0.1:8200", cluster address: "127.0.0.1:8201", disable_request_limiter: "false", max_request_duration: " 1m30s", max_request_size: "33554432", tls: "disabled") Log Level: Mlock: supported: false, enabled: false Recovery Mode: false Storage: inmem Version: Vault v1.16.1, built 2024-04-03T12:35:53Z Version Sha: 6b5986790d7748100de77f7f127119c4a0f78946 ==> Vault server started! Log data will stream in below: ... WARNING! dev mode is enabled! In this mode, Vault runs entirely in-memory and starts unsealed with a single unseal key. The root token is already authenticated to the CLI, so you can immediately begin using Vault. You may need to set the following environment variables: export VAULT_ADDR='http://127.0.0.1:8200' The unseal key and root token are displayed below in case you want to seal/unseal the Vault or re-authenticate. Unseal Key: g+epWYiEy2vj+7UP3c+YXRhoOjUMCC9PoihIzqSgB84= Root Token: hvs.O6QNQB33ksXtMxtlRKlRZL0R Development mode should NOT be used in production installations! ``` -------------------------------- ### KES Server Development Mode Output Example Source: https://docs.min.io/enterprise/aistor-key-manager/legacy-key-management/kes-server/cli/kes-server Example output when starting a KES server in development mode, including version, runtime, license, KMS information, API endpoints, API key, admin key, and log configuration. ```text Version 2023-11-09T17-35-47Z commit=53b74e38697bc68fd88dff7a3cf431db692db9ef Runtime go1.21.4 darwin/arm64 compiler=gc License AGPLv3 https://www.gnu.org/licenses/agpl-3.0.html Copyright MinIO, Inc. 2015-2023 https://min.io/ KMS In Memory API · https://127.0.0.1:7373/ · https://192.168.188.79:7373/ Docs https://docs.min.io/community/minio-kes API Key kes:v1:ADsGCjJoWziQ82wPUG6oHbqhhlbkajaRGP+3+JSfx5Wq Admin 7bbffa635fc160ef8048a344a53aab54e472e5c654c6339a9cec9223301808c7 Logs error=stderr level=INFO audit=stdout level=INFO => Server is up and running... ``` -------------------------------- ### MinIO mc Tool Download and Setup (AMD64) Source: https://docs.min.io/enterprise/aistor-object-store/installation/linux/install/deploy-aistor-on-ubuntu-server Downloads, makes executable, and installs the MinIO 'mc' command-line tool for AMD64 architecture. ```Shell wget https://dl.min.io/aistor/mc/release/linux-amd64/mc -o mc chmod +x ./mc mv ./mc /usr/local/bin/ mc --version ``` -------------------------------- ### Enable and Start MinIO Service Source: https://docs.min.io/enterprise/aistor-object-store/installation/linux/install/deploy-aistor-on-red-hat-linux Enables the MinIO service to start on boot and starts the service immediately. Also shows how to track service status. ```shell systemctl enable minio.service && systemctl start minio journalctl -u minio ``` -------------------------------- ### MinIO Server Output Example Source: https://docs.min.io/enterprise/aistor-object-store/developers/transforms-with-object-lambda Example output from starting the MinIO Object Storage Server, showing version, status, API endpoints, and Object Lambda ARNs. ```text MinIO Object Storage Server Copyright: 2015-2023 MinIO, Inc. License: GNU AGPLv3 Version: RELEASE.2023-03-24T21-41-23Z (go1.19.7 linux/arm64) Status: 1 Online, 0 Offline. API: http://192.168.64.21:9000 http://127.0.0.1:9000 RootUser: minioadmin RootPass: minioadmin Object Lambda ARNs: arn:minio:s3-object-lambda::myfunction:webhook ``` -------------------------------- ### MinIO Vault Configuration for K/V Prefix Multi-Tenancy Source: https://docs.min.io/enterprise/aistor-key-manager/legacy-key-management/installation/hashicorp-vault-keystore Example MinIO configuration file demonstrating multi-tenancy setup using K/V prefixes in Vault. ```APIDOC keystore:vault:endpoint:https://127.0.0.1:8200 prefix: approle: id:"" # Your AppRole ID secret:"" # Your AppRole Secret retry:15s status: ping:10s tls: ca:vault.crt # Manually trust the vault certificate since we use self-signed certificates ``` -------------------------------- ### Start KES Server (Linux) Source: https://docs.min.io/enterprise/aistor-key-manager/legacy-key-management/installation/azure-keyvault Starts the KES server on Linux using a specified configuration file. The `--auth off` flag disables authentication for this example setup. ```bash kes server --config config.yml --auth off ``` -------------------------------- ### MinIO mc Tool Download and Setup (ARM64) Source: https://docs.min.io/enterprise/aistor-object-store/installation/linux/install/deploy-aistor-on-ubuntu-server Downloads, makes executable, and installs the MinIO 'mc' command-line tool for ARM64 architecture. ```Shell wget https://dl.min.io/aistor/mc/release/linux-arm64/mc -o mc chmod +x ./mc mv ./mc /usr/local/bin mc --version ``` -------------------------------- ### Start KES Server Source: https://docs.min.io/enterprise/aistor-key-manager/legacy-key-management/installation/entrust-keycontrol Starts a KES server instance using the specified configuration file. The `--auth off` flag disables authentication for this example setup. ```bash kes server --config config.yml --auth off ``` -------------------------------- ### Setup Page Enhancements Source: https://docs.min.io/enterprise/aistor-object-store/reference/release-notes/kubernetes This entry covers improvements and fixes made to the setup page, including adding a 'Visit MinIO' link and initial design changes. ```Go // Initial changes to Setup page // Added Visit MinIO link to setup page ``` -------------------------------- ### AIStor Installation Overview Source: https://docs.min.io/enterprise/aistor-object-store/installation Provides an overview of the AIStor installation process, including prerequisites and platform-specific guidance. It emphasizes the order of procedures for a new deployment. ```markdown # Installation This section provides documentation and guidance for installing AIStor. Each subsection represents a supported platform, where guidance reflects the specific installation and configuration methods associated with that platform. If you need to install Key Manager to manage cryptographic keys while objects are at rest, see the AIStor Key Manager docs. If you need to install Volume Manager to manage container storage volumes in a Kubernetes environment, see the AIStor Volume Manager docs. Use the following order of procedures when creating a new AIStor deployment in any environment. ## 1) Deploy AIStor Create the baseline deployment and validate connectivity with your client producer/consumer processes. This setup provides a foundation for configuring and enabling other more advanced features. The following links provide documentation for each specified platform: * Red Hat Enterprise Linux * Ubuntu Server Linux * Upstream “native” Kubernetes * Red Hat OpenShift Kubernetes * Apple macOS * Microsoft Windows * Container runtimes Use AIStor deployments on macOS, Windows, or container hosts for local development and evaluation. ## 2) Enable Network Encryption AIStor supports Transport Layer Security (TLS) 1.2+ encryption of incoming and outgoing traffic. Configuring TLS requires providing AIStor with at least one certificate private and public key pair that can support the hostnames or IP addresses associated with the deployment. The following links provide documentation for enabling TLS on the following platforms: * Enable Network Encryption on Linux * Enable Network Encryption on Kubernetes ## 3) Configure Server-Side Encryption Connect AIStor to a supported Key Management Service (KMS) such as AIStor Key Manager to enable S3 Server-Side Encryption (SSE). AIStor supports SSE-KMS and SSE-S3 protocols for use with customer-managed keys stored on the KMS. The following links provide documentation for enabling SSE on the following platforms: * Enable Server-Side Encryption on Linux * Enable Server-Side Encryption on Kubernetes ``` -------------------------------- ### Operator Installation and Management Source: https://docs.min.io/enterprise/aistor-object-store/reference/release-notes/kubernetes/archived-releases Covers various aspects of operator installation, including WIP handler, upgrades, kustomize builds, and installation using dynamic clients. ```APIDOC Operator Management: - Install operator - WIP: Install operator handler - Upgrade operator - kustomize build latest enterprise-operator - Install operator using dynamic client - little tweak on page to allow invoke the operator install endpoint - Bugfix install operator, now it works - sync enterprise operator - Reducer for Operator Install Options - Update operator installed ``` -------------------------------- ### Enable and Start MinIO Key Manager Service Source: https://docs.min.io/enterprise/aistor-key-manager/installation/linux Commands to reload the systemd daemon, enable the Key Manager service to start on boot, and then start the service. It also includes a command to check the service status and output. ```bash systemctl daemon-reload systemctl enable minkms systemctl start minkms journalctl -u minkms ``` -------------------------------- ### Distributed Setup and Code Formatting Source: https://docs.min.io/enterprise/aistor-object-store/reference/release-notes/kubernetes This covers fixes related to distributed setup detection and code formatting using `gofumpt` to maintain code quality and consistency. ```Go Fix distributed setup detection Format Code with gofumpt ``` -------------------------------- ### MinIO Vault Configuration for Namespace Multi-Tenancy Source: https://docs.min.io/enterprise/aistor-key-manager/legacy-key-management/installation/hashicorp-vault-keystore Example MinIO configuration file demonstrating multi-tenancy setup using Vault namespaces. ```APIDOC keystore:vault:endpoint:https://127.0.0.1:8200 namespace: approle: id:"" # Your AppRole ID secret:"" # Your AppRole Secret retry:15s status: ping:10s tls: ca:vault.crt # Manually trust the vault certificate since we use self-signed certificates ``` -------------------------------- ### mc batch start Command Output Example Source: https://docs.min.io/enterprise/aistor-object-store/reference/cli/mc-batch/mc-batch-start Illustrates the expected output upon successful initiation of a batch job, including the job type and a unique identifier. ```shell Successfully start 'replicate' job `B34HHqnNMcg1taynaPfxu` on '2022-10-24 17:19:06.296974771 -0700 PDT' ``` -------------------------------- ### Install Volume Manager with Helm Source: https://docs.min.io/enterprise/aistor-volume-manager/installation Installs the AIStor Volume Manager chart using Helm, requiring a license string. ```bash helm install volume-manager minio/aistor-volumemanager --set license="LICENSE-STRING" ``` -------------------------------- ### Start KES Server Source: https://docs.min.io/enterprise/aistor-key-manager/legacy-key-management/kes-server/cli/kes-server Starts a MinIO Key Encryption Server (KES) with a specified address and configuration file. ```bash kes server --addr :7000 --config ./kes/config.yml ``` -------------------------------- ### Start AIStor Server (Standalone) Source: https://docs.min.io/enterprise/aistor-object-store/reference/aistor-server Starts the AIStor Server process for a standalone deployment using a license file and specified storage directories. ```bash minio server --license /path/to/minio.license /mnt/disk{1...4} ``` -------------------------------- ### mc batch list Command Output Example Source: https://docs.min.io/enterprise/aistor-object-store/reference/cli/mc-batch/mc-batch-list An example of the output format for the 'mc batch list' command, showing job details like ID, Type, User, Started time, and Status. ```bash ID TYPE USER STARTED STATUS E24HH4nNMcgY5taynaPfxu replicate minioadmin 1 minute ago in-progress ``` -------------------------------- ### Download and Install MinIO Client (mc) for AMD64 Source: https://docs.min.io/enterprise/aistor-object-store/installation/container/install Downloads the 'mc' binary for Linux AMD64 architecture, makes it executable, and installs it in the system's PATH. ```bash curl --progress-bar -L https://dl.min.io/aistor/mc/release/linux-amd64/mc -o mc chmod +x ./mc sudo mv ./mc /usr/local/bin/ mc --version ``` -------------------------------- ### Integration Test Environment Setup Source: https://docs.min.io/enterprise/aistor-object-store/reference/release-notes/kubernetes This entry covers the setup and configuration for integration tests, including using edge images and updating go.mod files to ensure compatibility. ```English Use `edge` images for integration tests Whenever AIStor go.mod is updated, update also integrationtests go.mod Use Operator ServiceConfiguration CR to set edge images for integrationtests ``` -------------------------------- ### Download and Install MinIO Client (mc) for ARM64 Source: https://docs.min.io/enterprise/aistor-object-store/installation/container/install Downloads the 'mc' binary for Linux ARM64 architecture, makes it executable, and installs it in the system's PATH. ```bash curl --progress-bar -L https://dl.min.io/aistor/mc/release/linux-arm64/mc -o mc chmod +x ./mc sudo mv ./mc /usr/local/bin mc --version ``` -------------------------------- ### Import Replication Rules Example Source: https://docs.min.io/enterprise/aistor-object-store/reference/cli/mc-replicate/mc-replicate-import Example of importing replication configuration for a bucket using the `mc replicate import` command. ```shell mc replicate import myminio/mydata < mydata-replication.json ``` -------------------------------- ### Add Linux Instructions HOW-TO-TRY.md Source: https://docs.min.io/enterprise/aistor-object-store/reference/release-notes/kubernetes/archived-releases Includes instructions for trying out the project on Linux systems in the 'HOW-TO-TRY.md' file. This enhances accessibility for Linux users. ```Markdown # How to Try MinIO on Linux Follow these steps to get started: 1. **Prerequisites**: Ensure you have Docker installed. 2. **Download**: Clone the repository: `git clone ` 3. **Run**: Execute the startup script: `./scripts/run-linux.sh` Refer to the full documentation for advanced configurations. ``` -------------------------------- ### AIStor Client Installation (Windows) Source: https://docs.min.io/enterprise/aistor-object-store/reference/cli Installs the AIStor Client (mc) on a Windows system using Invoke-WebRequest to download the executable and verifies the installation. ```powershell Invoke-WebRequest https://dl.min.io/aistor/mc/release/windows-amd64/mc -OutFile C:\mc.exe C:\mc.exe --help ``` -------------------------------- ### Custom Volume Manager Helm Values Source: https://docs.min.io/enterprise/aistor-volume-manager/installation Example YAML manifest for customizing AIStor Volume Manager Helm chart installation, including license, node selectors, and tolerations. ```yaml license:"LICENSE-STRING"nodeserver: nodeSelector: # aistor.min.io/pool-id: "1" tolerations: # - key: "node-role.kubernetes.io/control-plane" # operator: "Exists" # effect: "NoSchedule" ``` -------------------------------- ### AIStor Client Installation (Linux 64-bit Intel) Source: https://docs.min.io/enterprise/aistor-object-store/reference/cli Installs the AIStor Client (mc) on a Linux 64-bit Intel system using curl to download the binary, sets execute permissions, and verifies the installation. ```shell curl --progress-bar -L https://dl.min.io/aistor/mc/release/linux-amd64/mc \ $HOME/minio-binaries/mc chmod +x ~/minio-binaries/mc ~/minio-binaries/mc --help ``` -------------------------------- ### Start Vault Server (Dev Mode) Source: https://docs.min.io/enterprise/aistor-key-manager/legacy-key-management/installation/hashicorp-vault-keystore Starts a single-node Vault server in development mode. This command is for testing and development purposes only, as it runs entirely in-memory and starts unsealed. ```bash vault server -dev ``` -------------------------------- ### mc sql Command Syntax and Example Source: https://docs.min.io/enterprise/aistor-object-store/reference/cli/mc-sql Demonstrates the basic usage and syntax of the `mc sql` command for querying objects with SQL. Includes an example of querying all objects in a bucket recursively. ```APIDOC mc sql --recursive --query "select * from S3Object" myminio/mydata ``` ```APIDOC mc [GLOBALFLAGS] mc sql "" [--csv-input "string"] [--compression "string"] [--csv-output "string"] [--csv-output-header "string"] [--enc-c "string"] [--json-input "string"] [--json-output "string"] [--recursive] ``` -------------------------------- ### mc replicate resync start command example Source: https://docs.min.io/enterprise/aistor-object-store/reference/cli/mc-replicate/mc-replicate-resync Example of how to start the resynchronization process for an AIStor bucket to a remote replication target. ```bash mc replicate resync start \ "arn:minio:replication::d3c086c7-1d64-40c2-954b-fe8222907033:mydata" \ ``` -------------------------------- ### Unreplicated Objects Output Example Source: https://docs.min.io/enterprise/aistor-object-store/reference/cli/mc-replicate/mc-replicate-backlog Example output format for unreplicated objects, listing actions like PUT with timestamps and object names. ```text [0001-01-01 00:00:00 UTC] [2022-10-06 17:18:59 UTC] 478efe49-aa9d-46ab-8268-45b70cc4c341 PUT agenda.docx [0001-01-01 00:00:00 UTC] [2022-10-06 17:18:15 UTC] b283bf43-319f-455a-a779-3c2e669fad88 PUT budget-meeting.docx ``` -------------------------------- ### mc batch start Permissions Source: https://docs.min.io/enterprise/aistor-object-store/reference/cli/mc-batch/mc-batch-start Outlines the required 'admin:StartBatchJob' permission for executing the 'mc batch start' command. ```APIDOC Permissions You must have the `admin:StartBatchJob` permission on the deployment to start jobs. ``` -------------------------------- ### Start KES Server on Linux Source: https://docs.min.io/enterprise/aistor-key-manager/legacy-key-management/installation/hashicorp-vault-keystore Command to start the KES server on a Linux system using a specified configuration file. ```bash kes server --config config.yml ``` -------------------------------- ### Validate Installation Source: https://docs.min.io/enterprise/aistor-volume-manager/installation Checks the status of deployed resources in the 'directpv' namespace after installation. ```bash kubectl get all -n directpv ``` -------------------------------- ### Fix Typo During Setup Source: https://docs.min.io/enterprise/aistor-object-store/reference/release-notes/kubernetes/archived-releases Corrects a typographical error that occurred during the setup or installation process. This improves the clarity of setup instructions or messages. ```Go // Go code with the typo fixed in setup-related strings. ``` -------------------------------- ### Initialize and List Drives with kubectl directpv Source: https://docs.min.io/enterprise/aistor-volume-manager/support/faqs Commands to initialize drives for Volume Manager by formatting and mounting them, and to view the status of initialized drives. ```bash kubectl directpv init kubectl directpv list drives ``` -------------------------------- ### Installer and Deployment Enhancements Source: https://docs.min.io/enterprise/aistor-object-store/reference/release-notes/kubernetes This entry covers additions and fixes related to the installer and deployment process, including adding support for AIHub images and ensuring the correct YAML format for kustomization. ```Go Add support for AIHub image in installer ``` ```Go Set the correct YAML format ``` -------------------------------- ### Install Helm Chart with Custom Values Source: https://docs.min.io/enterprise/aistor-volume-manager/installation Installs the AIStor Volume Manager chart using Helm with custom values specified. ```bash helm install volume-manager minio/aistor-volumemanager \ ``` -------------------------------- ### AIStor Installation on Kubernetes Source: https://docs.min.io/enterprise/aistor-object-store/installation/kubernetes/install Guides for deploying AIStor onto Kubernetes infrastructure. Installation is not considered finished until network encryption and server-side-encryption are enabled. ```markdown # Install AIStor #### Install on Kubernetes Deploy AIStor on Kubernetes ``` -------------------------------- ### Start KES Server and Client Connection Source: https://docs.min.io/enterprise/aistor-key-manager/legacy-key-management/installation/fortanix-sdkms Demonstrates how to start the KES server with a specified configuration file and disable authentication for self-signed certificates. It also shows how to set client environment variables and create a key using the client. ```bash export APP_IDENTITY=$(kes identity of app.cert) kes server --config=server-config.yml --auth=off export KES_CLIENT_CERT=app.cert export KES_CLIENT_KEY=app.key kes key create -k my-app-key ``` -------------------------------- ### Run MinIO Server with License Source: https://docs.min.io/enterprise/aistor-object-store/installation/macos/install Starts the MinIO AIStor Server, specifying the data directory and the path to the license file. ```bash minio server /tmp/minio --license ~/minio/minio.license ``` -------------------------------- ### AIStor Installation on OpenShift Source: https://docs.min.io/enterprise/aistor-object-store/installation/kubernetes/install Guides for deploying AIStor onto OpenShift infrastructure. Installation is not considered finished until network encryption and server-side-encryption are enabled. ```markdown # Install AIStor #### Install on OpenShift Deploy AIStor on OpenShift ``` -------------------------------- ### Install MinIO JavaScript SDK Source: https://docs.min.io/enterprise/aistor-object-store/developers/minio-drivers Guides on installing the MinIO JavaScript SDK using NPM for both JavaScript and TypeScript projects, or from source. The SDK allows JavaScript applications to interact with MinIO. ```JavaScript npm install --save minio ``` ```JavaScript npm install --save-dev @types/minio ``` ```Shell git clone https://github.com/minio/minio-js cd minio-js npm install npm install -g ``` -------------------------------- ### Install minkms on Linux AMD64 Source: https://docs.min.io/enterprise/aistor-key-manager/reference/minkms-server Downloads the minkms binary for Linux AMD64, makes it executable, and moves it to /usr/local/bin. ```shell curl --progress-bar --retry 10 -L https://dl.min.io/aistor/minkms/release/linux-amd64/minkms -o minkms chmod +x ./minkms mv ./minkms /usr/local/bin/ ``` -------------------------------- ### Setup AIStor Standalone UI Testing Source: https://docs.min.io/enterprise/aistor-object-store/reference/release-notes/kubernetes Configures the setup for AIStor standalone UI testing. This enables testing the UI in an isolated environment. ```Go Setup aistor standalone UI testing ``` -------------------------------- ### AIStor Server FTPS Configuration Example Source: https://docs.min.io/enterprise/aistor-object-store/developers/file-transfer-protocol This example demonstrates how to start an AIStor Server with FTPS enabled, specifying the address, passive port range, and TLS certificate paths for secure communication. ```Shell Object Store http://server{1...4}/disk{1...4} \ ="address=:8021" \ ="passive-port-range=30000-40000" \ ="tls-private-key=path/to/private.key" \ ="tls-public-cert=path/to/public.crt" \ ``` -------------------------------- ### Start Development KES Server Source: https://docs.min.io/enterprise/aistor-key-manager/legacy-key-management/kes-server/cli/kes-server Starts a KES server in development mode for testing. Keys are ephemeral and stored in memory. This mode is not suitable for production environments. ```bash kes server --dev ``` -------------------------------- ### Install minkms on Linux ARM64 Source: https://docs.min.io/enterprise/aistor-key-manager/reference/minkms-server Downloads the minkms binary for Linux ARM64, makes it executable, and moves it to /usr/local/bin. ```shell curl --progress-bar --retry 10 -L https://dl.min.io/aistor/minkms/release/linux-arm64/minkms -o minkms chmod +x ./minkms mv ./minkms /usr/local/bin/ ``` -------------------------------- ### AIStor Recommended Configuration Checklist Source: https://docs.min.io/enterprise/aistor-object-store/installation/linux/install Presents a checklist for MinIO's recommended configuration for production AIStor deployments, covering hosts, drives, network, CPUs, and memory. ```Markdown ### Checklist The following checklist follows MinIO’s Recommended Configuration for production deployments. The provided guidance is intended as a baseline and cannot replace SUBNET Performance Diagnostics, Architecture Reviews, and direct-to-engineering support. | Description | Recommended ---|---|--- ☐ | Dedicated baremetal or virtual hosts (“hosts”). | 8+ dedicated hosts ☐ | Dedicated locally-attached drives for each host. | 8+ drives per AIStor Server ☐ | High speed network infrastructure. | 100GbE ☐ | Server-grade CPUs with support for modern SIMD instructions (AVX-512), such as Intel® Xeon® Scalable or better. | 16+ CPU/socket or vCPU per host ☐ | Available memory to meet or exceed per-server usage by a reasonable buffer. | 128GB+ of available memory per host While AIStor may run on less than the recommended hardware, any potential cost savings come at the risk of decreased reliability, performance, or overall functionality. ``` -------------------------------- ### Install AIStor on Windows Source: https://docs.min.io/enterprise/aistor-object-store/installation/windows/install Provides instructions for deploying AIStor onto Windows infrastructure. ```markdown # Install AIStor The following guides provide instructions for deploying AIStor onto Windows infrastructure. All rights reserved 2024-Present, MinIO, Inc. ``` -------------------------------- ### Add Helm Repository Source: https://docs.min.io/enterprise/aistor-volume-manager/installation Adds the MinIO Helm repository to your local Helm configuration. ```bash helm repo add minio https://helm.min.io/ ``` -------------------------------- ### Install kubectl-directpv Plugin (Windows) Source: https://docs.min.io/enterprise/aistor-volume-manager/command-line Installs the Volume Manager kubectl plugin for Windows by downloading the executable and providing a verification command. ```powershell Invoke-WebRequest https://dl.min.io/aistor/minio/release/windows-amd64/kubectl-directpv_5.0.0 -OutFile C:\kubectl-directpv.exe C:\kubectl-directpv.exe --help ``` -------------------------------- ### AIStor Post-Install Tasks Checklist Source: https://docs.min.io/enterprise/aistor-object-store/installation/checklists/software This section outlines optional but recommended post-installation tasks for AIStor deployments. These include setting up command-line aliases, configuring bucket and site replication, implementing object retention rules, and setting up object storage tiering for cost efficiency. ```APIDOC AIStor Post-Install Tasks: - Optional: Create `mc alias` for each server using `mc alias set`. - Configure Bucket replication. - Configure Site replication. - Configure Object retention rules with lifecycle management. - Configure Object storage level rules with tiering. ``` -------------------------------- ### Fortanix SDKMS Application Setup Source: https://docs.min.io/enterprise/aistor-key-manager/legacy-key-management/installation/fortanix-sdkms Steps to create an application in Fortanix SDKMS for KES integration. This involves registering a new application, selecting REST API integration, choosing API Key authentication, and assigning a group. ```APIDOC Fortanix SDKMS Application Creation: 1. Navigate to the `Apps` section in the Fortanix SDKMS UI. 2. Create a new application with a descriptive name (e.g., `KES`). 3. Select `REST API` as the integration type. 4. Choose `API Key` as the authentication method. 5. Assign a default group for the application. This group will be used for newly created keys unless an explicit group ID is specified in the KES configuration. 6. Create the application and copy the generated API key. This key is essential for KES to authenticate with Fortanix SDKMS. ``` -------------------------------- ### mc replicate resync start with alias example Source: https://docs.min.io/enterprise/aistor-object-store/reference/cli/mc-replicate/mc-replicate-resync Demonstrates using an alias to specify the AIStor deployment and bucket for the source in a resync operation. ```bash mc replicate resync start primary/data --remote-bucket "ARN" ``` -------------------------------- ### Install MinIO AIStor as a Container Source: https://docs.min.io/enterprise/aistor-object-store Instructions for deploying MinIO AIStor using Docker or Podman. ```markdown #### Install as a Container Deploy AIStor using Docker or Podman ``` -------------------------------- ### Create Custom Values File Source: https://docs.min.io/enterprise/aistor-volume-manager/installation Creates a YAML manifest file for custom Helm chart values. ```bash touch aistor-volumemanager-values.yaml ``` -------------------------------- ### mc batch start Command Syntax Source: https://docs.min.io/enterprise/aistor-object-store/reference/cli/mc-batch/mc-batch-start Defines the general syntax for the 'mc batch start' command, indicating optional parameters and mutually exclusive/dependent options. ```shell mc [GLOBALFLAGS] batch start \ ``` -------------------------------- ### Create Bucket and Upload File Source: https://docs.min.io/enterprise/aistor-object-store/installation/windows/install/deploy-aistor-on-windows Demonstrates creating a bucket and copying a file to it using the MinIO client. ```Shell mc.exe mb myminio/data mc.exe cp C:\somefile.txt myminio/data ``` -------------------------------- ### DirectPV Discover and Init UI Source: https://docs.min.io/enterprise/aistor-object-store/reference/release-notes/kubernetes/archived-releases Implements the User Interface for discovering and initializing DirectPV resources. This provides a graphical way for users to manage DirectPV. ```UI // direct pv discover and init ui by @prakashsvmx // Frontend implementation for the DirectPV discovery and initialization screens. ``` -------------------------------- ### Edit Custom Values File Source: https://docs.min.io/enterprise/aistor-volume-manager/installation Opens the custom values YAML file using the nano text editor. ```bash nano aistor-volumemanager-values.yaml ``` -------------------------------- ### List Access Keys for Specific Users Source: https://docs.min.io/enterprise/aistor-object-store/reference/cli/admin/mc-admin-accesskey/mc-admin-accesskey-list Retrieves a list of access keys for specified users on a MinIO deployment. This example shows how to get keys for 'miniouser1' and 'miniouser2'. ```bash mc admin accesskey ls myminio/ miniouser1 miniouser2 ``` -------------------------------- ### AIStor Server Startup Log Example Source: https://docs.min.io/enterprise/aistor-object-store/administration/bucket-notifications/publish-events-to-postgresql An example log line printed by the `minio server` process on startup, indicating a configured PostgreSQL target. This ARN resource is used when configuring bucket notifications. ```text SQS ARNs: arn:minio:sqs::primary:postgresql ``` -------------------------------- ### Install MinIO `mc` CLI for Intel AMD64 Source: https://docs.min.io/enterprise/aistor-object-store/installation/macos/install Downloads the MinIO `mc` CLI binary for Intel AMD64 processors, makes it executable, and moves it to the system's PATH. ```bash curl --progress-bar -L https://dl.min.io/aistor/mc/release/darwin-amd64/mc -o mc chmod +x ./mc mv ./mc /usr/local/bin/ mc --version ``` -------------------------------- ### AIStor Operator Subscription Manifest Source: https://docs.min.io/enterprise/aistor-object-store/installation/kubernetes/install/deploy-aistor-on-openshift Defines the Kubernetes Subscription and OperatorGroup resources for installing the AIStor operator. It specifies the channel, approval strategy, source, and starting CSV for the operator. ```yaml # subscription.yaml apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: minio-object-store-operator spec: channel: stable installPlanApproval: Automatic name: minio-object-store-operator source: certified-operators sourceNamespace: openshift-marketplace startingCSV: minio-object-store-operator.v2025.7.1011319 --- apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: objectstore-operator-group ``` -------------------------------- ### Init Containers Configuration Source: https://docs.min.io/enterprise/aistor-key-manager/reference/key-manager-operator/key-manager-helm-chart An array for specifying initialization containers that run before the Key Manager pods start, ensuring necessary setup is completed. ```yaml initContainers:[] ``` -------------------------------- ### Create Bucket and Copy File with `mc` Source: https://docs.min.io/enterprise/aistor-object-store/installation/macos/install Demonstrates creating a new bucket named 'data' and copying a local file to it using the MinIO `mc` tool. ```bash mc mb myminio/data mc cp ~/somefile.txt myminio/data ``` -------------------------------- ### MinIO Resources and Community Source: https://docs.min.io/enterprise/aistor-object-store/reference/cli/aistor-client-settings/env-mc-host Information on accessing MinIO resources, including a library of white papers, solution briefs, benchmarks, and videos. It also covers training and certification programs, blog updates, event information, and community engagement through GitHub and Slack. ```English Resources: - Resources Library: White papers, solution briefs, benchmarks, videos. - Training & Certification: Become a Data Infrastructure Expert. - Blog: Product updates, company news, educational content. - Documentation: Helpful documents on reference development. - Events - Partners Community: - Github: Explore, experiment, contribute. - Slack: Crowdsourced support. - Community Docs: Official guides, tutorials, references for MinIO Community Edition. ``` -------------------------------- ### Role and User Management Updates Source: https://docs.min.io/enterprise/aistor-object-store/reference/release-notes/kubernetes This section details updates to role and user management functionalities, including getting or creating admin roles during setup, and redirecting after user/role updates. ```Go // Get or create admin role during setup // Update Role, Users and IDP to redirect after update to list ``` -------------------------------- ### mc mv SOURCE parameter examples Source: https://docs.min.io/enterprise/aistor-object-store/reference/cli/mc-mv Illustrates how to specify source paths for the `mc mv` command, including moving objects from AIStor buckets and local filesystems, and handling multiple sources. ```shell mc mv play/mybucket/object.txt play/myotherbucket/object.txt ``` ```shell mc mv ~/mydata/object.txt play/mybucket/object.txt ``` ```shell mc mv ~/mydata/object.txt play/mydata/otherobject.txt myminio/mydata ``` -------------------------------- ### Generate Root Encryption Key (REK) Source: https://docs.min.io/enterprise/aistor-key-manager/installation/kubernetes/upstream Generates a Root Encryption Key (REK) using the MinIO AIStor Key Manager Docker image. The output, starting with `hsm:ALGORITHM:`, should be saved securely. ```bash docker run quay.io/minio/aistor/minkms:latest --soft-hsm ``` -------------------------------- ### Install MinIO Server for Intel AMD64 Source: https://docs.min.io/enterprise/aistor-object-store/installation/macos/install Downloads the MinIO AIStor Server binary for Intel AMD64 processors, makes it executable, and moves it to the system's PATH. ```bash curl --progress-bar -L https://dl.min.io/aistor/minio/release/darwin-amd64/minio -o minio chmod +x ./minio mv ./minio /usr/local/bin #may require sudo permissions minio --version ``` -------------------------------- ### MinIO Cluster Replication Metrics Source: https://docs.min.io/enterprise/aistor-object-store/operations/monitoring/metrics-and-alerts/metrics-v2 Provides a comprehensive list of metrics for monitoring MinIO cluster replication status. These metrics cover failed replication attempts (bytes and counts) over hourly and minute intervals, total failures since server start, data received from and sent to other clusters, replication credential errors, and the number of proxied requests (GET, HEAD, DELETE tagging, GET tagging, PUT tagging) along with their failure counts. ```APIDOC minio_cluster_replication_last_hour_failed_bytes: Total number of bytes failed at least once to replicate in the last full hour. minio_cluster_replication_last_hour_failed_count: Total number of objects which failed replication in the last full hour. minio_cluster_replication_last_minute_failed_bytes: Total number of bytes failed at least once to replicate in the last full minute. minio_cluster_replication_last_minute_failed_count: Total number of objects which failed replication in the last full minute. minio_cluster_replication_total_failed_bytes: Total number of bytes failed at least once to replicate since server start. minio_cluster_replication_total_failed_count: Total number of objects which failed replication since server start. minio_cluster_replication_received_bytes: Total number of bytes replicated to this cluster from another cluster. minio_cluster_replication_received_count: Total number of objects received by this cluster from another cluster. minio_cluster_replication_sent_bytes: Total number of bytes replicated to the target cluster. minio_cluster_replication_sent_count: Total number of objects replicated to the target cluster. minio_cluster_replication_credential_errors: Total number of replication credential errors since server start. minio_cluster_replication_proxied_get_requests_total: Number of GET requests proxied to replication target. minio_cluster_replication_proxied_head_requests_total: Number of HEAD requests proxied to replication target. minio_cluster_replication_proxied_delete_tagging_requests_total: Number of DELETE tagging requests proxied to replication target. minio_cluster_replication_proxied_get_tagging_requests_total: Number of GET tagging requests proxied to replication target. minio_cluster_replication_proxied_put_tagging_requests_total: Number of PUT tagging requests proxied to replication target. minio_cluster_replication_proxied_get_requests_failures: Number of failures in GET requests proxied to replication target. minio_cluster_replication_proxied_head_requests_failures: Number of failures in HEAD requests proxied to replication target. minio_cluster_replication_proxied_delete_tagging_requests_failures: Number of failures proxying DELETE tagging requests to replication target. minio_cluster_replication_proxied_get_tagging_requests_failures: Number of failures proxying GET tagging requests to replication target. minio_cluster_replication_proxied_put_tagging_requests_failures: Number of failures proxying PUT tagging requests to replication target. ``` -------------------------------- ### Install MinIO `mc` CLI for M-Series ARM64 Source: https://docs.min.io/enterprise/aistor-object-store/installation/macos/install Downloads the MinIO `mc` CLI binary for M-Series ARM64 processors, makes it executable, and moves it to the system's PATH. ```bash curl --progress-bar -L https://dl.min.io/aistor/mc/release/darwin-arm64/mc -o mc chmod +x ./mc mv ./mc /usr/local/bin mc --version ``` -------------------------------- ### Deploy AIStor Key Manager using Operator Hub Source: https://docs.min.io/enterprise/aistor-key-manager/installation/kubernetes/openshift Example YAML for deploying a Key Manager resource with specified namespace, replicas, image pull secrets, and volume claim templates. It also includes a Secret definition for the HSM key. ```yaml apiVersion:aistor.min.io/v1alpha1 kind:KeyManagermetadata: name:my-kms namespace:aistor-keymanagerspec: hsmSecret: name:my-kms-hsm replicas:3 imagePullSecrets: name:registry-creds volumeClaimTemplate: metadata: name:key-manager-volumespec: accessModes: -ReadWriteOnce resources: requests: storage:25MistorageClassName:standard# Replace with an appropriate storage class to meet the requested value --- apiVersion:v1 data: hsm: kind:Secret metadata: name:my-kms-hsmnamespace:aistor-keymanager type:Opaque ``` -------------------------------- ### Install KES on Linux (AMD64) Source: https://docs.min.io/enterprise/aistor-key-manager/legacy-key-management/installation Downloads, makes executable, and installs the AIStor Key Encryption Service (KES) binary for Linux AMD64 architecture. It also shows how to verify the installation. ```bash curl --progress-bar --retry 10 -L https://dl.min.io/aistor/kes/release/linux-amd64/kes -o kes chmod +x ./kes mv ./kes /usr/local/bin/kes kes --version ``` -------------------------------- ### Install KES on Linux (ARM64) Source: https://docs.min.io/enterprise/aistor-key-manager/legacy-key-management/installation Downloads, makes executable, and installs the AIStor Key Encryption Service (KES) binary for Linux ARM64 architecture. It also shows how to verify the installation. ```bash curl --progress-bar --retry 10 -L https://dl.min.io/aistor/kes/release/linux-arm64/kes -o kes chmod +x ./kes mv ./kes /usr/local/bin/kes kes --version ``` -------------------------------- ### Download and Install MinIO mc Client (AMD64) Source: https://docs.min.io/enterprise/aistor-object-store/installation/linux/install/deploy-aistor-on-red-hat-linux Downloads the MinIO mc client for AMD64 architecture, makes it executable, and moves it to the system's PATH. ```bash wget https://dl.min.io/aistor/mc/release/linux-amd64/mc -o mc chmod +x ./mc mv ./mc /usr/local/bin/ mc --version ``` -------------------------------- ### KES CLI Commands - Initialization and Status Source: https://docs.min.io/enterprise/aistor-key-manager/legacy-key-management/kes-server/settings/server-api Covers essential KES CLI commands for initialization, logging, metrics, migration, server status, and updates. ```APIDOC kes init kes log kes ls kes metric kes migrate kes server kes status kes update ``` -------------------------------- ### Setup ProgressBar Padding Source: https://docs.min.io/enterprise/aistor-object-store/reference/release-notes/kubernetes/archived-releases Adds padding to the Setup ProgressBar component. This improves the visual appearance and spacing of the progress indicator during setup. ```UI // Add padding to Setup ProgressBar by @jinapurapu // CSS or UI framework adjustments for the progress bar component. ``` -------------------------------- ### Install KES on macOS (Apple M-series) Source: https://docs.min.io/enterprise/aistor-key-manager/legacy-key-management/installation Downloads, makes executable, and installs the AIStor Key Encryption Service (KES) binary for macOS with Apple M-series processors (ARM64). It also shows how to verify the installation. ```bash curl --progress-bar --retry 10 -L https://dl.min.io/aistor/kes/release/darwin-arm64/kes -o kes chmod +x ./kes mv ./kes /usr/local/bin/kes kes --version ``` -------------------------------- ### Install Volume Manager Plugin using Krew Source: https://docs.min.io/enterprise/aistor-volume-manager/installation/upgrade Installs the Volume Manager plugin using the `krew` package manager if it's not already installed. ```kubectl kubectl krew install directpv ``` -------------------------------- ### Install MinIO Server for M-Series ARM64 Source: https://docs.min.io/enterprise/aistor-object-store/installation/macos/install Downloads the MinIO AIStor Server binary for M-Series ARM64 processors, makes it executable, and moves it to the system's PATH. ```bash curl --progress-bar -L https://dl.min.io/aistor/minio/release/darwin-arm64/minio -o minio chmod +x ./minio mv ./minio /usr/local/bin #may require sudo permissions minio --version ``` -------------------------------- ### MinIO mc Bucket and File Operations Source: https://docs.min.io/enterprise/aistor-object-store/installation/linux/install/deploy-aistor-on-ubuntu-server Demonstrates creating a bucket and copying a file to it using the 'mc' command-line tool. ```Shell mc mb myminio/data mc cp ~/somefile.txt myminio/data ``` -------------------------------- ### MinIO Support Top Commands Source: https://docs.min.io/enterprise/aistor-object-store/administration/replication/site-replication/create-initial-site-replication Commands for monitoring and analyzing performance metrics in MinIO, including API, disk, locks, network, and RPC statistics. ```bash mc support top api mc support top disk mc support top locks mc support top net mc support top rpc ``` -------------------------------- ### Install AIStor Key Manager Operator Chart Source: https://docs.min.io/enterprise/aistor-key-manager/installation/kubernetes/upstream Installs the `aistor-keymanager-operator` Helm chart into the `keymanager-operator` namespace on your Kubernetes cluster. ```bash helm install keymanager-operator minio/aistor-keymanager-operator ``` -------------------------------- ### AIStor Client Installation (Linux ARM64) Source: https://docs.min.io/enterprise/aistor-object-store/reference/cli Installs the AIStor Client (mc) on a Linux ARM64 system using curl to download the binary, sets execute permissions, and verifies the installation. ```shell curl --progress-bar -L https://dl.min.io/aistor/mc/release/linux-arm64/mc \ chmod +x ~/minio-binaries/mc ~/minio-binaries/mc --help ``` -------------------------------- ### kes migrate Examples Source: https://docs.min.io/enterprise/aistor-key-manager/legacy-key-management/kes-server/cli/kes-migrate Illustrates how to use the `kes migrate` command with different scenarios, including migrating all master keys, a subset of keys using a pattern, and a single specific key. ```APIDOC Migrate All Master Keys: kes migrate --from vault-config.yml --to aws-config.yml Migrate Some Master Keys: To migrate a subset of all master keys, specify a pattern. Only master keys that match the pattern migrate. kes migrate --from --target For example: kes migrate --from source.yml --target target.yml my-key* Migrate a Single Key: To migrate a single master key, specify the key name. kes migrate --from --target For example: kes migrate --from source.yml --target target.yml my-master-key ```