github.com/minio/madmin-go/v2@v2.2.1/examples/cluster-health.go (about) 1 //go:build ignore 2 // +build ignore 3 4 // Copyright (c) 2015-2022 MinIO, Inc. 5 // 6 // This file is part of MinIO Object Storage stack 7 // 8 // This program is free software: you can redistribute it and/or modify 9 // it under the terms of the GNU Affero General Public License as 10 // published by the Free Software Foundation, either version 3 of the 11 // License, or (at your option) any later version. 12 // 13 // This program is distributed in the hope that it will be useful, 14 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 // GNU Affero General Public License for more details. 17 // 18 // You should have received a copy of the GNU Affero General Public License 19 // along with this program. If not, see <http://www.gnu.org/licenses/>. 20 // 21 22 package main 23 24 import ( 25 "context" 26 "log" 27 28 "github.com/minio/madmin-go/v2" 29 ) 30 31 func main() { 32 // API requests are secure (HTTPS) if secure=true and insecure (HTTPS) otherwise. 33 // NewAnonymousClient returns an anonymous MinIO Admin client object. 34 // Anonymous client doesn't require any credentials 35 madmAnonClnt, err := madmin.NewAnonymousClient("your-minio.example.com:9000", true) 36 if err != nil { 37 log.Fatalln(err) 38 } 39 // To enable trace :- 40 // madmAnonClnt.TraceOn(os.Stderr) 41 opts := madmin.HealthOpts{ 42 ClusterRead: false, // set to "true" to check if the cluster has read quorum 43 Maintenance: false, // set to "true" to check if the cluster is taken down for maintenance 44 } 45 healthResult, err := madmAnonClnt.Healthy(context.Background(), opts) 46 if err != nil { 47 log.Fatalln(err) 48 } 49 log.Println(healthResult) 50 }