minio package creation
Signed-off-by: webbuilder_pel7ppc64lebuilder0 <webbuilder@powerel.org>master
parent
08c300c28b
commit
60f5f7f8fb
|
@ -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 @@
|
|||
[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 @@
|
|||
### 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 @@
|
|||
[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 @@
|
|||
%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