From c6aae9bf140a29c749a1c1fe49bb51586758546b Mon Sep 17 00:00:00 2001 From: Dinar Valeev Date: Wed, 20 Oct 2021 21:39:13 +0200 Subject: [PATCH] Generate chart README.md with helm-docs Extend chart values comments and use them as description for helm-docs generated README Fixes #359 Signed-off-by: Dinar Valeev --- Makefile | 3 ++ chart/k8gb/README.md | 1 - chart/k8gb/values.yaml | 72 ++++++++++++++++++++++++++++++------------ 3 files changed, 55 insertions(+), 21 deletions(-) delete mode 120000 chart/k8gb/README.md diff --git a/Makefile b/Makefile index 35baf5cc9f..c311c42ec2 100644 --- a/Makefile +++ b/Makefile @@ -146,6 +146,9 @@ upgrade-candidate: ## Upgrade k8gb to the test version on existing clusters $(call list-running-pods,$(CLUSTER_GSLB1)) $(call list-running-pods,$(CLUSTER_GSLB2)) +.PHONY: helm-docs +helm-docs: + helm-docs -c chart/k8gb .PHONY: deploy-candidate deploy-candidate: ## Deploy test k8gb version together with CRs and test apps on top of existing clusters @echo "\n$(YELLOW)import k8gb docker image to $(CYAN)$(CLUSTER_GSLB1), $(CLUSTER_GSLB2) $(NC)" diff --git a/chart/k8gb/README.md b/chart/k8gb/README.md deleted file mode 120000 index fe84005413..0000000000 --- a/chart/k8gb/README.md +++ /dev/null @@ -1 +0,0 @@ -../../README.md \ No newline at end of file diff --git a/chart/k8gb/values.yaml b/chart/k8gb/values.yaml index 311b6f51c0..739d39e356 100644 --- a/chart/k8gb/values.yaml +++ b/chart/k8gb/values.yaml @@ -1,79 +1,111 @@ global: - ## Reference to one or more secrets to be used when pulling images - ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ - ## + # -- Reference to one or more secrets to be used when pulling images + # ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ imagePullSecrets: [] # - name: "image-pull-secret" k8gb: - imageRepo: absaoss/k8gb - # image tag defaults to Chart.AppVersion, see Chart.yaml - # but can be overrided with imageTag key - # imageTag: - dnsZone: "cloud.example.com" # dnsZone controlled by gslb - dnsZoneNegTTL: 300 # Negative TTL for SOA record + # -- image repository + imageRepo: "absaoss/k8gb" + # -- ( string ) image tag defaults to Chart.AppVersion, see Chart.yaml, but can be overrided with imageTag key + imageTag: + # -- dnsZone controlled by gslb + dnsZone: "cloud.example.com" + # -- Negative TTL for SOA record + dnsZoneNegTTL: 300 + # -- main zone which would contain gslb zone to delegate edgeDNSZone: "example.com" # main zone which would contain gslb zone to delegate - edgeDNSServers: # host/ip[:port] format is supported here where ports defaults to 53 - - "1.1.1.1" # use this DNS server as a main resolver to enable cross k8gb DNS based communication - clusterGeoTag: "eu" # used for places where we need to distinguish between differnet Gslb instances - extGslbClustersGeoTags: "us" # comma-separated list of external gslb geo tags to pair with - hostAlias: # use https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ inside operator pod. Useful for advanced testing scenarios and to break dependency on EdgeDNS for cross k8gb collaboration + # -- host/ip[:port] format is supported here where ports defaults to 53 + edgeDNSServers: + # -- use this DNS server as a main resolver to enable cross k8gb DNS based communication + - "1.1.1.1" + # -- used for places where we need to distinguish between differnet Gslb instances + clusterGeoTag: "eu" + # -- comma-separated list of external gslb geo tags to pair with + extGslbClustersGeoTags: "us" + hostAlias: + # -- use https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ inside operator pod. Useful for advanced testing scenarios and to break dependency on EdgeDNS for cross k8gb collaboration enabled: false ip: "172.17.0.1" hostnames: - "gslb-ns-us-cloud.example.com" + # -- Reconcile time in seconds reconcileRequeueSeconds: 30 log: + # -- log format (simple,json) format: simple # log format (simple,json) + # -- log level (panic,fatal,error,warn,info,debug,trace) level: info # log level (panic,fatal,error,warn,info,debug,trace) + # -- Enable SplitBrain check (Infoblox only) splitBrainCheck: false + # -- Metrics server address metricsAddress: "0.0.0.0:8080" - securityContext: # For more options consult https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#securitycontext-v1-core + securityContext: + # -- For more options consult https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#securitycontext-v1-core runAsNonRoot: true readOnlyRootFilesystem: true allowPrivilegeEscalation: false runAsUser: 1000 externaldns: + # -- external-dns image repo:tag image: k8s.gcr.io/external-dns/external-dns:v0.9.0 + # -- external-dns sync interval interval: "20s" securityContext: # For more options consult https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#securitycontext-v1-core - fsGroup: 65534 # For ExternalDNS to be able to read Kubernetes and AWS token files + # -- For more options consult https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#securitycontext-v1-core runAsUser: 1000 + # -- For ExternalDNS to be able to read Kubernetes and AWS token files + fsGroup: 65534 # For ExternalDNS to be able to read Kubernetes and AWS token files runAsNonRoot: true coredns: - # service: refer to https://www.k8gb.io/docs/service_upgrade.html for upgrading CoreDNS service steps + # -- service: refer to https://www.k8gb.io/docs/service_upgrade.html for upgrading CoreDNS service steps isClusterService: false deployment: + # -- Skip CoreDNS creation and uses the one shipped by k8gb instead skipConfig: true image: + # -- CoreDNS CRD plugin image repository: absaoss/k8s_crd - tag: "v0.0.7" + # -- image tag + tag: v0.0.7 + # -- Creates serviceAccount for coredns serviceAccount: create: true name: coredns infoblox: + # -- infoblox provider enabled enabled: false + # -- WAPI address gridHost: 10.0.0.1 + # -- WAPI version wapiVersion: 2.3.1 + # -- WAPI port wapiPort: 443 + # -- use SSL sslVerify: true + # -- Request Timeout in secconds httpRequestTimeout: 20 + # -- Size of connections pool httpPoolConnections: 10 route53: + # -- Enable Route53 provider enabled: false + # -- Route53 ZoneID hostedZoneID: ZXXXSSS - # specify IRSA Role in AWS ARN format or disable it by setting to `false` + # -- specify IRSA Role in AWS ARN format or disable it by setting to `false` irsaRole: arn:aws:iam::111111:role/external-dns ns1: + # -- Enable NS1 provider enabled: false - # optional custom NS1 API endpoint for on-prem setups + # -- optional custom NS1 API endpoint for on-prem setups # endpoint: https://api.nsone.net/v1/ ignoreSSL: false openshift: + # -- Install OpenShift specific RBAC enabled: false