cordial

package module
v1.20.0 Latest Latest
Warning

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

Go to latest
Published: Dec 13, 2024 License: Apache-2.0 Imports: 17 Imported by: 0

README

cordial - Geneos Utilities, Tools, Integrations and Packages

[!NOTE]

This is Version v1.12.0 - Released 2024-12-13 - See CHANGELOG.md for more details.

Tools and Utilities

Name Description
gdna Geneos Dynamic Netprobe Analysis
geneos Manage Your Geneos environment
dv2email Send a Dataview as an EMail
files2dv Scan directories and files for information (not an FKM substitute!)
gateway-reporter Generate monitoring coverage reports from setup files
libemail Drop-In Updated Replacement for libemail
san-config Dynamic SAN configuration file server (not yet fully integrated)

Integrations

Name Description
servicenow Send Geneos Alerts to ServiceNow
pagerduty Send Geneos to PagerDuty

Packages

These packages provide Go interfaces to ITRS Geneos as well as utilities to help build useful tools for working with ITRS Geneos.

Package Description
config Configuration support, based on the excellent viper package, with local extensions to add expansion of embedded references including AES encrypted values, interpolation of environment variables and other configuration parameters as well as reading local files and from URLs.

A one-stop-shop to load and save configurations makes initialising programs easier and simpler.

The implementation is slowly maturing but is not complete and is subject to API changes as we find better ways to do things. The options on those functions that have been extended allow fine grained control of how interpolation is performed including restricting which methods are supported and adding custom functions for interpolation/expansion.
email Functions extracted from the libemail sources to be more generally available, initially for the dv2email program but also for additional tools in the future. libemail has not been changed so that it remains fully backward compatible.
geneos Automate Geneos XML configuration file generation using Go programs.

The Geneos schema is not, and cannot be, fully implemented at this stage as the mappings have been hand-rolled rather than any attempt as machine translation.

Automate Geneos XML configuration file generation using Go programs.

The Geneos schema is not, and cannot be, fully implemented at this stage as the mappings have been hand-rolled rather than any attempt as machine translation.
geneos/api An updated API package for sending data into Geneos. This is work in progress and is not ready for real-world use. This package will provide a unified API for both XML-RPC and REST APIs, within the constraints of the features of both.
host Remote host integration extracted from geneos internal packages and turned into an extensible interface that supports local OS and remote SSH/SFTP operations. The API is still in flux and could do with more review and structure.
plugins
samplers
streams
xmlrpc
These four packages provide support for the Geneos XML-RPC API Plugin.
process Process management functions. There is a Daemon() function to background a process and the beginnings of program and batch managers. While the Daemon() function is relatively stable the other methods in this package are new and liable to change as their use matures.
commands Geneos Gateway REST API Commands including programmatic support for snapshots of Dataviews. When used with the xpath package below it provides a simple way of executing REST commands on Geneos Gateways.
xpath Geneos XPath handling functions and methods. This is a developing API and is not complete. Basic functionality exists to parse and manipulate simple XPaths.
pkg/icp
pkg/gwhub
These two packages are the start of APIs to ITRS Capacity Planner and Gateway Hub respectively. They are work in progress and should not be used for anything other than testing for the moment.

Documentation

Overview

Package cordial is a collection of tools, packages and integrations for Geneos written primarily in Go

Package cordial is a collection of tools, packages and integrations for Geneos written primarily in Go

Index

Constants

This section is empty.

Variables

View Source
var VERSION string

VERSION is a semi-global string variable

Functions

func ExecutableName added in v1.11.0

func ExecutableName(version ...string) (execname string)

ExecutableName returns a processed executable name. Symlinks are resolved and the basename of the resulting file has, at most, one extension removed and then if there is a '-' followed by the matching cordial version string. Note this final version string must match first version argument or the cordial one compiled into the binary.

For example:

`geneos.exe` -> `geneos`
`dv2email-v1.10.0` -> `dv2email`

func LogInit

func LogInit(prefix string, options ...LogOptions)

LogInit is called to set-up zerolog with our chosen defaults. The default is to log to STDERR.

If logfile is passed and the first element is not empty, then use that as the log file unless it is either "-" (which means use STDOUT (not STDERR) or equal to the os.DevNull value, in which case is io.Discard.

func RenderHelpAsMD added in v1.7.0

func RenderHelpAsMD(command *cobra.Command)

RenderHelpAsMD updated the given command to use glamour to render the command's Long description as markdown formatted text to an ANSI terminal.

Types

type LogOptions added in v1.14.0

type LogOptions func(*logOpts)

func LumberjackOptions added in v1.14.0

func LumberjackOptions(lj *lumberjack.Logger) LogOptions

LumberJackOptions set the log writer to the configured lumberjack settings but only if the lj.Filename field is not empty, otherwise it is ignored.

func RotateOnStart added in v1.14.0

func RotateOnStart(rotate bool) LogOptions

func SetLogfile added in v1.14.0

func SetLogfile(logfile string) LogOptions

Directories

Path Synopsis
examples
api
cmd
docs
The docs utility builds markdown documentation from the geneos program sources and writes to the `docs` directory.
The docs utility builds markdown documentation from the geneos program sources and writes to the `docs` directory.
integrations
pagerduty
Standalone pagerduty integration executable
Standalone pagerduty integration executable
libraries
pkg
commands
Package commands wraps the Geneos Gateway REST Command API in Go
Package commands wraps the Geneos Gateway REST Command API in Go
config
Package config adds local extensions to viper as well as supporting Geneos encryption key files and basic encryption and decryption.
Package config adds local extensions to viper as well as supporting Geneos encryption key files and basic encryption and decryption.
email
The email package provides Geneos specific email processing to support libemail and other email senders using Geneos formatted parameters.
The email package provides Geneos specific email processing to support libemail and other email senders using Geneos formatted parameters.
host
Provides remote file and command functions
Provides remote file and command functions
icp
Package icp provides binding the the ITRS Capacity Planner data model
Package icp provides binding the the ITRS Capacity Planner data model
reporter
The reporter package provides a simple interface to generating Geneos dataviews, with headlines and a data table, either though the XML-RPC API, as Toolkit compatible CSV, XLSX workbooks or a number of other formats.
The reporter package provides a simple interface to generating Geneos dataviews, with headlines and a data table, either though the XML-RPC API, as Toolkit compatible CSV, XLSX workbooks or a number of other formats.
xpath
Package to handle Geneos Gateway specific XPaths
Package to handle Geneos Gateway specific XPaths
tools
geneos/cmd
Package cmd contains all the main commands for the `geneos` program
Package cmd contains all the main commands for the `geneos` program
geneos/cmd/aescmd
Package aescmd groups related AES256 keyfile and crypto commands
Package aescmd groups related AES256 keyfile and crypto commands
geneos/cmd/cfgcmd
Package cfgcmd groups config commands in their own package
Package cfgcmd groups config commands in their own package
geneos/cmd/hostcmd
Package hostcmd contains all the host subsystem commands
Package hostcmd contains all the host subsystem commands
geneos/cmd/initcmd
Package initcmd contains all the init subsystem commands
Package initcmd contains all the init subsystem commands
geneos/cmd/pkgcmd
Package pkgcmd contains all the package subsystem commands
Package pkgcmd contains all the package subsystem commands
geneos/cmd/tlscmd
Package tlscmd contains all the TLS subsystem commands
Package tlscmd contains all the TLS subsystem commands
geneos/internal/component/ac2
Package ac2 supports installation and control of the Active Console
Package ac2 supports installation and control of the Active Console
geneos/internal/geneos
Package geneos provides internal features to manage a typical `Best Practice` installation layout and the conventions that have formed around that structure over many years.
Package geneos provides internal features to manage a typical `Best Practice` installation layout and the conventions that have formed around that structure over many years.
geneos/utils/docs
The docs utility builds markdown documentation from the geneos program sources and writes to the `docs` directory.
The docs utility builds markdown documentation from the geneos program sources and writes to the `docs` directory.
utils
docs
docs creates documentation from the tools and integrations in the repo (except `geneos` which has it's own copy of this with custom mods)
docs creates documentation from the tools and integrations in the repo (except `geneos` which has it's own copy of this with custom mods)

Jump to

Keyboard shortcuts

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