CLI
4.2.0 (July 13th, 2022)
Added
init
now builds a full Grey Matter CUE directory structure.init
now supports fetching a remotely locatedintermediates.cue
file.
Changed
init
is no longer anx
(experimental) command.greymatter sync
cue
subcommand is now justgreymatter sync
host
config options for Control and Catalog are nowurl
.CI/CD now pushes to quay instead of nexus.
Fixed
Enhanced user feedback when invalid URLs are provided for Control and Catalog.
CLI missing fields from Control API OpenAPI schema.
Removed
Removed support syncing a legacy JSON mesh structure tree.
The
greymatter k8s
subcommand no longer exists.
4.1.2 (June 29th, 2022)
Fixed
Fixed namespace not getting populated in auto generated sync secret
4.1.1 (June 7, 2022)
Added
--api
and--catalog
flags for basegreymatter
command that allow URL overriding for Control and Catalog APIs.
Fixed
Submodule cloning when syncing a repo with submoduled CUE.
Fixed missing templates flags for
greymatter sync k8s
with CUE.
Removed
Removed stale annotations from k8s sync templates.
4.1.0 (June 2, 2022)
Added
greymatter sync k8s
now takes an-expression
flag that allows users to specify which configs to watch in an EXPORT.cue file during the stateful set deployment.New
greymatter sync cue
subcommand that triggers CUE evaluation for GitOps sync. This accepts a-e
flag which specifies a specific value to evaluate at the top-level package.Added
greymatter sync -report
flag that generates a full detailed report of all configs applied in a sync iteration.
Changed
-cue-package
is no longer a hidden field on sync.Syncing with CUE now expects an array of mesh objects of various kinds rather than a top-level object with specific fields e.g.
proxy
,domain
, etc. This enables targeted GitOps sync pipelines for application specific updates rather than "whole repo" changes.
Fixed
Logs are no longer misleading when a configuration failure occurs.
Log levels now successfully apply. Previously only supported
trace
level.
Removed
Sync no longer accepts a
--cue
flag. Please use the subcommandgreymatter sync cue
.
4.0.7 (May 13, 2022)
Added
A new
x
subcommand namespace introduced for experimental commands without user interface stability guarantees.A new
x init
subcommand that initializes a cue.module in the current directory, or a configured directory.Object
get
,edit
,delete
,create
, andmodify
commands now accept a short flag-k
for their primary key, instead of only a long flag like--listener-key
,--route-key
, etc.
Changed
The cuetypes submodule now includes Envoy types generated from go-control-plane
Fixed
Fix some crashes when users pass plurals (and other aliases) to subcommands.
4.0.6 (Februrary 10, 2022)
Added
Merge shared rules into route rules in json_to_cue migration script
Changed
Update dependency on github.com/greymatter-io/operator to v0.3.3. Note that this update breaks existing compatibility with previous versions of the operator. When running
k8s operator
, the--image
tag specified must be >=0.3.3. If using a previous version of the operator, you should use CLI version 4.0.3.
Fixed
Fixed bug in json_to_cue migration script that was merging route and domain configs together
4.0.3 (January 19th, 2022)
Added
Extended sync command to support
catalogmesh
andcatalogservice
objects.If --forever is passed, do a test request and retry connections continuously until a maximum retry delay of 5 minutes.
Added migration script to convert tree of mesh JSON to CUE
Changed
API clients are no longer created if they are not needed by the executed command.
Set HTTP client request timeout to 30 seconds
Add
-extldflags "-static"
flags to every build
4.0.2 (January 6th, 2022)
This release contains a new kubernetes focused sync container that can be deployed into a remote cluster for GitOps integration.
Added
Introduced a new command
greymatter k8s sync
to generate kubernetes resources for sync container stateful set.Introduced internal log levels.
Greymatter sidecar injection for kubernetes sync container.
Changed
Namespaces all kubernetes related subcommands to
greymatter k8s
.
4.0.1 (December 3, 2021)
This release has bug fixes for CLI flags, and imports bug fixes from Control API's OpenAPI spec.
Changed
Update dependency on github.com/greymatter-io/operator to v0.1.2; this changes
--password
and--username
flags to--registry-password
and--registry-username
in thek8s-operator
subcommand
Fixed
Update
Secret
fieldforward_client_cert_details
to string with latest codegenFix parsing error for CORSConfig
allowed_origins
field with latest codegenFix misreading of
--service-id
whendelete catalogservice
is run
4.0.0 (November 24, 2021)
This release is a complete rewrite with breaking changes galore. It is known to work against gm-control-api versions 1.6 and 1.7, and 1.3 support might work as well, but is untested.
The only acceptable config file is now ~/.config/greymatter/config.toml, but the location can be set with GREYMATTER_CONFIG
.
Use the improved interactive help, check out the docs site, or ask in chat for help on setting up this CLI rewrite.
Added
Add
--cue
and--cue-package
flags to the sync command; CLI now supports sync of a single CUE "instance" of a package to Control APIAdded experimental
k8s-operator
subcommand; prints kubernetes manifests to stdout that can be piped to a file or kubectl to install the Grey Matter operator
Changed
Release tarballs only contain the targeted build artifacts
Removed CircleCI, CI/CD pipeline is now Buildkite
Config format is now TOML only
3.0.4-rc.1 (September 28th, 2021)
Fixed
Fixed the CI release process producing incorrectly formatted binaries for their target OS.
3.0.3 (August 30th, 2021)
Removed
Removed the
nautls
library dependency
3.0.2 (August 23rd, 2021)
Changed
upgraded
github.com/ulikunitz/xz library
to 0.5.10
3.0.1 (August 18th, 2021)
Added
Added CI workflow triggered by tag for releases
Fixed
Fixed bug deleting instances from a cluster on edit
3.0.0 (June 21, 2021)
This release requires v2.0.0 (or greater) of gm-catalog
.
Added
Support for CA Certs via
api.ssltrust
andcatalog.ssltrust
CLI now has context switching:
greymatter context default
Support for SOCKS5 proxying via
socks5.protocol
,socks5.address
,socks5.username
, andsocks5.password
config optionsConfig file now supports env vars (both
$ENV_VARS
and${ENV_VARS}
Certs can now be raw strings
Changed
Support for SOCKS5 proxying via
socks5.protocol
,socks5.address
,socks5.username
, andsocks5.password
config optionsAdd HTTP content-type header to outgoing create/update requests
Optimized string building throughout the app
Removed uneccessary API config variables
CLI now uses a config file in
~/.config/greymatter/config.toml
Using
urfave/cli
library instead ofspf13/cobra
/viper
greymatter configs
is nowgreymatter config
Replaced Catalog v1 support with Catalog v2 via
catalog-mesh
andcatalog-service
objects
Fixed
internal Catalog client now uses the API client configuraion for unset fields where possible
Removed
api.host
was renamed toapi_url
api.ssl
was removedapi.prefix
was removedapi.version
was removed(along with all catalog config var counterparts)
3.0.0-rc.1 (May 18, 2021)
This release requires v2.0.0 (or greater) of gm-catalog
.
Added
Support for CA Certs via
api.ssltrust
andcatalog.ssltrust
Enable building with BoringSSL by setting
ENABLE_BORINGSSL=1
Changed
Replaced Catalog v1 support with Catalog v2 via
catalog-mesh
andcatalog-service
objects
2.0.2 (March 30th, 2021)
Changed
Improve search functionality for list commands (#149)
Cleanup inline docs and add examples (#173)
Fixed
Stop pruning instance field on edit (#162, #149)
Fix summary listing output by converting
json.rawmessage
back to stringsImprove error message if protocol scheme is provided in
GREYMATTER_API_HOST
(#140)
2.0.1 (January 20th, 2021)
Changed
Update core cli help text description (#148)
Adding response body to the error message (#146)
2.0.0 (December 2nd, 2020)
Added
Complete re-write using Cobra (
spf13/cobra
) framework.Synchronization mechanisms for GitOps
Templating functionality
Tab completion
Support for Catalog API object CRUDs
Fixed
Removed dependency to a specific version of gm-control-api
1.4.2 (Jul 8th, 2020)
Fixed
import-zone now works properly with the output of export-zone
deep delete now works on all objects
summary format now works on all objects
1.4.1 (May 15th, 2020)
Changed
Pin to gm-control-api
v1.4.1
1.4.0 (May 7th, 2020)
Changed
Pin to gm-control-api
v1.4.0
1.3.0 (April 15th, 2020)
Changed
Pin to gm-control-api
v1.3.0
1.2.1 (March 11th, 2020)
Changed
Pin gm-control-api to
v1.2.1
Fixed
Remove un-implemented commands and add in missing listener object from help messages
Environment variables now always parse from GREYMATTER regardless of the binary name
1.2.0 (March 11th, 2020)
Changed
Pin gm-control-api to
v1.2.0
1.1.0 (November 4th, 2019)
Changed
Pin gm-control-api to
v1.1.0
1.0.1 (October 16th, 2019)
Changed
Pin gm-control-api to
v1.0.1
1.0.0 (October 15th, 2019)
Initial Version 1.0 release!
Added
Documentation on CLI usage under the
/docs
folder
Changed
Pin gm-control-api to
v0.8.1
0.5.0 (August 29th, 2019)
Changed
Pin gm-control-api to
v0.8.0
0.4.1 (August 13th, 2019)
Changed
Pin gm-control-api/api to
v0.7.1
0.4.0 (August 13th, 2019)
Changed
Pin gm-control-api/api to
v0.7.0
0.3.0 (August 7th, 2019)
Changed
Pin gm-control-api/api to
v0.6.0
0.2.0 (August 5th, 2019)
Added
Secrets to clusters and proxies
Introduced go module vendoring
Create binaries for multiple platforms
Changed
Specification of trust file in domain SSL config
Specification of cert/key pairs in cluster SSL configs
0.1.0 (Beginning of Time)
Added
Initial port
Deliver osx, windows, linux binaries to nexus
Changed
Pin to gm-control-api v0.3.0
Control
1.7.0 (November 24, 2021)
This release corresponds with token refresh work that landed in gm-proxy 1.7.0 and includes all of the changes from the 1.7.0 release candidates.
Added
2.0 work: Add an etcd cache implementation for the next generation of our xDS server.
Add Redirect array to Route object schema
1.7.0-rc.3 (October 7, 2021)
Note: 1.7.0-rc.2 was unreleased, to keep proxy and control in sync.
Changed
Updated dependency on gm-proxy to 1.7.0-rc.3
1.7.0-rc.1 (September 8, 2021)
Added
Added
GM_CONTROL_2=yes
feature flag for unreleased 2.0 featuresAdded
version
command to check apiversion, git hash, and go version
Changed
Update go dependency on gm-proxy to incorporate gm-oidc-validation TLSConfig changes see gm-proxy changes
Check in generated docs instead of building them inside Docker
Copy nonstdlib dependency directly into project
Go 1.16 is now required for builds, because we use the new stdlib "embed" package to serve our OpenAPI docs.
Fixed
Restore serving OpenAPI docs from root "/" path
Removed
Removed GM Data persister. The Redis persister is recommended.
Removed the Marathon service discovery mechanism
Removed serving gm-control-api docs as YAML. Only HTML is supported.
Removed experimental explorer UI
1.6.4 (August 19, 2021)
Fixed
Remove spam log when api and client version don't match
1.6.3 (unreleased)
Fixed
Log correct api version
1.6.2 (unreleased)
Changed
Back port tag release ci scripts from main
Fixed
Suppress 'filter not supported' warnings if node extension list doesn't exist
1.6.1
Added
Control EDS exposes the metrics receiver connection string
1.6.0
Added
Sidecar announcement Node information is passed to all resource Adapters
Filters set by users that are not supported by a sidecar will now be skipped with a warning
Set default XDS_INTERVAL to 5s
Traffic shadowing avilable via the rule.constraint.dark field
Docker image for gm-control-api contains the greymatter cli for easier debugging
Discovery manager to restart service discovery through admin API
pprof
for debugging available from /admin APIgoreportcard reports in CI
CONTRIBUTING.md guidelines
Support for updated Grey Matter network filters
EDS updates to set health status for endpoints
Grey Matter network logger filter enabled by default
Adapter for sending catalog-specific XDS resources
Control API gRPC server implementation
Changed
Moved to xDS V3 protocol
CSB server now creates resource watches on a per stream basis
Cerebro logging now more human readable
API active filter arrays will now accept both periods and underscores in filter names
Fixed
Fixed redirects with trailing slash routes
Fixed service discovery not pulling in platform updates
Fixed CSB deadlocking when bulk requests come in
Fixed segmentation fault caused by connection close with resolve DNS set
Removed
--xds-disabled
from controlNo longer support xDS V2 resources
codeclimate no longer runs in this repo
1.5.3 (December 8th, 2020)
Changed
Protocols reported to EDS include encryption scheme with each protocol description
1.5.2 (December 7th, 2020)
Fixed
Fixed fatal config error when building retry policy with missing backoff policy
1.5.1 (November 30, 2020)
Fixed
Replaced stale names for route-based filters
Updated stale implementation of ServeHTTP function for the REST handler
Made Kubernetes namespace polling sequential rather than in parallel
Evaluate protocols reported to EDS for each configured listener
1.5.0 (October 20, 2020)
Added
Configurable request/response headers to routes
Support for inline listeners on api proxy object
Configurable access loggers to listener object
Support for prometheus backend for ALS stats
Route level redirect functionality
Per route filter configuration options for routes
REST support
Load balancer configuration options for clusters
Configurable timeouts for listeners and routes
Certificate revocation lists on listener and cluster ssl configurations
Configurable HTTP and HTTP2 protocol options on clusters
ACL Token to consul plugin configuration
Support for ECS discovery from all ECS task network modes
Changed
Upgraded to go-control-plane
v0.9.7
Updated logger to gm-control/console logging
Fixed
Replaced deprecated regex route header matcher with saferegex
Namespace failure causing service discovery failure from all namespaces
TLS on listeners not including cert key pairs or cipher suites
Kubernetes plugin more threadsafe
1.4.2 (May 15th, 2020)
Fixed
Add port to route redirect configuration
Specify AllowOriginStringMatch in CORS configuration
1.4.1 (May 7th, 2020)
Fixed
Updated dependency on version 1.4 of gm-control-api
1.4.0 (May 6th, 2020)
Added
Support for Local Ratelimit, Client TLS, External Authentication, SNI Cluster, and Echo filters
Experimental support for Kafka Broker and Dubbo Proxy filters
Fixed
Ensure filter chains are unique per Listener configuration
Use SafeRegex string matcher in place of deprecated Regex string matcher
1.3.0 (April 14th, 2020)
Changed
Upgraded to go-control-plane
v0.9.4
Moved protobuf library to
golang/protobuf
Fixed
Unit tests that were associate with the
golang/protobuf
switch
1.2.0 (March 11th, 2020)
Added
Resolve IPs of proposed Cluster changes to prompt a change and send new snapshots to GM Proxy
Support for configuring Cluster load balancing policies configuration
Allow one-way TLS by making a Domain's SSLConfig trustfile optional
Support all Envoy Network and HTTP filters in go-control-plane up to v0.8.6
Healthcheck endpoint for accomodating environments where one is required
Support specifying unique filter configurations per route
Changed
Default all Clusters to use the same HTTP protocol passed by its downstream connection
Specify Cluster TransportSocket rather than TlsContext to support GM Proxy
Omit the retry policy if the user sets the num_retries to 0 to get around an issue discussed in discussed in envoyproxy/envoy#9552
Fixed
Use each Listener's API-configured IP address rather than defaulting to 0.0.0.0
Prevent filter configuration overwrites by clearing each protocol buffer after parsing
Only set validation context if a cafile is specified to prevent errors in GM Proxy
Prevent nil pointer references made to a Domain's SSLConfig's optional SNI field
1.1.0 (November 4th, 2019)
Added
Added full TLS support to Controls gRPC server (supports 1-way SSL and mutual 2-way SSL)
Added TLS support when setting Kafka Observables options on proxy filters
Added support for Websocket connection upgrades
Fixed
Fixed protocol options and cipher suites in TLS clusters throughout Control
1.0.2 (October 16, 2019)
General
Fixed build using older pin of gm-control-api
1.0.0 (October 15, 2019)
Version 1.0 Release
Added
Added and enhanced documentation for all features
Fixed
Fixed Kubernetes discovery plugin tests where results were inconsistent based on cluster order
0.5.1 (September 10th, 2019)
Changed
Lowered log levels for less significant logs to enhance debugging and performance
Fixed
Fixed polling in Kubernetes discovery plugin for receiving future pod updates for each namespace
0.5.0 (September 5th, 2019)
Added
Kubernetes discovery plugin now has the ability to watch multiple namespaces across a k8s cluster (enables service segregation)
Changed
Kubernetes plugin now accepts a comma delimited list of namespaces to watch
GM_CONTROL_KUBERNETES_NAMESPACES
Set resolving DNS default to true (gm-control auto resolves docker hostnames)
No longer add an endpoint if it fails to poll
Fixed
Fixed old tests that were breaking with instance polling
0.4.0 (August 29th, 2019)
Added
Added Envoy's RBAC filter support for the HTTP connection manager in listener objects
Changed
Changed gm-control-api import paths by removing the nest
/api
Fixed
SNI being overwritten when setting cluster certs or secrets
Removed envoy config deprecation warnings by moving to
gogo/protobuf
0.3.1 (August 16th, 2019)
Changed
Set custom headers from Domains
Pinned gm-control-api/api to
v0.7.1
0.3.0 (August 13th, 2019)
Changed
Ingress secrets now reside in the Listener object
Pinned gm-control-api/api to
v0.7.0
0.2.2 (August 13th, 2019)
Changed
Removed forced SNI in listener domain
Modified multi-line logs to single-line
Fixed
Missing artifacts in tarbal
0.2.0 (August 7th, 2019)
Changed
Updated gm-control-api/api to
v0.6.0
Fixed
Fixed diffing algorithm zeroing fields when applying instance patches to clusters
0.1.0 (August 5th, 2019)
Added
Added support for Envoy's Aggregate Discovery Service
Support for route prefix rewriting
Secrets in Cluster objects
Secrets in Proxy objects
mTLS and CA specification in domains
Cluster cert/key pairs
Changed
Updated go-control-plane to
v0.8.3
Updated gm-control-api/api to
v0.5.0
Access logs now go to stdout as well as the rpc server
Fixed
Fixed
xds_cluster
namegm-control dying if gm-control-api does not exist
0.0.1
Added
Support for various linux based containers
go modules
Removed
dep
Dashboard
6.0.0 (November 23, 2021)
Fixed
catch start script error when no user certificate is found (#3989) (b366d86)
security fixes, upgrade supported node/npm versions (#3990) (0ec37f7)
6.0.0-rc.3 (November 16, 2021)
Fixed
6.0.0-rc.2 (September 24, 2021)
Added
6.0.0-rc.1 (September 3, 2021)
Added
rename sidecar to grey matter-dp in details pane (#3962) (a992360)
rework details pane sidecar tab filters display (#3934) (a88e68d)
Fixed
only call prometheus in summary or routes view in serviceview (#3930) (2e5e30c)
service card title and version shouldn't wrap (#3952) (05d5fc5)
5.1.1 (July 21, 2021)
Fixed
5.1.0 (July 9, 2021)
Added
Fixed
5.0.0 (June 23, 2021)
Added
Fixed
5.0.0-rc.1 (May 18, 2021)
This release requires v2.0.0 (or greater) of gm-catalog
and gm-slo
. For more information on enabling features marked as "EXPERIMENTAL", refer to the README.
Added
display all supported network filters in config pane (#3864) (ecec1a9)
multi-mesh integration (#3843) (1b7113a), #3823 #3825 #3829 #3832 #3835 #3836 #3838 #3839 #3840
anomaly detection view (EXPERIMENTAL) (#3885) (6c52c2f), (#3881) (755610e), (#3873) (49e2aa2), (2af5de9), (#3882) (ba92b7b), (#3869) (cc97354), (#3879) (17dc614), (#3878) (91524ae), (#3864) (db63e14)
health widget (EXPERIMENTAL) (#3853) (6282eec), (#3845) (530b3ec)
display jwt-keycloak metadata (EXPERIMENTAL) (#3849) (08b7937)
Fixed
display active filters regardless of whether
active_http_filters
oractive_network_filters
use dot or underscore as the delimiter (#3884) (6d62074)config pane now renders selected service (685ad77)
ignore defaults in url state (c4bf503)
4.0.2 (January 13, 2021)
Fixed
Selected listener filter moved to URL state (#3804) (53d1c4f)
Bump axios from 0.18.1 to 0.21.1 (8cb0314)
4.0.1 (December 16, 2020)
Fixed
comma instead of plus as protocols delimiter (#3792) (7cba75e)
config pane scroll in ms-edge (d7b1ead)
don't render pagination when there are no items to paginate (#3774) (c0e9a3e)
main wrapper height (6af517c)
overflow-x in ms-edge (6a7f78a)
4.0.0 (October 20, 2020)
Added
better visualization of filters (#3647) (10545ee), closes #3636 #3640 #3639
add env var to control services per page in fabric view (#3750) (dc6df2a)
order group and sort options alphabetically in the dropdown (#3756) (badf73d)
performance improvements via memoization (cf2b3c8)
added ENABLE_INLINE_DOCS bool to app settings (#3674) (6a01c41)
external links + header updates (#3736) (e2502b8), closes #3727 #3730 #3735 #3742
display protocols in fabric view (#3737) (78fd37a), closes #3733
remove SLO business impact calls (#3761) (837aa5d), closes #3728
update gm-ui-components (07fb6d3)
Fixed
display '-' when number is undefined in units (#3722) (d91c227)
fix for services with duplicate catalog names (#3763) (baf7234)
slo route drawer does not load in safari (#3662) (11b940c), closes #3641
add inter-ui font dep (b670a2f)
cap external link items at MAX_EXTERNAL_LINK_CHAR_LENGTH (#3760) (d6bef8d)
changed request rate unit to per second rate (#3696) (d757450)
don't use withTheme (performance improvement) (26ad6c3)
eliminate uneccessary memo call (469932c)
fix issue where config pane contents reflow on transition (#3767) (90c8f4c)
memoize icons (performance improvements) (b238988)
3.4.2 (June 2, 2020)
Added
Fixed
fix outdated browser message for ie11 (03cab8c)
3.4.1 (May 14, 2020)
Added
Fixed
accepting array as prop type to configuration section (#3569) (d7648d8)
add forever@2.0.0 to resolve braces security alert (7f0886c)
remove cause of squishing panel items in config pane (#3534) (9ef8702)
reset page number when new service is clicked (#3513) (4d8debb)
security alerts (1fd8bc8)
tooltip rendering like others in toolbar (e993fb4)
update minimist version (8f7d71c)
updated versions of sub packages (bc4ea27)
3.4.0 (April 6, 2020)
Added
Add simple paging to SLO routes config panel (821388d)
Show all greymatter filters in config panel (#3502) (c3f7c31)
Fixed
3.3.2 (March 13, 2020)
Added
add getPreferredColorScheme (53e693d)
add slight border between appheader and app in dark mode (1eebae9)
add toggle (65c0609)
add tooltip to toggle (713eb02)
card footer icons use more consistent style (98066fd)
fix internal links and services list (f8cba94)
improved color for the configuration pane (585c3ae)
improved service cards styling (b55e019)
initial fixes for some card styles (8799d99)
minor improvement to nav tabs alingment (49acd6b)
minor polish to explorer (0181be1)
minor polish to service view cards (d36e124)
minor polish to victorycharts (f2be1d2)
minor tweak to select box backgrounds (03a2f57)
modify local theme (d81b7d4)
polished service view cards (f6ffb45)
sense suggestion buttons use light mode for better contrast (3cf126e)
tweaking dark theme line styles for better contrast (737b24b)
use default border colors for tooltips (76269a2)
use different background for config pane (71be21f)
use non-solid border colors for select boxes (20a57db)
Fixed
better alignment for icons in service list items (5aaae2f)
better alignment for searchinput text (4f29d8f)
better badge colors (f9cbfb0)
better legend color for dygraph chats (344d902)
buttons (00510f4)
buttons in config pane (75d019b)
chart tooltip (25c21ab)
config pane (f116938)
fix broken background color in config page (9558089)
header (dbadf18)
inspector (28dbe3d)
linting errors (15fa80f)
make victory chart use base font weight (bc2b15f)
react-select uses normal font weight (a7f0d3f)
search box uses theme colors (981173b)
select (9afe776)
select active state (b3f4fe1)
select border (7735810)
service card active style is less bad now (ecf9d93)
service view list card (dd8e2c0)
service view list card (7d95b9f)
set app background (3dea786)
settings view (fde99ef)
tab hover (0248f94)
use mode instead of theme for url state (8f13252)
victory theme (aeed66b)
violation/warning active checkbox bg (bc61aba)
3.3.1 (January 23, 2020)
Added
3.3.0 (January 17, 2020)
Added
update service availability tooltip and subtitle (#3380) (6f43a02)xx
disable SLO button when historical metrics are disabled (#3357) (bfef5bf)
Fixed
3.2.0 (November 1, 2019)
Added
Fixed
3.1.0 (August 16, 2019)
Added
ability to select listener in configuration pane (#3264) (c3f99f1)
Sense integration (beta) (#3319) (80ad306), closes #3285 #3294 #3297 #3306 #3320
Fixed
consolidate route request queries for all time ranges (#3339) (5952c44)
not using subtraction in instance error rate (#3318) (fe8ed28)
3.0.0 (July 25, 2019)
Added
Control plane integration with gm-control, gm-catalog, and oldtown APIs
Service configuration with new slide-out panel
SLO configuration re-design, moved to configuration slide-out panel
Business Impact re-design, moved to configuration slide-out panel
Integrated gm-ui-components@1.0 with new theme, icons, and design polish
Fixed
2.5.4 (May 24, 2019)
Fixed
2.5.3 (May 17, 2019)
Added
make filter bar keyboard accessible (#3015) (3589132), (#3014) (579c2c0)
add end to end tests for filtering feature (#3012) (e114b53), (#3022) (69ea0ca)
2.5.2 (May 10, 2019)
Added
Fixed
2.5.1 (May 3, 2019)
Added
Fixed
don't make calls to prom if usePrometheus is false (#2966) (b4ddbff)
render correct violation spikes on multiline charts (#2864) (1e1c4ee)
2.5.0 (April 10, 2019)
Added
add ci workflow to tag and push images on merges to develop (#2804) (42ce78d)
chart all lines on service instance charts (#2840) (12b7a4b)
cleaner subtler service card styles (40cac25)
position tooltip center and detect chart boundaries (#2856) (3cc4603)
render tooltip on right / left of cursor line (#2849) (56dd0a9)
Fixed
binding setState and template.. to prom range query component (#2703) (cd9ccbb)
render correct violation spikes on multiline charts (#2864) (1e1c4ee)
2.4.6 (February 14, 2019)
Fixed
fix sorting of gm-catalog services (f923f85)
2.4.5 (February 12, 2019)
Fixed
bug when setting thresholds on charts with no data (#2764) (bbb4495)
comment out RouteLatencyChart header val and update tooltip (e3b83f0)
2.4.4 (February 11, 2019)
Added
Fixed
2.4.3 (February 5, 2019)
Fixed
2.4.2 (February 4, 2019)
Fixed
2.4.1 (January 28, 2019)
Added
added license and create_version_file script (#2670) (7f3befd)
set chart domains using global timeStart and timeEnd state (#2651) (95d13a0)
Fixed
remove stroke from area in Victory theme (baf2e90)
switch the production dockerfile to no longer use root (971e3c6)
updated latency chart to only convert ms if nec (#2707) (c7b7597)
2.4.0 (December 14, 2018)
Added
2.3.0 (December 12, 2018)
Added
added businessImpact to 'group' and 'sort' dropdowns (b630f1f)
route violations bubble up to summary view (#2618) (f2f6a75)
Fixed
allow objective threshold of no value (4e5c652)
remove x domain calculation from componentWillReceiveProps (#2631) (e10fb6d)
truncate long route names in chart dropdown (#2586) (11c28e4)
updated p95_latency_for_route_objective:sum (880f8ba)
2.2.0 (November 30, 2018)
Added
able to pass settings to setFabricMicroservices (53c7a04)
added SIGHUP for script (091a113)
use InputRange from gm-ui-components and remove react-input-range (#2492) (b7aa63c)
wrote mergeHistoricalMetrics, no setings to setFabricMicroservices (03f8108)
Fixed
2.1.0 (November 2, 2018)
Added
allow customers to disable external footer links (3ed5fa2)
extract env variable and template env vars in dev (9249abf)
normalize runtime string (63e5761)
optinally link to changelog docs (accdf08)
show vertical line on data point and update tooltip text (#2483) (2deabdd)
Fixed
use greymatter-io/pkg instead of centos:6 Docker image (6c2a0bc)
add path to scripts dir (6f19703)
disable the service worker (716b1d4)
move fabric server env to start mock script (df2528e)
move reload (3c5bc9e)
set minDomain or not at all (314a431)
truncate table text (98f115a)
upgraded to latest Victory Charts and set min Y domain (32ed250)
2.0.0 (October 11, 2018)
Added
add badges and fix memory queries (ed81737)
add error rate warning and violation thresholds (#2298) (b619f12)
add Icons to service view (5addde8)
add warning threshold lines to request rate chart (#2290) (f62244e)
additional time range options (29443a1)
discover prometheus job via discovery service (4575d80)
first pass wiring up SLO cards (6cdd0f4)
implement availability and uptime (67f86d6)
implement Card and ListCard (b9ae978)
implement client-side tools to compose Prometheus results (016d218)
implement initial pass of time controls and dynamic promql charts (d55fb1f)
implement request rate and error rate charts (2d6f55a)
implement service routes table (480a6ae)
initial implementation of aggregate slo table components (#2188) (20dbe7a)
initial implementation of ListCard (8cee13f)
initial implementation of promql utils (b5ab183)
initial implementation of violation badge logic (a887704)
initial pass at ServiceViewLineChartCart (493d340)
initial render of PromQL data on chart (1712c81)
internationalized Uptime (8b7da41)
latency on summary, request and error rates on routes (fa9788b)
override axios error throwing to log Prometheus error messages (d3c3cb0)
rewrite prometheus query logic (ca91c85)
show contiguous groupings of threshold spikes (#2295) (423e472)
start of work to fetch prom data (d95b4ee)
switch positions of routes table and usage charts in summary view (#2413) (439ba4f)
total count of aggregate slo violations (8e060d4)
use sensible select values; automatically select single values (d740f45)
wire up highest and lowest latency charts (b83205f)
wire up mem and cpu and refactor our charts (#2281) (b9b7034)
wire up most and least used routes (793a576)
Fixed
fix: use div instead of react.fragment as chart wrapper(0540746)
address console log errors (6182394)
correct getNonZeroDataInTimeRange from filtering out good data (58db7ad)
correct misnamed section (84509c8)
correct PromQL queries for violations (32e606d)
correct TimePicker snapshot (bce498d)
defensively code around prometheus results (fdbd98d)
disable set to rolling on mount (477b031)
display average value of of timeseries in chart headers (63d5c02)
filter zero timeseries and set default domain (#2401) (d000e3a)
improve logic for setting timeStart and timeEnd on view load (93cd3e8)
lazy load settings view following fix of Webpack bundling issue (#2189) (24a904b)
make bodyHeight always a string (b001fcd)
match values to unit and limit to one decimal point (2e0379e)
modify start_time to startTime to match discovery service (49254e7)
omit warningThreshold from POST body if no value has been set (#2405) (dc35a2c)
only fetch thread metrics when threaded is true (#2389) (2ebed91)
only render a single multi chart line at a time (bbe96ac)
pass hasNestedCollapse to proper component (10300a9)
remove ability to clear and search select (0567e70)
resolve PromQuery charts not loading on app start (c3bd5c1)
resolve React console warnings (e34da93)
shallow render for SettingsView snapshot (7981ef1)
show top val in table too (06576a7)
smooth accordion animation by setting hasNestedCollapse prop (#2271) (7b6313c)
support alternate operator direction on chart overlay (1a87928)
update RoutesObjectives following PromQuery refactor (#2284) (513e305)
use camel case prometheusJob key (f386997)
when selected service changes then fetch objectives via Jumpstate (#2360) (9a7e053)
wipe service worker if appConfig request fails. (#2359) (851ba74)
1.2.0 (October 1, 2018)
Added
Fixed
1.1.8 (August 2, 2018)
Fixed
fix bug that caused USE_SERVICE_WORKER environment variable to always evaluate to true (00753fa)
1.1.7 (July 31, 2018)
Added
add configuration route and modify instance route (#1889) (5d291ee)
add velocity and acceleration options to the Explorer (#1897) (4e5c788) (#1839) (e5c788e)
internationalize the numbers of dynamic dashboards (#2032) (9daf4e5)
slow polling rate to every 30m after three consecutive failures (#2036) (402465b)
Move various components into gm-ui-components (#1969) (b6fcc4e) (#1979) (614127a) (#1953) (392752c) (#1955) (4516ac6) (#1961) (83ff1eb) (#1962) (ca386a7) (#2002) (3030095) (#2001) (47f046d) (#1986) (0be14f3) (#1959) (64d03ea)
Fixed
disable lazy loading of SettingsView (1253302)
do not force redirect in SPA when actual microservice instance being monitored goes down (#2017) (8609eb3)
give charts more height on smaller viewports (#2073) (150a1b2)
memoize on name-version and hug version against status icon (#2139) (51db49e)
NaN on instance dashboard summary readouts in spanish/german (#2069) (849cb81)
only template if environment variable is passed to Node process (2944b25)
rename index files and exclude them from test coverage (#1982) (2edc521)
1.1.6 (June 7, 2018)
Fixed
do not normalize Owner headers in Fabric View (aed09b3)
1.1.5 (May 7, 2018)
Added
1.1.4 (May 1, 2018)
Added
Fixed
1.1.3 (April 6, 2018)
Added
Fixed
correct for undefined to prevent NaN when internationalizing numbers (#1790) (eec6bf0)
remove webkit prefix on Card flicker fix (23dd8f4)
1.1.2 (March 27, 2018)
Fixed
1.1.1 (March 27, 2018)
Added
use color to better differentiate http methods (#1735) (1993154)
implement metric rollups on fabric view (#1724) (2160138), routes view (#1731) (941d4b4), and threads view (#1730) (976dc11)
Fixed
adjust color of a running service card to be a bit less green (#1719) (5f749e3)
fix checker is not a function proptype error (#1712) (bdd16da)
correct orientation of linechart error message (#1704) (1a9eb6c)
hide sort by status when group by status is selected (#1713) (a19717e)
restore e2e tests following summary cards refactor (#1728) (19b205f)
1.1.0 (March 8, 2018)
Added
polish visuals across the app (#1608) (5244a2c), closes [#1566]
implement proof of concept for authentication (#1607) (9871474)
implement new mocks for GMTable and GMBaseMetrics (#1686) (1e9b9fb)
Fixed
1.0.6 (February 22, 2018)
Added
Fixed
1.0.5 (February 10, 2018)
Added
implement internationalization for dynamically generated dashboards (#1497) (4cb4056)
Client side routing now uses a slug representing a microservice name and version
Fixed
1.0.4 (January 16, 2018)
Added
allow users to access service view for service with no metrics (#1360) (57d9f1a)
add Storybook stories for Table(#1278) (e393fa1), notfounderror(#645) (0ffcd22), and layoutsection (#1288) (cff948b)
add unit tests for AppHeader, Uptime, dygraph utils, Button, Notification, Selectors, Loading, Glyph, DygraphWrapper, InstanceView
Add copyright text and update footer responsiveness behavior (#1342) (1084a27)
Deleted functionality to run without a
discovery-service
instanceCleaned up our README and other docs
Updated dependencies
modify our CircleCI behavior to filter branches (#1335) (cac5b21) and run with Circle CI 2.0 workflows
Simplify the dev workflow. Now just run
npm start
and get coding!
Fixed
1.0.3 (December 14, 2017)
Added
Added a user guide
Added styled-component tests
Added support for Storyshot testing
Created a reusable Table component
Fixed
Improved JVM Threads view with sorting and grouping options
Refactored all remaining SCSS logic into styled-components
Fixed bugs in IE11, Edge, and Safari 10.1
Improved modal accessibility
Updated dependencies
Removed
Removed SCSS tooling
Removed UIKit
1.0.2 (December 4, 2017)
Added
Added more unit tests
Added PropType shapes as nested PropTypes validation
Added a skeleton for a user guide
Changed
Refactor filenames and imports to be search-friendly
Refactored SCSS files into Styled Components
Fixed bugs in IE11 and Safari 10.1
Improved visual interaction without affecting accessibility features
Removed
Removed SCSS stylesheets
1.0.1 (November 22, 2017)
Added
Added more unit tests
Updated build version of Node to 8.x LTS
Moved form styles into a styled-component
Changed
Updated status icons in JVM service instance threads table
Fixed various IE11 issues
Fixed keyboard tab navigation in Firefox 52 (ESR)
Fixed service view sort case sensitivity
Fixed toggle asc/desc order in Service view
Improved handling of metrics keys
Removed
Removed form SASS styles
1.0.0 (November 16, 2017)
Added
New styles for modals and notification
Added more unit tests
Implemented code splitting at the route level
Changed
Updated npm dependencies
Updated README with demo
Updated error text and bar colors
Updated publish script
Added auto restart to docker image
Removed
Removed sourcemaps from production bundle
0.9.1 (November 9, 2017)
Added
Implemented a new custom icon system
Added more unit tests for utility functions
Improved user experience for invalid services and service instances
Changed
Fixed spaces in service names in url bar
Increased net change calculations to three decimal points
App Header in Service View now has a tab
Updated appearance for polling settings
Refactored SCSS into Styled Components
Fixed various cross-browser issues
Removed
Removed all UIKit icons
Removed jQuery
0.9.0 (November 3, 2017)
Added
New App Header Nav
Improved keyboard nav support
Improved use of ARIA tags
Added HTTP verb to JVM routes dashboard
Serving JS bundle with gzip compression
Added detail icons to Fabric Card View
Added Enzympe tests using Jest Snapshots
Changed
Implemented support for new
gm-fabric-go
process memory utilization metricsUpdated npm dependencies
Fixed various IE11 issues
Refactored SCSS into Styled Components
Storybook stories now live alongside the components they cover
Began refactoring UIKit icons to a new custom Icon system
Removed
Removed old sidebar components
Removed scss stylesheets
0.8.1 (October 30, 2017)
Added
Color coded error rates
Added HTTP verb to JVM routes dashboard
Changed
Implemented support for new
discovery-service
APIUpdated npm dependencies
New HTTP verb label component
Refactored SCSS into Styled Components
Removed
Removed gradients to improved Fabric dashboard performance with 150+ cards
Removed scss stylesheets
0.8.0 (October 26, 2017)
Added
Fabric Dashboard controls now route driven
Added routes visualization to Go dashboards
Changed
Various IE11 fixes
Modified mock-sds to be dynamic
Refactored SCSS into Styled Components
Updated Docs
Fixed spelling errors
Replaced Mathjs with smaller tool
Removed
Removed scss stylesheets
0.7.1 (October 18, 2017)
Added
Implemented a service dashboard, which currently only is used to navigate to microservice instance dashboards.
Linked the fabric dashboard nav elements to the new service dashboards
Changed
Increased uptime precision
General keyboard and a11y improvements, including a link to skip to main content
Fixed group by capability and group by owner bugs
Removed
Removed scss stylesheets that have been decomposed into styled-components
0.7.0 (October 12, 2017)
Added
App renders cleanly on IE11. Hooray for the Enterprise!
App is navigable by keyboard
Services landing page now has a route driven search
New Publish script simplifies Docker deployment process
Changed
Massive bug bash. Greater stability throughout the app
Further internal refactoring from SCSS towards Styled-Components
Updated dependencies
0.6.0 (October 3, 2017)
Added
Added support for polling of groups from the "Fabric Server" discovery service
Implemented Phase 0 Services view, including searching and filtering
Implemented an interim solution for selection of instances from the table view.
Added unit tests for trimID
Improved in-line comments throughout the app
Created production-ready Docker image to facilitate new Docker-based deployment process.
Changed
Implemented React Storybook for development of UI components in isolation from the larger app
Began process of refactoring sass into Styled-Components based React components
Updated dependencies, including React 16.0 and Enzyme 3.
0.5.0 (September 15, 2017)
Added
Improved dashboard support for the gm-fabric-go microservice metrics API
Added support for backed "Fabrics Server" discovery service support behind a flag. This includes UI components and routing to allow a single dashboard to monitor a fabric of microservices.
Added interim Docker container tooling for the dev pipeline. This will be improved in the future.
Changed
Disabled local storage persistence of dashboards pending further work on dashboard customization tools
External Web fonts are new embedded into the app to render in environments with no Internet connectivity
Fixed URL import support in sass files, inlcuding mesh image in sidebar footer
Reorganized source files according to runtime and responsibility
0.4.0 (September 8, 2017)
Added
Experimental support for gm-fabric-go microservices
Changed
Updated dependencies
Simplified use of Webpack Dev Server proxy
Substantial internal refactoring to separate out runtime-specific components into modules
0.3.3 (September 1, 2017)
Changed
Minor style changes
Updated dependencies
0.3.2 (August 23, 2017)
Added
Improved style and responsiveness
Changed
Refactored AJAX web worker for improved error handling
Improvement deployment process to help us prepare for new features
Improved use of History API by Explorer component
0.3.1 (August 18, 2017)
Added
Colors! The app now has sass through the use of sophisticated SCSS mixins and functions. This is implemented on the Summary page and provides us a strong foundation for expanded use of colors in the future.
Created a new Inspector element for the explorer view that is React Fiber ready and allows faster searching across a large corpus of metrics. Search time has gone from ~3 seconds to near instant.
The Explorer is now route driven to allow users to send each other specific views by copy/pasting the URL.
The edge port now properly shows 443 or 80 depending on if TLS is used.
Large numbers are not styled appropriately based on operating system and browser locale settings. For example, this means that one thousand point one is 1,000.1 in the US and 1.000,1 in Germany.
Changed
Modified Webpack config to use prepacked UglifyJS
Improved the mock GM-Fabric-JVM endpoint, including fixing the threads endpoint, adding a single randomized element to ensure that the threads components were dynamically updating as expected, and providing a means to simulate a microservice not reporting any known HTTP/HTTPS routes
Updated numerous dependencies. Most significantly, this including updating to React 16.0.0-beta.5 to allow us a means to troubleshoot UI components that are incompatible with the new React Fiber architecture.
Removed
Removed dependencies on JSON-Inspector and UglifyJS
0.3.0 (August 10, 2017)
Added
Significant amounts of UX polish
Added footer
Back button in sidebar can now be configured to point to a target URL via the backButtonUrl head attribute
Added numerous heads-up vitals to the summary component
Changed
Fixed a Local Storage Bug
Significantly changed the routes component to make it easier to diagnose issues and dive in for a closer look
Set the default polling rate to 5 seconds
Changed the default runtime to JVM, as this is the only currently supported runtime
Removed
Although moving and resizing grids was pretty cool, this functionality has been disabled until we have further enhanced the tools to create, edit, and delete dashboards, including defining new charts.
0.2.1 (August 4, 2017)
Added
Implemented Prettier for CSS
Added Dygraphs, Worker-Loader, PromiseWorker, node-sass, sass-loader
Changed
Modified Graphite and other components in docker-compose infrastructure
Ejected from Create React App
Updated WebPack to 3.x and a bunch of other minor point releases
Refactored stylesheet source from from less to scss
Reimplemented LineChart using dygraphs
Reimplemented AJAX and LocalStorage functionality as Web Workers
Substantially refactored utils to use the simpler native dygraph structure
Set nav cards to open by default if drawer exists
Fall back to Hash History to preserve JS source maps.
Removed
Removed Prometheus from docker-compose infrastructure
Removed Stylelint, Recharts
0.2.0 (January 28, 2017)
Added
Added preliminary docker-compose infrastructure for developing against Envoy and a timeseries database
Added breadcrumbs and a new bar at the top of the main view
Added summary and instance links (currently mocked out) at the top of the new sidebar
Changed
Replaced horizontal nav with vertical sidebar style nav
Nav cards now place metrics and sparklines in a drawer that can be collapsed or opened
Nav cards now can render icons from UIKit 3
Moved settings to an icon at the new bar at the top of the main view
Restored active nav highlighting regression introduced by React Router v4 update
Updated README with new information about use of Docker during development
0.1.1 (July 21, 2017)
Added
Added Prettier with default settings, refactored all source JS code, and set a pre-commit hook for Prettier and stylelint
Add text to README about a workaround if Jest fails test unexpectedly
Changed
Updated the CircleCI config to follow version 2 standards
Changed from
jest-junit-reporter
tojest-junit
an alternate junior formatter for Jest test resultsChanged the production build process and tooling to fix issues with deep React Router routes interfering with JS bundle loading
Updated
react-scripts
to 1.0.10Resolved outstanding ESLINT errors
Removed
Removed static React components built for Grey Matter Fabric Go microservices
Removed ESLint rules that are now handled by Prettier
0.1.0 (July 18, 2017)
Added
Generated app using Create React App, adding Redux, React-Redux, React-Router, Jumpstate, UIKit 3, Recharts, Sparklines, less, stylelint
Added scraper to ingest metrics from a Finagle metrics.json file complete with user configurable period.
Created various utility functions to manipulate timeseries data.
Created a system for generating dashboards from state persisted as JSON
Created a general purpose grid system that allows resize-able drag-and-dropable chart
Created a handful of generate purpose charts
Created hand-crafted charts and dashboards for summary metrics, routes, and stack traces
Created a general-purpose Explorer that displays a line chart for any arbitrary metric
Wrote several unit tests
Created a CircleCI CI pipeline with JUNIT reporting and Istanbul code coverage reporting
Created BASH deployment scripts that allow for nesting in a deep route
Wrote a README explaining how to use the dashboard
Proxy
1.7.0 (November 24, 2021)
This release collects the fixes and changes of the 1.7.0 release candidates.
Removed
CircleCI builds are removed. Prefer Buildkite.
1.7.0-rc.4 (October 15, 2021)
Fixed
Check for authn cookie regardless of USER_DN
1.7.0-rc.3 (October 7, 2021)
Fixed
Support for refresh tokens in oidc-authentication filter
1.7.0-rc.2 (September 29, 2021)
Fixed
Store access token in correct
authn
variable
1.7.0-rc.1 (September 8, 2021)
Changed
Release containers are created from Dockerfiles generated by ./scripts/cibuild
Add one way TLS support for gm-oidc-validation filter
gm.keycloak filter looks for incomingUserDN in cookie if not found in header
Inject randomly-generated nodeid into static config
Fixed
Ensure curl is installed in release containers
gm.keycloak filter support for checking RSA certs
1.6.3 (July 16, 2021)
Changed
Update Envoy build to 1.16.4
Update GO Version to 1.15.5
Update Bazel to 4.0.0
Update bazel_skylib to 1.0.3
Update gazelle to 0.23.0
Removed separate build image base
Fixed
Concurrent map write bug in matrix code should be fixed.
1.6.1
Added
When the metrics filter is enabled, it can now scrape itself periodically and send timestamped metrics to a "metrics receiver" pub-sub channel controlled by a new
metrics_receiver
config parameter. Currently supports Redis and NATS, with others to follow.Exposed envoy bindings for proxy localInfo to get nodeid and cluster name
Added timestamp comment to metrics content, e.g.
# TIME 1622836887
Add policy http filter for request/response allow/deny via rego and OPA.
Changed
Update Envoy build to 1.16.4
Update GO Version to 1.15.5
Fixed
Fixed concurrent map read and write bug in stats implementation
Removed
Remove Zookeeper features: announcement, health checks, gm-config file
Remove istio from the build
1.6.0
Added
JWT Security TCP filter
Observables network filter (support for Kafka and file storage)
Replaced
deciphernow
withgreymatter-io
in go imports, docs, and build files.Metrics TCP filter (with experimental support for Kafka)
TCP logger filter
JWT Keycloak filter
Exposed envoy bindings for and added HTTP & TCP metrics to
/stats
admin endpoint
Changed
Blacklist and whitelist terms changed to allow list and deny list
Clean up logging and version output
Added a direct means for copying/adding all headers from one header map to another.
Default Go toolchain is now the BoringSSL fork. Unofficial, but maintained by the core team.
Grey Matter network filters renamed as
greymatter.filters.network.<filtername>
HTTP Observables EventChain field will now be populate with all eventIDs in the HTTP transaction chain
tcp and http metrics filters have path defaults and allow turning off the server
HTTP Observables now detect websocket upgrades and emit observables on every websocket frame.
Fixed
Use interface types in header map constructors
Fixed a bug where some header values were not being copied completely (e.g. only one cookie could be set via the Set-Cookie header).
Fixed crash on setting headers in Decoder filter routines
Fixed memory leak of header map objects
Bazel configuration: test size set explicitly to prevent test warnings and errors
Avoid nil pointer dereference in oidc-validation filter
Jwt filter defaulting to 0 timeout and no cache
Fixed handling of setting duplicated headers, refactor header map handling
1.5.0 (October 20, 2020)
Added
Configuration options for jwt filter token cache
Per route filter configuration options for gm filters
REST support
TCP and UDP network filter ability
Changed
Moved to envoy version 1.15.1
Fixed
HTTP2 protocol options for trace template
1.4.4 (July 15th, 2020)
Changed
JWT-Security filter cache now respects token expiration, limit max cache size
1.4.3 (July 6th, 2020)
Added
Support for FIPS compliant build
Changed
Moved to envoy version 1.13.3
Fixed
Fixed envoy deprecation warning on cluster hosts
Fixed cookie path default to
/
1.4.2 (June 9th, 2020)
Changed
Moved envoy build to 1.13.2 to address CVE-2020-11080
1.4.1 (June 3rd, 2020)
Changed
Support Go version 1.14.3
Fixed
Addressed segfault resulting from combination of RBAC and observables
Addressed segfault from --help flag
1.4.0 (May 6th, 2020)
Added
Support tracing drivers for Instana, OpenCensus, Datadog, and Lightstep
Changed
Use 'depth' as the default for the metrics key function
1.3.0 (April 14th, 2020)
Added
Integration tests for proxy static configuration
Changed
Moved to Envoy Version 1.13.1
Changed protobuf dependency back to
golang/protobuf
to align with go-control-planev0.9.4
Fixed
Fixed broken CI builds when testing against a stable release that isn't
dev
1.2.2 (March 27, 2020)
Added
Jwt filter supports retries, timeouts, and caching of tokens
Changed
Listener drain time lowered to 20 seconds from 10 minutes
Fixed
Safer handling of header maps
1.2.1 (March 25, 2020)
Fixed
Updated spelling of struct for gm.jwt-security filter
Check for nil pointer reference in Observables filter
Improve logger filter initialization to avoid segmentation fault
1.2 (March 10, 2020)
Added
Trace config support
Admin endpoint can now be configured and disabled through environment variables at startup
Filters now support per-route metadata and configurations
gm.oidc-authentication filter
gm.oidc-validation filter
gm.ensure-variables filter
gm.jwt-security filter
Changed
Inheaders filter will now return 403 if certificates are not present
Fixed
Observables TLS and mTLS support now working properly
Filters no longer dropping T and ST in USER_DN fields
Removed frame when outputting observables to file that created invalid json
Removed
None
1.1.1 (November 14th, 2019)
Fixed
enabled TLS within the underlying Kafka client when configured via the filter
1.1.0 (November 4th, 2019)
Added
Added the ability to encrypt observable objects using AES GCM compliant encryption methods
Added ability to upgrade connections to Websockets
Added support for TLS communication to Kafka when emitting observables
Added support for TLS communication when using GM Control and xDS
Changed
Now allowed to specify a zone in our static templates
Fixed
Fixed
stdout
observables polluting logs
1.0.0 (October 15, 2019)
Version 1.0 Release
Added
allow configurable logging levels for observables filter #534
allow observables filter to write to a configurable file system or device #534
Fixed
fixed observables filter failure to log full request body #528
fixed observables maximum retries for enforcing audits to lower value #532
0.9.1 (September 4th, 2019)
Fixed
fixed proxy failures when accessing admin endpoint caused by filter descriptors #524
0.9.0 (August 29th, 2019)
Fixed
Fixed envoy config deprecation warnings by moving to
gogo/protobuf
0.8.2 (August 21st, 2019)
Added
Initial OpenID filter #467
Fixed
retain option for legacy support of announcing to gm-xds #511
performance and memory fixes for observables filter #503
0.8.1 (August 14th, 2019)
Added
bindings: add logging facility for filters (#497)
Spire MTLS (#470)
add pprof (#464)
Fixed
use id, cluster, region more appropriately (#434)
Make metrics filter reentrant (#499)
Update oauth filter stub (#496)
Receive metrics filter configuration fully through envoy (#492)
Configure observables filter from Envoy config only (#485)
0.8.0 (July 19th, 2019)
Added
Allow configuration of Web Sockets
Allow configuration of SDS and SPIRE
TCP health checks on service
X-Forwarded-For added to Observables GEM
Changed
Observable topic and Kafka topic can now be set independently
Fixed
INHEADERS filter should omit EXTERNAL_SYS_DN if empty
OBSERVABLES filter data buffering errors
0.7.2 (May 3rd, 2019)
Added
Regex matching to OAuth filter for domain assertion
Environment variables for Envoy admin path, address, and port
Fixed
Access to private repositories via Docker SSH forwarding during build process
0.7.1 (April 10th, 2019)
Fixed
Fixed segfault when Observables attempt to emit and the service in unresponsive
0.7.0 (April 8th, 2019)
Fixed
Upgraded istio to 1.12.0
Integrated Envoy security fixes in 1.10
0.6.4 (March 19 2019)
Added
Set timeout durations
Fixed
Observables filter topic
Accept HTTP2 by default
0.6.3 (February 20 2019)
Fixed
Remove ZK* from SERVICE_HOST and SERVICE_PORT
0.6.2 (February 15 2019)
Fixed
Fixed conflicting package names in filter protobuf stubs
0.6.1 (February 15 2019)
Added
Grey Matter filter config support through ZX/xDS
Fixed
Observables Omit Full Response won't panic and fail
0.6.0 (February 1 2019)
Added
depth' key function in the metrics filter
IP Address headers in inheaders filter
Changed
Switched announcement to new discovery package
Fixed
update template to use STRICT_DNS
0.5.4 (February 1 2019)
Added
dynamic announcement template
Changed
Fixed
fix HeaderMap.Replace - this should address some impersonation issues with DN
0.5.2 (January 21 2019)
Added
filter inheaders: ingress impersonation headers
Changed
non-root docker images
Fixed
Report metrics HTTP status correctly
force the net package to use native go over cgo
0.5.1 (January 9 2019)
Added
Changed
Fixed
Use gm-fabric-go 0.3.0 (in place of 0.2.0) to fix metrics bug
0.5.0 (December 6th, 2018)
Added
Integration with Istio
Additional Envoy filter bindings
Changed
Use Alpine as default docker image base
Add
-ubuntu
and-alpine
docker images
Fixed
Bug in Envoy config template when setting Egress TLS certs from environment variables
Header propagation in ACL filter is now functional
0.4.1 (October 11th, 2018)
Changed
Set bazel build memory limit in CI pipeline
0.4.0 (October 11th, 2018)
Added
TLS communication with proxied service
Alpine docker container
Configuration option for envoy DNS resolution
Changed
Revamped CI process
Defaults in config template
Fixed
Zookeeper announcement with blank string
Kafka direct connection not retrying when failed
Template boolean logic
426 HTTP error code when proxying HTTP 1.0
0.3.0 (September 26th, 2018)
Added
Prometheus support for metrics
Cloudwatch support for metrics
Emitting Observables to Kafka
Add option to host metrics endpoints behind TLS
Add setting envoy and Grey Matter configs from base64 encoded env vars
0.2.0 (September 7th, 2018)
Added
GM Fabric Go SDK Metrics
Zookeeper metrics announcement
Full support for GM Fabric Dashboard
Changed
Exposed new header information in Envoy go bindings
0.1.0 (August 29th, 2018)
Added
Base observables structure
CI/CD integration
Changed
Exposed more request information the Go Bindings
Fixed
Mac OS Build
0.0.1 (Beginning of Time)
Added
Zookeeper announcement structure
ACL Impersonation filter
Catalog
3.0.0 (December 10 2021)
Added
Initial GraphQL schema and boilerplate
Wired up ElasticSearch to GraphQL server
3.0.0-rc.3 (September 23 2021)
Added
Support for exponential backoff retries for connecting to metrics receivers
Fixed
Addressed regression where old Redis environment variables were being overlooked in favor of a
REDIS_URL
environment variable
3.0.0-rc.2 (September 17 2021)
Changed
Deprecated
CONFIG_SOURCE
environment variable in favor of using Redis by default if configured
3.0.0-rc.1 (September 10 2021)
Added
Metrics extension for subscribing to metrics snapshots to compute and report service health
Anomalies, feedback, pause, retrain, and threshold passthroughs for LAD extension
Fixed
Generate all documentation files in development and commit to repo using Git hook
2.0.0 (May 18 2021)
Added
Support for Istio mesh service discovery
Reporting of instance health statuses, including non-responsive instances
Expose all instance metadata reported from xDS, including the instance address
Extensions per mesh for data aggregation from various services (e.g. LAD)
Labeling of mesh assets with arbitrary key-value pairs
Ability to seed initial data via configured JSON or YAML file
Enable building with BoringSSL by setting
ENABLE_BORINGSSL=1
Changed
Updated catalog structure to support multi-zone in multi-mesh
Generalized API to support multiple mesh types (e.g. Istio)
Updated API fields to use snake case over camel case formatting
Support consuming xDS v3 resources from Control
Make configuring a specific discovery cluster (i.e.
edge
) optional
1.2.2 (December 2 2020)
Fixed
Bug causing main thread to block when updating an existing xDS server configuration
Validates incoming server configuration data coming from persisters (e.g. Redis)
1.2.1 (November 30 2020)
Fixed
API cluster response bodies always include deprecated meshID and clusterID fields
OpenAPI specification documents required request body types
OpenAPI specification documents the following deprecated endpoints and fields:
- Services and instance hash metrics endpoints
- Summary meshes field
- Cluster meshID, clusterID, metricsTemplate fields
1.2.0 (November 20 2020)
Added
Enhanced xDS server configurations to make TLS connections
Added ability to dynamically set log level
Added ability to analyze performance with pprof
1.1.0 (November 5 2020)
Added
Add Redis as the configuration store for the data model to enable scaling the service
Add enum field
businessImpact
to Cluster for rating a service's business impactAdd read-only enum field
status
to Cluster, computed from minimum/maximum requirements for running instancesAdd read-only field
protocols
to Cluster, retrieved from an xDS serverAdd Cluster template for each Zone, retrievable and editable via
/zones/{zoneName}/template
Add descriptive metadata fields to Zone and Cluster
Changed
Expand PUT
/zones
handler to modify xDS server configurations in Zone objectsUpdate API responses to return the object created, modified, or deleted
Upgrade Swagger to OpenAPI specification with ReDoc UI
Fixed
Include
Allow
header in responses with a405 Method Not Allowed
statusPrevent unnecessary resetting of instance data when updating instance metrics availability
Remove
ResponseNonce
field from initial DiscoveryRequest to xDS server
1.0.7 (May 27 2020)
Added
Package swagger UI file in with binary
Fixed
Address memory leak caused by periodic reset of xDS stream
Prevent overwriting recently updated services stored in gm-data
Handle panic from a metrics server that is missing a
system/start_time
1.0.6 (April 07 2020)
General
Make DiscoveryRequests compatible with Grey Matter 1.2 control plane
Refresh xDS streams every 30 seconds to get new updates
Refresh an xDS stream if there is a request timeout
Prevent any xDS stream restarts from configuration updates
Allow HOST to be specified on startup
1.0.5 (April 05 2020)
General
Force new release to regenerate stale artifacts
1.0.4 (March 31 2020)
Fixed
Restart xDS streams for any Zone with configuration updates
Watch for batch configuration updates and only restart an xDS stream once
Lock map writes for instance endpoint removals
1.0.3 (December 6 2019)
NOTE: Updating to this version will require explicitly configuring each instance of gm-proxy with an XDS_ZONE
environment variable. This value must match the name of a Zone configured in Catalog.
Changed
Specify Locality.Zone rather than Locality.Region in each DiscoveryRequest to xDS servers.
Less greedy polling defaults per xDS server, sidecar, and metrics server
Delegate instance deletion to xDS reporting; use direct polling if xDS connection is down
Updated documentation with basic usage guide and dependencies chart
Fixed
Validate new xDS server configurations to prevent current connections from being dropped
Default each configured xDS server configuration's request cluster name to 'edge'
Validate against empty string values for Owner and Capability fields in the Catalog summary object
1.0.2.1 (March 5 2020)
Fixed
Parse the "USER_DN" header from incoming request headers rather than the response headers
Prohibited access of unauthorized users to metrics endpoints via REST
Lower-cased the "USER_DN" header value and the "authorized_users" value sourced in environment
1.0.2 (August 22 2019)
Changed
Updated Swagger to match most up-to-date model using zone and cluster fields
Configured packaging Swagger documentation along with each release binary
Optimized opening and closing of XDS streams and deregistering silent instances
Fixed
Disabled browser caching of Swagger documentation static assets
Logging for instance polling interval and max silence for each XDS server
1.0.1 (August 9 2019)
Changed
Performance optimizations for data access methods
Fixed
Re-configured gm-data as backing store for updated model
1.0.0 (August 2 2019)
Changed
Re-implemented service discovery for compatibility with gm-control (breaking change)
Modified services model to refer to zones and clusters (retained old JSON keys)
Enhanced instances model to use health checks without metrics filters
Updated documentation for configuration and REST API
Fixed
Default values for zones and clusters created via POST
Addressed race conditions with gm-control and sidecar metrics servers on startup
0.5.0 (June 7 2019)
Added
Multiple gm-xds servers for multi-mesh configurations
New mesh layer to wrap around services model, mapped using meshID and clusterID
Queryable clusters and clusterID REST endpoints for retrieving and updating service clusters
Meshes and meshID REST endpoints for collecting metadata pertaining to each mesh
New metrics REST endpoint for requesting metrics via clusterID and instanceID
Changed
Removed PUT, PATCH, DELETE from services REST endpoint
Updated documentation of REST endpoints
0.4.0 (May 3 2019)
Changed
Eliminated unused JSON keys
Changed the form of some JSON keys (breaking change)
Improved documentation of REST Endpoints
Fixed
bug returning nil for Instances
0.3.7 (April 26 2019)
Changed
Update gm-dashboard, gm-slo docker-compose configs
Use gm-data for backing store
Drop Zookeeper as a source of active services (gm-xds only now)
Enable REST changes to known services
0.3.6 (March 1 2019)
Changed
updated internal cluster name to match xds with service:version
requests for metrics run in parallel
add logging for grpc connections
0.3.5 (February 20 2019)
Fixed
bug fixes for instance reporting
0.3.2 (February 14 2019)
Fixed
bug fixes for metrics collection
0.3.0 (February 1 2019)
Added
get services from gm-xds (not handling metrics yet)
JWT Security
1.3.0
Added
Initial Boring support
Ability to set the log level from the API
Changed
Serve docs as
text/plain
instead oftext/html
1.2.0
Changed
Use RFC3339 timestamps for logging
Doc assets are bundled and using open api 3.0
1.1.1 (June 3 2020)
Changed
Serve swagger UI and document
1.1.0 (June 2 2020)
Added
Add ability to set ISS field in JWT Tokens, defaults to greymatter.io
1.0.2 (May 26 2020)
Added
Package swagger file in with binary
1.0.1 (November 4 2019)
Changed
Allow Redis to be an optional dependency. Set
REDIS_HOST=
to indicate that Redis isn't used
1.0.0 (October 16 2019)
Version 1.0 Release
0.2.1 (August 2 2019)
Changed
Added LDAP backend functionality, configure the jwt service to get its token values form an ldap user search
Added More debug logs and configurable logging levels
Checks users.json on startup for valid json format
Fixed
Readme typo
0.2.0 (April 9 2019)
- Auth flow allows user to go directly to gm-data without being forwarded in through jwt
Changed
Added swagger Docs at root
Configurable redis DB Name (int 0 - 15)
Send back
403 Forbidden
when a userDN is not found by the auth provider instead of giving anonymous tokensSupport userDN as
userpolicyid
Fixed
Bug where if 2 jwt servers shared the same redis, the tokens would be shared between the two, causing unintentional impersonation
0.1.0 (Feb 13 2019)
Changed
Root Privilege
- Allow
users.json
to specify aprivilege
field whereroot
can be entered. The user can then request a root token that gives them all permissions on all objects in gm-data
- Allow
token time specification
- Allow the user to request a token that lasts
x
amount of time, maximum time is determined by an environment variable
- Allow the user to request a token that lasts
added
tokens
andpolicies
endpoint along with a redis cache for tokens that have been generatedEnable TLS for the connection to the API
Fixed
UserDNs and entries in users.json were not matching