From d9f9d157a8119a974530c4b39ead136f095ee5b0 Mon Sep 17 00:00:00 2001 From: Alejandro Lembke Barrientos Date: Thu, 15 Jul 2021 23:48:31 +0000 Subject: [PATCH] Se crea la presentacion y se agregan los archivos de ejemplo. --- README.md | 71 + app/00-ns-and-sa.yaml | 12 + app/01-app-deployment.yaml | 24 + app/02-app-svc.yaml | 14 + app/03-ingress-tls-prod.yaml | 41 + app/03-ingress-tls-staging.yaml | 41 + app/03-ingress.yaml | 31 + cert-manager/01-issuer-prod.yaml | 15 + cert-manager/01-issuer-staging.yaml | 15 + crds/appprotect.f5.com_aplogconfs.yaml | 64 + crds/appprotect.f5.com_appolicies.yaml | 1498 ++++++++++++++++++ crds/appprotect.f5.com_apusersigs.yaml | 93 ++ crds/k8s.nginx.org_globalconfigurations.yaml | 56 + crds/k8s.nginx.org_policies.yaml | 158 ++ crds/k8s.nginx.org_transportservers.yaml | 80 + crds/k8s.nginx.org_virtualserverroutes.yaml | 619 ++++++++ crds/k8s.nginx.org_virtualservers.yaml | 647 ++++++++ img/NGINX-Ingress-Controller.png | Bin 0 -> 94860 bytes img/cert.png | Bin 0 -> 134924 bytes ingress/01-ns-and-sa.yaml | 10 + ingress/02-default-server-secret.yaml | 9 + ingress/03-nginx-config.yaml | 10 + ingress/04-global-configuration.yaml | 13 + ingress/04-ingress-class.yaml | 8 + ingress/05-rbac.yaml | 100 ++ ingress/06-nginx-ingress-deployment.yaml | 64 + ingress/07-nginx-ingress-loadbalancer.yaml | 18 + 27 files changed, 3711 insertions(+) create mode 100644 app/00-ns-and-sa.yaml create mode 100644 app/01-app-deployment.yaml create mode 100644 app/02-app-svc.yaml create mode 100644 app/03-ingress-tls-prod.yaml create mode 100644 app/03-ingress-tls-staging.yaml create mode 100644 app/03-ingress.yaml create mode 100644 cert-manager/01-issuer-prod.yaml create mode 100644 cert-manager/01-issuer-staging.yaml create mode 100644 crds/appprotect.f5.com_aplogconfs.yaml create mode 100644 crds/appprotect.f5.com_appolicies.yaml create mode 100644 crds/appprotect.f5.com_apusersigs.yaml create mode 100644 crds/k8s.nginx.org_globalconfigurations.yaml create mode 100644 crds/k8s.nginx.org_policies.yaml create mode 100644 crds/k8s.nginx.org_transportservers.yaml create mode 100644 crds/k8s.nginx.org_virtualserverroutes.yaml create mode 100644 crds/k8s.nginx.org_virtualservers.yaml create mode 100644 img/NGINX-Ingress-Controller.png create mode 100644 img/cert.png create mode 100644 ingress/01-ns-and-sa.yaml create mode 100644 ingress/02-default-server-secret.yaml create mode 100644 ingress/03-nginx-config.yaml create mode 100644 ingress/04-global-configuration.yaml create mode 100644 ingress/04-ingress-class.yaml create mode 100644 ingress/05-rbac.yaml create mode 100644 ingress/06-nginx-ingress-deployment.yaml create mode 100644 ingress/07-nginx-ingress-loadbalancer.yaml diff --git a/README.md b/README.md index 2a99182..c9ff62f 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,73 @@ # letsEncryptKubernetes Master Class de como utilizando Ngnix Ingress Controller, Cert Manager y Lets Encrypt para crear y utilizar certificados de seguridad firmados en Kubernetes. + +## Entender lo que vamos a hacer + +Kubernetes es un orquestador de contenedores. Lo que haremos a continuación es dentro de un cluster de kubernetes de DigitalOcean instalar Nginx Ingress Controller y Cert Manager dentro de ese cluster para generara certificados de Seguridad con Let's Encrypt. + +## ¿Qué es Nginx Ingress Controller? +![Nginx Ingress Controller](./img/NGINX-Ingress-Controller.png) + +Nginx Ingress Controller es un enrutador o router de las peticiones que le realicen al servidor. Este es un servicio de tipo LoadBalancer que redireccina el tráfico al servicio de la aplicación que se desee segun su nombre de dominio. + +Por ejemplo si tenemos una aplicación web con dominio midominio.com, ingress es un servcio encarcado de enrutar esa petición al servicio al que este mapeado ese dominio, este se configura con un archivo .yaml, lo veremos más adelante. + +## ¿Qué es Cert Manager? +![Cert Manager](./img/cert.png) +Cert Manager es un servicio que se comunica con el pod de Ingress Controller. Para administrar y gestionar los certificados de seguridad de los dominios definidos en Ingress Controller. + +Para este servicio es necesario crear +Custom Resource Definitions llamados Issuer y Cluster Issuer, que son los recursos encargados de comunicarse con el proveedor de certificados, en este caso Let's Encrypt. + +## Como comenzar +### Paso 1: Instalar Ingress Controller +Primero hay que crear un namespace para el ingress controller y un serviceAccount para el mismo que se necesitará. + +Visualizar el archivo: +[01-ns-and-sa.yaml](./ingress/01-ns-and-sa.yaml) + +Luego hay que crear un cluster role binding de ngnix ingress controller: + +`kubectl create clusterrolebinding nginx-ingress-admin -n nginx-ingress --clusterrole=cluster-admin --serviceaccount=nginx-ingress:nginx-ingress` + +Luego Se instalan los Custom Resource Definitions de Ingres: + +Visualizar la carpeta: +[./crds](./crds/) + +Por ultimo tienen que correr los archivos de configuración de ingress. + +Visualizar la carpeta: +[./ingress](./ingress/) + +### Paso 2: Instalar Cert Manager +En este caso es más rápido ya que usaremos helm para instalar Cert Manager. + +Primero creamos el namespace de CertManager + +`kubectl create namespace cert-manager` + +Luego instalamos con helm con los siguientes comandos. + +`helm repo add jetstack https://charts.jetstack.io` +`helm repo update` +`helm install cert-manager jetstack/cert-manager --namespace cert-manager --version v1.2.0 --set installCRDs=true` + +Este es un tip que nos va a servir adelante: +comando para ver challenges: +`kubectl describe challenge` + +Ahora Crearemos la instancias de un Custom Resources definitions. Vamos a crear un ClusterIssuer. Este sera el encargado de comunicarse con Let's Encrypt. + +Visualizar la carpeta: +[./cert-manager](./cert-manager/) + +### Paso 3: Instalar App y Crear certificados + +Por último debes instalar la app web que tu hayas desarrollado y crear el enrutador ingress que redireccionara el trafico con sus certificados para ver un ejemplo por favor ver carpeta: [./app](./app/) + +## Espero les haya gustado la clase. +Alejandro Lembke Barrientos + + + diff --git a/app/00-ns-and-sa.yaml b/app/00-ns-and-sa.yaml new file mode 100644 index 0000000..ae2b55b --- /dev/null +++ b/app/00-ns-and-sa.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Namespace +metadata: + #colocar nombre del namespace de la app + name: app +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + #colocar nombre del serviceAccount + name: app + namespace: app \ No newline at end of file diff --git a/app/01-app-deployment.yaml b/app/01-app-deployment.yaml new file mode 100644 index 0000000..0f354f3 --- /dev/null +++ b/app/01-app-deployment.yaml @@ -0,0 +1,24 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: app + namespace: app +spec: + replicas: 1 + selector: + matchLabels: + app: app + template: + metadata: + labels: + app: app + spec: + #descomentar si tienes un secret + #imagePullSecrets: + #- name: regcred + containers: + - name: app + image: gcr.io/google-samples/hello-app:1.0 + imagePullPolicy: Always + ports: + - containerPort: 8080 diff --git a/app/02-app-svc.yaml b/app/02-app-svc.yaml new file mode 100644 index 0000000..04cf0f2 --- /dev/null +++ b/app/02-app-svc.yaml @@ -0,0 +1,14 @@ +kind: Service +apiVersion: v1 +metadata: + name: app-svc + namespace: app +spec: + selector: + app: app + type: ClusterIP + ports: + - protocol: TCP + name: app-main + port: 8080 + targetPort: 8080 diff --git a/app/03-ingress-tls-prod.yaml b/app/03-ingress-tls-prod.yaml new file mode 100644 index 0000000..c08fcfd --- /dev/null +++ b/app/03-ingress-tls-prod.yaml @@ -0,0 +1,41 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: ingress + namespace: app + annotations: + kubernetes.io/ingress.class: nginx + nginx.ingress.kubernetes.io/rewrite-target: / + nginx.ingress.kubernetes.io/use-regex: "true" + # add an annotation indicating the issuer to use. + cert-manager.io/cluster-issuer: letsencrypt-prod + acme.cert-manager.io/http01-edit-in-place: "true" + cert-manager.io/issue-temporary-certificate: "true" +spec: + tls: + #colocar tus propios dominios + - hosts: + - p-lao.tk + - www.p-lao.tk + secretName: p-lao-lets-encrypt-prod-tls + rules: + - host: p-lao.tk + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: app-svc + port: + number: 8080 + - host: www.p-lao.tk + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: app-svc + port: + number: 8080 \ No newline at end of file diff --git a/app/03-ingress-tls-staging.yaml b/app/03-ingress-tls-staging.yaml new file mode 100644 index 0000000..3660b68 --- /dev/null +++ b/app/03-ingress-tls-staging.yaml @@ -0,0 +1,41 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: ingress + namespace: app + annotations: + kubernetes.io/ingress.class: nginx + nginx.ingress.kubernetes.io/rewrite-target: / + nginx.ingress.kubernetes.io/use-regex: "true" + # add an annotation indicating the issuer to use. + cert-manager.io/cluster-issuer: letsencrypt-staging + acme.cert-manager.io/http01-edit-in-place: "true" + cert-manager.io/issue-temporary-certificate: "true" +spec: + tls: + #colocar tus propios dominios + - hosts: + - p-lao.tk + - www.p-lao.tk + secretName: p-lao-lets-encrypt-staging-tls + rules: + - host: p-lao.tk + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: app-svc + port: + number: 8080 + - host: www.p-lao.tk + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: app-svc + port: + number: 8080 \ No newline at end of file diff --git a/app/03-ingress.yaml b/app/03-ingress.yaml new file mode 100644 index 0000000..cb1d855 --- /dev/null +++ b/app/03-ingress.yaml @@ -0,0 +1,31 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: ingress + namespace: app + annotations: + kubernetes.io/ingress.class: nginx + nginx.ingress.kubernetes.io/rewrite-target: / + nginx.ingress.kubernetes.io/use-regex: "true" +spec: + rules: + - host: p-lao.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: app-svc + port: + number: 8080 + - host: www.p-lao.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: app-svc + port: + number: 8080 diff --git a/cert-manager/01-issuer-prod.yaml b/cert-manager/01-issuer-prod.yaml new file mode 100644 index 0000000..a6e0415 --- /dev/null +++ b/cert-manager/01-issuer-prod.yaml @@ -0,0 +1,15 @@ +apiVersion: cert-manager.io/v1 +kind: ClusterIssuer +metadata: + name: letsencrypt-prod +spec: + acme: + email: aleleba@hotmail.com + server: https://acme-v02.api.letsencrypt.org/directory + privateKeySecretRef: + name: letsencrypt-prod + solvers: + - http01: + ingress: + class: nginx + #http01: {} \ No newline at end of file diff --git a/cert-manager/01-issuer-staging.yaml b/cert-manager/01-issuer-staging.yaml new file mode 100644 index 0000000..c807a1e --- /dev/null +++ b/cert-manager/01-issuer-staging.yaml @@ -0,0 +1,15 @@ +apiVersion: cert-manager.io/v1 +kind: ClusterIssuer +metadata: + name: letsencrypt-staging +spec: + acme: + email: aleleba@hotmail.com + server: https://acme-staging-v02.api.letsencrypt.org/directory + privateKeySecretRef: + name: letsencrypt-staging + solvers: + - http01: + ingress: + class: nginx + #http01: {} \ No newline at end of file diff --git a/crds/appprotect.f5.com_aplogconfs.yaml b/crds/appprotect.f5.com_aplogconfs.yaml new file mode 100644 index 0000000..a7e5ac5 --- /dev/null +++ b/crds/appprotect.f5.com_aplogconfs.yaml @@ -0,0 +1,64 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.4.0 + creationTimestamp: null + name: aplogconfs.appprotect.f5.com +spec: + group: appprotect.f5.com + names: + kind: APLogConf + listKind: APLogConfList + plural: aplogconfs + singular: aplogconf + preserveUnknownFields: false + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + description: APLogConf is the Schema for the APLogConfs API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: APLogConfSpec defines the desired state of APLogConf + properties: + content: + properties: + format: + enum: + - splunk + - arcsight + - default + - user-defined + type: string + format_string: + type: string + max_message_size: + pattern: ^([1-9]|[1-5][0-9]|6[0-4])k$ + type: string + max_request_size: + pattern: ^([1-9]|[1-9][0-9]|[1-9][0-9]{2}|1[0-9]{3}|20[1-3][0-9]|204[1-8]|any)$ + type: string + type: object + filter: + properties: + request_type: + enum: + - all + - illegal + - blocked + type: string + type: object + type: object + type: object + served: true + storage: true diff --git a/crds/appprotect.f5.com_appolicies.yaml b/crds/appprotect.f5.com_appolicies.yaml new file mode 100644 index 0000000..6eb0801 --- /dev/null +++ b/crds/appprotect.f5.com_appolicies.yaml @@ -0,0 +1,1498 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.4.0 + creationTimestamp: null + name: appolicies.appprotect.f5.com +spec: + group: appprotect.f5.com + names: + kind: APPolicy + listKind: APPolicyList + plural: appolicies + singular: appolicy + preserveUnknownFields: false + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + description: APPolicyConfig is the Schema for the APPolicyconfigs API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: APPolicySpec defines the desired state of APPolicy + properties: + modifications: + items: + properties: + action: + type: string + description: + type: string + entity: + properties: + name: + type: string + type: object + entityChanges: + properties: + type: + type: string + type: object + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + modificationsReference: + properties: + link: + pattern: ^http + type: string + type: object + policy: + description: Defines the App Protect policy + properties: + applicationLanguage: + enum: + - iso-8859-10 + - iso-8859-6 + - windows-1255 + - auto-detect + - koi8-r + - gb18030 + - iso-8859-8 + - windows-1250 + - iso-8859-9 + - windows-1252 + - iso-8859-16 + - gb2312 + - iso-8859-2 + - iso-8859-5 + - windows-1257 + - windows-1256 + - iso-8859-13 + - windows-874 + - windows-1253 + - iso-8859-3 + - euc-jp + - utf-8 + - gbk + - windows-1251 + - big5 + - iso-8859-1 + - shift_jis + - euc-kr + - iso-8859-4 + - iso-8859-7 + - iso-8859-15 + type: string + blocking-settings: + properties: + evasions: + items: + properties: + description: + enum: + - '%u decoding' + - Apache whitespace + - Bad unescape + - Bare byte decoding + - Directory traversals + - IIS backslashes + - IIS Unicode codepoints + - Multiple decoding + type: string + enabled: + type: boolean + maxDecodingPasses: + type: integer + type: object + type: array + http-protocols: + items: + properties: + description: + enum: + - Unescaped space in URL + - Unparsable request content + - Several Content-Length headers + - 'POST request with Content-Length: 0' + - Null in request + - No Host header in HTTP/1.1 request + - Multiple host headers + - Host header contains IP address + - High ASCII characters in headers + - Header name with no header value + - CRLF characters before request start + - Content length should be a positive number + - Chunked request with Content-Length header + - Check maximum number of parameters + - Check maximum number of headers + - Body in GET or HEAD requests + - Bad multipart/form-data request parsing + - Bad multipart parameters parsing + - Bad HTTP version + - Bad host header value + type: string + enabled: + type: boolean + maxHeaders: + type: integer + maxParams: + type: integer + type: object + type: array + violations: + items: + properties: + alarm: + type: boolean + block: + type: boolean + description: + type: string + name: + enum: + - VIOL_PARAMETER_VALUE_BASE64 + - VIOL_MANDATORY_HEADER + - VIOL_HEADER_REPEATED + - VIOL_ASM_COOKIE_MODIFIED + - VIOL_BLACKLISTED_IP + - VIOL_COOKIE_EXPIRED + - VIOL_COOKIE_LENGTH + - VIOL_COOKIE_MALFORMED + - VIOL_COOKIE_MODIFIED + - VIOL_DATA_GUARD + - VIOL_ENCODING + - VIOL_EVASION + - VIOL_FILETYPE + - VIOL_FILE_UPLOAD + - VIOL_FILE_UPLOAD_IN_BODY + - VIOL_HEADER_LENGTH + - VIOL_HEADER_METACHAR + - VIOL_HTTP_PROTOCOL + - VIOL_HTTP_RESPONSE_STATUS + - VIOL_JSON_FORMAT + - VIOL_JSON_MALFORMED + - VIOL_JSON_SCHEMA + - VIOL_MANDATORY_PARAMETER + - VIOL_MANDATORY_REQUEST_BODY + - VIOL_METHOD + - VIOL_PARAMETER + - VIOL_PARAMETER_DATA_TYPE + - VIOL_PARAMETER_EMPTY_VALUE + - VIOL_PARAMETER_LOCATION + - VIOL_PARAMETER_MULTIPART_NULL_VALUE + - VIOL_PARAMETER_NAME_METACHAR + - VIOL_PARAMETER_NUMERIC_VALUE + - VIOL_PARAMETER_REPEATED + - VIOL_PARAMETER_STATIC_VALUE + - VIOL_PARAMETER_VALUE_LENGTH + - VIOL_PARAMETER_VALUE_METACHAR + - VIOL_POST_DATA_LENGTH + - VIOL_QUERY_STRING_LENGTH + - VIOL_RATING_THREAT + - VIOL_RATING_NEED_EXAMINATION + - VIOL_REQUEST_MAX_LENGTH + - VIOL_REQUEST_LENGTH + - VIOL_THREAT_CAMPAIGN + - VIOL_URL + - VIOL_URL_CONTENT_TYPE + - VIOL_URL_LENGTH + - VIOL_URL_METACHAR + - VIOL_XML_FORMAT + - VIOL_XML_MALFORMED + type: string + type: object + type: array + type: object + blockingSettingReference: + properties: + link: + pattern: ^http + type: string + type: object + bot-defense: + properties: + mitigations: + properties: + anomalies: + items: + properties: + action: + enum: + - alarm + - block + - default + - detect + - ignore + type: string + name: + type: string + scoreThreshold: + pattern: '[0-9]|[1-9][0-9]|1[0-4][0-9]|150|default' + type: string + type: object + type: array + classes: + items: + properties: + action: + enum: + - alarm + - block + - detect + - ignore + type: string + name: + enum: + - malicious-bot + - suspicious-browser + - trusted-bot + - untrusted-bot + type: string + type: object + type: array + signatures: + items: + properties: + action: + enum: + - alarm + - block + - detect + - ignore + type: string + name: + type: string + type: object + type: array + type: object + settings: + properties: + isEnabled: + type: boolean + type: object + type: object + caseInsensitive: + type: boolean + character-sets: + items: + properties: + characterSet: + items: + properties: + isAllowed: + type: boolean + metachar: + type: string + type: object + type: array + characterSetType: + enum: + - gwt-content + - header + - json-content + - parameter-name + - parameter-value + - plain-text-content + - url + - xml-content + type: string + type: object + type: array + characterSetReference: + properties: + link: + pattern: ^http + type: string + type: object + cookie-settings: + properties: + maximumCookieHeaderLength: + pattern: any|\d+ + type: string + type: object + cookieReference: + properties: + link: + pattern: ^http + type: string + type: object + cookieSettingsReference: + properties: + link: + pattern: ^http + type: string + type: object + cookies: + items: + properties: + accessibleOnlyThroughTheHttpProtocol: + type: boolean + attackSignaturesCheck: + type: boolean + decodeValueAsBase64: + enum: + - enabled + - disabled + - required + type: string + enforcementType: + type: string + insertSameSiteAttribute: + enum: + - lax + - none + - none-value + - strict + type: string + name: + type: string + securedOverHttpsConnection: + type: boolean + signatureOverrides: + items: + properties: + enabled: + type: boolean + name: + type: string + signatureId: + type: integer + tag: + type: string + type: object + type: array + type: + enum: + - explicit + - wildcard + type: string + type: object + type: array + data-guard: + properties: + creditCardNumbers: + type: boolean + enabled: + type: boolean + enforcementMode: + enum: + - ignore-urls-in-list + - enforce-urls-in-list + type: string + enforcementUrls: + items: + type: string + type: array + lastCcnDigitsToExpose: + type: integer + lastSsnDigitsToExpose: + type: integer + maskData: + type: boolean + usSocialSecurityNumbers: + type: boolean + type: object + dataGuardReference: + properties: + link: + pattern: ^http + type: string + type: object + description: + type: string + enablePassiveMode: + type: boolean + enforcementMode: + enum: + - transparent + - blocking + type: string + filetypeReference: + properties: + link: + pattern: ^http + type: string + type: object + filetypes: + items: + properties: + allowed: + type: boolean + checkPostDataLength: + type: boolean + checkQueryStringLength: + type: boolean + checkRequestLength: + type: boolean + checkUrlLength: + type: boolean + name: + type: string + postDataLength: + type: integer + queryStringLength: + type: integer + requestLength: + type: integer + responseCheck: + type: boolean + type: + enum: + - explicit + - wildcard + type: string + urlLength: + type: integer + type: object + type: array + fullPath: + type: string + general: + properties: + allowedResponseCodes: + items: + format: int32 + maximum: 999 + minimum: 100 + type: integer + type: array + customXffHeaders: + items: + type: string + type: array + maskCreditCardNumbersInRequest: + type: boolean + trustXff: + type: boolean + type: object + generalReference: + properties: + link: + pattern: ^http + type: string + type: object + header-settings: + properties: + maximumHttpHeaderLength: + pattern: any|\d+ + type: string + type: object + headerReference: + properties: + link: + pattern: ^http + type: string + type: object + headerSettingsReference: + properties: + link: + pattern: ^http + type: string + type: object + headers: + items: + properties: + base64Decoding: + type: boolean + checkSignatures: + type: boolean + decodeValueAsBase64: + enum: + - enabled + - disabled + - required + type: string + htmlNormalization: + type: boolean + mandatory: + type: boolean + maskValueInLogs: + type: boolean + name: + type: string + normalizationViolations: + type: boolean + percentDecoding: + type: boolean + type: + enum: + - explicit + - wildcard + type: string + urlNormalization: + type: boolean + type: object + type: array + json-profiles: + items: + properties: + attackSignaturesCheck: + type: boolean + defenseAttributes: + properties: + maximumArrayLength: + pattern: any|\d+ + type: string + maximumStructureDepth: + pattern: any|\d+ + type: string + maximumTotalLengthOfJSONData: + pattern: any|\d+ + type: string + maximumValueLength: + pattern: any|\d+ + type: string + tolerateJSONParsingWarnings: + type: boolean + type: object + description: + type: string + hasValidationFiles: + type: boolean + metacharOverrides: + items: + properties: + isAllowed: + type: boolean + metachar: + type: string + type: object + type: array + name: + type: string + signatureOverrides: + items: + properties: + enabled: + type: boolean + name: + type: string + signatureId: + type: integer + tag: + type: string + type: object + type: array + validationFiles: + items: + properties: + importUrl: + type: string + isPrimary: + type: boolean + jsonValidationFile: + properties: + contents: + type: string + fileName: + type: string + isBase64: + type: boolean + type: object + type: object + type: array + type: object + type: array + json-validation-files: + items: + properties: + contents: + type: string + fileName: + type: string + isBase64: + type: boolean + type: object + type: array + jsonProfileReference: + properties: + link: + pattern: ^http + type: string + type: object + jsonValidationFileReference: + properties: + link: + pattern: ^http + type: string + type: object + methodReference: + properties: + link: + pattern: ^http + type: string + type: object + methods: + items: + properties: + name: + type: string + type: object + type: array + name: + type: string + open-api-files: + items: + properties: + link: + pattern: ^http + type: string + type: object + type: array + parameterReference: + properties: + link: + pattern: ^http + type: string + type: object + parameters: + items: + properties: + allowEmptyValue: + type: boolean + allowRepeatedParameterName: + type: boolean + arraySerializationFormat: + enum: + - csv + - form + - label + - matrix + - multi + - multipart + - pipe + - ssv + - tsv + type: string + attackSignaturesCheck: + type: boolean + checkMaxValue: + type: boolean + checkMaxValueLength: + type: boolean + checkMetachars: + type: boolean + checkMinValue: + type: boolean + checkMinValueLength: + type: boolean + checkMultipleOfValue: + type: boolean + contentProfile: + properties: + name: + type: string + type: object + dataType: + enum: + - alpha-numeric + - binary + - boolean + - decimal + - email + - integer + - none + - phone + type: string + decodeValueAsBase64: + enum: + - enabled + - disabled + - required + type: string + disallowFileUploadOfExecutables: + type: boolean + enableRegularExpression: + type: boolean + exclusiveMax: + type: boolean + exclusiveMin: + type: boolean + isCookie: + type: boolean + isHeader: + type: boolean + level: + enum: + - global + - url + type: string + maximumLength: + type: integer + metacharsOnParameterValueCheck: + type: boolean + minimumLength: + type: integer + name: + type: string + nameMetacharOverrides: + items: + properties: + isAllowed: + type: boolean + metachar: + type: string + type: object + type: array + objectSerializationStyle: + type: string + parameterEnumValues: + items: + type: string + type: array + parameterLocation: + enum: + - any + - cookie + - form-data + - header + - path + - query + type: string + regularExpression: + type: string + sensitiveParameter: + type: boolean + signatureOverrides: + items: + properties: + enabled: + type: boolean + name: + type: string + signatureId: + type: integer + tag: + type: string + type: object + type: array + staticValues: + type: string + type: + enum: + - explicit + - wildcard + type: string + valueMetacharOverrides: + items: + properties: + isAllowed: + type: boolean + metachar: + type: string + type: object + type: array + valueType: + enum: + - array + - auto-detect + - dynamic-content + - dynamic-parameter-name + - ignore + - json + - object + - openapi-array + - static-content + - user-input + - xml + type: string + type: object + type: array + response-pages: + items: + properties: + ajaxActionType: + enum: + - alert-popup + - custom + - redirect + type: string + ajaxCustomContent: + type: string + ajaxEnabled: + type: boolean + ajaxPopupMessage: + type: string + ajaxRedirectUrl: + type: string + responseActionType: + enum: + - custom + - default + - erase-cookies + - redirect + - soap-fault + type: string + responseContent: + type: string + responseHeader: + type: string + responsePageType: + enum: + - ajax + - ajax-login + - captcha + - captcha-fail + - default + - failed-login-honeypot + - failed-login-honeypot-ajax + - hijack + - leaked-credentials + - leaked-credentials-ajax + - mobile + - persistent-flow + - xml + type: string + responseRedirectUrl: + type: string + type: object + type: array + responsePageReference: + properties: + link: + pattern: ^http + type: string + type: object + sensitive-parameters: + items: + properties: + name: + type: string + type: object + type: array + sensitiveParameterReference: + properties: + link: + pattern: ^http + type: string + type: object + server-technologies: + items: + properties: + serverTechnologyName: + enum: + - Jenkins + - SharePoint + - Oracle Application Server + - Python + - Oracle Identity Manager + - Spring Boot + - CouchDB + - SQLite + - Handlebars + - Mustache + - Prototype + - Zend + - Redis + - Underscore.js + - Ember.js + - ZURB Foundation + - ef.js + - Vue.js + - UIKit + - TYPO3 CMS + - RequireJS + - React + - MooTools + - Laravel + - GraphQL + - Google Web Toolkit + - Express.js + - CodeIgniter + - Backbone.js + - AngularJS + - JavaScript + - Nginx + - Jetty + - Joomla + - JavaServer Faces (JSF) + - Ruby + - MongoDB + - Django + - Node.js + - Citrix + - JBoss + - Elasticsearch + - Apache Struts + - XML + - PostgreSQL + - IBM DB2 + - Sybase/ASE + - CGI + - Proxy Servers + - SSI (Server Side Includes) + - Cisco + - Novell + - Macromedia JRun + - BEA Systems WebLogic Server + - Lotus Domino + - MySQL + - Oracle + - Microsoft SQL Server + - PHP + - Outlook Web Access + - Apache/NCSA HTTP Server + - Apache Tomcat + - WordPress + - Macromedia ColdFusion + - Unix/Linux + - Microsoft Windows + - ASP.NET + - Front Page Server Extensions (FPSE) + - IIS + - WebDAV + - ASP + - Java Servlets/JSP + - jQuery + type: string + type: object + type: array + serverTechnologyReference: + properties: + link: + pattern: ^http + type: string + type: object + signature-requirements: + items: + properties: + tag: + type: string + type: object + type: array + signature-sets: + items: + properties: + alarm: + type: boolean + block: + type: boolean + name: + type: string + type: object + x-kubernetes-preserve-unknown-fields: true + type: array + signature-settings: + properties: + attackSignatureFalsePositiveMode: + enum: + - detect + - detect-and-allow + - disabled + type: string + minimumAccuracyForAutoAddedSignatures: + enum: + - high + - low + - medium + type: string + type: object + signatureReference: + properties: + link: + pattern: ^http + type: string + type: object + signatureSetReference: + properties: + link: + pattern: ^http + type: string + type: object + signatureSettingReference: + properties: + link: + pattern: ^http + type: string + type: object + signatures: + items: + properties: + enabled: + type: boolean + name: + type: string + signatureId: + type: integer + tag: + type: string + type: object + type: array + softwareVersion: + type: string + template: + properties: + name: + type: string + type: object + threat-campaigns: + items: + properties: + isEnabled: + type: boolean + name: + type: string + type: object + type: array + threatCampaignReference: + properties: + link: + pattern: ^http + type: string + type: object + urlReference: + properties: + link: + pattern: ^http + type: string + type: object + urls: + items: + properties: + attackSignaturesCheck: + type: boolean + description: + type: string + disallowFileUploadOfExecutables: + type: boolean + isAllowed: + type: boolean + mandatoryBody: + type: boolean + metacharOverrides: + items: + properties: + isAllowed: + type: boolean + metachar: + type: string + type: object + type: array + metacharsOnUrlCheck: + type: boolean + method: + enum: + - ACL + - BCOPY + - BDELETE + - BMOVE + - BPROPFIND + - BPROPPATCH + - CHECKIN + - CHECKOUT + - CONNECT + - COPY + - DELETE + - GET + - HEAD + - LINK + - LOCK + - MERGE + - MKCOL + - MKWORKSPACE + - MOVE + - NOTIFY + - OPTIONS + - PATCH + - POLL + - POST + - PROPFIND + - PROPPATCH + - PUT + - REPORT + - RPC_IN_DATA + - RPC_OUT_DATA + - SEARCH + - SUBSCRIBE + - TRACE + - TRACK + - UNLINK + - UNLOCK + - UNSUBSCRIBE + - VERSION_CONTROL + - X-MS-ENUMATTS + - '*' + type: string + methodOverrides: + items: + properties: + allowed: + type: boolean + method: + enum: + - ACL + - BCOPY + - BDELETE + - BMOVE + - BPROPFIND + - BPROPPATCH + - CHECKIN + - CHECKOUT + - CONNECT + - COPY + - DELETE + - GET + - HEAD + - LINK + - LOCK + - MERGE + - MKCOL + - MKWORKSPACE + - MOVE + - NOTIFY + - OPTIONS + - PATCH + - POLL + - POST + - PROPFIND + - PROPPATCH + - PUT + - REPORT + - RPC_IN_DATA + - RPC_OUT_DATA + - SEARCH + - SUBSCRIBE + - TRACE + - TRACK + - UNLINK + - UNLOCK + - UNSUBSCRIBE + - VERSION_CONTROL + - X-MS-ENUMATTS + type: string + type: object + type: array + methodsOverrideOnUrlCheck: + type: boolean + name: + type: string + positionalParameters: + items: + properties: + parameter: + properties: + allowEmptyValue: + type: boolean + allowRepeatedParameterName: + type: boolean + arraySerializationFormat: + enum: + - csv + - form + - label + - matrix + - multi + - multipart + - pipe + - ssv + - tsv + type: string + attackSignaturesCheck: + type: boolean + checkMaxValue: + type: boolean + checkMaxValueLength: + type: boolean + checkMetachars: + type: boolean + checkMinValue: + type: boolean + checkMinValueLength: + type: boolean + checkMultipleOfValue: + type: boolean + contentProfile: + properties: + name: + type: string + type: object + dataType: + enum: + - alpha-numeric + - binary + - boolean + - decimal + - email + - integer + - none + - phone + type: string + decodeValueAsBase64: + enum: + - enabled + - disabled + - required + type: string + disallowFileUploadOfExecutables: + type: boolean + enableRegularExpression: + type: boolean + exclusiveMax: + type: boolean + exclusiveMin: + type: boolean + isCookie: + type: boolean + isHeader: + type: boolean + level: + enum: + - global + - url + type: string + maximumLength: + type: integer + metacharsOnParameterValueCheck: + type: boolean + minimumLength: + type: integer + name: + type: string + nameMetacharOverrides: + items: + properties: + isAllowed: + type: boolean + metachar: + type: string + type: object + type: array + objectSerializationStyle: + type: string + parameterEnumValues: + items: + type: string + type: array + parameterLocation: + enum: + - any + - cookie + - form-data + - header + - path + - query + type: string + regularExpression: + type: string + sensitiveParameter: + type: boolean + signatureOverrides: + items: + properties: + enabled: + type: boolean + name: + type: string + signatureId: + type: integer + tag: + type: string + type: object + type: array + staticValues: + type: string + type: + enum: + - explicit + - wildcard + type: string + valueMetacharOverrides: + items: + properties: + isAllowed: + type: boolean + metachar: + type: string + type: object + type: array + valueType: + enum: + - array + - auto-detect + - dynamic-content + - dynamic-parameter-name + - ignore + - json + - object + - openapi-array + - static-content + - user-input + - xml + type: string + type: object + urlSegmentIndex: + type: integer + type: object + type: array + protocol: + enum: + - http + - https + type: string + signatureOverrides: + items: + properties: + enabled: + type: boolean + name: + type: string + signatureId: + type: integer + tag: + type: string + type: object + type: array + type: + enum: + - explicit + - wildcard + type: string + urlContentProfiles: + items: + properties: + headerName: + type: string + headerOrder: + type: string + headerValue: + type: string + name: + type: string + type: + enum: + - apply-content-signatures + - apply-value-and-content-signatures + - disallow + - do-nothing + - form-data + - gwt + - json + - xml + type: string + type: object + type: array + wildcardOrder: + type: integer + type: object + type: array + whitelist-ips: + items: + properties: + blockRequests: + enum: + - always + - never + - policy-default + type: string + ipAddress: + pattern: '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' + type: string + ipMask: + pattern: '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' + type: string + type: object + type: array + whitelistIpReference: + properties: + link: + pattern: ^http + type: string + type: object + xml-profiles: + items: + properties: + attackSignaturesCheck: + type: boolean + defenseAttributes: + properties: + allowCDATA: + type: boolean + allowDTDs: + type: boolean + allowExternalReferences: + type: boolean + allowProcessingInstructions: + type: boolean + maximumAttributeValueLength: + pattern: any|\d+ + type: string + maximumAttributesPerElement: + pattern: any|\d+ + type: string + maximumChildrenPerElement: + pattern: any|\d+ + type: string + maximumDocumentDepth: + pattern: any|\d+ + type: string + maximumDocumentSize: + pattern: any|\d+ + type: string + maximumElements: + pattern: any|\d+ + type: string + maximumNSDeclarations: + pattern: any|\d+ + type: string + maximumNameLength: + pattern: any|\d+ + type: string + maximumNamespaceLength: + pattern: any|\d+ + type: string + tolerateCloseTagShorthand: + type: boolean + tolerateLeadingWhiteSpace: + type: boolean + tolerateNumericNames: + type: boolean + type: object + description: + type: string + enableWss: + type: boolean + followSchemaLinks: + type: boolean + name: + type: string + type: object + type: array + xml-validation-files: + items: + properties: + contents: + type: string + fileName: + type: string + isBase64: + type: boolean + type: object + type: array + xmlProfileReference: + properties: + link: + pattern: ^http + type: string + type: object + xmlValidationFileReference: + properties: + link: + pattern: ^http + type: string + type: object + type: object + type: object + type: object + served: true + storage: true diff --git a/crds/appprotect.f5.com_apusersigs.yaml b/crds/appprotect.f5.com_apusersigs.yaml new file mode 100644 index 0000000..044eeb4 --- /dev/null +++ b/crds/appprotect.f5.com_apusersigs.yaml @@ -0,0 +1,93 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.4.0 + creationTimestamp: null + name: apusersigs.appprotect.f5.com +spec: + group: appprotect.f5.com + names: + kind: APUserSig + listKind: APUserSigList + plural: apusersigs + singular: apusersig + preserveUnknownFields: false + scope: Namespaced + versions: + - name: v1beta1 + schema: + openAPIV3Schema: + description: APUserSig is the Schema for the apusersigs API + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: APUserSigSpec defines the desired state of APUserSig + properties: + properties: + type: string + signatures: + items: + properties: + accuracy: + enum: + - high + - medium + - low + type: string + attackType: + properties: + name: + type: string + type: object + description: + type: string + name: + type: string + references: + properties: + type: + enum: + - bugtraq + - cve + - nessus + - url + type: string + value: + type: string + type: object + risk: + enum: + - high + - medium + - low + type: string + rule: + type: string + signatureType: + enum: + - request + - response + type: string + systems: + items: + properties: + name: + type: string + type: object + type: array + type: object + type: array + tag: + type: string + type: object + type: object + served: true + storage: true diff --git a/crds/k8s.nginx.org_globalconfigurations.yaml b/crds/k8s.nginx.org_globalconfigurations.yaml new file mode 100644 index 0000000..980a338 --- /dev/null +++ b/crds/k8s.nginx.org_globalconfigurations.yaml @@ -0,0 +1,56 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.4.1 + creationTimestamp: null + name: globalconfigurations.k8s.nginx.org +spec: + group: k8s.nginx.org + names: + kind: GlobalConfiguration + listKind: GlobalConfigurationList + plural: globalconfigurations + shortNames: + - gc + singular: globalconfiguration + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: GlobalConfiguration defines the GlobalConfiguration resource. + type: object + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: GlobalConfigurationSpec is the spec of the GlobalConfiguration resource. + type: object + properties: + listeners: + type: array + items: + description: Listener defines a listener. + type: object + properties: + name: + type: string + port: + type: integer + protocol: + type: string + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/crds/k8s.nginx.org_policies.yaml b/crds/k8s.nginx.org_policies.yaml new file mode 100644 index 0000000..67b3ac3 --- /dev/null +++ b/crds/k8s.nginx.org_policies.yaml @@ -0,0 +1,158 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.4.1 + creationTimestamp: null + name: policies.k8s.nginx.org +spec: + group: k8s.nginx.org + names: + kind: Policy + listKind: PolicyList + plural: policies + shortNames: + - pol + singular: policy + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Current state of the Policy. If the resource has a valid status, it means it has been validated and accepted by the Ingress Controller. + jsonPath: .status.state + name: State + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1 + schema: + openAPIV3Schema: + description: Policy defines a Policy for VirtualServer and VirtualServerRoute resources. + type: object + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: PolicySpec is the spec of the Policy resource. The spec includes multiple fields, where each field represents a different policy. Only one policy (field) is allowed. + type: object + properties: + accessControl: + description: 'AccessControl defines an access policy based on the source IP of a request. policy status: production-ready' + type: object + properties: + allow: + type: array + items: + type: string + deny: + type: array + items: + type: string + egressMTLS: + description: 'EgressMTLS defines an Egress MTLS policy. policy status: preview' + type: object + properties: + ciphers: + type: string + protocols: + type: string + serverName: + type: boolean + sessionReuse: + type: boolean + sslName: + type: string + tlsSecret: + type: string + trustedCertSecret: + type: string + verifyDepth: + type: integer + verifyServer: + type: boolean + ingressMTLS: + description: 'IngressMTLS defines an Ingress MTLS policy. policy status: preview' + type: object + properties: + clientCertSecret: + type: string + verifyClient: + type: string + verifyDepth: + type: integer + jwt: + description: 'JWTAuth holds JWT authentication configuration. policy status: preview' + type: object + properties: + realm: + type: string + secret: + type: string + token: + type: string + oidc: + description: OIDC defines an Open ID Connect policy. + type: object + properties: + authEndpoint: + type: string + clientID: + type: string + clientSecret: + type: string + jwksURI: + type: string + redirectURI: + type: string + scope: + type: string + tokenEndpoint: + type: string + rateLimit: + description: 'RateLimit defines a rate limit policy. policy status: preview' + type: object + properties: + burst: + type: integer + delay: + type: integer + dryRun: + type: boolean + key: + type: string + logLevel: + type: string + noDelay: + type: boolean + rate: + type: string + rejectCode: + type: integer + zoneSize: + type: string + status: + description: PolicyStatus is the status of the policy resource + type: object + properties: + message: + type: string + reason: + type: string + state: + type: string + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/crds/k8s.nginx.org_transportservers.yaml b/crds/k8s.nginx.org_transportservers.yaml new file mode 100644 index 0000000..954e849 --- /dev/null +++ b/crds/k8s.nginx.org_transportservers.yaml @@ -0,0 +1,80 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.4.1 + creationTimestamp: null + name: transportservers.k8s.nginx.org +spec: + group: k8s.nginx.org + names: + kind: TransportServer + listKind: TransportServerList + plural: transportservers + shortNames: + - ts + singular: transportserver + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: TransportServer defines the TransportServer resource. + type: object + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: TransportServerSpec is the spec of the TransportServer resource. + type: object + properties: + action: + description: Action defines an action. + type: object + properties: + pass: + type: string + host: + type: string + listener: + description: TransportServerListener defines a listener for a TransportServer. + type: object + properties: + name: + type: string + protocol: + type: string + upstreamParameters: + description: UpstreamParameters defines parameters for an upstream. + type: object + properties: + udpRequests: + type: integer + udpResponses: + type: integer + upstreams: + type: array + items: + description: Upstream defines an upstream. + type: object + properties: + name: + type: string + port: + type: integer + service: + type: string + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/crds/k8s.nginx.org_virtualserverroutes.yaml b/crds/k8s.nginx.org_virtualserverroutes.yaml new file mode 100644 index 0000000..c7430e6 --- /dev/null +++ b/crds/k8s.nginx.org_virtualserverroutes.yaml @@ -0,0 +1,619 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.4.1 + creationTimestamp: null + name: virtualserverroutes.k8s.nginx.org +spec: + group: k8s.nginx.org + names: + kind: VirtualServerRoute + listKind: VirtualServerRouteList + plural: virtualserverroutes + shortNames: + - vsr + singular: virtualserverroute + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Current state of the VirtualServerRoute. If the resource has a valid status, it means it has been validated and accepted by the Ingress Controller. + jsonPath: .status.state + name: State + type: string + - jsonPath: .spec.host + name: Host + type: string + - jsonPath: .status.externalEndpoints[*].ip + name: IP + type: string + - jsonPath: .status.externalEndpoints[*].ports + name: Ports + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1 + schema: + openAPIV3Schema: + description: VirtualServerRoute defines the VirtualServerRoute resource. + type: object + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: VirtualServerRouteSpec is the spec of the VirtualServerRoute resource. + type: object + properties: + host: + type: string + ingressClassName: + type: string + subroutes: + type: array + items: + description: Route defines a route. + type: object + properties: + action: + description: Action defines an action. + type: object + properties: + pass: + type: string + proxy: + description: ActionProxy defines a proxy in an Action. + type: object + properties: + requestHeaders: + description: ProxyRequestHeaders defines the request headers manipulation in an ActionProxy. + type: object + properties: + pass: + type: boolean + set: + type: array + items: + description: Header defines an HTTP Header. + type: object + properties: + name: + type: string + value: + type: string + responseHeaders: + description: ProxyResponseHeaders defines the response headers manipulation in an ActionProxy. + type: object + properties: + add: + type: array + items: + description: AddHeader defines an HTTP Header with an optional Always field to use with the add_header NGINX directive. + type: object + properties: + always: + type: boolean + name: + type: string + value: + type: string + hide: + type: array + items: + type: string + ignore: + type: array + items: + type: string + pass: + type: array + items: + type: string + rewritePath: + type: string + upstream: + type: string + redirect: + description: ActionRedirect defines a redirect in an Action. + type: object + properties: + code: + type: integer + url: + type: string + return: + description: ActionReturn defines a return in an Action. + type: object + properties: + body: + type: string + code: + type: integer + type: + type: string + errorPages: + type: array + items: + description: ErrorPage defines an ErrorPage in a Route. + type: object + properties: + codes: + type: array + items: + type: integer + redirect: + description: ErrorPageRedirect defines a redirect for an ErrorPage. + type: object + properties: + code: + type: integer + url: + type: string + return: + description: ErrorPageReturn defines a return for an ErrorPage. + type: object + properties: + body: + type: string + code: + type: integer + headers: + type: array + items: + description: Header defines an HTTP Header. + type: object + properties: + name: + type: string + value: + type: string + type: + type: string + location-snippets: + type: string + matches: + type: array + items: + description: Match defines a match. + type: object + properties: + action: + description: Action defines an action. + type: object + properties: + pass: + type: string + proxy: + description: ActionProxy defines a proxy in an Action. + type: object + properties: + requestHeaders: + description: ProxyRequestHeaders defines the request headers manipulation in an ActionProxy. + type: object + properties: + pass: + type: boolean + set: + type: array + items: + description: Header defines an HTTP Header. + type: object + properties: + name: + type: string + value: + type: string + responseHeaders: + description: ProxyResponseHeaders defines the response headers manipulation in an ActionProxy. + type: object + properties: + add: + type: array + items: + description: AddHeader defines an HTTP Header with an optional Always field to use with the add_header NGINX directive. + type: object + properties: + always: + type: boolean + name: + type: string + value: + type: string + hide: + type: array + items: + type: string + ignore: + type: array + items: + type: string + pass: + type: array + items: + type: string + rewritePath: + type: string + upstream: + type: string + redirect: + description: ActionRedirect defines a redirect in an Action. + type: object + properties: + code: + type: integer + url: + type: string + return: + description: ActionReturn defines a return in an Action. + type: object + properties: + body: + type: string + code: + type: integer + type: + type: string + conditions: + type: array + items: + description: Condition defines a condition in a MatchRule. + type: object + properties: + argument: + type: string + cookie: + type: string + header: + type: string + value: + type: string + variable: + type: string + splits: + type: array + items: + description: Split defines a split. + type: object + properties: + action: + description: Action defines an action. + type: object + properties: + pass: + type: string + proxy: + description: ActionProxy defines a proxy in an Action. + type: object + properties: + requestHeaders: + description: ProxyRequestHeaders defines the request headers manipulation in an ActionProxy. + type: object + properties: + pass: + type: boolean + set: + type: array + items: + description: Header defines an HTTP Header. + type: object + properties: + name: + type: string + value: + type: string + responseHeaders: + description: ProxyResponseHeaders defines the response headers manipulation in an ActionProxy. + type: object + properties: + add: + type: array + items: + description: AddHeader defines an HTTP Header with an optional Always field to use with the add_header NGINX directive. + type: object + properties: + always: + type: boolean + name: + type: string + value: + type: string + hide: + type: array + items: + type: string + ignore: + type: array + items: + type: string + pass: + type: array + items: + type: string + rewritePath: + type: string + upstream: + type: string + redirect: + description: ActionRedirect defines a redirect in an Action. + type: object + properties: + code: + type: integer + url: + type: string + return: + description: ActionReturn defines a return in an Action. + type: object + properties: + body: + type: string + code: + type: integer + type: + type: string + weight: + type: integer + path: + type: string + policies: + type: array + items: + description: PolicyReference references a policy by name and an optional namespace. + type: object + properties: + name: + type: string + namespace: + type: string + route: + type: string + splits: + type: array + items: + description: Split defines a split. + type: object + properties: + action: + description: Action defines an action. + type: object + properties: + pass: + type: string + proxy: + description: ActionProxy defines a proxy in an Action. + type: object + properties: + requestHeaders: + description: ProxyRequestHeaders defines the request headers manipulation in an ActionProxy. + type: object + properties: + pass: + type: boolean + set: + type: array + items: + description: Header defines an HTTP Header. + type: object + properties: + name: + type: string + value: + type: string + responseHeaders: + description: ProxyResponseHeaders defines the response headers manipulation in an ActionProxy. + type: object + properties: + add: + type: array + items: + description: AddHeader defines an HTTP Header with an optional Always field to use with the add_header NGINX directive. + type: object + properties: + always: + type: boolean + name: + type: string + value: + type: string + hide: + type: array + items: + type: string + ignore: + type: array + items: + type: string + pass: + type: array + items: + type: string + rewritePath: + type: string + upstream: + type: string + redirect: + description: ActionRedirect defines a redirect in an Action. + type: object + properties: + code: + type: integer + url: + type: string + return: + description: ActionReturn defines a return in an Action. + type: object + properties: + body: + type: string + code: + type: integer + type: + type: string + weight: + type: integer + upstreams: + type: array + items: + description: Upstream defines an upstream. + type: object + properties: + buffer-size: + type: string + buffering: + type: boolean + buffers: + description: UpstreamBuffers defines Buffer Configuration for an Upstream. + type: object + properties: + number: + type: integer + size: + type: string + client-max-body-size: + type: string + connect-timeout: + type: string + fail-timeout: + type: string + healthCheck: + description: HealthCheck defines the parameters for active Upstream HealthChecks. + type: object + properties: + connect-timeout: + type: string + enable: + type: boolean + fails: + type: integer + headers: + type: array + items: + description: Header defines an HTTP Header. + type: object + properties: + name: + type: string + value: + type: string + interval: + type: string + jitter: + type: string + passes: + type: integer + path: + type: string + port: + type: integer + read-timeout: + type: string + send-timeout: + type: string + statusMatch: + type: string + tls: + description: UpstreamTLS defines a TLS configuration for an Upstream. + type: object + properties: + enable: + type: boolean + keepalive: + type: integer + lb-method: + type: string + max-conns: + type: integer + max-fails: + type: integer + name: + type: string + next-upstream: + type: string + next-upstream-timeout: + type: string + next-upstream-tries: + type: integer + port: + type: integer + queue: + description: UpstreamQueue defines Queue Configuration for an Upstream. + type: object + properties: + size: + type: integer + timeout: + type: string + read-timeout: + type: string + send-timeout: + type: string + service: + type: string + sessionCookie: + description: SessionCookie defines the parameters for session persistence. + type: object + properties: + domain: + type: string + enable: + type: boolean + expires: + type: string + httpOnly: + type: boolean + name: + type: string + path: + type: string + secure: + type: boolean + slow-start: + type: string + subselector: + type: object + additionalProperties: + type: string + tls: + description: UpstreamTLS defines a TLS configuration for an Upstream. + type: object + properties: + enable: + type: boolean + status: + description: VirtualServerRouteStatus defines the status for the VirtualServerRoute resource. + type: object + properties: + externalEndpoints: + type: array + items: + description: ExternalEndpoint defines the IP and ports used to connect to this resource. + type: object + properties: + ip: + type: string + ports: + type: string + message: + type: string + reason: + type: string + referencedBy: + type: string + state: + type: string + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/crds/k8s.nginx.org_virtualservers.yaml b/crds/k8s.nginx.org_virtualservers.yaml new file mode 100644 index 0000000..e659256 --- /dev/null +++ b/crds/k8s.nginx.org_virtualservers.yaml @@ -0,0 +1,647 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.4.1 + creationTimestamp: null + name: virtualservers.k8s.nginx.org +spec: + group: k8s.nginx.org + names: + kind: VirtualServer + listKind: VirtualServerList + plural: virtualservers + shortNames: + - vs + singular: virtualserver + scope: Namespaced + versions: + - additionalPrinterColumns: + - description: Current state of the VirtualServer. If the resource has a valid status, it means it has been validated and accepted by the Ingress Controller. + jsonPath: .status.state + name: State + type: string + - jsonPath: .spec.host + name: Host + type: string + - jsonPath: .status.externalEndpoints[*].ip + name: IP + type: string + - jsonPath: .status.externalEndpoints[*].ports + name: Ports + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1 + schema: + openAPIV3Schema: + description: VirtualServer defines the VirtualServer resource. + type: object + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: VirtualServerSpec is the spec of the VirtualServer resource. + type: object + properties: + host: + type: string + http-snippets: + type: string + ingressClassName: + type: string + policies: + type: array + items: + description: PolicyReference references a policy by name and an optional namespace. + type: object + properties: + name: + type: string + namespace: + type: string + routes: + type: array + items: + description: Route defines a route. + type: object + properties: + action: + description: Action defines an action. + type: object + properties: + pass: + type: string + proxy: + description: ActionProxy defines a proxy in an Action. + type: object + properties: + requestHeaders: + description: ProxyRequestHeaders defines the request headers manipulation in an ActionProxy. + type: object + properties: + pass: + type: boolean + set: + type: array + items: + description: Header defines an HTTP Header. + type: object + properties: + name: + type: string + value: + type: string + responseHeaders: + description: ProxyResponseHeaders defines the response headers manipulation in an ActionProxy. + type: object + properties: + add: + type: array + items: + description: AddHeader defines an HTTP Header with an optional Always field to use with the add_header NGINX directive. + type: object + properties: + always: + type: boolean + name: + type: string + value: + type: string + hide: + type: array + items: + type: string + ignore: + type: array + items: + type: string + pass: + type: array + items: + type: string + rewritePath: + type: string + upstream: + type: string + redirect: + description: ActionRedirect defines a redirect in an Action. + type: object + properties: + code: + type: integer + url: + type: string + return: + description: ActionReturn defines a return in an Action. + type: object + properties: + body: + type: string + code: + type: integer + type: + type: string + errorPages: + type: array + items: + description: ErrorPage defines an ErrorPage in a Route. + type: object + properties: + codes: + type: array + items: + type: integer + redirect: + description: ErrorPageRedirect defines a redirect for an ErrorPage. + type: object + properties: + code: + type: integer + url: + type: string + return: + description: ErrorPageReturn defines a return for an ErrorPage. + type: object + properties: + body: + type: string + code: + type: integer + headers: + type: array + items: + description: Header defines an HTTP Header. + type: object + properties: + name: + type: string + value: + type: string + type: + type: string + location-snippets: + type: string + matches: + type: array + items: + description: Match defines a match. + type: object + properties: + action: + description: Action defines an action. + type: object + properties: + pass: + type: string + proxy: + description: ActionProxy defines a proxy in an Action. + type: object + properties: + requestHeaders: + description: ProxyRequestHeaders defines the request headers manipulation in an ActionProxy. + type: object + properties: + pass: + type: boolean + set: + type: array + items: + description: Header defines an HTTP Header. + type: object + properties: + name: + type: string + value: + type: string + responseHeaders: + description: ProxyResponseHeaders defines the response headers manipulation in an ActionProxy. + type: object + properties: + add: + type: array + items: + description: AddHeader defines an HTTP Header with an optional Always field to use with the add_header NGINX directive. + type: object + properties: + always: + type: boolean + name: + type: string + value: + type: string + hide: + type: array + items: + type: string + ignore: + type: array + items: + type: string + pass: + type: array + items: + type: string + rewritePath: + type: string + upstream: + type: string + redirect: + description: ActionRedirect defines a redirect in an Action. + type: object + properties: + code: + type: integer + url: + type: string + return: + description: ActionReturn defines a return in an Action. + type: object + properties: + body: + type: string + code: + type: integer + type: + type: string + conditions: + type: array + items: + description: Condition defines a condition in a MatchRule. + type: object + properties: + argument: + type: string + cookie: + type: string + header: + type: string + value: + type: string + variable: + type: string + splits: + type: array + items: + description: Split defines a split. + type: object + properties: + action: + description: Action defines an action. + type: object + properties: + pass: + type: string + proxy: + description: ActionProxy defines a proxy in an Action. + type: object + properties: + requestHeaders: + description: ProxyRequestHeaders defines the request headers manipulation in an ActionProxy. + type: object + properties: + pass: + type: boolean + set: + type: array + items: + description: Header defines an HTTP Header. + type: object + properties: + name: + type: string + value: + type: string + responseHeaders: + description: ProxyResponseHeaders defines the response headers manipulation in an ActionProxy. + type: object + properties: + add: + type: array + items: + description: AddHeader defines an HTTP Header with an optional Always field to use with the add_header NGINX directive. + type: object + properties: + always: + type: boolean + name: + type: string + value: + type: string + hide: + type: array + items: + type: string + ignore: + type: array + items: + type: string + pass: + type: array + items: + type: string + rewritePath: + type: string + upstream: + type: string + redirect: + description: ActionRedirect defines a redirect in an Action. + type: object + properties: + code: + type: integer + url: + type: string + return: + description: ActionReturn defines a return in an Action. + type: object + properties: + body: + type: string + code: + type: integer + type: + type: string + weight: + type: integer + path: + type: string + policies: + type: array + items: + description: PolicyReference references a policy by name and an optional namespace. + type: object + properties: + name: + type: string + namespace: + type: string + route: + type: string + splits: + type: array + items: + description: Split defines a split. + type: object + properties: + action: + description: Action defines an action. + type: object + properties: + pass: + type: string + proxy: + description: ActionProxy defines a proxy in an Action. + type: object + properties: + requestHeaders: + description: ProxyRequestHeaders defines the request headers manipulation in an ActionProxy. + type: object + properties: + pass: + type: boolean + set: + type: array + items: + description: Header defines an HTTP Header. + type: object + properties: + name: + type: string + value: + type: string + responseHeaders: + description: ProxyResponseHeaders defines the response headers manipulation in an ActionProxy. + type: object + properties: + add: + type: array + items: + description: AddHeader defines an HTTP Header with an optional Always field to use with the add_header NGINX directive. + type: object + properties: + always: + type: boolean + name: + type: string + value: + type: string + hide: + type: array + items: + type: string + ignore: + type: array + items: + type: string + pass: + type: array + items: + type: string + rewritePath: + type: string + upstream: + type: string + redirect: + description: ActionRedirect defines a redirect in an Action. + type: object + properties: + code: + type: integer + url: + type: string + return: + description: ActionReturn defines a return in an Action. + type: object + properties: + body: + type: string + code: + type: integer + type: + type: string + weight: + type: integer + server-snippets: + type: string + tls: + description: TLS defines TLS configuration for a VirtualServer. + type: object + properties: + redirect: + description: TLSRedirect defines a redirect for a TLS. + type: object + properties: + basedOn: + type: string + code: + type: integer + enable: + type: boolean + secret: + type: string + upstreams: + type: array + items: + description: Upstream defines an upstream. + type: object + properties: + buffer-size: + type: string + buffering: + type: boolean + buffers: + description: UpstreamBuffers defines Buffer Configuration for an Upstream. + type: object + properties: + number: + type: integer + size: + type: string + client-max-body-size: + type: string + connect-timeout: + type: string + fail-timeout: + type: string + healthCheck: + description: HealthCheck defines the parameters for active Upstream HealthChecks. + type: object + properties: + connect-timeout: + type: string + enable: + type: boolean + fails: + type: integer + headers: + type: array + items: + description: Header defines an HTTP Header. + type: object + properties: + name: + type: string + value: + type: string + interval: + type: string + jitter: + type: string + passes: + type: integer + path: + type: string + port: + type: integer + read-timeout: + type: string + send-timeout: + type: string + statusMatch: + type: string + tls: + description: UpstreamTLS defines a TLS configuration for an Upstream. + type: object + properties: + enable: + type: boolean + keepalive: + type: integer + lb-method: + type: string + max-conns: + type: integer + max-fails: + type: integer + name: + type: string + next-upstream: + type: string + next-upstream-timeout: + type: string + next-upstream-tries: + type: integer + port: + type: integer + queue: + description: UpstreamQueue defines Queue Configuration for an Upstream. + type: object + properties: + size: + type: integer + timeout: + type: string + read-timeout: + type: string + send-timeout: + type: string + service: + type: string + sessionCookie: + description: SessionCookie defines the parameters for session persistence. + type: object + properties: + domain: + type: string + enable: + type: boolean + expires: + type: string + httpOnly: + type: boolean + name: + type: string + path: + type: string + secure: + type: boolean + slow-start: + type: string + subselector: + type: object + additionalProperties: + type: string + tls: + description: UpstreamTLS defines a TLS configuration for an Upstream. + type: object + properties: + enable: + type: boolean + status: + description: VirtualServerStatus defines the status for the VirtualServer resource. + type: object + properties: + externalEndpoints: + type: array + items: + description: ExternalEndpoint defines the IP and ports used to connect to this resource. + type: object + properties: + ip: + type: string + ports: + type: string + message: + type: string + reason: + type: string + state: + type: string + served: true + storage: true + subresources: + status: {} +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] diff --git a/img/NGINX-Ingress-Controller.png b/img/NGINX-Ingress-Controller.png new file mode 100644 index 0000000000000000000000000000000000000000..5624be6705fa10794347cb2822b96be42ebbe0ce GIT binary patch literal 94860 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

ITl(x&%D05*zp0B~esR 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 DhWNuy literal 0 HcmV?d00001 diff --git a/ingress/01-ns-and-sa.yaml b/ingress/01-ns-and-sa.yaml new file mode 100644 index 0000000..994af5a --- /dev/null +++ b/ingress/01-ns-and-sa.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: nginx-ingress +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: nginx-ingress + namespace: nginx-ingress \ No newline at end of file diff --git a/ingress/02-default-server-secret.yaml b/ingress/02-default-server-secret.yaml new file mode 100644 index 0000000..8873540 --- /dev/null +++ b/ingress/02-default-server-secret.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: Secret +metadata: + name: default-server-secret + namespace: nginx-ingress +type: kubernetes.io/tls +data: + tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN2akNDQWFZQ0NRREFPRjl0THNhWFhEQU5CZ2txaGtpRzl3MEJBUXNGQURBaE1SOHdIUVlEVlFRRERCWk8KUjBsT1dFbHVaM0psYzNORGIyNTBjbTlzYkdWeU1CNFhEVEU0TURreE1qRTRNRE16TlZvWERUSXpNRGt4TVRFNApNRE16TlZvd0lURWZNQjBHQTFVRUF3d1dUa2RKVGxoSmJtZHlaWE56UTI5dWRISnZiR3hsY2pDQ0FTSXdEUVlKCktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUwvN2hIUEtFWGRMdjNyaUM3QlBrMTNpWkt5eTlyQ08KR2xZUXYyK2EzUDF0azIrS3YwVGF5aGRCbDRrcnNUcTZzZm8vWUk1Y2Vhbkw4WGM3U1pyQkVRYm9EN2REbWs1Qgo4eDZLS2xHWU5IWlg0Rm5UZ0VPaStlM2ptTFFxRlBSY1kzVnNPazFFeUZBL0JnWlJVbkNHZUtGeERSN0tQdGhyCmtqSXVuektURXUyaDU4Tlp0S21ScUJHdDEwcTNRYzhZT3ExM2FnbmovUWRjc0ZYYTJnMjB1K1lYZDdoZ3krZksKWk4vVUkxQUQ0YzZyM1lma1ZWUmVHd1lxQVp1WXN2V0RKbW1GNWRwdEMzN011cDBPRUxVTExSakZJOTZXNXIwSAo1TmdPc25NWFJNV1hYVlpiNWRxT3R0SmRtS3FhZ25TZ1JQQVpQN2MwQjFQU2FqYzZjNGZRVXpNQ0F3RUFBVEFOCkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQWpLb2tRdGRPcEsrTzhibWVPc3lySmdJSXJycVFVY2ZOUitjb0hZVUoKdGhrYnhITFMzR3VBTWI5dm15VExPY2xxeC9aYzJPblEwMEJCLzlTb0swcitFZ1U2UlVrRWtWcitTTFA3NTdUWgozZWI4dmdPdEduMS9ienM3bzNBaS9kclkrcUI5Q2k1S3lPc3FHTG1US2xFaUtOYkcyR1ZyTWxjS0ZYQU80YTY3Cklnc1hzYktNbTQwV1U3cG9mcGltU1ZmaXFSdkV5YmN3N0NYODF6cFErUyt1eHRYK2VBZ3V0NHh3VlI5d2IyVXYKelhuZk9HbWhWNThDd1dIQnNKa0kxNXhaa2VUWXdSN0diaEFMSkZUUkk3dkhvQXprTWIzbjAxQjQyWjNrN3RXNQpJUDFmTlpIOFUvOWxiUHNoT21FRFZkdjF5ZytVRVJxbStGSis2R0oxeFJGcGZnPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= + tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBdi91RWM4b1JkMHUvZXVJTHNFK1RYZUprckxMMnNJNGFWaEMvYjVyYy9XMlRiNHEvClJOcktGMEdYaVN1eE9ycXgrajlnamx4NXFjdnhkenRKbXNFUkJ1Z1B0ME9hVGtIekhvb3FVWmcwZGxmZ1dkT0EKUTZMNTdlT1l0Q29VOUZ4amRXdzZUVVRJVUQ4R0JsRlNjSVo0b1hFTkhzbysyR3VTTWk2Zk1wTVM3YUhudzFtMApxWkdvRWEzWFNyZEJ6eGc2clhkcUNlUDlCMXl3VmRyYURiUzc1aGQzdUdETDU4cGszOVFqVUFQaHpxdmRoK1JWClZGNGJCaW9CbTVpeTlZTW1hWVhsMm0wTGZzeTZuUTRRdFFzdEdNVWozcGJtdlFmazJBNnljeGRFeFpkZFZsdmwKMm82MjBsMllxcHFDZEtCRThCay90elFIVTlKcU56cHpoOUJUTXdJREFRQUJBb0lCQVFDZklHbXowOHhRVmorNwpLZnZJUXQwQ0YzR2MxNld6eDhVNml4MHg4Mm15d1kxUUNlL3BzWE9LZlRxT1h1SENyUlp5TnUvZ2IvUUQ4bUFOCmxOMjRZTWl0TWRJODg5TEZoTkp3QU5OODJDeTczckM5bzVvUDlkazAvYzRIbjAzSkVYNzZ5QjgzQm9rR1FvYksKMjhMNk0rdHUzUmFqNjd6Vmc2d2szaEhrU0pXSzBwV1YrSjdrUkRWYmhDYUZhNk5nMUZNRWxhTlozVDhhUUtyQgpDUDNDeEFTdjYxWTk5TEI4KzNXWVFIK3NYaTVGM01pYVNBZ1BkQUk3WEh1dXFET1lvMU5PL0JoSGt1aVg2QnRtCnorNTZud2pZMy8yUytSRmNBc3JMTnIwMDJZZi9oY0IraVlDNzVWYmcydVd6WTY3TWdOTGQ5VW9RU3BDRkYrVm4KM0cyUnhybnhBb0dCQU40U3M0ZVlPU2huMVpQQjdhTUZsY0k2RHR2S2ErTGZTTXFyY2pOZjJlSEpZNnhubmxKdgpGenpGL2RiVWVTbWxSekR0WkdlcXZXaHFISy9iTjIyeWJhOU1WMDlRQ0JFTk5jNmtWajJTVHpUWkJVbEx4QzYrCk93Z0wyZHhKendWelU0VC84ajdHalRUN05BZVpFS2FvRHFyRG5BYWkyaW5oZU1JVWZHRXFGKzJyQW9HQkFOMVAKK0tZL0lsS3RWRzRKSklQNzBjUis3RmpyeXJpY05iWCtQVzUvOXFHaWxnY2grZ3l4b25BWlBpd2NpeDN3QVpGdwpaZC96ZFB2aTBkWEppc1BSZjRMazg5b2pCUmpiRmRmc2l5UmJYbyt3TFU4NUhRU2NGMnN5aUFPaTVBRHdVU0FkCm45YWFweUNweEFkREtERHdObit3ZFhtaTZ0OHRpSFRkK3RoVDhkaVpBb0dCQUt6Wis1bG9OOTBtYlF4VVh5YUwKMjFSUm9tMGJjcndsTmVCaWNFSmlzaEhYa2xpSVVxZ3hSZklNM2hhUVRUcklKZENFaHFsV01aV0xPb2I2NTNyZgo3aFlMSXM1ZUtka3o0aFRVdnpldm9TMHVXcm9CV2xOVHlGanIrSWhKZnZUc0hpOGdsU3FkbXgySkJhZUFVWUNXCndNdlQ4NmNLclNyNkQrZG8wS05FZzFsL0FvR0FlMkFVdHVFbFNqLzBmRzgrV3hHc1RFV1JqclRNUzRSUjhRWXQKeXdjdFA4aDZxTGxKUTRCWGxQU05rMXZLTmtOUkxIb2pZT2pCQTViYjhibXNVU1BlV09NNENoaFJ4QnlHbmR2eAphYkJDRkFwY0IvbEg4d1R0alVZYlN5T294ZGt5OEp0ek90ajJhS0FiZHd6NlArWDZDODhjZmxYVFo5MWpYL3RMCjF3TmRKS2tDZ1lCbyt0UzB5TzJ2SWFmK2UwSkN5TGhzVDQ5cTN3Zis2QWVqWGx2WDJ1VnRYejN5QTZnbXo5aCsKcDNlK2JMRUxwb3B0WFhNdUFRR0xhUkcrYlNNcjR5dERYbE5ZSndUeThXczNKY3dlSTdqZVp2b0ZpbmNvVlVIMwphdmxoTUVCRGYxSjltSDB5cDBwWUNaS2ROdHNvZEZtQktzVEtQMjJhTmtsVVhCS3gyZzR6cFE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo= diff --git a/ingress/03-nginx-config.yaml b/ingress/03-nginx-config.yaml new file mode 100644 index 0000000..64c45c4 --- /dev/null +++ b/ingress/03-nginx-config.yaml @@ -0,0 +1,10 @@ +kind: ConfigMap +apiVersion: v1 +metadata: + name: nginx-config + namespace: nginx-ingress +data: + proxy-body-size: "500m" + proxy-read-timeout: "3600" + proxy-connect-timeout: "3600" + client-max-body-size: "500m" diff --git a/ingress/04-global-configuration.yaml b/ingress/04-global-configuration.yaml new file mode 100644 index 0000000..47ee853 --- /dev/null +++ b/ingress/04-global-configuration.yaml @@ -0,0 +1,13 @@ +apiVersion: k8s.nginx.org/v1alpha1 +kind: GlobalConfiguration +metadata: + name: nginx-configuration + namespace: nginx-ingress +#spec: + #listener: + #- name: dns-tcp-http + #port: 80 + #protocol: TCP + #- name: dns-tcp-https + #port: 443 + #protocol: TCP \ No newline at end of file diff --git a/ingress/04-ingress-class.yaml b/ingress/04-ingress-class.yaml new file mode 100644 index 0000000..9e59d8e --- /dev/null +++ b/ingress/04-ingress-class.yaml @@ -0,0 +1,8 @@ +apiVersion: networking.k8s.io/v1 +kind: IngressClass +metadata: + name: nginx + # annotations: + # ingressclass.kubernetes.io/is-default-class: "true" +spec: + controller: nginx.org/ingress-controller \ No newline at end of file diff --git a/ingress/05-rbac.yaml b/ingress/05-rbac.yaml new file mode 100644 index 0000000..6ed60c9 --- /dev/null +++ b/ingress/05-rbac.yaml @@ -0,0 +1,100 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: nginx-ingress + namespace: nginx-ingress +rules: +- apiGroups: + - "" + resources: + - services + - endpoints + verbs: + - get + - list + - watch +- apiGroups: + - "" + resources: + - secrets + verbs: + - get + - list + - watch +- apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - list + - watch + - update + - create +- apiGroups: + - "" + resources: + - pods + verbs: + - list + - watch +- apiGroups: + - "" + resources: + - events + verbs: + - create + - patch + - list +- apiGroups: + - networking.k8s.io + resources: + - ingresses + verbs: + - list + - watch + - get +- apiGroups: + - networking.k8s.io + resources: + - ingresses/status + verbs: + - update +- apiGroups: + - k8s.nginx.org + resources: + - virtualservers + - virtualserverroutes + - globalconfigurations + - transportservers + - policies + verbs: + - list + - watch + - get +- apiGroups: + - k8s.nginx.org + resources: + - virtualservers/status + - virtualserverroutes/status + verbs: + - update +- apiGroups: + - networking.k8s.io + resources: + - ingressclasses + verbs: + - get +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: nginx-ingress +subjects: +- kind: ServiceAccount + name: nginx-ingress + namespace: nginx-ingress +roleRef: + kind: ClusterRole + name: nginx-ingress + apiGroup: rbac.authorization.k8s.io \ No newline at end of file diff --git a/ingress/06-nginx-ingress-deployment.yaml b/ingress/06-nginx-ingress-deployment.yaml new file mode 100644 index 0000000..30e8238 --- /dev/null +++ b/ingress/06-nginx-ingress-deployment.yaml @@ -0,0 +1,64 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: nginx-ingress + namespace: nginx-ingress +spec: + replicas: 2 + selector: + matchLabels: + app: nginx-ingress + template: + metadata: + labels: + app: nginx-ingress + #annotations: + #prometheus.io/scrape: "true" + #prometheus.io/port: "9113" + spec: + serviceAccountName: nginx-ingress + containers: + - image: nginx/nginx-ingress:1.10.0 + imagePullPolicy: Always + name: nginx-ingress + ports: + - name: http + containerPort: 80 + hostPort: 80 + - name: https + containerPort: 443 + hostPort: 443 + - name: readiness-port + containerPort: 8081 + #- name: prometheus + #containerPort: 9113 + readinessProbe: + httpGet: + path: /nginx-ready + port: readiness-port + periodSeconds: 1 + securityContext: + allowPrivilegeEscalation: true + runAsUser: 101 #nginx + capabilities: + drop: + - ALL + add: + - NET_BIND_SERVICE + env: + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + args: + - -nginx-configmaps=$(POD_NAMESPACE)/nginx-config + - -default-server-tls-secret=$(POD_NAMESPACE)/default-server-secret + #- -v=3 # Enables extensive logging. Useful for troubleshooting. + #- -report-ingress-status + - -external-service=nginx-ingress + #- -enable-prometheus-metrics + - -global-configuration=$(POD_NAMESPACE)/nginx-configuration \ No newline at end of file diff --git a/ingress/07-nginx-ingress-loadbalancer.yaml b/ingress/07-nginx-ingress-loadbalancer.yaml new file mode 100644 index 0000000..cd38b5a --- /dev/null +++ b/ingress/07-nginx-ingress-loadbalancer.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: Service +metadata: + name: nginx-ingress + namespace: nginx-ingress +spec: + type: LoadBalancer + ports: + - protocol: TCP + port: 80 + targetPort: 80 + name: http + - protocol: TCP + port: 443 + targetPort: 443 + name: https + selector: + app: nginx-ingress

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 Zo=x|3k}jyxFc#S4AE4U9;~ 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®^UI!(RHC)>yJ4H8#?8 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