forked from kanisterio/kanister
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathminio.sh
executable file
·82 lines (72 loc) · 2.28 KB
/
minio.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#!/bin/bash
# Copyright 2019 The Kanister Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
set -o errexit
set -o nounset
# Default bucket name
S3_BUCKET="tests.kanister.io"
MINIO_CHART_VERSION="3.0.1"
install_minio ()
{
echo "Deploying minio..."
# Add stable helm repo
helm repo add stable https://kubernetes-charts.storage.googleapis.com
helm repo update
# create minio namespace
kubectl create ns minio
# deploy minio
helm install minio --version ${MINIO_CHART_VERSION} --namespace minio \
--set defaultBucket.enabled=true,defaultBucket.name=${S3_BUCKET} \
--set environment.MINIO_SSE_AUTO_ENCRYPTION=on \
--set environment.MINIO_SSE_MASTER_KEY=my-minio-key:feb5bb6c5cf851e21dbc0376ca81012a9edc4ca0ceeb9df5064ccba2991ae9de \
stable/minio --wait --timeout 3m
# export default creds for minio
# https://github.com/helm/charts/tree/master/stable/minio
echo
echo "Use following creds to access MinIO"
echo AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE"
echo AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
echo AWS_REGION="us-west-2"
echo LOCATION_ENDPOINT="http://minio.minio.svc.cluster.local:9000"
echo
echo "minio deployment successful!"
}
uninstall_minio ()
{
echo "Removing minio..."
helm delete minio -n minio
kubectl delete ns minio
}
usage() {
cat <<EOM
Usage: ${0} <operation>
Where operation is one of the following:
install_minio: installs minio on k8s cluster
uninstall_minio: uninstalls minio
EOM
exit 1
}
[ ${#@} -gt 0 ] || usage
case "${1}" in
# Alphabetically sorted
install_minio)
time -p install_minio
;;
uninstall_minio)
time -p uninstall_minio
;;
*)
usage
exit 1
esac