Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve the Helm readme #14083

Merged
merged 8 commits into from
Nov 21, 2020
Merged

Conversation

joestringer
Copy link
Member

@joestringer joestringer commented Nov 19, 2020

Improve the Helm readme by:

  • Adding additional flavour text so that the page stands alone as a representation for the project
  • Ensuring that the descriptions from the values.yaml are propagated into the values in the readme
  • Extra metadata that external sites (such as artifacthub.io) can understand and use to render better pages referencing our helm charts
  • Remove unnecessary options ('kvstore', 'wellKnownIdentities')

For a preview, see the readme in this branch:
https://github.com/joestringer/cilium/tree/submit/helm-improvements/install/kubernetes/cilium

Also nominating for backport to allow these to propagate to external sites when we spin the next release.

@joestringer joestringer added area/misc Impacts miscellaneous areas of the code not otherwise owned by another area. needs-backport/1.9 labels Nov 19, 2020
@joestringer joestringer requested review from a team as code owners November 19, 2020 05:05
@maintainer-s-little-helper maintainer-s-little-helper bot added the dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. label Nov 19, 2020
@maintainer-s-little-helper maintainer-s-little-helper bot added this to In progress in 1.10.0 Nov 19, 2020
@maintainer-s-little-helper maintainer-s-little-helper bot added this to Needs backport from master in 1.9.1 Nov 19, 2020
@joestringer joestringer added release-note/misc This PR makes changes that have no direct user impact. and removed area/misc Impacts miscellaneous areas of the code not otherwise owned by another area. labels Nov 19, 2020
@maintainer-s-little-helper maintainer-s-little-helper bot removed the dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. label Nov 19, 2020
Copy link
Member

@sayboras sayboras left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

very nice 💯 ✔️

install/kubernetes/cilium/README.md.gotmpl Show resolved Hide resolved
install/kubernetes/cilium/Chart.yaml Show resolved Hide resolved
install/kubernetes/cilium/Chart.yaml Outdated Show resolved Hide resolved
Copy link
Contributor

@michi-covalent michi-covalent left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm 👍 should be good to merge once the feedback from @sayboras gets addressed 💯

install/kubernetes/cilium/Chart.yaml Outdated Show resolved Hide resolved
Copy link
Member

@kaworu kaworu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great patch, LGTM!

@kaworu
Copy link
Member

kaworu commented Nov 19, 2020

test-me-please

@joestringer
Copy link
Member Author

huh, good call on running full CI @kaworu , I didn't realize that the k8s version constraint might cause problems but it did on GKE:

https://jenkins.cilium.io/job/Cilium-PR-K8s-GKE/3320/execution/node/144/log/

[2020-11-19T11:24:58.404Z]     Stderr:
[2020-11-19T11:24:58.404Z]      	 Error: chart requires kubeVersion: >= 1.12 which is incompatible with Kubernetes v1.16.13-gke.401
[2020-11-19T11:24:58.404Z]     	 
[2020-11-19T11:24:58.404Z]     
[2020-11-19T11:24:58.404Z]     to be nil

Copy link
Member

@christarazi christarazi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. One question below about CRDs.

install/kubernetes/cilium/Chart.yaml Show resolved Hide resolved
This should allow external sites to better represent Cilium in artifacts
generated from the Helm charts.

Signed-off-by: Joe Stringer <joe@cilium.io>
Expand the charts to include other common fields so that external
systems can pull & use icons, tags, k8s version support, etc.

Furthermore, flesh out the readme so it renders better.

While we're at it, add an SVG without the cilium word so that it's more
likely to render correctly in a square on external sites.

Signed-off-by: Joe Stringer <joe@cilium.io>
These mostly needed '--' at the start for the helm-docs container to
pick up the descriptions and render them into the README.md.

While we're at it, Remove stuttering via the old go style of typing the
variable at the start of the sentence, use full sentences, and remove
any comments that were named exactly the same as the variable.

Signed-off-by: Joe Stringer <joe@cilium.io>
This was not referenced anywhere else, remove it.

Signed-off-by: Joe Stringer <joe@cilium.io>
This option was too specific and doesn't make sense to expose as a
user-visible flag in the helm charts. Remove it.

Signed-off-by: Joe Stringer <joe@cilium.io>
Artifact Hub suggests that if we add such annotations to our charts,
then they will show up in the Artifact Hub UI somewhere:

https://artifacthub.io/docs/topics/annotations/helm/

Signed-off-by: Joe Stringer <joe@cilium.io>
v1.10 will need more than the first 3 digits of the version semver, it
will need the full $major.$minor. Fix this up.

Signed-off-by: Joe Stringer <joe@cilium.io>
@joestringer
Copy link
Member Author

Here's the incremental diff for the latest changes:

diff --git a/install/kubernetes/cilium/Chart.yaml b/install/kubernetes/cilium/Chart.yaml
index a9385caf286e..fe2aeb6cc021 100644
--- a/install/kubernetes/cilium/Chart.yaml
+++ b/install/kubernetes/cilium/Chart.yaml
@@ -4,7 +4,7 @@ displayName: Cilium
 home: https://cilium.io/
 version: 1.9.90
 appVersion: 1.9.90
-kubeVersion: ">= 1.12"
+kubeVersion: ">= 1.12.0-0"
 icon: https://raw.githubusercontent.com/cilium/cilium/master/Documentation/images/logo-solo.svg
 description: eBPF-based Networking, Security, and Observability
 keywords:
@@ -51,3 +51,27 @@ annotations:
       description: |
         Cilium Local Redirect Policy allows local redirects to be configured
         within a node to support use cases like Node-Local DNS or KIAM.
+    - kind: CiliumNode
+      version: v2
+      name: ciliumnode
+      displayName: Cilium Node
+      description: |
+        Cilium Node represents a node managed by Cilium. It contains a
+        specification to control various node specific configuration aspects
+        and a status section to represent the status of the node.
+    - kind: CiliumIdentity
+      version: v2
+      name: ciliumidentity
+      displayName: Cilium Identity
+      description: |
+        Cilium Identity allows introspection into security identities that
+        Cilium allocates which identify sets of labels that are assigned to
+        individual endpoints in the cluster.
+    - kind: CiliumEndpoint
+      version: v2
+      name: ciliumendpoint
+      displayName: Cilium Endpoint
+      description: |
+        Cilium Endpoint represents the status of individual pods or nodes in
+        the cluster which are managed by Cilium, including enforcement status,
+        IP addressing and whether the networking is succesfully operational.
diff --git a/install/kubernetes/cilium/README.md b/install/kubernetes/cilium/README.md
index 40b0569a5348..31108dbb7027 100644
--- a/install/kubernetes/cilium/README.md
+++ b/install/kubernetes/cilium/README.md
@@ -18,7 +18,7 @@ efficient and flexible.

 ## Prerequisites

-* Kubernetes: `>= 1.12`
+* Kubernetes: `>= 1.12.0-0`
 * Helm: `>= 3.0`

 ## Getting Started
diff --git a/install/kubernetes/cilium/templates/NOTES.txt b/install/kubernetes/cilium/templates/NOTES.txt
index 853b6a32461e..3024efa0d0e1 100644
--- a/install/kubernetes/cilium/templates/NOTES.txt
+++ b/install/kubernetes/cilium/templates/NOTES.txt
@@ -17,4 +17,4 @@

 Your release version is {{ .Chart.Version }}.

-For any further help, visit https://docs.cilium.io/en/v{{ substr 0 3 .Chart.Version }}/gettinghelp
+For any further help, visit https://docs.cilium.io/en/v{{ (semver .Chart.Version).Major }}.{{ (semver .Chart.Version).Minor }}/gettinghelp

@joestringer
Copy link
Member Author

test-me-please

Copy link
Member

@fristonio fristonio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great, thanks for this 🙏 💯 🚀

@@ -2,355 +2,320 @@

![Version: 1.9.90](https://img.shields.io/badge/Version-1.9.90-informational?style=flat-square) ![AppVersion: 1.9.90](https://img.shields.io/badge/AppVersion-1.9.90-informational?style=flat-square)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was wondering what these versions represent? 😕
Shouldn't these be 1.9.0?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the tree during v1.10 development, we use the version number v1.9.90 today to denote "a version that may be much greater than v1.9.x but still a bit less than v1.10.0".

home: https://cilium.io/
version: 1.9.90
appVersion: 1.9.90
description: Helm chart for Cilium
kubeVersion: ">= 1.12.0-0"
icon: https://raw.githubusercontent.com/cilium/cilium/master/Documentation/images/logo-solo.svg
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@joestringer I assume we should make this logo dependent on the branch we are? i.e. if we backport this to 1.9 we need to change cilium/master to cilium/v1.9?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed with the top commit.

@joestringer
Copy link
Member Author

Only net-next failed, everything else green:
https://jenkins.cilium.io/job/Cilium-PR-K8s-1.12-net-next/1321/execution/node/131/log/

Signed-off-by: Joe Stringer <joe@cilium.io>
@joestringer
Copy link
Member Author

retest-net-next

@joestringer joestringer added the ready-to-merge This PR has passed all tests and received consensus from code owners to merge. label Nov 20, 2020
@joestringer joestringer merged commit ad865cd into cilium:master Nov 21, 2020
@joestringer joestringer deleted the submit/helm-improvements branch November 21, 2020 01:31
@maintainer-s-little-helper maintainer-s-little-helper bot moved this from Needs backport from master to Backport pending to v1.9 in 1.9.1 Nov 21, 2020
@maintainer-s-little-helper maintainer-s-little-helper bot moved this from Needs backport from master to Backport pending to v1.9 in 1.9.1 Nov 21, 2020
@joestringer
Copy link
Member Author

This was not backported by #14116, will reset the labels to allow the backport to be done.

@maintainer-s-little-helper maintainer-s-little-helper bot moved this from Backport pending to v1.9 to Needs backport from master in 1.9.1 Nov 23, 2020
@maintainer-s-little-helper maintainer-s-little-helper bot moved this from Needs backport from master to Backport pending to v1.9 in 1.9.1 Nov 23, 2020
@maintainer-s-little-helper maintainer-s-little-helper bot moved this from Backport pending to v1.9 to Backport done to v1.9 in 1.9.1 Dec 4, 2020
@aanm aanm mentioned this pull request Dec 4, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-merge This PR has passed all tests and received consensus from code owners to merge. release-note/misc This PR makes changes that have no direct user impact.
Projects
No open projects
1.9.1
Backport done to v1.9
Development

Successfully merging this pull request may close these issues.

None yet

9 participants