
5 changed files with 332 additions and 0 deletions
@ -0,0 +1,18 @@
@@ -0,0 +1,18 @@
|
||||
### Minio Gateway Config file |
||||
|
||||
### MAIN |
||||
#GATEWAY_TYPE |
||||
#GATEWAY_URI |
||||
|
||||
### MINIO |
||||
#MINIO_ACCESS_KEY= |
||||
#MINIO_SECRET_KEY= |
||||
|
||||
### AWS |
||||
#AWS_ACCESS_KEY_ID= |
||||
|
||||
### AZURE |
||||
#MINIO_AZURE_CHUNK_SIZE_MB=0.25 |
||||
|
||||
### GCS |
||||
#GOOGLE_APPLICATION_CREDENTIALS= |
@ -0,0 +1,16 @@
@@ -0,0 +1,16 @@
|
||||
[Unit] |
||||
Description=Minio Gateway |
||||
After=syslog.target |
||||
After=network-online.target |
||||
|
||||
[Service] |
||||
Type=simple |
||||
User=minio |
||||
Group=minio |
||||
WorkingDirectory=/var/lib/minio/ |
||||
EnvironmentFile=/etc/minio/gateway |
||||
ExecStart=/usr/bin/minio gateway $GATEWAY_TYPE $GATEWAY_URI |
||||
Restart=always |
||||
|
||||
[Install] |
||||
WantedBy=multi-user.target |
@ -0,0 +1,148 @@
@@ -0,0 +1,148 @@
|
||||
### Minio Config File |
||||
|
||||
### MAIN |
||||
#SERVER_VOLUMES="" |
||||
#SERVER_ADDRESS="--address" |
||||
#SERVER_CERTS_DIR="--certs-dir /etc/minio/certs/" |
||||
|
||||
### MINIO |
||||
#MINIO_ACCESS_KEY=minio_access |
||||
#MINIO_SECRET_KEY=minio_secret |
||||
#MINIO_REGION_NAME="europe-belgium" |
||||
#MINIO_REGION_COMMENT="Belgium a country in Europe" |
||||
#MINIO_STORAGE_CLASS_STANDARD="EC:4" |
||||
#MINIO_STORAGE_CLASS_RRS="EC:2" |
||||
#MINIO_STORAGE_CLASS_COMMENT="" |
||||
#MINIO_CACHE_DRIVES="/var/lib/minio/cache0,/var/lib/minio/cache1," |
||||
#MINIO_CACHE_EXPIRY="90" |
||||
#MINIO_CACHE_QUOTA="90" |
||||
#MINIO_CACHE_EXCLUDE="bucket/*.tmp,*.exe" |
||||
#MINIO_CACHE_AFTER="1" |
||||
#MINIO_CACHE_COMMENT="" |
||||
#MINIO_DISK_USAGE_CRAWL_DELAY=30 |
||||
#MINIO_BROWSER=off |
||||
#MINIO_DOMAIN=mydomain.com |
||||
#MINIO_API_REQUESTS_MAX="" |
||||
#MINIO_API_REQUESTS_DEADLINE="" |
||||
|
||||
|
||||
### ETCD |
||||
#MINIO_ETCD_ENDPOINTS="" |
||||
#MINIO_ETCD_PATH_PREFIX="" |
||||
#MINIO_ETCD_COREDNS_PATH="" |
||||
#MINIO_ETCD_CLIENT_CERT="" |
||||
#MINIO_ETCD_CLIENT_CERT_KEY="" |
||||
#MINIO_ETCD_COMMENT="" |
||||
|
||||
### AMQP |
||||
#MINIO_NOTIFY_AMQP_ENABLE |
||||
#MINIO_NOTIFY_AMQP_URL |
||||
#MINIO_NOTIFY_AMQP_EXCHANGE |
||||
#MINIO_NOTIFY_AMQP_EXCHANGE_TYPE |
||||
#MINIO_NOTIFY_AMQP_ROUTING_KEY |
||||
#MINIO_NOTIFY_AMQP_MANDATORY |
||||
#MINIO_NOTIFY_AMQP_DURABLE |
||||
#MINIO_NOTIFY_AMQP_NO_WAIT |
||||
#MINIO_NOTIFY_AMQP_INTERNAL |
||||
#MINIO_NOTIFY_AMQP_AUTO_DELETED |
||||
#MINIO_NOTIFY_AMQP_DELIVERY_MODE |
||||
#MINIO_NOTIFY_AMQP_QUEUE_DIR |
||||
#MINIO_NOTIFY_AMQP_QUEUE_LIMIT |
||||
#MINIO_NOTIFY_AMQP_COMMENT |
||||
|
||||
### MQTT |
||||
#MINIO_NOTIFY_MQTT_ENABLE |
||||
#MINIO_NOTIFY_MQTT_BROKER |
||||
#MINIO_NOTIFY_MQTT_TOPIC |
||||
#MINIO_NOTIFY_MQTT_USERNAME |
||||
#MINIO_NOTIFY_MQTT_PASSWORD |
||||
#MINIO_NOTIFY_MQTT_QOS |
||||
#MINIO_NOTIFY_MQTT_KEEP_ALIVE_INTERVAL |
||||
#MINIO_NOTIFY_MQTT_RECONNECT_INTERVAL |
||||
#MINIO_NOTIFY_MQTT_QUEUE_DIR |
||||
#MINIO_NOTIFY_MQTT_QUEUE_LIMIT |
||||
#MINIO_NOTIFY_MQTT_COMMENT |
||||
|
||||
### ELASTICSEARCH |
||||
#MINIO_NOTIFY_ELASTICSEARCH_ENABLE |
||||
#MINIO_NOTIFY_ELASTICSEARCH_URL |
||||
#MINIO_NOTIFY_ELASTICSEARCH_INDEX |
||||
##MINIO_NOTIFY_ELASTICSEARCH_FORMAT |
||||
#MINIO_NOTIFY_ELASTICSEARCH_QUEUE_DIR |
||||
#MINIO_NOTIFY_ELASTICSEARCH_QUEUE_LIMIT |
||||
#MINIO_NOTIFY_ELASTICSEARCH_COMMENT |
||||
|
||||
### REDIS |
||||
#MINIO_NOTIFY_REDIS_ENABLE |
||||
#MINIO_NOTIFY_REDIS_KEY |
||||
#MINIO_NOTIFY_REDIS_FORMAT |
||||
#MINIO_NOTIFY_REDIS_PASSWORD |
||||
#MINIO_NOTIFY_REDIS_QUEUE_DIR |
||||
#MINIO_NOTIFY_REDIS_QUEUE_LIMIT |
||||
#MINIO_NOTIFY_REDIS_COMMENT |
||||
|
||||
### NATS |
||||
#MINIO_NOTIFY_NATS_ENABLE |
||||
#MINIO_NOTIFY_NATS_ADDRESS |
||||
#MINIO_NOTIFY_NATS_SUBJECT |
||||
#MINIO_NOTIFY_NATS_USERNAME |
||||
#MINIO_NOTIFY_NATS_PASSWORD |
||||
#MINIO_NOTIFY_NATS_TOKEN |
||||
#MINIO_NOTIFY_NATS_TLS |
||||
#MINIO_NOTIFY_NATS_TLS_SKIP_VERIFY |
||||
#MINIO_NOTIFY_NATS_PING_INTERVAL |
||||
#MINIO_NOTIFY_NATS_STREAMING |
||||
#MINIO_NOTIFY_NATS_STREAMING_ASYNC |
||||
#MINIO_NOTIFY_NATS_STREAMING_MAX_PUB_ACKS_IN_FLIGHT |
||||
#MINIO_NOTIFY_NATS_STREAMING_CLUSTER_ID |
||||
#MINIO_NOTIFY_NATS_CERT_AUTHORITY |
||||
#MINIO_NOTIFY_NATS_CLIENT_CERT |
||||
#MINIO_NOTIFY_NATS_CLIENT_KEY |
||||
#MINIO_NOTIFY_NATS_QUEUE_DIR |
||||
#MINIO_NOTIFY_NATS_QUEUE_LIMIT |
||||
#MINIO_NOTIFY_NATS_COMMENT |
||||
|
||||
### POSTGRESQL |
||||
#MINIO_NOTIFY_POSTGRES_ENABLE |
||||
#MINIO_NOTIFY_POSTGRES_CONNECTION_STRING |
||||
#MINIO_NOTIFY_POSTGRES_TABLE |
||||
#MINIO_NOTIFY_POSTGRES_FORMAT |
||||
#MINIO_NOTIFY_POSTGRES_QUEUE_DIR |
||||
#MINIO_NOTIFY_POSTGRES_QUEUE_LIMIT |
||||
#MINIO_NOTIFY_POSTGRES_COMMENT |
||||
|
||||
### KAFKA |
||||
#MINIO_NOTIFY_KAFKA_ENABLE |
||||
#MINIO_NOTIFY_KAFKA_BROKERS |
||||
#MINIO_NOTIFY_KAFKA_TOPIC |
||||
#MINIO_NOTIFY_KAFKA_SASL_USERNAME |
||||
#MINIO_NOTIFY_KAFKA_SASL_PASSWORD |
||||
#MINIO_NOTIFY_KAFKA_SASL_MECHANISM |
||||
#MINIO_NOTIFY_KAFKA_TLS_CLIENT_AUTH |
||||
#MINIO_NOTIFY_KAFKA_SASL |
||||
#MINIO_NOTIFY_KAFKA_TLS |
||||
#MINIO_NOTIFY_KAFKA_TLS_SKIP_VERIFY |
||||
#MINIO_NOTIFY_KAFKA_CLIENT_TLS_CERT |
||||
#MINIO_NOTIFY_KAFKA_CLIENT_TLS_KEY |
||||
#MINIO_NOTIFY_KAFKA_QUEUE_DIR |
||||
#MINIO_NOTIFY_KAFKA_QUEUE_LIMIT |
||||
#MINIO_NOTIFY_KAFKA_COMMENT |
||||
#MINIO_NOTIFY_KAFKA_VERSION |
||||
|
||||
### WEBHOOK |
||||
#MINIO_NOTIFY_WEBHOOK_ENABLE |
||||
#MINIO_NOTIFY_WEBHOOK_ENDPOINT |
||||
#MINIO_NOTIFY_WEBHOOK_AUTH_TOKEN |
||||
#MINIO_NOTIFY_WEBHOOK_QUEUE_DIR |
||||
#MINIO_NOTIFY_WEBHOOK_QUEUE_LIMIT |
||||
#MINIO_NOTIFY_WEBHOOK_COMMENT |
||||
|
||||
### NSQ |
||||
#MINIO_NOTIFY_NSQ_ENABLE |
||||
#MINIO_NOTIFY_NSQ_NSQD_ADDRESS |
||||
#MINIO_NOTIFY_NSQ_TOPIC |
||||
#MINIO_NOTIFY_NSQ_TLS |
||||
#MINIO_NOTIFY_NSQ_TLS_SKIP_VERIFY |
||||
#MINIO_NOTIFY_NSQ_QUEUE_DIR |
||||
#MINIO_NOTIFY_NSQ_QUEUE_LIMIT |
||||
#MINIO_NOTIFY_NSQ_COMMENT |
@ -0,0 +1,17 @@
@@ -0,0 +1,17 @@
|
||||
[Unit] |
||||
Description=Minio Server |
||||
After=syslog.target |
||||
After=network-online.target |
||||
After=postgresql.service memcached.service redis.service |
||||
|
||||
[Service] |
||||
Type=simple |
||||
User=minio |
||||
Group=minio |
||||
WorkingDirectory=/var/lib/minio/ |
||||
EnvironmentFile=/etc/minio/server |
||||
ExecStart=/usr/bin/minio server $SERVER_ADDRESS $SERVER_CERTS_DIR $SERVER_VOLUMES |
||||
Restart=always |
||||
|
||||
[Install] |
||||
WantedBy=multi-user.target |
@ -0,0 +1,133 @@
@@ -0,0 +1,133 @@
|
||||
%define fullversion 2020-05-08T02-40-49Z |
||||
%define realversion %(echo %{fullversion} | sed -e 's/[^0-9]//g' | cut -c -8) |
||||
|
||||
%global _hardened_build 1 |
||||
%define minio_user minio |
||||
%define minio_group minio |
||||
%define minio_home /var/lib/minio/ |
||||
|
||||
Name : minio |
||||
Version : %{realversion} |
||||
Release : 1%{?dist} |
||||
Summary : Web Object Cloud Storage Server |
||||
Group : System/Web |
||||
License : Apache License |
||||
URL : https://min.io |
||||
#Source0 : https://github.com/minio/minio/archive/RELEASE.2020-05-08T02-40-49Z.tar.gz |
||||
Source1 : minio-server.config |
||||
Source2 : minio-gateway.config |
||||
Source3 : minio-server.service |
||||
Source4 : minio-gateway.service |
||||
BuildRequires : golang |
||||
BuildRequires : git |
||||
|
||||
|
||||
%description |
||||
MinIO is an object storage server. |
||||
It is compatible with Amazon S3 cloud storage service. |
||||
It is best suited for storing unstructured data such as photos, videos, log |
||||
files, backups and container / VM images. |
||||
Size of an object can range from a few KBs to a maximum of 5TiB. |
||||
|
||||
|
||||
%package server |
||||
Summary: Web Object Cloud Storage Server |
||||
Requires: minio |
||||
%description server |
||||
Minio Server Package |
||||
|
||||
|
||||
%package gateway |
||||
Summary: Web Object Cloud Storage Server |
||||
Requires: minio |
||||
%description gateway |
||||
Minio Gateway Package |
||||
|
||||
|
||||
%prep |
||||
%setup -T -q -c %{name}-%{realversion} |
||||
export GOPATH=`pwd` |
||||
export GO111MODULE=on |
||||
mkdir -p src/github.com/minio/ |
||||
cd src/github.com/minio/ |
||||
git clone https://github.com/minio/minio |
||||
|
||||
|
||||
%build |
||||
export GOPATH=`pwd` |
||||
export GO111MODULE=on |
||||
export CGO_ENABLED=0 |
||||
cd src/github.com/minio/minio |
||||
git checkout tags/RELEASE.%{fullversion} |
||||
export COMMIT=$(git rev-parse HEAD) |
||||
export SHORTCOMMIT=$(git rev-parse --short HEAD) |
||||
export BUILDDATE=$(date +%Y%m%d) |
||||
sed 's/goGetTag = "DEVELOPMENT.GOGET"/goGetTag = "RELEASE.%{fullversion}"/' -i cmd/build-constants.go |
||||
sed 's/Version = goGetTag/Version = "%{fullversion}"/' -i cmd/build-constants.go |
||||
sed 's/ReleaseTag = goGetTag/ReleaseTag = "RELEASE.%{fullversion}"/' -i cmd/build-constants.go |
||||
sed 's/CommitID = goGetTag/CommitID = "'$COMMIT'"/' -i cmd/build-constants.go |
||||
sed 's/ShortCommitID = CommitID\[:12\]/ShortCommitID = "'$SHORTCOMMIT'"/' -i cmd/build-constants.go |
||||
go build -v -tags kqueue -trimpath --ldflags " |
||||
-X github.com/minio/minio/cmd.ReleaseTag=RELEASE.%{fullversion} |
||||
-X github.com/minio/minio/cmd.CommitID=$COMMIT |
||||
-X github.com/minio/minio/cmd.ShortCommitID=$SHORTCOMMIT |
||||
-X github.com/minio/minio/cmd.Version=%{version} |
||||
-extldflags -s -w -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n') |
||||
-buildid %{version}" -o minio |
||||
|
||||
|
||||
%install |
||||
install -p -D -m 0555 src/github.com/minio/minio/minio %{buildroot}%{_bindir}/minio |
||||
install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/minio/server |
||||
install -p -D -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/minio/gateway |
||||
install -p -D -m 0644 %{SOURCE3} %{buildroot}%{_unitdir}/minio-server.service |
||||
install -p -D -m 0644 %{SOURCE4} %{buildroot}%{_unitdir}/minio-gateway.service |
||||
install -p -d -m 0700 %{buildroot}%{minio_home} |
||||
|
||||
|
||||
%pre |
||||
getent group %{minio_group} > /dev/null || groupadd -r %{minio_group} |
||||
getent passwd %{minio_user} > /dev/null || useradd -r -d %{minio_home} -g %{minio_group} -s /bin/bash -c "minio user" %{minio_user} |
||||
exit 0 |
||||
|
||||
|
||||
%post server |
||||
%systemd_post minio-server.service |
||||
%preun server |
||||
%systemd_preun minio-server.service |
||||
%postun server |
||||
%systemd_postun minio-server.service |
||||
|
||||
|
||||
%post gateway |
||||
%systemd_post minio-gateway.service |
||||
%preun gateway |
||||
%systemd_preun minio-gateway.service |
||||
%postun gateway |
||||
%systemd_postun minio-gateway.service |
||||
|
||||
|
||||
%check |
||||
cd src/github.com/minio/minio |
||||
./minio --version | tee v |
||||
v=$(awk '/version/{print $3}' v) |
||||
test "$v" = RELEASE.%{fullversion} |
||||
|
||||
|
||||
%files |
||||
%doc |
||||
%{_bindir}/minio |
||||
%attr(700,%{minio_user},%{minio_group}) %dir %{minio_home} |
||||
|
||||
|
||||
%files server |
||||
%config(noreplace) %{_sysconfdir}/%{name}/server |
||||
%{_unitdir}/minio-server.service |
||||
|
||||
|
||||
%files gateway |
||||
%config(noreplace) %{_sysconfdir}/%{name}/gateway |
||||
%{_unitdir}/minio-gateway.service |
||||
|
||||
|
||||
%changelog |
Loading…
Reference in new issue