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

Add netscaler/netscaler-cpx-with-ingress-controller #1070

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
annotations:
catalog.cattle.io/certified: partner
catalog.cattle.io/display-name: NetScaler CPX with Ingress Controller
catalog.cattle.io/kube-version: '>=v1.16.0-0'
catalog.cattle.io/release-name: netscaler-cpx-with-ingress-controller
apiVersion: v2
appVersion: 2.1.4
description: A Helm chart for NetScaler CPX with NetScaler ingress Controller running
as sidecar.
home: https://www.netscaler.com
icon: file://assets/icons/netscaler-cpx-with-ingress-controller.png
kubeVersion: '>=v1.16.0-0'
maintainers:
- email: [email protected]
name: priyankash-citrix
- email: [email protected]
name: subashd
name: netscaler-cpx-with-ingress-controller
sources:
- https://github.com/netscaler/netscaler-k8s-ingress-controller
version: 2.1.4

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# NetScaler CPX with NetScaler Ingress Controller Running as Sidecar

In a [Kubernetes](https://kubernetes.io/) or [OpenShift](https://www.openshift.com) cluster, you can deploy [NetScaler CPX](https://docs.netscaler.com/en-us/cpx.html) with NetScaler ingress controller as a [sidecar](https://kubernetes.io/docs/concepts/workloads/pods/sidecar-containers/). The NetScaler CPX instance is used for load balancing the North-South traffic to the microservices in your cluster. And, the sidecar NetScaler ingress controller configures the NetScaler CPX.

This chart bootstraps deployment of NetScaler CPX with NetScaler Ingress Controller as sidecar.
2,502 changes: 2,502 additions & 0 deletions charts/netscaler/netscaler-cpx-with-ingress-controller/2.1.4/crds/crds.yaml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Thank you for installing {{ .Chart.Name }}.

Your release is named {{ .Release.Name }}.


To learn more about the release, try:

$ helm status {{ .Release.Name }}
$ helm get {{ .Release.Name }}


To delete :
helm delete {{ .Release.Name }}

Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
{{- define "netscaler-cpx-ingress-controller.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}

{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "netscaler-cpx-ingress-controller.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}

{{- define "cpxservice.fullname" -}}
{{- $name := default .Chart.Name "cpx-service" .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}

{{- define "cpxexporter.fullname" -}}
{{- $name := default .Chart.Name "exporter" .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}

{{- define "cpxservicemonitor.fullname" -}}
{{- $name := default .Chart.Name "netscaler-adc-cpx-servicemonitor" .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}

{{- define "cpxservicemonitorlabel" -}}
{{- $name := default .Chart.Name "netscaler-adc-cpx-svcmon" .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}

{{- define "cpxconfigmap.fullname" -}}
{{- $name := default .Chart.Name "cpx-nsic-configmap" .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}

{{- define "bootupconfigmap.fullname" -}}
{{- $name := default .Chart.Name "cpx-bootup-configmap" .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}

{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "netscaler-cpx-ingress-controller.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}

{{/*
Create the name of the service account to use
*/}}
{{- define "netscaler-cpx-ingress-controller.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "netscaler-cpx-ingress-controller.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "cpxconfigmap.fullname" . }}
namespace: {{ .Release.Namespace }}
data:
LOGLEVEL: {{ .Values.logLevel | quote | lower }}
JSONLOG: {{ .Values.jsonLog | quote | lower }}
{{- if eq (upper .Values.nsProtocol) "HTTPS" }}
NS_PROTOCOL: "https"
{{- if .Values.cpxBgpRouter }}
NS_PORT: "9443"
{{- else }}
NS_PORT: "443"
{{- end }}
{{- else }}
NS_PROTOCOL: "http"
{{- if .Values.cpxBgpRouter }}
NS_PORT: "9080"
{{- else }}
NS_PORT: "80"
{{- end }}
{{- end }}
{{- if .Values.analyticsConfig.required }}
NS_ENABLE_LABELS: {{ .Values.nsEnableLabel | quote }}
{{- end }}
{{- if ne (upper .Values.nsHTTP2ServerSide) "OFF" }}
NS_HTTP2_SERVER_SIDE: {{ .Values.nsHTTP2ServerSide | quote }}
{{- end }}
{{- if ne (toString .Values.nsCookieVersion) "0" }}
NS_COOKIE_VERSION: {{ .Values.nsCookieVersion | quote }}
{{- end }}
{{- if .Values.nsDnsNameserver }}
NS_DNS_NAMESERVER: {{ .Values.nsDnsNameserver }}
{{- end }}

{{- if .Values.analyticsConfig.required }}
NS_ANALYTICS_CONFIG: |
distributed_tracing:
enable: {{ .Values.analyticsConfig.distributedTracing.enable | quote }}
samplingrate: {{ .Values.analyticsConfig.distributedTracing.samplingrate }}
endpoint:
{{- if not .Values.analyticsConfig.timeseries.metrics.enableNativeScrape }}
metrics:
service: {{ .Values.analyticsConfig.endpoint.metrics.service | quote }}
{{- end }}
transactions:
service: {{ .Values.analyticsConfig.endpoint.transactions.service | quote }}
timeseries:
port: {{ .Values.analyticsConfig.timeseries.port }}
metrics:
enable: {{ .Values.analyticsConfig.timeseries.metrics.enable | quote }}
mode: {{ .Values.analyticsConfig.timeseries.metrics.mode | quote }}
export_frequency: {{ .Values.analyticsConfig.timeseries.metrics.exportFrequency }}
schema_file: {{ .Values.analyticsConfig.timeseries.metrics.schemaFile | quote }}
enable_native_scrape: {{ .Values.analyticsConfig.timeseries.metrics.enableNativeScrape | quote }}
auditlogs:
enable: {{ .Values.analyticsConfig.timeseries.auditlogs.enable | quote }}
events:
enable: {{ .Values.analyticsConfig.timeseries.events.enable | quote }}
transactions:
enable: {{ .Values.analyticsConfig.transactions.enable | quote }}
port: {{ .Values.analyticsConfig.transactions.port }}
{{- end }}

{{- if .Values.cpxBgpRouter }}
{{- if .Values.bgpSettings.required }}
NS_BGP_CONFIG: |
{{- with .Values.bgpSettings.bgpConfig }}
bgpConfig:
{{ toYaml . | indent 4 }}
{{- end }}
{{- end }}
{{- end }}

{{- if .Values.nsLbHashAlgo.required }}
NS_LB_HASH_ALGO: |
hashFingers: {{ .Values.nsLbHashAlgo.hashFingers }}
hashAlgorithm: {{ .Values.nsLbHashAlgo.hashAlgorithm | quote }}
{{- end }}

{{- if .Values.profileSslFrontend }}
FRONTEND_SSL_PROFILE: |
{{- toYaml .Values.profileSslFrontend | nindent 4 }}
{{- end }}

{{- if .Values.profileTcpFrontend }}
FRONTEND_TCP_PROFILE: |
{{- toYaml .Values.profileTcpFrontend | nindent 4 }}
{{- end }}

{{- if .Values.profileHttpFrontend }}
FRONTEND_HTTP_PROFILE: |
{{- toYaml .Values.profileHttpFrontend | nindent 4 }}
{{- end }}

---

apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "bootupconfigmap.fullname" . }}
namespace: {{ .Release.Namespace }}
data:
cpx.conf: |
#NetScaler commands
{{- .Values.cpxCommands | nindent 6 -}}
#Shell commands
{{- .Values.cpxShellCommands | nindent 6 -}}
# end of file
Loading
Loading