Help us shape the future of Go! Take the 2026 Go Developer Survey

utils

package
v0.29.6 Latest Latest
Warning

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

Go to latest
Published: Dec 24, 2025 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckBitwardenLoginStatus added in v0.29.5

func CheckBitwardenLoginStatus() (bool, error)

CheckBitwardenLoginStatus checks if the user is logged into Bitwarden

func EnsureBitwardenSession added in v0.29.6

func EnsureBitwardenSession() (string, error)

EnsureBitwardenSession ensures the Bitwarden vault is unlocked and returns a session key. It first checks BW_SESSION and status; if locked, it prompts for the master password using `bw unlock --raw` and returns the session token. If unauthenticated, it attempts `bw login`.

func ExtractSSHKeyFromItem added in v0.29.5

func ExtractSSHKeyFromItem(item *BitwardenItem) (string, error)

ExtractSSHKeyFromItem extracts SSH private key from a Bitwarden item

func IsVerbose added in v0.14.3

func IsVerbose(cmd *cobra.Command) bool

IsVerbose checks if the "verbose" flag is set for the given Cobra command. It first checks if the verbose flag is explicitly set on the command. If not, it falls back to the config value using viper.

Parameters:

  • cmd: A pointer to a Cobra command from which the "verbose" flag is retrieved.

Returns:

  • bool: True if the "verbose" flag is set to true, otherwise false.

func SaveOrUpdateBitwardenSecret added in v0.29.6

func SaveOrUpdateBitwardenSecret(name, secret, notes string) (string, error)

SaveOrUpdateBitwardenSecret saves a secret value into Bitwarden under the given item name. If the item exists, it will be updated; otherwise it is created. A custom field named "eng-cli" with value "true" is added to tag usage by this CLI.

func StartChildProcess

func StartChildProcess(c *exec.Cmd) error

StartChildProcess starts a child process with the given exec.Cmd configuration. It sets up the standard input, output, and error streams to be the same as the parent process. Additionally, it captures interrupt signals (ctl + c) and forwards them to the child process.

Parameters:

  • c: A pointer to an exec.Cmd struct representing the command to be executed.

Returns:

  • error: An error if the command fails to start or exits with a non-zero status. Returns nil if the command completes successfully.

The function starts the command and waits for it to finish.

func SyncDirectory

func SyncDirectory(srcDir, destDir string, isVerbose bool) error

SyncDirectory synchronizes the contents of the source directory (srcDir) with the destination directory (destDir). It copies files and recursively syncs subdirectories. If isVerbose is true, it logs the files being copied.

Parameters:

  • srcDir: The source directory to sync from.
  • destDir: The destination directory to sync to.
  • isVerbose: A boolean flag to enable verbose logging.

Returns:

  • error: An error if any occurs during the synchronization process., otherwise nil.

func UnlockBitwardenVault added in v0.29.5

func UnlockBitwardenVault() error

UnlockBitwardenVault prompts the user to unlock their Bitwarden vault

Types

type BitwardenField added in v0.29.5

type BitwardenField struct {
	Name  string `json:"name"`
	Value string `json:"value"`
	Type  int    `json:"type"`
}

BitwardenField represents a custom field in a Bitwarden item

type BitwardenItem added in v0.29.5

type BitwardenItem struct {
	ID     string           `json:"id"`
	Name   string           `json:"name"`
	Fields []BitwardenField `json:"fields,omitempty"`
	Login  *BitwardenLogin  `json:"login,omitempty"`
	Notes  string           `json:"notes,omitempty"`
}

BitwardenItem represents a Bitwarden vault item

func FindSSHKeysInVault added in v0.29.5

func FindSSHKeysInVault() ([]BitwardenItem, error)

FindSSHKeysInVault searches for SSH key items in the Bitwarden vault

func GetBitwardenItem added in v0.29.5

func GetBitwardenItem(name string) (*BitwardenItem, error)

GetBitwardenItem retrieves an item from Bitwarden vault by name

func ListBitwardenItems added in v0.29.5

func ListBitwardenItems() ([]BitwardenItem, error)

ListBitwardenItems returns all items in the vault (filtered by type if specified)

type BitwardenLogin added in v0.29.5

type BitwardenLogin struct {
	Username string `json:"username,omitempty"`
	Password string `json:"password,omitempty"`
}

BitwardenLogin represents login credentials

type Spinner added in v0.17.21

type Spinner struct {
	// contains filtered or unexported fields
}

Spinner wraps the mpb.Progress container and a single bar. It's designed to manage a single progress bar and allow logging messages above the bar without disrupting it.

func NewProgressSpinner added in v0.17.22

func NewProgressSpinner(message string) *Spinner

NewProgressSpinner creates a spinner that displays progress as a bar.

func NewSpinner added in v0.17.21

func NewSpinner(message string) *Spinner

NewSpinner creates a new spinner with a default indeterminate style.

func (*Spinner) Logf added in v0.25.5

func (s *Spinner) Logf(format string, a ...interface{})

Logf prints a formatted message above the progress bar.

func (*Spinner) SetProgressBar added in v0.17.22

func (s *Spinner) SetProgressBar(progress float64, msg ...string)

SetProgressBar sets the progress of the bar. Progress should be from 0.0 to 1.0.

func (*Spinner) Start added in v0.17.21

func (s *Spinner) Start()

Start does nothing in this implementation, as the bar is visible on creation.

func (*Spinner) Stop added in v0.17.21

func (s *Spinner) Stop()

Stop marks the bar as completed and waits for the progress container to finish.

func (*Spinner) UpdateMessage added in v0.17.21

func (s *Spinner) UpdateMessage(msg string)

UpdateMessage updates the message displayed next to the spinner/bar.

Directories

Path Synopsis
Package config is a helper package to facilitate getting and setting config values using Viper.
Package config is a helper package to facilitate getting and setting config values using Viper.
Package log is a wrapper around colorizing the log output.
Package log is a wrapper around colorizing the log output.

Jump to

Keyboard shortcuts

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