From 899cad4a102081b94a59cf5d7be9b2221e5a7f5f Mon Sep 17 00:00:00 2001 From: Robert Brennan Date: Fri, 24 Jul 2020 12:54:30 +0000 Subject: [PATCH 1/6] update readme --- README.md | 41 ++++++++++++++++++++++++++++++----------- img/logo.png | Bin 0 -> 12606 bytes 2 files changed, 30 insertions(+), 11 deletions(-) create mode 100644 img/logo.png diff --git a/README.md b/README.md index e21cbfc..c563566 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,28 @@ -# Nova +
+ Nova +
+ + [![Version][version-image]][version-link] [![CircleCI][circleci-image]][circleci-link] [![Go Report Card][goreport-image]][goreport-link] +
+ +[version-image]: https://img.shields.io/static/v1.svg?label=Version&message=1.2.0&color=239922 +[version-link]: https://github.com/FairwindsOps/nova + +[goreport-image]: https://goreportcard.com/badge/github.com/FairwindsOps/nova +[goreport-link]: https://goreportcard.com/report/github.com/FairwindsOps/nova + +[circleci-image]: https://circleci.com/gh/FairwindsOps/nova.svg?style=svg +[circleci-link]: https://circleci.com/gh/FairwindsOps/nova.svg + Find outdated or deprecated Helm charts running in your cluster. -# Installation +Nova scans your cluster for installed Helm charts, then cross-checks them against +all known Helm repositories. If it finds an updated version of the chart you're using, +or notices your current version is deprecated, it will let you know. + +## Installation -## From GitHub Releases +### From GitHub Releases Visit the [releases page](https://github.com/FairwindsOps/nova/releases) to find the release that's right for your environment. For example, on Linux: ``` @@ -12,32 +31,32 @@ tar -xvf nova.tar.gz sudo mv nova /usr/local/bin/ ``` -## Homebrew +### Homebrew ``` brew tap fairwindsops/tap brew install fairwindsops/tap/nova ``` -## From source +### From source ``` go get https://github.com/fairwindsops/nova ``` -# Usage +## Usage ``` -nova find +nova find --helm-version=auto ``` -## Options +### Options * `--helm-version` - which version of Helm to use. Options are `2`, `3`, and `auto` (default is `3`) * `--wide` - show `Chart Name` and `Namespace` * `--output-file` - output JSON to a file -# Output +### Output Below is sample output for Nova -## CLI +#### CLI ``` Release Name Installed Latest Old Deprecated cert-manager v0.11.0 v0.15.2 true false @@ -47,7 +66,7 @@ metrics-server 2.8.8 2.11.1 true false nginx-ingress 1.25.0 1.40.3 true false ``` -## JSON +#### JSON ``` { "helm_releases": [ diff --git a/img/logo.png b/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d1a95a07dd350e8374aa56b9a4dc7d5ed3fd408b GIT binary patch literal 12606 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 literal 0 HcmV?d00001 From 94a7079d532d25500d8a49419acff081d0dc31f8 Mon Sep 17 00:00:00 2001 From: Robert Brennan Date: Fri, 24 Jul 2020 12:56:06 +0000 Subject: [PATCH 2/6] tagline --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c563566..68af23f 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ Nova
+ Find outdated or deprecated Helm charts running in your cluster. + [![Version][version-image]][version-link] [![CircleCI][circleci-image]][circleci-link] [![Go Report Card][goreport-image]][goreport-link] @@ -14,7 +16,6 @@ [circleci-image]: https://circleci.com/gh/FairwindsOps/nova.svg?style=svg [circleci-link]: https://circleci.com/gh/FairwindsOps/nova.svg -Find outdated or deprecated Helm charts running in your cluster. Nova scans your cluster for installed Helm charts, then cross-checks them against all known Helm repositories. If it finds an updated version of the chart you're using, From af45a74f41f2e21c660129e62b1ea679ae4fe8ff Mon Sep 17 00:00:00 2001 From: Robert Brennan Date: Fri, 24 Jul 2020 12:59:16 +0000 Subject: [PATCH 3/6] update logo --- img/logo.png | Bin 12606 -> 19761 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/img/logo.png b/img/logo.png index d1a95a07dd350e8374aa56b9a4dc7d5ed3fd408b..837cc56834693caadbd17141f794d8a7daa24757 100644 GIT binary patch literal 19761 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 F{sD)$W-#`^LzjPfp6XW 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 From f3a4016a0c4010f6ecb9e3742f903d47eddd8ef0 Mon Sep 17 00:00:00 2001 From: Robert Brennan Date: Fri, 24 Jul 2020 13:07:30 +0000 Subject: [PATCH 4/6] fix version --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 68af23f..74924c9 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ [![Version][version-image]][version-link] [![CircleCI][circleci-image]][circleci-link] [![Go Report Card][goreport-image]][goreport-link] -[version-image]: https://img.shields.io/static/v1.svg?label=Version&message=1.2.0&color=239922 +[version-image]: https://img.shields.io/static/v1.svg?label=Version&message=1.0.0&color=239922 [version-link]: https://github.com/FairwindsOps/nova [goreport-image]: https://goreportcard.com/badge/github.com/FairwindsOps/nova @@ -27,7 +27,7 @@ or notices your current version is deprecated, it will let you know. Visit the [releases page](https://github.com/FairwindsOps/nova/releases) to find the release that's right for your environment. For example, on Linux: ``` -curl -L "https://github.com/FairwindsOps/nova/releases/download/1.1.0/nova_1.1.0_linux_amd64.tar.gz" > nova.tar.gz +curl -L "https://github.com/FairwindsOps/nova/releases/download/1.0.0/nova_1.0.0_linux_amd64.tar.gz" > nova.tar.gz tar -xvf nova.tar.gz sudo mv nova /usr/local/bin/ ``` From 78319c5ce37f83eb6aad8615c6b7f0b266c3663b Mon Sep 17 00:00:00 2001 From: Robert Brennan Date: Fri, 24 Jul 2020 13:11:27 +0000 Subject: [PATCH 5/6] fix output --- README.md | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 74924c9..77ce942 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ go get https://github.com/fairwindsops/nova ## Usage ``` -nova find --helm-version=auto +nova find --helm-version=auto --wide ``` ### Options @@ -58,7 +58,7 @@ nova find --helm-version=auto Below is sample output for Nova #### CLI -``` +```bash Release Name Installed Latest Old Deprecated cert-manager v0.11.0 v0.15.2 true false insights-agent 0.21.0 0.21.1 true false @@ -68,9 +68,9 @@ nginx-ingress 1.25.0 1.40.3 true false ``` #### JSON -``` +```json { - "helm_releases": [ + "helm": [ { "release": "cert-manager", "chartName": "cert-manager", @@ -78,13 +78,16 @@ nginx-ingress 1.25.0 1.40.3 true false "description": "A Helm chart for cert-manager", "home": "https://github.com/jetstack/cert-manager", "icon": "https://raw.githubusercontent.com/jetstack/cert-manager/master/logo/logo.png", - "version": "v0.11.0", - "appVersion": "v0.11.0", - "newest": "v0.15.2", - "newest_appVersion": "v0.15.2", + "Installed": { + "version": "v0.11.0", + "appVersion": "v0.11.0" + }, + "Latest": { + "version": "v0.16.0", + "appVersion": "v0.16.0" + }, "outdated": true } ] } ``` - From ab4c89fb10490851f15c32b9c299a73b1a1b0da0 Mon Sep 17 00:00:00 2001 From: Robert Brennan Date: Fri, 24 Jul 2020 13:16:12 +0000 Subject: [PATCH 6/6] add deprecated to output --- README.md | 3 ++- pkg/output/output.go | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 77ce942..d9ae2cd 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,8 @@ nginx-ingress 1.25.0 1.40.3 true false "version": "v0.16.0", "appVersion": "v0.16.0" }, - "outdated": true + "outdated": true, + "deprecated": false } ] } diff --git a/pkg/output/output.go b/pkg/output/output.go index 7f68e13..1fc4604 100644 --- a/pkg/output/output.go +++ b/pkg/output/output.go @@ -21,12 +21,12 @@ type ReleaseOutput struct { ChartName string `json:"chartName"` Namespace string `json:"namespace,omitempty"` Description string `json:"description"` - Deprecated bool `json:"deprecated,omitempty"` Home string `json:"home,omitempty"` Icon string `json:"icon,omitempty"` Installed VersionInfo Latest VersionInfo IsOld bool `json:"outdated"` + Deprecated bool `json:"deprecated"` } // VersionInfo contains both a chart version and an app version