vault

package module
v0.0.0-...-601d287 Latest Latest
Warning

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

Go to latest
Published: Jan 24, 2023 License: MIT Imports: 21 Imported by: 5

README

Vault implementation of ECM toolkit

Documentation

Index

Constants

This section is empty.

Variables

View Source
var OrderedKeys = []string{"Name", "Login", "Password", "URL", "Tags", "Note"}

OrderedKeys show list of records keys to be display in specific order

Functions

func CopyDir

func CopyDir(src string, dst string) error

CopyDir copies a whole directory recursively

func CopyFile

func CopyFile(src, dst string) error

CopyFile copies a single file from src to dst

func TabularPrint

func TabularPrint(records []VaultRecord)

TabularPrint provide tabular print of reocrds based on http://networkbit.ch/golang-column-print/

Types

type Record

type Record map[string]string

Record represent map of key-valut pairs

type Vault

type Vault struct {
	Directory        string        // vault directory
	Cipher           string        // vault cipher
	Secret           string        // vault secret
	Verbose          int           // verbose mode
	Records          []VaultRecord // vault records
	ModificationTime time.Time     // vault last modification time
	LastBackup       string        // vault last backup
	Size             int64         // vault size
	Mode             string        // vault mode
	Start            time.Time     // vault expire
}

Vault represent our vault

func (*Vault) AddRecord

func (v *Vault) AddRecord(kind string) (*VaultRecord, error)

AddRecord vault record

func (*Vault) Create

func (v *Vault) Create(vname string) error

Create provides vault creation functionality

func (*Vault) DeleteRecord

func (v *Vault) DeleteRecord(rid string) error

DeleteRecord vault record

func (*Vault) DeleteRecordFile

func (v *Vault) DeleteRecordFile(rid string) error

Delete deletes given vault record file from the vault directory

func (*Vault) EditRecord

func (v *Vault) EditRecord(rid string) error

EditRecord edits given vault record

func (*Vault) EncryptFile

func (v *Vault) EncryptFile(efile string)

EncryptFile provides ability to encrypt given file name and place into the vault

func (*Vault) Export

func (v *Vault) Export(fname string) error

Export allows to export vault records in JSON data format to a given file

func (*Vault) Files

func (v *Vault) Files() ([]string, error)

Files returns list of vault files

func (*Vault) Find

func (v *Vault) Find(pat string) []VaultRecord

Find method finds given pattern in our vault and return its index

func (*Vault) Import

func (v *Vault) Import(fname, oname string) error

Import allows to import vault records to a given file CSV, JSON or ECM-JSON data-format are supported

func (*Vault) Info

func (v *Vault) Info() string

Info provides information about the vault

func (*Vault) Read

func (v *Vault) Read() error

Read reads vault records

func (*Vault) ReadRecord

func (v *Vault) ReadRecord(fname string) (VaultRecord, error)

ReadRecord provides read record functionality of our vault

func (*Vault) Recreate

func (v *Vault) Recreate(secret, cipher string) error

Recreate re-creates vault records with new password and cipher

func (*Vault) Sync

func (v *Vault) Sync(dst storage.Storage) error

Sync implements sync procedure to given storage interace

func (*Vault) Update

func (v *Vault) Update(rec VaultRecord) error

Update vault records

func (*Vault) Write

func (v *Vault) Write() error

helper function to read vault and return list of records

func (*Vault) WriteRecord

func (v *Vault) WriteRecord(rec VaultRecord) error

WriteRecord provides write record functionality of vault

type VaultRecord

type VaultRecord struct {
	ID               string    // record ID
	Map              Record    // record map (key-vault pairs)
	Attachments      []string  // record attachment files
	ModificationTime time.Time // record modification time
}

VaultRecord represents full vault record

func NewVaultRecord

func NewVaultRecord(kind string) *VaultRecord

NewVaultRecord creates new VaultRecord

func (*VaultRecord) Keys

func (r *VaultRecord) Keys() []string

Keys provides vault record keys

func (*VaultRecord) String

func (r *VaultRecord) String() string

String provides string representation of vault record

func (*VaultRecord) WriteRecord

func (r *VaultRecord) WriteRecord(vdir, secret, cipher string, verbose int) error

WriteRecord writes single record to the vault area

Jump to

Keyboard shortcuts

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