mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-11-04 04:28:08 +00:00 
			
		
		
		
	* Add shared helpers across health checks Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com> * Add audit_visibility health check Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com> * Add allow_if_modified_since health check Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com> * Add mount-related health checks to CLI Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com> Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package healthcheck
 | 
						|
 | 
						|
import (
 | 
						|
	"fmt"
 | 
						|
 | 
						|
	"github.com/hashicorp/vault/sdk/logical"
 | 
						|
)
 | 
						|
 | 
						|
func stringList(source interface{}) ([]string, error) {
 | 
						|
	if source == nil {
 | 
						|
		return nil, nil
 | 
						|
	}
 | 
						|
 | 
						|
	if value, ok := source.([]string); ok {
 | 
						|
		return value, nil
 | 
						|
	}
 | 
						|
 | 
						|
	if rValues, ok := source.([]interface{}); ok {
 | 
						|
		var result []string
 | 
						|
		for index, rValue := range rValues {
 | 
						|
			value, ok := rValue.(string)
 | 
						|
			if !ok {
 | 
						|
				return nil, fmt.Errorf("unknown source type for []string coercion at index %v: %T", index, rValue)
 | 
						|
			}
 | 
						|
 | 
						|
			result = append(result, value)
 | 
						|
		}
 | 
						|
 | 
						|
		return result, nil
 | 
						|
	}
 | 
						|
 | 
						|
	return nil, fmt.Errorf("unknown source type for []string coercion: %T", source)
 | 
						|
}
 | 
						|
 | 
						|
func fetchMountTune(e *Executor, versionError func()) (bool, *PathFetch, map[string]interface{}, error) {
 | 
						|
	tuneRet, err := e.FetchIfNotFetched(logical.ReadOperation, "/sys/mounts/{{mount}}/tune")
 | 
						|
	if err != nil {
 | 
						|
		return true, nil, nil, err
 | 
						|
	}
 | 
						|
 | 
						|
	if !tuneRet.IsSecretOK() {
 | 
						|
		if tuneRet.IsUnsupportedPathError() {
 | 
						|
			versionError()
 | 
						|
		}
 | 
						|
 | 
						|
		return true, nil, nil, nil
 | 
						|
	}
 | 
						|
 | 
						|
	var data map[string]interface{} = nil
 | 
						|
	if len(tuneRet.Secret.Data) > 0 {
 | 
						|
		data = tuneRet.Secret.Data
 | 
						|
	}
 | 
						|
 | 
						|
	return false, tuneRet, data, nil
 | 
						|
}
 |