Releases: tjhop/mango
Releases · tjhop/mango
v0.0.2
v0.0.1
Changelog
- 2c6b33a build: there isn't an explicit config file anymore
- 5f7471f chore(style): go fmt
- a8c41c2 chore: add LICENSE (MIT)
- 6ea77af chore: add Stringer for
script
struct type - e226f2d chore: add
.envrc
to gitignore - f3a02e2 chore: add go build runtime version to version log/build info metric
- e8687bd chore: add inventory Stringer
- 9ba60ac chore: add logging to mango tree setup when server starts
- fd15e18 chore: add startup log for enrollment check and gofmt
- ae9b565 chore: clean up old mango files from before aviary inventory
- e640514 chore: drop script logging to debug to reduce noise
- e12a026 chore: fmt
- 2054fd4 chore: go mod tidy
- be83069 chore: go mod tidy
- a320d9c chore: go mod tidy
- 4d94ce0 chore: go mod tidy
- ff82c7e chore: go mod tidy
- 08fe15b chore: go mod tidy
- ac60500 chore: go mod tidy
- e25d568 chore: improve logging around watcher events and mango paths
- 7eb49d0 chore: improve logging for module runs
- 1c8719f chore: improve logging when running directive scripts
- 32eee04 chore: improve manager logging
- c7f3d50 chore: improve persistent log directory creation
- 5eb9c15 chore: make BaseManager implement Manager interface
- e9b37e9 chore: make the linter happy
- 1a3d5af chore: more descriptive comments/logging in main
- 6460a13 chore: remove
viper
from logging config, it's not used - b01569c chore: remove inventory directive filtering
- 423b06a chore: remove todos from code comments \o/
- ac59018 chore: retain value when catching signals so we can use/log it
- e3caeec chore: separate successful/failed inventory reload prom metrics
- 0393372 chore: upgrade to go
1.18
! \o/ - d8060c7 feat(inventory): add
GetModulesForRole
method - e2388f8 feat(inventory): add struct to track run count metrics for modules
- 07e4b43 feat: add "mango" meta manager and manager interface
- dd0ef21 feat: add
Reload()
func to inventory to wrap method for global reloads - e9c134a feat: add
Store
interface for inventory implementations - 472657d feat: add
mango.GetCombinedMangoForThing()
func for collecting things - be3c3c3 feat: add a bunch of getters to inventory and inventory structs
- 6f4c7d2 feat: add ability to watch mango files and auto reload tree
- de936ea feat: add accessor funcs/methods for inventory directives
- 91e2b67 feat: add auto config reload with viper
- 62096b2 feat: add basic
Manager
structures and Thing management interface - 7a33a16 feat: add basic
Thing
structures for items to manage - e5c39f9 feat: add build info to mango server start/end logging
- d04db52 feat: add flag for setting log level and fix log level setting
- 5b96a29 feat: add flag to manually specify mango configuration tree
- da0cf7e feat: add func to pkg
self
to return current running user info - 79dee00 feat: add getters to inventory.Store interface for variables
- 96683d2 feat: add initial mango/tree framework for loading configs
- 3cf0ecf feat: add pkg level
IsEnrolled()
check to inventory - 237d520 feat: add prom metric for count of mango tree refreshes
- 4465e3e feat: add prom metrics for mango watcher fs events/errors
- fb538cb feat: add prometheus metric for service start timestamp
- 0ee6213 feat: add some basic metric for Things
- 8e646fb feat: add some basic metrics for Managers
- becd969 feat: aviary.sh inventory support
- dd39cd2 feat: create persistent log dir if it doesn't exist
- db885d3 feat: create temp dir when starting and clean up when closing
- a736342 feat: execute modules within the configured temp directory
- d99f00d feat: init logging with logrus
- 1637c00 feat: init native prometheus metrics, add build info metric to start
- 4deb8cc feat: init viper for configs and add basic config file
- 03a9bdf feat: initial commit for mango config management, adds base daemon
- 63bb127 feat: initial framework for actually running directives/modules
- a029b05 feat: log config file in use at service start
- 7b7571e feat: new metric
mango_runtime_info
with info about running system - b588019 feat: reload inventory on SIGHUP
- dd5766a feat: reload vars for host when reloading manager
- b0ed3db feat: run all module scripts on SIGHUP after reload
- 1e464f4 feat: save stdout/stderr logs from script runs
- 5fe88de feat: start of new Manager component to dispatch script execution
- eb22a93 feat: time for the manager to actually run things!
- 817273d feat: track
.gitignore
- 9b8eda7 feat: use
slices.Contains
from exp slices repo - 554d38d fix(inventory):
GetModulesForHost
should get role modules, too - 8ec2784 fix(metris): inventory count, applicable metrics now work
- afaba82 fix: GoImports
- f5ddb5d fix: Thing map creation syntax in NewManager()
- 650d779 fix: actually use config file when flag is set
- 81b708d fix: actually wire custom logrus config into the application
- 7a73e8f fix: add host modules after roles so they can override
- 84d791a fix: check context for error on done
- b9bac6f fix: host naming during parsing
- e24ff2d fix: limit mango tree reloads due to fs events to only mango files
- 72b2f13 fix: log directory viper default set after dir creation
- b44c048 fix: manager registration
- e1deec6 fix: mango manager
init()
and imports - 827cd84 fix: missing fsnotify import for viper auto config reload
- f393961 fix: only add func/file prettifiers on debug logging or higher
- 6da2d2e fix: parse global variables
- 72e2c63 fix: prevent duplicate inventory entries for hosts and modules
- 9127692 fix: prometheus metric type fixes
- 6a0e714 fix: remove forgotten result label from directive prom metrics
- 17d2e22 fix: script run failed metric help message
- c2af76c fix: set mangoes to empty map when reloading tree
- 40ab332 fix: slice literal syntax and
go fmt
- c16e6ec fix: update NewMangoWatcher to accept a path param
- e985e99 fix: use
promauto
package for auto-registering all metrics - 1691fc4 ref!: config structure changes for inventory/metrics, with flag updates
- 44d9c63 ref!: multiple inventory improvements and fixes
- 4e4c8c7 ref(fix): use oklog/run to manage goroutine lifecycles
- b4008ed ref: don't need pointer receiver on inventory methods
- a2bad6f ref: explicitly manage inventory struct, no hidden pkg global
- 7e17981 ref: get temp dir from config
- 1da530b ref: make
metrics
pkg use newinternal/config
pkg - 7c1c4a5 ref: make inventory slice of structs, not maps
- a1b30f9 ref: move
config
package to internal/ - 7f36d9c ref: move
logging
pkg to internal - aeca763 ref: move
metrics
package to internal - e923dc3 ref: reduce to single go module for main
- 9e2ebcc ref: remove 'result' label from
metricInventoryReloadSeconds
metric - 4e2ca6d ref: remove executable check in module/directive parsing
- 893f37e ref: remove old
Thing
code for managed item dsl - dfe9e4a ref: rename main.go -> cmd/mango/mango.go
- 0d88984 ref: s/syscall.SIGINT/os.Interrupt/g
- 41215b3 ref: switch
mango
pkg to use exported funcs over direct exported vars - 62227a2 ref: un-export inventory struct fields in favor of API
- 599e202 ref: update mango/tree ops to use func that wraps global tree
- ef75c58 ref: use
filepath
pkg for logging rather thanpath
- 1a9b3a8 ref: use new internal
metrics
pkg - 0c122d5 style:
go fmt
- 18c1a26 style: comment updates and go fmt
- 47b66a0 style: go fmt