config

package
v1.9.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 4, 2025 License: GPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	FLAG_VAULT_ADDRESS                     = "vault-address"
	FLAG_VAULT_AUTH_TOKEN                  = "vault-auth-token" // #nosec: G101
	FLAG_VAULT_AUTH_KUBERNETES_ROLE        = "vault-auth-kubernetes-role"
	FLAG_VAULT_AUTH_KUBERNETES_MOUNT       = "vault-auth-kubernetes-mount"
	FLAG_VAULT_AUTH_APPROLE_ROLE_ID        = "vault-auth-approle-role-id"
	FLAG_VAULT_AUTH_APPROLE_SECRET_ID      = "vault-auth-approle-secret-id"      // #nosec: G101
	FLAG_VAULT_AUTH_APPROLE_SECRET_ID_FILE = "vault-auth-approle-secret-id-file" // #nosec: G101
	FLAG_VAULT_AUTH_APPROLE_MOUNT          = "vault-auth-approle-mount"          // #nosec: G101
	FLAG_VAULT_AUTH_APPROLE_MOUNT_DEFAULT  = "approle"
	FLAG_VAULT_SSH_MOUNT                   = "vault-ssh-mount"
	FLAG_VAULT_SSH_MOUNT_DEFAULT           = "ssh"
	FLAG_VAULT_SSH_ROLE                    = "vault-ssh-role"

	FLAG_TTL        = "ttl"
	FLAG_PRINCIPALS = "principals"

	FLAG_FORCE_NEW_SIGNATURE                = "force-new-signature"
	FLAG_FORCE_NEW_SIGNATURE_DEFAULT        = false
	FLAG_RETRIES                            = "retries"
	FLAG_RETRIES_DEFAULT                    = 15
	FLAG_RENEW_THRESHOLD_PERCENTAGE         = "renew-threshold-percent"
	FLAG_RENEW_THRESHOLD_PERCENTAGE_DEFAULT = 33.

	FLAG_CA_FILE         = "ca-file"
	FLAG_PUBKEY_FILE     = "pub-key-file"
	FLAG_SIGNED_KEY_FILE = "signed-key-file"
	FLAG_CONFIG_FILE     = "config-file"

	FLAG_METRICS_FILE         = "metrics-file"
	FLAG_METRICS_FILE_DEFAULT = "/var/lib/node_exporter/vault-ssh-cli.prom"
	FLAG_DEBUG                = "debug"
)

Variables

This section is empty.

Functions

func Print added in v1.7.0

func Print(c any)

func Validate added in v1.7.0

func Validate(s any) error

Types

type Config

type Config struct {
	Retries                                int     `mapstructure:"retries" validate:"gte=1,lte=20"`
	ForceNewSignature                      bool    `mapstructure:"force-new-signature"`
	CertificateLifetimeThresholdPercentage float32 `mapstructure:"renew-threshold-percent" validate:"omitempty,lte=80,gte=20"`

	CaFile        string `mapstructure:"ca-file" validate:"omitempty,filepath"`
	PublicKeyFile string `mapstructure:"pub-key-file" validate:"omitempty,file"`
	SignedKeyFile string `mapstructure:"signed-key-file" validate:"omitempty,filepath"`

	Extensions map[string]string `mapstructure:"extensions" validate:"omitempty"`
	Principals []string          `mapstructure:"principals" validate:"omitempty"`

	MetricsFile string `mapstructure:"metrics-file" validate:"omitempty,filepath"`
	Debug       bool   `mapstructure:"debug"`

	Ttl string `mapstructure:"ttl" validate:"omitempty,ttl"`

	VaultAddress         string `mapstructure:"vault-address"`
	VaultToken           string `mapstructure:"vault-auth-token"`
	VaultKubernetesRole  string `mapstructure:"vault-auth-kubernetes-role" validate:"omitempty"`
	VaultKubernetesMount string `mapstructure:"vault-auth-kubernetes-mount" validate:"omitempty"`
	VaultRoleId          string `mapstructure:"vault-auth-approle-role-id"`
	VaultSecretId        string `mapstructure:"vault-auth-approle-secret-id"`
	VaultSecretIdFile    string `mapstructure:"vault-auth-approle-secret-id-file" validate:"omitempty,file"`
	VaultMountApprole    string `mapstructure:"vault-auth-approle-mount"`
	VaultMountSsh        string `mapstructure:"vault-ssh-mount" validate:"required"`
	VaultSshRole         string `mapstructure:"vault-ssh-role" validate:"required"`
}

func (*Config) ExpandPaths

func (c *Config) ExpandPaths()

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL