chore: drop the unpublished upstream delivery and branding residue

The tree still carried a complete second publishing pipeline inherited from
upstream that pgsty has never operated, plus MinIO-branded artwork the fork has
no right to redistribute. None of it is a pgsty release artifact, so the
history-is-immutable rule does not protect it: nothing here was ever published
under this repository's name, and git history plus the pre-cutover tag keep the
provenance.

Removed, by category:

- charts.min.io machinery: CNAME (charts.min.io), _config.yml, index.yaml,
  helm-reindex.sh and 90 helm-releases/minio-*.tgz. GitHub Pages is not enabled
  on this repository, so this was dormant - but enabling Pages for any reason
  would have stood up a convincing impostor of the official MinIO chart
  repository from our own domain.

- Dockerfiles that consume upstream binaries: Dockerfile, Dockerfile.cicd,
  Dockerfile.hotfix, Dockerfile.release, Dockerfile.release.old_cpu,
  Dockerfile.scratch and docker-buildx.sh. These fetch or expect a MinIO-built
  binary; a Silo image must only ever contain an artifact this repository built
  from this commit. Dockerfile.goreleaser, the one the release workflow
  actually uses, stays.

- buildscripts/upgrade-tests/ (compose.yml, minio.env, nginx.conf), which
  pinned minio/minio images through a MINIO_VERSION compose variable. The
  upgrade test is rebuilt on image digests in a later commit.

- docs/hotfixes.md, describing an upstream hotfix distribution channel that
  does not exist for this fork.

- MinIO trademark artwork: .github/logo.svg (a recoloured MinIO wordmark), the
  docs/screenshots/ set, the Grafana dashboard screenshots and
  docs/federation/lookup/bucket-lookup.png. The dashboards themselves are kept
  and rebranded separately; only the images carrying MinIO chrome go.

Deliberately not touched: published releases, tags, image digests and package
signatures remain byte-identical. This commit only removes paths that were
never part of a pgsty release.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Feng Ruohang
2026-08-06 08:46:31 +08:00
parent d88f46ccee
commit 15def34dce
130 changed files with 0 additions and 4220 deletions
-6
View File
@@ -1,6 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="255 293 539 140" fill="none">
<path d="M255.222 385.861 304.199 383.375c1.061 6.446 3.22 11.358 6.478 14.734 5.303 5.465 12.879 8.197 22.728 8.197 7.348 0 13.011-1.397 16.988-4.19 3.977-2.794 5.966-6.032 5.966-9.716 0-3.5-1.894-6.631-5.682-9.394-3.788-2.763-12.576-5.372-26.364-7.828-22.576-4.113-38.674-9.577-48.295-16.392-9.697-6.815-14.546-15.502-14.546-26.062 0-6.938 2.481-13.491 7.443-19.662 4.962-6.17 12.424-11.02 22.386-14.55 9.962-3.53 23.617-5.295 40.966-5.295 21.288 0 37.519 3.208 48.693 9.624 11.174 6.416 17.822 16.622 19.943 30.621l-48.523 2.302c-1.288-6.078-3.996-10.498-8.125-13.261-4.129-2.763-9.83-4.144-17.103-4.144-5.984 0-10.492 1.028-13.522 3.085-3.03 2.056-4.545 4.558-4.545 7.505 0 2.149 1.25 4.083 3.75 5.802 2.424 1.78 8.182 3.438 17.273 4.973 22.5 3.93 38.617 7.905 48.352 11.926 9.735 4.022 16.818 9.01 21.25 14.965 4.432 5.956 6.648 12.617 6.648 19.984 0 8.657-2.954 16.638-8.863 23.944-5.909 7.306-14.167 12.847-24.773 16.623-10.606 3.776-23.977 5.664-40.113 5.664-28.333 0-47.954-4.42-58.863-13.261-10.909-8.841-17.083-20.076-18.522-33.706Z" fill="#287CAB"/>
<path d="M434.578 295.519h43.304v135.007h-43.304z" fill="#287CAB"/>
<path d="M517.881 295.519h43.209v101.762h67.436v33.245H517.881Z" fill="#287CAB"/>
<path d="M639.4 363.115c0-22.041 6.359-39.201 19.077-51.48 12.718-12.28 30.427-18.419 53.129-18.419 23.274 0 41.206 6.032 53.796 18.096 12.591 12.064 18.886 28.963 18.886 50.697 0 15.778-2.75 28.717-8.251 38.817-5.5 10.099-13.449 17.958-23.846 23.575-10.397 5.618-23.353 8.427-38.869 8.427-15.77 0-28.822-2.425-39.155-7.275-10.333-4.85-18.711-12.525-25.133-23.023-6.423-10.499-9.634-23.637-9.634-39.416Zm43.209.184c0 13.63 2.623 23.422 7.869 29.377 5.246 5.956 12.384 8.934 21.413 8.934 9.284 0 16.47-2.916 21.557-8.749 5.087-5.833 7.631-16.301 7.631-31.403 0-12.709-2.655-21.995-7.965-27.858-5.31-5.863-12.511-8.795-21.604-8.795-8.712 0-15.707 2.978-20.985 8.933-5.278 5.956-7.916 15.81-7.916 29.561Z" fill="#287CAB"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

-1
View File
@@ -1 +0,0 @@
charts.min.io
-18
View File
@@ -1,18 +0,0 @@
FROM minio/minio:latest
ARG TARGETARCH
ARG RELEASE
RUN chmod -R 777 /usr/bin
COPY ./minio-${TARGETARCH}.${RELEASE} /usr/bin/minio
COPY ./minio-${TARGETARCH}.${RELEASE}.minisig /usr/bin/minio.minisig
COPY ./minio-${TARGETARCH}.${RELEASE}.sha256sum /usr/bin/minio.sha256sum
COPY dockerscripts/docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
ENTRYPOINT ["/usr/bin/docker-entrypoint.sh"]
VOLUME ["/data"]
CMD ["minio"]
-3
View File
@@ -1,3 +0,0 @@
FROM minio/minio:edge
CMD ["minio", "server", "/data"]
-71
View File
@@ -1,71 +0,0 @@
FROM golang:1.26.5-alpine as build
ARG TARGETARCH
ARG RELEASE
ENV GOPATH=/go
ENV CGO_ENABLED=0
# Install curl and minisign
RUN apk add -U --no-cache ca-certificates && \
apk add -U --no-cache curl && \
go install aead.dev/minisign/cmd/minisign@v0.2.1
# Download minio binary and signature files
RUN curl -s -q https://dl.min.io/server/minio/hotfixes/linux-${TARGETARCH}/archive/minio.${RELEASE} -o /go/bin/minio && \
curl -s -q https://dl.min.io/server/minio/hotfixes/linux-${TARGETARCH}/archive/minio.${RELEASE}.minisig -o /go/bin/minio.minisig && \
curl -s -q https://dl.min.io/server/minio/hotfixes/linux-${TARGETARCH}/archive/minio.${RELEASE}.sha256sum -o /go/bin/minio.sha256sum && \
chmod +x /go/bin/minio
# Download mc binary and signature files
RUN curl -s -q https://dl.min.io/client/mc/release/linux-${TARGETARCH}/mc -o /go/bin/mc && \
curl -s -q https://dl.min.io/client/mc/release/linux-${TARGETARCH}/mc.minisig -o /go/bin/mc.minisig && \
curl -s -q https://dl.min.io/client/mc/release/linux-${TARGETARCH}/mc.sha256sum -o /go/bin/mc.sha256sum && \
chmod +x /go/bin/mc
RUN if [ "$TARGETARCH" = "amd64" ]; then \
curl -L -s -q https://github.com/moparisthebest/static-curl/releases/latest/download/curl-${TARGETARCH} -o /go/bin/curl; \
chmod +x /go/bin/curl; \
fi
# Verify binary signature using public key "RWTx5Zr1tiHQLwG9keckT0c45M3AGeHD6IvimQHpyRywVWGbP1aVSGavRUN"
RUN minisign -Vqm /go/bin/minio -x /go/bin/minio.minisig -P RWTx5Zr1tiHQLwG9keckT0c45M3AGeHD6IvimQHpyRywVWGbP1aVSGav && \
minisign -Vqm /go/bin/mc -x /go/bin/mc.minisig -P RWTx5Zr1tiHQLwG9keckT0c45M3AGeHD6IvimQHpyRywVWGbP1aVSGav
FROM registry.access.redhat.com/ubi9/ubi-micro:latest
ARG RELEASE
LABEL name="MinIO" \
vendor="MinIO Inc <dev@min.io>" \
maintainer="MinIO Inc <dev@min.io>" \
version="${RELEASE}" \
release="${RELEASE}" \
summary="MinIO is a High Performance Object Storage, API compatible with Amazon S3 cloud storage service." \
description="MinIO object storage is fundamentally different. Designed for performance and the S3 API, it is 100% open-source. MinIO is ideal for large, private cloud environments with stringent security requirements and delivers mission-critical availability across a diverse range of workloads."
ENV MINIO_ACCESS_KEY_FILE=access_key \
MINIO_SECRET_KEY_FILE=secret_key \
MINIO_ROOT_USER_FILE=access_key \
MINIO_ROOT_PASSWORD_FILE=secret_key \
MINIO_KMS_SECRET_KEY_FILE=kms_master_key \
MINIO_UPDATE_MINISIGN_PUBKEY="RWTx5Zr1tiHQLwG9keckT0c45M3AGeHD6IvimQHpyRywVWGbP1aVSGav" \
MINIO_CONFIG_ENV_FILE=config.env \
MC_CONFIG_DIR=/tmp/.mc
RUN chmod -R 777 /usr/bin
COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
COPY --from=build /go/bin/minio* /usr/bin/
COPY --from=build /go/bin/mc* /usr/bin/
COPY --from=build /go/bin/cur* /usr/bin/
COPY CREDITS /licenses/CREDITS
COPY LICENSE /licenses/LICENSE
COPY dockerscripts/docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
EXPOSE 9000
VOLUME ["/data"]
ENTRYPOINT ["/usr/bin/docker-entrypoint.sh"]
CMD ["minio"]
-73
View File
@@ -1,73 +0,0 @@
FROM golang:1.26.5-alpine AS build
ARG TARGETARCH
ARG RELEASE
ENV GOPATH=/go
ENV CGO_ENABLED=0
WORKDIR /build
# Install curl and minisign
RUN apk add -U --no-cache ca-certificates && \
apk add -U --no-cache curl && \
apk add -U --no-cache bash && \
go install aead.dev/minisign/cmd/minisign@v0.2.1
# Download minio binary and signature files
RUN curl -s -q https://dl.min.io/server/minio/release/linux-${TARGETARCH}/archive/minio.${RELEASE} -o /go/bin/minio && \
curl -s -q https://dl.min.io/server/minio/release/linux-${TARGETARCH}/archive/minio.${RELEASE}.minisig -o /go/bin/minio.minisig && \
curl -s -q https://dl.min.io/server/minio/release/linux-${TARGETARCH}/archive/minio.${RELEASE}.sha256sum -o /go/bin/minio.sha256sum && \
chmod +x /go/bin/minio
# Download mc binary and signature files
RUN curl -s -q https://dl.min.io/client/mc/release/linux-${TARGETARCH}/mc -o /go/bin/mc && \
curl -s -q https://dl.min.io/client/mc/release/linux-${TARGETARCH}/mc.minisig -o /go/bin/mc.minisig && \
curl -s -q https://dl.min.io/client/mc/release/linux-${TARGETARCH}/mc.sha256sum -o /go/bin/mc.sha256sum && \
chmod +x /go/bin/mc
# Verify binary signature using public key "RWTx5Zr1tiHQLwG9keckT0c45M3AGeHD6IvimQHpyRywVWGbP1aVSGavRUN"
RUN minisign -Vqm /go/bin/minio -x /go/bin/minio.minisig -P RWTx5Zr1tiHQLwG9keckT0c45M3AGeHD6IvimQHpyRywVWGbP1aVSGav && \
minisign -Vqm /go/bin/mc -x /go/bin/mc.minisig -P RWTx5Zr1tiHQLwG9keckT0c45M3AGeHD6IvimQHpyRywVWGbP1aVSGav
COPY dockerscripts/download-static-curl.sh /build/download-static-curl
RUN chmod +x /build/download-static-curl && \
/build/download-static-curl
FROM registry.access.redhat.com/ubi9/ubi-micro:latest
ARG RELEASE
LABEL name="MinIO" \
vendor="MinIO Inc <dev@min.io>" \
maintainer="MinIO Inc <dev@min.io>" \
version="${RELEASE}" \
release="${RELEASE}" \
summary="MinIO is a High Performance Object Storage, API compatible with Amazon S3 cloud storage service." \
description="MinIO object storage is fundamentally different. Designed for performance and the S3 API, it is 100% open-source. MinIO is ideal for large, private cloud environments with stringent security requirements and delivers mission-critical availability across a diverse range of workloads."
ENV MINIO_ACCESS_KEY_FILE=access_key \
MINIO_SECRET_KEY_FILE=secret_key \
MINIO_ROOT_USER_FILE=access_key \
MINIO_ROOT_PASSWORD_FILE=secret_key \
MINIO_KMS_SECRET_KEY_FILE=kms_master_key \
MINIO_UPDATE_MINISIGN_PUBKEY="RWTx5Zr1tiHQLwG9keckT0c45M3AGeHD6IvimQHpyRywVWGbP1aVSGav" \
MINIO_CONFIG_ENV_FILE=config.env \
MC_CONFIG_DIR=/tmp/.mc
RUN chmod -R 777 /usr/bin
COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
COPY --from=build /go/bin/minio* /usr/bin/
COPY --from=build /go/bin/mc* /usr/bin/
COPY --from=build /go/bin/curl* /usr/bin/
COPY CREDITS /licenses/CREDITS
COPY LICENSE /licenses/LICENSE
COPY dockerscripts/docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
EXPOSE 9000
VOLUME ["/data"]
ENTRYPOINT ["/usr/bin/docker-entrypoint.sh"]
CMD ["minio"]
-71
View File
@@ -1,71 +0,0 @@
FROM golang:1.26.5-alpine AS build
ARG TARGETARCH
ARG RELEASE
ENV GOPATH=/go
ENV CGO_ENABLED=0
# Install curl and minisign
RUN apk add -U --no-cache ca-certificates && \
apk add -U --no-cache curl && \
go install aead.dev/minisign/cmd/minisign@v0.2.1
# Download minio binary and signature files
RUN curl -s -q https://dl.min.io/server/minio/release/linux-${TARGETARCH}/archive/minio.${RELEASE} -o /go/bin/minio && \
curl -s -q https://dl.min.io/server/minio/release/linux-${TARGETARCH}/archive/minio.${RELEASE}.minisig -o /go/bin/minio.minisig && \
curl -s -q https://dl.min.io/server/minio/release/linux-${TARGETARCH}/archive/minio.${RELEASE}.sha256sum -o /go/bin/minio.sha256sum && \
chmod +x /go/bin/minio
# Download mc binary and signature files
RUN curl -s -q https://dl.min.io/client/mc/release/linux-${TARGETARCH}/mc -o /go/bin/mc && \
curl -s -q https://dl.min.io/client/mc/release/linux-${TARGETARCH}/mc.minisig -o /go/bin/mc.minisig && \
curl -s -q https://dl.min.io/client/mc/release/linux-${TARGETARCH}/mc.sha256sum -o /go/bin/mc.sha256sum && \
chmod +x /go/bin/mc
RUN if [ "$TARGETARCH" = "amd64" ]; then \
curl -L -s -q https://github.com/moparisthebest/static-curl/releases/latest/download/curl-${TARGETARCH} -o /go/bin/curl; \
chmod +x /go/bin/curl; \
fi
# Verify binary signature using public key "RWTx5Zr1tiHQLwG9keckT0c45M3AGeHD6IvimQHpyRywVWGbP1aVSGavRUN"
RUN minisign -Vqm /go/bin/minio -x /go/bin/minio.minisig -P RWTx5Zr1tiHQLwG9keckT0c45M3AGeHD6IvimQHpyRywVWGbP1aVSGav && \
minisign -Vqm /go/bin/mc -x /go/bin/mc.minisig -P RWTx5Zr1tiHQLwG9keckT0c45M3AGeHD6IvimQHpyRywVWGbP1aVSGav
FROM registry.access.redhat.com/ubi8/ubi-micro:latest
ARG RELEASE
LABEL name="MinIO" \
vendor="MinIO Inc <dev@min.io>" \
maintainer="MinIO Inc <dev@min.io>" \
version="${RELEASE}" \
release="${RELEASE}" \
summary="MinIO is a High Performance Object Storage, API compatible with Amazon S3 cloud storage service." \
description="MinIO object storage is fundamentally different. Designed for performance and the S3 API, it is 100% open-source. MinIO is ideal for large, private cloud environments with stringent security requirements and delivers mission-critical availability across a diverse range of workloads."
ENV MINIO_ACCESS_KEY_FILE=access_key \
MINIO_SECRET_KEY_FILE=secret_key \
MINIO_ROOT_USER_FILE=access_key \
MINIO_ROOT_PASSWORD_FILE=secret_key \
MINIO_KMS_SECRET_KEY_FILE=kms_master_key \
MINIO_UPDATE_MINISIGN_PUBKEY="RWTx5Zr1tiHQLwG9keckT0c45M3AGeHD6IvimQHpyRywVWGbP1aVSGav" \
MINIO_CONFIG_ENV_FILE=config.env \
MC_CONFIG_DIR=/tmp/.mc
RUN chmod -R 777 /usr/bin
COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
COPY --from=build /go/bin/minio* /usr/bin/
COPY --from=build /go/bin/mc* /usr/bin/
COPY --from=build /go/bin/cur* /usr/bin/
COPY CREDITS /licenses/CREDITS
COPY LICENSE /licenses/LICENSE
COPY dockerscripts/docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
EXPOSE 9000
VOLUME ["/data"]
ENTRYPOINT ["/usr/bin/docker-entrypoint.sh"]
CMD ["minio"]
-5
View File
@@ -1,5 +0,0 @@
FROM scratch
COPY minio /minio
CMD ["/minio"]
-1
View File
@@ -1 +0,0 @@
theme: jekyll-theme-minimal
-74
View File
@@ -1,74 +0,0 @@
# Settings and configurations that are common for all containers
x-minio-common: &minio-common
image: minio/minio:${MINIO_VERSION}
command: server http://minio{1...4}/data{1...3}
env_file:
- ./minio.env
expose:
- "9000"
- "9001"
# starts 4 docker containers running minio server instances.
# using nginx reverse proxy, load balancing, you can access
# it through port 9000.
services:
minio1:
<<: *minio-common
hostname: minio1
volumes:
- data1-1:/data1
- data1-2:/data2
- data1-3:/data3
minio2:
<<: *minio-common
hostname: minio2
volumes:
- data2-1:/data1
- data2-2:/data2
- data2-3:/data3
minio3:
<<: *minio-common
hostname: minio3
volumes:
- data3-1:/data1
- data3-2:/data2
- data3-3:/data3
minio4:
<<: *minio-common
hostname: minio4
volumes:
- data4-1:/data1
- data4-2:/data2
- data4-3:/data3
nginx:
image: nginx:1.19.2-alpine
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
ports:
- "9000:9000"
- "9001:9001"
depends_on:
- minio1
- minio2
- minio3
- minio4
## By default this config uses default local driver,
## For custom volumes replace with volume driver configuration.
volumes:
data1-1:
data1-2:
data1-3:
data2-1:
data2-2:
data2-3:
data3-1:
data3-2:
data3-3:
data4-1:
data4-2:
data4-3:
-3
View File
@@ -1,3 +0,0 @@
MINIO_ACCESS_KEY=minioadmin
MINIO_SECRET_KEY=minioadmin
MINIO_BROWSER=off
-68
View File
@@ -1,68 +0,0 @@
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
# include /etc/nginx/conf.d/*.conf;
upstream minio {
server minio1:9000;
server minio2:9000;
server minio3:9000;
server minio4:9000;
}
# main minio
server {
listen 9000;
listen [::]:9000;
server_name localhost;
# To allow special characters in headers
ignore_invalid_headers off;
# Allow any size file to be uploaded.
# Set to a value such as 1000m; to restrict file size to a specific value
client_max_body_size 0;
# To disable buffering
proxy_buffering off;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 300;
# Default is HTTP/1, keepalive is only enabled in HTTP/1.1
proxy_http_version 1.1;
proxy_set_header Connection "";
chunked_transfer_encoding off;
proxy_pass http://minio;
}
}
}
-69
View File
@@ -1,69 +0,0 @@
#!/bin/bash
set -ex
function _init() {
## All binaries are static make sure to disable CGO.
export CGO_ENABLED=0
export CRED_DIR="/media/${USER}/minio"
## List of architectures and OS to test coss compilation.
SUPPORTED_OSARCH="linux/ppc64le linux/amd64 linux/arm64"
remote=$(git remote get-url upstream)
if test "$remote" != "git@github.com:minio/minio.git"; then
echo "Script requires that the 'upstream' remote is set to git@github.com:minio/minio.git"
exit 1
fi
git remote update upstream && git checkout master && git rebase upstream/master
release=$(git describe --abbrev=0 --tags)
export release
}
function _build() {
local osarch=$1
IFS=/ read -r -a arr <<<"$osarch"
os="${arr[0]}"
arch="${arr[1]}"
package=$(go list -f '{{.ImportPath}}')
printf -- "--> %15s:%s\n" "${osarch}" "${package}"
# go build -trimpath to build the binary.
export GOOS=$os
export GOARCH=$arch
export MINIO_RELEASE=RELEASE
LDFLAGS=$(go run buildscripts/gen-ldflags.go)
go build -tags kqueue -trimpath --ldflags "${LDFLAGS}" -o ./minio-${arch}.${release}
minisign -qQSm ./minio-${arch}.${release} -s "$CRED_DIR/minisign.key" <"$CRED_DIR/minisign-passphrase"
sha256sum_str=$(sha256sum <./minio-${arch}.${release})
rc=$?
if [ "$rc" -ne 0 ]; then
abort "unable to generate sha256sum for ${1}"
fi
echo "${sha256sum_str// -/minio.${release}}" >./minio-${arch}.${release}.sha256sum
}
function main() {
echo "Testing builds for OS/Arch: ${SUPPORTED_OSARCH}"
for each_osarch in ${SUPPORTED_OSARCH}; do
_build "${each_osarch}"
done
sudo sysctl net.ipv6.conf.all.disable_ipv6=0
docker buildx build --push --no-cache \
--build-arg RELEASE="${release}" \
-t "registry.min.dev/community/minio:latest" \
-t "registry.min.dev/community/minio:${release}" \
--platform=linux/arm64,linux/amd64,linux/ppc64le \
-f Dockerfile .
docker buildx prune -f
sudo sysctl net.ipv6.conf.all.disable_ipv6=0
}
_init && main "$@"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

-137
View File
@@ -1,137 +0,0 @@
# Introduction
This document outlines how to make hotfix binaries and containers for MinIO?. The main focus in this article is about how to backport patches to a specific branch and finally building binaries/containers.
## Pre-pre requisite
- A working knowledge of MinIO codebase and its various components.
- A working knowledge of AWS S3 API behaviors and corner cases.
## Pre-requisite for backporting any fixes
Fixes that are allowed a backport must satisfy any of the following criteria's:
- A fix must not be a feature, for example.
```
commit faf013ec84051b92ae0f420a658b8d35bb7bb000
Author: Klaus Post <klauspost@gmail.com>
Date: Thu Nov 18 12:15:22 2021 -0800
Improve performance on multiple versions (#13573)
```
- A fix must be a valid fix that was reproduced and seen in a customer environment, for example.
```
commit 886262e58af77ebc7c836ef587c08544e9a0c271
Author: Harshavardhana <harsha@minio.io>
Date: Wed Nov 17 15:49:12 2021 -0800
heal legacy objects when versioning is enabled after upgrade (#13671)
```
- A security fix must be backported if a customer is affected by it, we have a mechanism in SUBNET to send out notifications to affected customers in such situations, this is a mandatory requirement.
```
commit 99bf4d0c429f04dbd013ba98840d07b759ae1702 (tag: RELEASE.2019-06-15T23-07-18Z)
Author: Harshavardhana <harsha@minio.io>
Date: Sat Jun 15 11:27:17 2019 -0700
[security] Match ${aws:username} exactly instead of prefix match (#7791)
This PR fixes a security issue where an IAM user based
on his policy is granted more privileges than restricted
by the users IAM policy.
This is due to an issue of prefix based Matcher() function
which was incorrectly matching prefix based on resource
prefixes instead of exact match.
```
- There is always a possibility of a fix that is new, it is advised that the developer must make sure that the fix is sent upstream, reviewed and merged to the master branch.
## Creating a hotfix branch
Customers in MinIO are allowed LTS on any release they choose to standardize. Production setups seldom change and require maintenance. Hotfix branches are such maintenance branches that allow customers to operate a production cluster without drastic changes to their deployment.
## Backporting a fix
Developer is advised to clone the MinIO source and checkout the MinIO release tag customer is currently on.
```
λ git checkout RELEASE.2021-04-22T15-44-28Z
```
Create a branch and proceed to push the branch **upstream**
> (upstream here points to git@github.com:pgsty/minio.git)
```
λ git branch -m RELEASE.2021-04-22T15-44-28Z.hotfix
λ git push -u upstream RELEASE.2021-04-22T15-44-28Z.hotfix
```
Pick the relevant commit-id say for example commit-id from the master branch
```
commit 4f3317effea38c203c358af9cb5ce3c0e4173976
Author: Klaus Post <klauspost@gmail.com>
Date: Mon Nov 8 08:41:27 2021 -0800
Close stream on panic (#13605)
Always close streamHTTPResponse on panic on main thread to avoid
write/flush after response handler has returned.
```
```
λ git cherry-pick 4f3317effea38c203c358af9cb5ce3c0e4173976
```
*A self contained **patch** usually applies fine on the hotfix branch during backports as long it is self contained. There are situations however this may lead to conflicts and the patch will not cleanly apply. Conflicts might be trivial which can be resolved easily, when conflicts seem to be non-trivial or touches the part of the code-base the developer is not confident - to get additional clarity reach out to #hack on MinIOHQ slack channel. Hasty changes must be avoided, minor fixes and logs may be added to hotfix branches but this should not be followed as practice.*
Once the **patch** is successfully applied, developer must run tests to validate the fix that was backported by running following tests, locally.
Unit tests
```
λ make test
```
Verify different type of MinIO deployments work
```
λ make verify
```
Verify if healing and replacing a drive works
```
λ make verify-healing
```
At this point in time the backport is ready to be submitted as a pull request to the relevant branch. A pull request is recommended to ensure [mint](http://github.com/minio/mint) tests are validated. Pull request also ensures code-reviews for the backports in case of any unforeseen regressions.
### Building a hotfix binary and container
To add a hotfix tag to the binary version and embed the relevant `commit-id` following build helpers are available
#### Builds the hotfix binary and uploads to https;//dl.min.io
```
λ CRED_DIR=/media/builder/minio make hotfix-push
```
#### Builds the hotfix container and pushes to docker.io/minio/minio
```
λ CRED_DIR=/media/builder/minio make docker-hotfix-push
```
#### Builds the hotfix container and pushes to registry.min.dev/<customer>/minio
```
λ REPO="registry.min.dev/<customer>" CRED_DIR=/media/builder/minio make docker-hotfix-push
```
Once this has been provided to the customer relevant binary will be uploaded from our *release server* securely, directly to <https://dl.minio.io/server/minio/hotfixes/archive/>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 355 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 591 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 444 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 230 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 252 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 354 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 215 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 548 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 288 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 265 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

@@ -1,583 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 1165.51 600" style="enable-background:new 0 0 1165.51 600;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
.st1{fill:#343435;}
.st2{fill:#494949;}
.st3{fill:#C4C4C4;}
.st4{fill:#21211F;}
.st5{fill:#E6E6E6;}
.st6{opacity:0.56;fill:url(#SVGID_1_);}
.st7{fill:#39B54A;}
.st8{opacity:0.56;fill:url(#SVGID_2_);}
.st9{opacity:0.56;fill:url(#SVGID_3_);}
.st10{opacity:0.56;fill:url(#SVGID_4_);}
.st11{opacity:0.56;fill:url(#SVGID_5_);}
.st12{opacity:0.56;fill:url(#SVGID_6_);}
.st13{opacity:0.56;fill:url(#SVGID_7_);}
.st14{opacity:0.56;fill:url(#SVGID_8_);}
.st15{opacity:0.56;fill:url(#SVGID_9_);}
.st16{opacity:0.56;fill:url(#SVGID_10_);}
.st17{opacity:0.56;fill:url(#SVGID_11_);}
.st18{opacity:0.56;fill:url(#SVGID_12_);}
.st19{opacity:0.56;fill:url(#SVGID_13_);}
.st20{opacity:0.56;fill:url(#SVGID_14_);}
.st21{opacity:0.56;fill:url(#SVGID_15_);}
.st22{opacity:0.56;fill:url(#SVGID_16_);}
.st23{opacity:0.56;fill:url(#SVGID_17_);}
.st24{opacity:0.56;fill:url(#SVGID_18_);}
.st25{opacity:0.56;fill:url(#SVGID_19_);}
.st26{opacity:0.56;fill:url(#SVGID_20_);}
.st27{opacity:0.56;fill:url(#SVGID_21_);}
.st28{opacity:0.56;fill:url(#SVGID_22_);}
.st29{opacity:0.56;fill:url(#SVGID_23_);}
.st30{opacity:0.56;fill:url(#SVGID_24_);}
.st31{opacity:0.56;fill:url(#SVGID_25_);}
.st32{opacity:0.56;fill:url(#SVGID_26_);}
.st33{opacity:0.56;fill:url(#SVGID_27_);}
.st34{opacity:0.56;fill:url(#SVGID_28_);}
.st35{opacity:0.56;fill:url(#SVGID_29_);}
.st36{opacity:0.56;fill:url(#SVGID_30_);}
.st37{opacity:0.56;fill:url(#SVGID_31_);}
.st38{opacity:0.56;fill:url(#SVGID_32_);}
.st39{opacity:0.56;fill:url(#SVGID_33_);}
.st40{fill:none;stroke:#000000;stroke-miterlimit:10;}
.st41{fill:none;stroke:#CCCCCC;stroke-width:2;stroke-miterlimit:10;}
.st42{fill:#CCCCCC;}
.st43{fill:none;stroke:#666666;stroke-width:2;stroke-miterlimit:10;}
.st44{fill:#666666;}
.st45{fill:none;stroke:#EF524F;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:12,12;}
.st46{fill:#EF524F;}
.st47{fill:#62757C;}
.st48{fill:#23363A;}
.st49{fill:#FEFBF6;}
.st50{fill:#F7F7F7;stroke:#23363A;stroke-width:6;stroke-miterlimit:10;}
.st51{fill:none;stroke:#23363A;stroke-width:3;stroke-miterlimit:10;}
.st52{fill:#F7F7F7;}
.st53{fill:#23363A;stroke:#F7F7F7;stroke-width:2;stroke-miterlimit:10;}
.st54{fill:#37474F;}
.st55{fill:#EDEAE2;}
.st56{fill:#4C626D;}
.st57{fill:#E8EDEF;}
.st58{fill:#515151;}
.st59{fill:#939393;}
.st60{opacity:0.56;fill:url(#SVGID_34_);}
.st61{opacity:0.56;fill:url(#SVGID_35_);}
.st62{opacity:0.56;fill:url(#SVGID_36_);}
.st63{opacity:0.56;fill:url(#SVGID_37_);}
.st64{opacity:0.56;fill:url(#SVGID_38_);}
.st65{opacity:0.56;fill:url(#SVGID_39_);}
.st66{opacity:0.56;fill:url(#SVGID_40_);}
.st67{opacity:0.56;fill:url(#SVGID_41_);}
.st68{opacity:0.56;fill:url(#SVGID_42_);}
.st69{opacity:0.56;fill:url(#SVGID_43_);}
.st70{opacity:0.56;fill:url(#SVGID_44_);}
.st71{opacity:0.56;fill:url(#SVGID_45_);}
.st72{opacity:0.56;fill:url(#SVGID_46_);}
.st73{opacity:0.56;fill:url(#SVGID_47_);}
.st74{opacity:0.56;fill:url(#SVGID_48_);}
.st75{opacity:0.56;fill:url(#SVGID_49_);}
.st76{opacity:0.56;fill:url(#SVGID_50_);}
.st77{opacity:0.56;fill:url(#SVGID_51_);}
.st78{opacity:0.56;fill:url(#SVGID_52_);}
.st79{opacity:0.56;fill:url(#SVGID_53_);}
.st80{opacity:0.56;fill:url(#SVGID_54_);}
.st81{opacity:0.56;fill:url(#SVGID_55_);}
.st82{opacity:0.56;fill:url(#SVGID_56_);}
.st83{opacity:0.56;fill:url(#SVGID_57_);}
.st84{opacity:0.56;fill:url(#SVGID_58_);}
.st85{opacity:0.56;fill:url(#SVGID_59_);}
.st86{opacity:0.56;fill:url(#SVGID_60_);}
.st87{opacity:0.56;fill:url(#SVGID_61_);}
.st88{opacity:0.56;fill:url(#SVGID_62_);}
.st89{opacity:0.56;fill:url(#SVGID_63_);}
.st90{opacity:0.56;fill:url(#SVGID_64_);}
.st91{opacity:0.56;fill:url(#SVGID_65_);}
.st92{opacity:0.56;fill:url(#SVGID_66_);}
.st93{fill:none;stroke:#898989;stroke-miterlimit:10;}
.st94{fill:#898989;}
.st95{fill:none;stroke:#666666;stroke-miterlimit:10;}
.st96{fill:none;stroke:#EF524F;stroke-miterlimit:10;}
.st97{fill:none;stroke:#EF524F;stroke-miterlimit:10;stroke-dasharray:12.0065,12.0065;}
.st98{fill:#B2B2B2;}
.st99{fill:#5A5C5E;}
.st100{fill:#DBDBDB;}
.st101{fill:#6A6B6B;}
.st102{fill:none;stroke:#EF524F;stroke-miterlimit:10;stroke-dasharray:11.6391,11.6391;}
.st103{fill:none;stroke:#EF524F;stroke-miterlimit:10;stroke-dasharray:12.7731,12.7731;}
.st104{fill:none;stroke:#EF524F;stroke-miterlimit:10;stroke-dasharray:11.9372,11.9372;}
.st105{opacity:0.56;fill:url(#SVGID_67_);}
.st106{opacity:0.56;fill:url(#SVGID_68_);}
.st107{opacity:0.56;fill:url(#SVGID_69_);}
.st108{opacity:0.56;fill:url(#SVGID_70_);}
.st109{opacity:0.56;fill:url(#SVGID_71_);}
.st110{opacity:0.56;fill:url(#SVGID_72_);}
.st111{opacity:0.56;fill:url(#SVGID_73_);}
.st112{opacity:0.56;fill:url(#SVGID_74_);}
.st113{opacity:0.56;fill:url(#SVGID_75_);}
.st114{opacity:0.56;fill:url(#SVGID_76_);}
.st115{opacity:0.56;fill:url(#SVGID_77_);}
.st116{opacity:0.56;fill:url(#SVGID_78_);}
.st117{opacity:0.56;fill:url(#SVGID_79_);}
.st118{opacity:0.56;fill:url(#SVGID_80_);}
.st119{opacity:0.56;fill:url(#SVGID_81_);}
.st120{opacity:0.56;fill:url(#SVGID_82_);}
.st121{opacity:0.56;fill:url(#SVGID_83_);}
.st122{opacity:0.56;fill:url(#SVGID_84_);}
.st123{opacity:0.56;fill:url(#SVGID_85_);}
.st124{opacity:0.56;fill:url(#SVGID_86_);}
.st125{opacity:0.56;fill:url(#SVGID_87_);}
.st126{opacity:0.56;fill:url(#SVGID_88_);}
.st127{opacity:0.56;fill:url(#SVGID_89_);}
.st128{opacity:0.56;fill:url(#SVGID_90_);}
.st129{opacity:0.56;fill:url(#SVGID_91_);}
.st130{opacity:0.56;fill:url(#SVGID_92_);}
.st131{opacity:0.56;fill:url(#SVGID_93_);}
.st132{opacity:0.56;fill:url(#SVGID_94_);}
.st133{opacity:0.56;fill:url(#SVGID_95_);}
.st134{opacity:0.56;fill:url(#SVGID_96_);}
.st135{opacity:0.56;fill:url(#SVGID_97_);}
.st136{opacity:0.56;fill:url(#SVGID_98_);}
.st137{opacity:0.56;fill:url(#SVGID_99_);}
.st138{fill:none;stroke:#CCCCCC;stroke-width:1.778;stroke-miterlimit:10;}
.st139{fill:none;stroke:#EF524F;stroke-width:1.778;stroke-miterlimit:10;stroke-dasharray:10.6678,10.6678;}
.st140{fill:#E5E5E5;}
.st141{fill:none;stroke:#666666;stroke-width:1.778;stroke-miterlimit:10;}
.st142{fill:#F47B67;}
.st143{fill:none;stroke:#EAEAEA;stroke-width:0.8726;stroke-miterlimit:10;}
.st144{fill:#727272;}
.st145{fill:none;stroke:#EAEAEA;stroke-width:0.75;stroke-miterlimit:10;}
.st146{fill:#FFFFFF;stroke:#9B9B9B;stroke-miterlimit:10;}
.st147{fill:none;stroke:#9B9B9B;stroke-miterlimit:10;}
.st148{fill:#9B9B9B;}
.st149{opacity:0.56;fill:url(#SVGID_100_);}
.st150{opacity:0.56;fill:url(#SVGID_101_);}
.st151{opacity:0.56;fill:url(#SVGID_102_);}
.st152{opacity:0.56;fill:url(#SVGID_103_);}
.st153{opacity:0.56;fill:url(#SVGID_104_);}
.st154{opacity:0.56;fill:url(#SVGID_105_);}
.st155{opacity:0.56;fill:url(#SVGID_106_);}
.st156{opacity:0.56;fill:url(#SVGID_107_);}
.st157{opacity:0.56;fill:url(#SVGID_108_);}
.st158{opacity:0.56;fill:url(#SVGID_109_);}
.st159{opacity:0.56;fill:url(#SVGID_110_);}
.st160{opacity:0.56;fill:url(#SVGID_111_);}
.st161{opacity:0.56;fill:url(#SVGID_112_);}
.st162{opacity:0.56;fill:url(#SVGID_113_);}
.st163{opacity:0.56;fill:url(#SVGID_114_);}
.st164{opacity:0.56;fill:url(#SVGID_115_);}
.st165{opacity:0.56;fill:url(#SVGID_116_);}
.st166{opacity:0.56;fill:url(#SVGID_117_);}
.st167{opacity:0.56;fill:url(#SVGID_118_);}
.st168{opacity:0.56;fill:url(#SVGID_119_);}
.st169{opacity:0.56;fill:url(#SVGID_120_);}
.st170{opacity:0.56;fill:url(#SVGID_121_);}
.st171{opacity:0.56;fill:url(#SVGID_122_);}
.st172{opacity:0.56;fill:url(#SVGID_123_);}
.st173{opacity:0.56;fill:url(#SVGID_124_);}
.st174{opacity:0.56;fill:url(#SVGID_125_);}
.st175{opacity:0.56;fill:url(#SVGID_126_);}
.st176{opacity:0.56;fill:url(#SVGID_127_);}
.st177{opacity:0.56;fill:url(#SVGID_128_);}
.st178{opacity:0.56;fill:url(#SVGID_129_);}
.st179{opacity:0.56;fill:url(#SVGID_130_);}
.st180{opacity:0.56;fill:url(#SVGID_131_);}
.st181{opacity:0.56;fill:url(#SVGID_132_);}
.st182{fill:#E8E8E8;stroke:#C6C6C6;stroke-width:1.0826;stroke-miterlimit:10;}
.st183{fill:#F15A24;}
.st184{fill:#FFFFFF;stroke:#C6C6C6;stroke-width:1.0826;stroke-miterlimit:10;}
.st185{fill:#636363;}
.st186{fill:none;stroke:#636363;stroke-miterlimit:10;}
.st187{fill:none;stroke:#EF524F;stroke-miterlimit:10;stroke-dasharray:12,12;}
.st188{fill:none;stroke:#636363;stroke-width:0.6802;stroke-miterlimit:10;}
.st189{fill:#FFFFFF;stroke:#636363;stroke-width:0.6802;stroke-miterlimit:10;}
.st190{fill:none;stroke:#EF524F;stroke-miterlimit:10;stroke-dasharray:11.4666,11.4666;}
.st191{fill:#E8E8E8;stroke:#898989;stroke-width:0.5488;stroke-miterlimit:10;}
.st192{fill:#FFFFFF;stroke:#898989;stroke-width:0.5488;stroke-miterlimit:10;}
.st193{fill:#22B573;}
.st194{fill:#E8E8E8;}
.st195{fill:#A8A8A8;}
.st196{fill:#777777;}
.st197{fill:#4C4C4C;}
.st198{fill:none;stroke:#3F3F3F;stroke-miterlimit:10;}
.st199{fill:#3F3F3F;}
.st200{fill:none;stroke:#5B5B5B;stroke-miterlimit:10;}
.st201{fill:#5B5B5B;}
.st202{fill:none;stroke:#F47B67;stroke-miterlimit:10;}
.st203{fill:#E8E8E8;stroke:#C6C6C6;stroke-miterlimit:10;}
.st204{fill:#FFFFFF;stroke:#C6C6C6;stroke-miterlimit:10;}
.st205{fill:#BFBFBF;}
.st206{fill:none;stroke:#929292;stroke-width:1.0006;stroke-miterlimit:10;}
.st207{fill:none;stroke:#939393;stroke-width:2;stroke-miterlimit:10;}
.st208{fill:#E8E8E8;stroke:#C6C6C6;stroke-width:1.0171;stroke-miterlimit:10;}
.st209{fill:#FFFFFF;stroke:#C6C6C6;stroke-width:1.0171;stroke-miterlimit:10;}
.st210{fill:none;stroke:#C6C6C6;stroke-width:1.0171;stroke-miterlimit:10;}
.st211{fill:none;stroke:#929292;stroke-width:0.9465;stroke-miterlimit:10;}
.st212{fill:#FFFFFF;stroke:#C6C6C6;stroke-width:0.9459;stroke-miterlimit:10;}
.st213{fill:none;stroke:#939393;stroke-width:1.8919;stroke-miterlimit:10;}
.st214{fill:none;stroke:#EAEAEA;stroke-width:0.6078;stroke-miterlimit:10;}
.st215{fill:none;stroke:#CCCCCC;stroke-width:1.5;stroke-miterlimit:10;}
.st216{fill:#B3B3B3;}
.st217{fill:#FFFFFF;stroke:#000000;stroke-width:0.25;stroke-miterlimit:10;}
.st218{clip-path:url(#SVGID_134_);}
.st219{clip-path:url(#SVGID_136_);}
.st220{clip-path:url(#SVGID_138_);}
.st221{fill:#F5F5F5;}
.st222{fill:none;stroke:#CECECE;stroke-width:0.413;stroke-miterlimit:10;}
.st223{fill:none;stroke:#CCCCCC;stroke-width:0.8606;stroke-miterlimit:10;}
.st224{fill:none;stroke:#000000;stroke-width:0.5553;stroke-miterlimit:10;}
.st225{fill:none;stroke:#3F3F3F;stroke-width:0.5553;stroke-miterlimit:10;}
.st226{fill:none;stroke:#5B5B5B;stroke-width:0.5553;stroke-miterlimit:10;}
.st227{fill:none;stroke:#F47B67;stroke-width:0.5553;stroke-miterlimit:10;}
.st228{fill:#E8E8E8;stroke:#C6C6C6;stroke-width:0.5553;stroke-miterlimit:10;}
.st229{fill:#FFFFFF;stroke:#C6C6C6;stroke-width:0.5499;stroke-miterlimit:10;}
.st230{fill:none;stroke:#929292;stroke-width:0.5557;stroke-miterlimit:10;}
.st231{fill:#FFFFFF;stroke:#C6C6C6;stroke-width:0.5553;stroke-miterlimit:10;}
.st232{fill:none;stroke:#939393;stroke-width:1.1106;stroke-miterlimit:10;}
.st233{fill:none;stroke:#3F3F3F;stroke-width:0.5501;stroke-miterlimit:10;}
.st234{fill:#E8E8E8;stroke:#C6C6C6;stroke-width:0.5595;stroke-miterlimit:10;}
.st235{fill:none;stroke:#C6C6C6;stroke-width:0.5595;stroke-miterlimit:10;}
.st236{fill:none;stroke:#929292;stroke-width:0.5207;stroke-miterlimit:10;}
.st237{fill:#FFFFFF;stroke:#C6C6C6;stroke-width:0.5204;stroke-miterlimit:10;}
.st238{fill:none;stroke:#939393;stroke-width:1.0407;stroke-miterlimit:10;}
.st239{fill:none;stroke:#F47B67;stroke-width:0.5501;stroke-miterlimit:10;}
.st240{font-family:'Lato-Light';}
.st241{font-size:17.0626px;}
.st242{fill:none;stroke:#CECECE;stroke-width:0.3562;stroke-miterlimit:10;}
.st243{fill:none;}
.st244{font-size:23.0892px;}
.st245{fill:#FFFFFF;stroke:#9B9B9B;stroke-width:0.474;stroke-miterlimit:10;}
.st246{fill:#FFFFFF;stroke:#9B9B9B;stroke-width:0.4641;stroke-miterlimit:10;}
.st247{fill:#FFFFFF;stroke:#9B9B9B;stroke-width:0.4611;stroke-miterlimit:10;}
.st248{fill:#FFFFFF;stroke:#9B9B9B;stroke-width:0.4612;stroke-miterlimit:10;}
.st249{fill:#FFFFFF;stroke:#9B9B9B;stroke-width:0.4783;stroke-miterlimit:10;}
.st250{fill:#FFFFFF;stroke:#9B9B9B;stroke-width:0.4741;stroke-miterlimit:10;}
.st251{fill:#FFFFFF;stroke:#9B9B9B;stroke-width:0.4764;stroke-miterlimit:10;}
.st252{fill:#FFFFFF;stroke:#9B9B9B;stroke-width:0.4785;stroke-miterlimit:10;}
.st253{fill:#FFFFFF;stroke:#9B9B9B;stroke-width:0.4207;stroke-miterlimit:10;}
.st254{fill:#FFFFFF;stroke:#9B9B9B;stroke-width:0.4243;stroke-miterlimit:10;}
.st255{fill:#FFFFFF;stroke:#9B9B9B;stroke-width:0.4302;stroke-miterlimit:10;}
.st256{fill:#FFFFFF;stroke:#9B9B9B;stroke-width:0.4799;stroke-miterlimit:10;}
.st257{fill:#FFFFFF;stroke:#9B9B9B;stroke-width:0.479;stroke-miterlimit:10;}
.st258{fill:none;stroke:#9B9B9B;stroke-width:0.474;stroke-miterlimit:10;}
</style>
<g>
<image style="overflow:visible;opacity:0.15;" width="807" height="89" xlink:href="5584C28F7EFCBB3B.png" transform="matrix(1 0 0 1 264.587 332.3576)">
</image>
<g>
<rect x="268.68" y="336.45" class="st142" width="791" height="73"/>
</g>
</g>
<g>
<image style="overflow:visible;opacity:0.15;" width="810" height="118" xlink:href="5584C28F7EFCBB39.png" transform="matrix(1 0 0 1 263.4198 430.1904)">
</image>
<g>
<rect x="268.68" y="435.45" class="st0" width="791" height="99"/>
<rect x="268.68" y="435.45" class="st222" width="791" height="99"/>
</g>
</g>
<text transform="matrix(1 0 0 1 127.4208 256.2921)" class="st144 st240 st241">Containers</text>
<text transform="matrix(1 0 0 1 127.4208 256.2921)" class="st144 st240 st241">Containers</text>
<text transform="matrix(1 0 0 1 106.6976 478.0939)" class="st144 st240 st241">Infrastructure</text>
<text transform="matrix(1 0 0 1 105.2318 378.5607)" class="st144 st240 st241">Orchestration</text>
<path class="st44" d="M434.68,252.45h-167V107.68c0-1.78,1.45-3.23,3.23-3.23h160.55c1.78,0,3.23,1.44,3.23,3.23V252.45z"/>
<g>
<image style="overflow:visible;opacity:0.15;" width="183" height="74" xlink:href="5584C28F7EFCBB3F.png" transform="matrix(1 0 0 1 263.5566 248.3272)">
</image>
<g>
<rect x="267.68" y="252.45" class="st0" width="167" height="58"/>
<rect x="267.68" y="252.45" class="st242" width="167" height="58"/>
</g>
</g>
<path class="st44" d="M642.68,252.45h-167v-87.77c0-1.78,1.44-3.23,3.23-3.23h160.55c1.78,0,3.23,1.44,3.23,3.23V252.45z"/>
<g>
<image style="overflow:visible;opacity:0.15;" width="183" height="74" xlink:href="5584C28F7EFCBB38.png" transform="matrix(1 0 0 1 471.5566 248.3272)">
</image>
<g>
<rect x="475.68" y="252.45" class="st0" width="167" height="58"/>
<rect x="475.68" y="252.45" class="st242" width="167" height="58"/>
</g>
</g>
<path class="st44" d="M849.68,252.45h-167v-87.77c0-1.78,1.44-3.23,3.23-3.23h160.55c1.78,0,3.23,1.44,3.23,3.23V252.45z"/>
<g>
<image style="overflow:visible;opacity:0.15;" width="183" height="74" xlink:href="5584C28F7EFCBB36.png" transform="matrix(1 0 0 1 678.5566 248.3272)">
</image>
<g>
<rect x="682.68" y="252.45" class="st0" width="167" height="58"/>
<rect x="682.68" y="252.45" class="st242" width="167" height="58"/>
</g>
</g>
<path class="st44" d="M1057.68,252.45h-167v-87.77c0-1.78,1.44-3.23,3.23-3.23h160.55c1.78,0,3.23,1.44,3.23,3.23V252.45z"/>
<g>
<image style="overflow:visible;opacity:0.15;" width="183" height="74" xlink:href="5584C28F7EFCBB37.png" transform="matrix(1 0 0 1 886.5566 248.3272)">
</image>
<g>
<rect x="890.68" y="252.45" class="st0" width="167" height="58"/>
<rect x="890.68" y="252.45" class="st242" width="167" height="58"/>
</g>
</g>
<rect x="683.92" y="65.11" class="st243" width="310.24" height="53.24"/>
<text transform="matrix(1 0 0 1 705.6503 81.9298)"><tspan x="0" y="0" class="st142 st240 st244">Provision object storage as </tspan><tspan x="79.33" y="35.07" class="st142 st240 st244">Containers</tspan></text>
<text transform="matrix(1 0 0 1 326.2503 226.3781)" class="st0 st240 st241">MINIO</text>
<text transform="matrix(1 0 0 1 531.6703 212.1583)" class="st0 st240 st241">MySQL</text>
<text transform="matrix(1 0 0 1 743.0184 212.1583)" class="st0 st240 st241">REDIS</text>
<text transform="matrix(1 0 0 1 939.0199 212.1583)" class="st0 st240 st241">NODE JS</text>
<g>
<text transform="matrix(1 0 0 1 313.3045 287.3165)" class="st144 st240 st241">DOCKER</text>
</g>
<g>
<text transform="matrix(1 0 0 1 520.6947 287.3165)" class="st144 st240 st241">DOCKER</text>
</g>
<g>
<text transform="matrix(1 0 0 1 728.0853 287.3165)" class="st144 st240 st241">DOCKER</text>
</g>
<g>
<text transform="matrix(1 0 0 1 935.475 287.3165)" class="st144 st240 st241">DOCKER</text>
</g>
<g>
<text transform="matrix(1 0 0 1 365.8958 378.5607)" class="st0 st240 st241">DOCKER SWARM</text>
</g>
<g>
<text transform="matrix(1 0 0 1 617.7948 378.5607)" class="st0 st240 st241">MESOSPHERE</text>
</g>
<g>
<text transform="matrix(1 0 0 1 840.5619 378.5607)" class="st0 st240 st241">KUBERNETES</text>
</g>
<g>
<path class="st245" d="M784.13,483.41c0-3.62,2.93-6.55,6.55-6.55v-17.01c0-1.87-1.52-3.39-3.39-3.39h-99.21
c-1.87,0-3.39,1.52-3.39,3.39v17.01c3.62,0,6.55,2.93,6.55,6.55c0,3.62-2.93,6.55-6.55,6.55v20.1c0,1.87,1.52,3.39,3.39,3.39h99.21
c1.87,0,3.39-1.52,3.39-3.39v-20.1C787.07,489.96,784.13,487.02,784.13,483.41z"/>
<path class="st245" d="M784.13,483.41c0-3.62,2.93-6.55,6.55-6.55v-17.01c0-1.87-1.52-3.39-3.39-3.39h-99.21
c-1.87,0-3.39,1.52-3.39,3.39v17.01c3.62,0,6.55,2.93,6.55,6.55c0,3.62-2.93,6.55-6.55,6.55v20.1c0,1.87,1.52,3.39,3.39,3.39h99.21
c1.87,0,3.39-1.52,3.39-3.39v-20.1C787.07,489.96,784.13,487.02,784.13,483.41z"/>
<rect x="697.68" y="470.45" class="st246" width="10" height="23"/>
<rect x="694.68" y="473.45" class="st247" width="3" height="3"/>
<rect x="694.68" y="480.45" class="st247" width="3" height="3"/>
<rect x="694.68" y="487.45" class="st247" width="3" height="3"/>
<rect x="694.68" y="473.45" class="st248" width="16" height="3"/>
<rect x="694.68" y="487.45" class="st248" width="16" height="3"/>
<rect x="694.68" y="480.45" class="st248" width="16" height="3"/>
<rect x="718.68" y="473.45" class="st248" width="16" height="3"/>
<rect x="718.68" y="487.45" class="st248" width="16" height="3"/>
<rect x="718.68" y="480.45" class="st248" width="16" height="3"/>
<rect x="741.68" y="473.45" class="st248" width="16" height="3"/>
<rect x="741.68" y="487.45" class="st248" width="16" height="3"/>
<rect x="741.68" y="480.45" class="st248" width="16" height="3"/>
<rect x="764.68" y="473.45" class="st248" width="16" height="3"/>
<rect x="764.68" y="487.45" class="st248" width="16" height="3"/>
<rect x="764.68" y="480.45" class="st248" width="16" height="3"/>
<rect x="691.68" y="502.45" class="st249" width="3" height="11"/>
<rect x="694.68" y="502.45" class="st249" width="3" height="11"/>
<rect x="701.68" y="502.45" class="st249" width="3" height="11"/>
<rect x="704.68" y="502.45" class="st249" width="3" height="11"/>
<rect x="711.68" y="502.45" class="st249" width="3" height="11"/>
<rect x="714.68" y="502.45" class="st249" width="3" height="11"/>
<rect x="721.68" y="502.45" class="st249" width="3" height="11"/>
<rect x="724.68" y="502.45" class="st249" width="3" height="11"/>
<rect x="738.68" y="502.45" class="st249" width="3" height="11"/>
<rect x="741.68" y="502.45" class="st249" width="3" height="11"/>
<rect x="748.68" y="502.45" class="st249" width="3" height="11"/>
<rect x="751.68" y="502.45" class="st249" width="3" height="11"/>
<rect x="758.68" y="502.45" class="st249" width="3" height="11"/>
<rect x="761.68" y="502.45" class="st249" width="3" height="11"/>
<rect x="768.68" y="502.45" class="st249" width="3" height="11"/>
<rect x="771.68" y="502.45" class="st249" width="3" height="11"/>
<rect x="778.68" y="502.45" class="st249" width="3" height="11"/>
<rect x="781.68" y="502.45" class="st249" width="3" height="11"/>
<rect x="697.68" y="470.45" class="st246" width="10" height="23"/>
<rect x="721.68" y="470.45" class="st246" width="10" height="23"/>
<rect x="744.68" y="470.45" class="st246" width="10" height="23"/>
<rect x="767.68" y="470.45" class="st246" width="10" height="23"/>
</g>
<g>
<g>
<path class="st245" d="M594.7,454.39l-0.02,0.02c-0.6-0.59-1.43-0.96-2.35-0.96h-57.31c-1.85,0-3.34,1.5-3.34,3.34v57.34
c0,0.93,0.38,1.76,0.98,2.37l0.02-0.02c0.6,0.59,1.43,0.96,2.35,0.96h57.31c1.85,0,3.34-1.5,3.34-3.34v-57.34
C595.68,455.84,595.3,455,594.7,454.39z"/>
<path class="st245" d="M583.95,465.19L583.95,465.19C583.95,465.19,583.94,465.19,583.95,465.19
C583.94,465.19,583.94,465.19,583.95,465.19L583.95,465.19c-0.46-0.46-1.09-0.74-1.78-0.74H545.2c-1.39,0-2.52,1.13-2.52,2.52
v37.07c0,0.67,0.27,1.27,0.71,1.7l0,0c0,0,0,0,0,0c0,0,0,0,0,0l0,0c0.44,0.44,1.04,0.71,1.7,0.71h9.76c0.43,0,0.85-0.17,1.16-0.47
l1.12-1.07c0.31-0.3,0.73-0.47,1.16-0.47h9.06c0.43,0,0.85,0.17,1.16,0.47l1.12,1.07c0.31,0.3,0.73,0.47,1.16,0.47h11.37
c1.39,0,2.52-1.13,2.52-2.52v-36.97C584.68,466.27,584.4,465.65,583.95,465.19z"/>
<path class="st245" d="M577.99,471.15L577.99,471.15C577.99,471.15,577.99,471.15,577.99,471.15
C577.99,471.14,577.99,471.14,577.99,471.15L577.99,471.15c-1.05-1.05-2.49-1.7-4.09-1.7h-20.37c-3.23,0-5.85,2.62-5.85,5.85
v20.37c0,1.6,0.65,3.04,1.69,4.09l0,0c0,0,0,0,0,0c0,0,0,0,0,0l0,0c1.05,1.05,2.49,1.69,4.09,1.69h20.37
c3.23,0,5.85-2.62,5.85-5.85v-20.37C579.68,473.64,579.03,472.19,577.99,471.15z"/>
<path class="st245" d="M575.87,473.27L575.87,473.27C575.87,473.27,575.86,473.27,575.87,473.27
C575.86,473.27,575.86,473.27,575.87,473.27L575.87,473.27c-0.51-0.51-1.2-0.82-1.97-0.82h-20.38c-1.56,0-2.83,1.27-2.83,2.83
v20.38c0,0.77,0.31,1.46,0.81,1.97l0,0c0,0,0,0,0,0c0,0,0,0,0,0l0,0c0.5,0.5,1.2,0.81,1.97,0.81h20.38c1.56,0,2.83-1.27,2.83-2.83
v-20.38C576.68,474.47,576.37,473.77,575.87,473.27z"/>
<path class="st245" d="M529.46,461.45c-1.45,0-2.62,1.24-2.49,2.72c0.11,1.32,1.34,2.28,2.67,2.28h8.04v-2.5v-2.5H529.46z"/>
<path class="st245" d="M529.46,472.45c-1.45,0-2.62,1.24-2.49,2.72c0.11,1.32,1.34,2.28,2.67,2.28h8.04v-2.5v-2.5H529.46z"/>
<path class="st245" d="M529.46,482.45c-1.45,0-2.62,1.24-2.49,2.72c0.11,1.32,1.34,2.28,2.67,2.28h8.04v-2.5v-2.5H529.46z"/>
<path class="st245" d="M529.46,493.45c-1.45,0-2.62,1.24-2.49,2.72c0.11,1.32,1.34,2.28,2.67,2.28h8.04v-2.5v-2.5H529.46z"/>
<path class="st245" d="M529.46,504.45c-1.45,0-2.62,1.24-2.49,2.72c0.11,1.32,1.34,2.28,2.67,2.28h8.04v-2.5v-2.5H529.46z"/>
<path class="st245" d="M542.18,511.45h-2.5v8.93c0,1.12,0.65,2.19,1.71,2.54c1.72,0.57,3.29-0.8,3.29-2.57v-8.89H542.18z"/>
<path class="st245" d="M553.18,511.45h-2.5v8.93c0,1.12,0.65,2.19,1.71,2.54c1.72,0.57,3.29-0.8,3.29-2.57v-8.89H553.18z"/>
<path class="st245" d="M563.18,511.45h-2.5v8.93c0,1.12,0.65,2.19,1.71,2.54c1.72,0.57,3.29-0.8,3.29-2.57v-8.89H563.18z"/>
<path class="st245" d="M574.18,511.45h-2.5v8.93c0,1.12,0.65,2.19,1.71,2.54c1.72,0.57,3.29-0.8,3.29-2.57v-8.89H574.18z"/>
<path class="st245" d="M585.18,511.45h-2.5v8.93c0,1.12,0.65,2.19,1.71,2.54c1.72,0.57,3.29-0.8,3.29-2.57v-8.89H585.18z"/>
<path class="st245" d="M539.68,450.53v8.93h2.5h2.5v-8.89c0-1.77-1.57-3.14-3.29-2.57C540.33,448.33,539.68,449.41,539.68,450.53z
"/>
<path class="st245" d="M553.18,447.85L553.18,447.85c-1.38,0-2.5,1.21-2.5,2.7v8.89h2.5h2.5v-8.89
C555.68,449.06,554.56,447.85,553.18,447.85z"/>
<path class="st245" d="M563.18,447.85L563.18,447.85c-1.38,0-2.5,1.21-2.5,2.7v8.89h2.5h2.5v-8.89
C565.68,449.06,564.56,447.85,563.18,447.85z"/>
<path class="st245" d="M574.18,447.85L574.18,447.85c-1.38,0-2.5,1.21-2.5,2.7v8.89h2.5h2.5v-8.89
C576.68,449.06,575.56,447.85,574.18,447.85z"/>
<path class="st245" d="M585.18,447.85L585.18,447.85c-1.38,0-2.5,1.21-2.5,2.7v8.89h2.5h2.5v-8.89
C587.68,449.06,586.56,447.85,585.18,447.85z"/>
<path class="st245" d="M597.9,461.45h-8.22v2.5v2.5h8.22c1.38,0,2.5-1.12,2.5-2.5l0,0C600.4,462.57,599.28,461.45,597.9,461.45z"
/>
<path class="st245" d="M597.9,472.45h-8.22v2.5v2.5h8.22c1.38,0,2.5-1.12,2.5-2.5l0,0C600.4,473.57,599.28,472.45,597.9,472.45z"
/>
<path class="st245" d="M597.9,482.45h-8.22v2.5v2.5h8.22c1.38,0,2.5-1.12,2.5-2.5l0,0C600.4,483.57,599.28,482.45,597.9,482.45z"
/>
<path class="st245" d="M597.9,493.45h-8.22v2.5v2.5h8.22c1.38,0,2.5-1.12,2.5-2.5l0,0C600.4,494.57,599.28,493.45,597.9,493.45z"
/>
<path class="st245" d="M597.9,503.45h-8.22v2.5v2.5h8.22c1.38,0,2.5-1.12,2.5-2.5l0,0C600.4,504.57,599.28,503.45,597.9,503.45z"
/>
</g>
</g>
<g>
<polygon class="st245" points="881.68,455.45 881.68,508.45 886.68,508.45 886.68,500.45 899.68,500.45 899.68,508.45
952.68,508.45 952.68,455.45 "/>
<path class="st250" d="M943.69,492.45h-23.02c-0.55,0-0.99-0.44-0.99-0.99v-26.02c0-0.55,0.44-0.99,0.99-0.99h23.02
c0.55,0,0.99,0.44,0.99,0.99v26.02C944.68,492.01,944.24,492.45,943.69,492.45z"/>
<path class="st251" d="M911.68,477.45h-18.01c-0.55,0-1-0.45-1-1v-11.01c0-0.55,0.45-1,1-1h18.01c0.55,0,1,0.45,1,1v11.01
C912.68,477,912.23,477.45,911.68,477.45z"/>
<path class="st252" d="M911.68,495.45h-18c-0.55,0-1-0.45-1-1v-11c0-0.55,0.45-1,1-1h18c0.55,0,1,0.45,1,1v11
C912.68,495,912.23,495.45,911.68,495.45z"/>
<rect x="917.68" y="468.45" class="st253" width="5" height="2"/>
<rect x="917.68" y="473.45" class="st253" width="5" height="2"/>
<rect x="917.68" y="478.45" class="st253" width="5" height="2"/>
<rect x="917.68" y="483.45" class="st253" width="5" height="2"/>
<rect x="917.68" y="488.45" class="st253" width="5" height="2"/>
<rect x="942.68" y="468.45" class="st253" width="5" height="2"/>
<rect x="942.68" y="473.45" class="st253" width="5" height="2"/>
<rect x="942.68" y="478.45" class="st253" width="5" height="2"/>
<rect x="942.68" y="483.45" class="st253" width="5" height="2"/>
<rect x="942.68" y="488.45" class="st253" width="5" height="2"/>
<g>
<rect x="920.68" y="509.45" class="st254" width="2" height="6"/>
</g>
<g>
<rect x="922.68" y="509.45" class="st254" width="2" height="6"/>
</g>
<g>
<rect x="935.68" y="515.45" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 1456.1321 -417.2294)" class="st255" width="2" height="8"/>
</g>
<g>
<rect x="935.68" y="517.45" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 1458.1321 -415.2294)" class="st255" width="2" height="8"/>
</g>
<g>
<rect x="907.68" y="515.45" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 1428.1321 -389.2294)" class="st255" width="2" height="8"/>
</g>
<g>
<rect x="907.68" y="517.45" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 1430.1321 -387.2294)" class="st255" width="2" height="8"/>
</g>
<path class="st245" d="M875.18,444.45h-3.5v6h4.02c0.72-0.26,0.98,1.04,0.98,1.04v68.96h5v-69.5
C881.68,447.36,878.77,444.45,875.18,444.45z"/>
<path class="st256" d="M931,525.45h-16.65c-0.93,0-1.68-0.75-1.68-1.68v-6.65c0-0.93,0.75-1.68,1.68-1.68H931
c0.93,0,1.68,0.75,1.68,1.68v6.65C932.68,524.7,931.93,525.45,931,525.45z"/>
<rect x="904.68" y="500.45" class="st257" width="5" height="5"/>
<rect x="904.68" y="505.45" class="st257" width="5" height="5"/>
<rect x="912.68" y="500.45" class="st257" width="5" height="5"/>
<rect x="912.68" y="505.45" class="st257" width="5" height="5"/>
<rect x="919.68" y="500.45" class="st257" width="5" height="5"/>
<rect x="919.68" y="505.45" class="st257" width="5" height="5"/>
<rect x="927.68" y="500.45" class="st257" width="5" height="5"/>
<rect x="927.68" y="505.45" class="st257" width="5" height="5"/>
<rect x="935.68" y="500.45" class="st257" width="5" height="5"/>
<rect x="935.68" y="505.45" class="st257" width="5" height="5"/>
<rect x="942.68" y="500.45" class="st257" width="5" height="5"/>
<rect x="942.68" y="505.45" class="st257" width="5" height="5"/>
</g>
<g>
<path class="st245" d="M417.68,449.57c0-1.17-0.95-2.12-2.12-2.12h-26.38H362.8c-1.17,0-2.12,0.95-2.12,2.12v71.76
c0,1.17,0.95,2.12,2.12,2.12h26.38h26.38c1.17,0,2.12-0.95,2.12-2.12V449.57z"/>
<path class="st258" d="M389.68,523.45l0-11.52c2.51-0.07,4.94-0.46,7.25-1.14l5.89,4.17c0.12,0.09,0.24,0.18,0.37,0.27l0.04,0.03
l0,0c1.65,1.06,3.7,1.57,5.89,1.26c3.56-0.5,6.52-3.27,7.09-6.81c0.57-3.56-1.19-6.77-4.03-8.42c0.18-0.24,3.63-4.76,3.94-5.84
h1.57"/>
<g>
<path class="st0" d="M389.55,508.72c-14.27,0-25.87-11.61-25.87-25.87c0-14.27,11.61-25.87,25.87-25.87s25.87,11.61,25.87,25.87
C415.42,497.11,403.82,508.72,389.55,508.72z"/>
<path class="st148" d="M389.55,457.21c14.14,0,25.64,11.5,25.64,25.64s-11.5,25.64-25.64,25.64s-25.64-11.5-25.64-25.64
S375.41,457.21,389.55,457.21 M389.55,456.74c-14.42,0-26.11,11.69-26.11,26.11s11.69,26.11,26.11,26.11s26.11-11.69,26.11-26.11
S403.97,456.74,389.55,456.74L389.55,456.74z"/>
</g>
<g>
<circle class="st0" cx="365.18" cy="450.95" r="1.29"/>
<path class="st148" d="M365.18,449.87c0.6,0,1.09,0.49,1.09,1.09s-0.49,1.09-1.09,1.09s-1.09-0.49-1.09-1.09
S364.58,449.87,365.18,449.87 M365.18,449.45c-0.83,0-1.5,0.67-1.5,1.5s0.67,1.5,1.5,1.5s1.5-0.67,1.5-1.5
S366.01,449.45,365.18,449.45L365.18,449.45z"/>
</g>
<g>
<circle class="st0" cx="414.18" cy="450.95" r="1.29"/>
<path class="st148" d="M414.18,449.87c0.6,0,1.09,0.49,1.09,1.09s-0.49,1.09-1.09,1.09s-1.09-0.49-1.09-1.09
S413.58,449.87,414.18,449.87 M414.18,449.45c-0.83,0-1.5,0.67-1.5,1.5s0.67,1.5,1.5,1.5s1.5-0.67,1.5-1.5
S415.01,449.45,414.18,449.45L414.18,449.45z"/>
</g>
<g>
<circle class="st0" cx="365.18" cy="518.95" r="1.29"/>
<path class="st148" d="M365.18,517.87c0.6,0,1.09,0.49,1.09,1.09s-0.49,1.09-1.09,1.09s-1.09-0.49-1.09-1.09
S364.58,517.87,365.18,517.87 M365.18,517.45c-0.83,0-1.5,0.67-1.5,1.5s0.67,1.5,1.5,1.5s1.5-0.67,1.5-1.5
S366.01,517.45,365.18,517.45L365.18,517.45z"/>
</g>
<g>
<circle class="st0" cx="414.18" cy="518.95" r="1.29"/>
<path class="st148" d="M414.18,517.87c0.6,0,1.09,0.49,1.09,1.09s-0.49,1.09-1.09,1.09s-1.09-0.49-1.09-1.09
S413.58,517.87,414.18,517.87 M414.18,517.45c-0.83,0-1.5,0.67-1.5,1.5s0.67,1.5,1.5,1.5s1.5-0.67,1.5-1.5
S415.01,517.45,414.18,517.45L414.18,517.45z"/>
</g>
<g>
<circle class="st0" cx="389.45" cy="482.85" r="6.84"/>
<path class="st148" d="M389.45,476.25c3.64,0,6.6,2.96,6.6,6.6s-2.96,6.6-6.6,6.6s-6.6-2.96-6.6-6.6S385.82,476.25,389.45,476.25
M389.45,475.77c-3.91,0-7.07,3.17-7.07,7.07s3.17,7.07,7.07,7.07s7.07-3.17,7.07-7.07S393.36,475.77,389.45,475.77L389.45,475.77
z"/>
</g>
<g>
<path class="st0" d="M407.35,513.65c-1.13,0-2.22-0.33-3.16-0.95l-23.02-16.75l-0.07-0.05c-0.26-0.2-0.41-0.5-0.41-0.82
c0-0.57,0.46-1.04,1.04-1.04c0.08,0,0.16,0.01,0.26,0.04l27.61,8.48c2.13,0.9,3.52,2.99,3.52,5.32
C413.13,511.06,410.54,513.65,407.35,513.65z"/>
<path class="st148" d="M381.73,494.28c0.06,0,0.12,0.01,0.18,0.03l27.58,8.46c2.06,0.87,3.4,2.87,3.4,5.11
c0,3.05-2.48,5.54-5.54,5.54c-1.08,0-2.13-0.31-3.03-0.91l-0.04-0.02l-22.88-16.66l-0.15-0.11c-0.2-0.15-0.32-0.38-0.32-0.63
C380.93,494.64,381.29,494.28,381.73,494.28 M381.73,493.81c-0.7,0-1.27,0.57-1.27,1.27c0,0.41,0.2,0.77,0.5,1.01l0,0l23.1,16.81
l0,0c0.95,0.62,2.08,0.99,3.29,0.99c3.32,0,6.01-2.69,6.01-6.01c0-2.5-1.52-4.63-3.69-5.54l-27.62-8.48
C381.95,493.83,381.85,493.81,381.73,493.81L381.73,493.81z"/>
</g>
<g>
<circle class="st0" cx="407.68" cy="507.45" r="3.75"/>
<path class="st148" d="M407.68,503.94c1.93,0,3.51,1.57,3.51,3.51s-1.57,3.51-3.51,3.51s-3.51-1.57-3.51-3.51
S405.75,503.94,407.68,503.94 M407.68,503.45c-2.21,0-4,1.79-4,4s1.79,4,4,4s4-1.79,4-4S409.89,503.45,407.68,503.45
L407.68,503.45z"/>
</g>
</g>
<g>
<g>
<g>
<path class="st221" d="M352.68,199.54l-5,2.84v-29.3c-0.16-0.16-0.62-0.32-1.05-0.46c-6.33-2.11-10.37-5.69-11.36-10.07
c-0.81-3.55,0.49-7.3,3.56-10.27c2.8-2.71,6.72-5.83,9.88-8.34c1.14-0.91,2.13-1.69,2.92-2.34c0.73-0.62,0.51-1.57,0.18-1.97
c-0.55-0.66-1.46-0.55-2.08-0.1c-0.03,0.02-1.79,1.4-1.79,1.4l-2.72-3.67c0,0,1.78-1.31,1.85-1.36c2.66-1.95,6.19-1.58,8.22,0.86
c1.01,1.22,1.48,2.76,1.33,4.33c-0.15,1.57-0.9,2.99-2.12,3.99c-0.82,0.68-1.82,1.47-2.98,2.39c-3.08,2.45-6.91,5.5-9.55,8.06
c-1.94,1.88-2.76,4.02-2.3,6.03c0.63,2.77,3.59,5.18,8.02,6.77v-14.65c13.09,4.32,22.11,19.4,25.11,27.77
c0,0-13.23-4.49-20.11-6.86V199.54z M352.68,169.85c3.93,1.32,8.57,2.89,12.03,4.06c-3.8-6.72-8.82-10.81-12.03-12.92V169.85z"/>
</g>
</g>
<polygon class="st42" points="352.68,177.55 347.68,176.04 347.68,173.09 352.68,174.6 "/>
<path class="st183" d="M330.75,151.86c-0.07,0.05-0.17,0.05-0.23-0.02c-0.06-0.07-0.04-0.17,0.02-0.23
c1.56-1.43,7.75-7.56,14.68-14.34l2.72,3.67C347.94,140.93,330.97,151.71,330.75,151.86z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 314 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

-5
View File
@@ -1,5 +0,0 @@
#!/bin/bash
helm package helm/minio -d helm-releases/
helm repo index --merge index.yaml --url https://charts.min.io .
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More