github.com/minio/madmin-go/v3@v3.0.51/examples/kms-status.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/v3" 29 ) 30 31 func main() { 32 // Note: YOUR-ACCESSKEYID, YOUR-SECRETACCESSKEY and my-bucketname are 33 // dummy values, please replace them with original values. 34 35 // API requests are secure (HTTPS) if secure=true and insecure (HTTP) otherwise. 36 // New returns an MinIO Admin client object. 37 madmClnt, err := madmin.New("your-minio.example.com:9000", "YOUR-ACCESSKEYID", "YOUR-SECRETACCESSKEY", true) 38 if err != nil { 39 log.Fatalln(err) 40 } 41 42 status, err := madmClnt.GetKeyStatus(context.Background(), "") // empty string refers to the default master key 43 if err != nil { 44 log.Fatalln(err) 45 } 46 47 log.Printf("Key: %s\n", status.KeyID) 48 if status.EncryptionErr == "" { 49 log.Println("\t • Encryption ✔") 50 } else { 51 log.Printf("\t • Encryption failed: %s\n", status.EncryptionErr) 52 } 53 if status.UpdateErr == "" { 54 log.Println("\t • Re-wrap ✔") 55 } else { 56 log.Printf("\t • Re-wrap failed: %s\n", status.UpdateErr) 57 } 58 if status.DecryptionErr == "" { 59 log.Println("\t • Decryption ✔") 60 } else { 61 log.Printf("\t • Decryption failed: %s\n", status.DecryptionErr) 62 } 63 }