Files
ingress_migrate_annotations/yaml/configmap.yaml
2026-01-05 15:55:13 +09:00

204 lines
6.7 KiB
YAML

apiVersion: v1
kind: ConfigMap
metadata:
name: annotation-rule
data:
mapping.yaml: |-
nginx.ingress.kubernetes.io/affinity:
haproxy: haproxy.org/cookie-persistence
support: partial
note: "value 수정 필요 (ex. cookie -> route)"
nginx.ingress.kubernetes.io/backend-protocol:
haproxy: haproxy.org/server-ssl
support: partial
note: "value 수정 필요 (ex. HTTPS -> true)"
nginx.ingress.kubernetes.io/force-ssl-redirect:
haproxy: haproxy.org/ssl-redirect
support: full
nginx.ingress.kubernetes.io/session-cookie-hash:
haproxy: null
support: unsupported
note: "HAProxy는 해시 방식 지정 불필요 (자동 제공)"
nginx.ingress.kubernetes.io/session-cookie-name:
haproxy: haproxy.org/cookie-persistence
support: full
nginx.ingress.kubernetes.io/ssl-redirect:
haproxy: haproxy.org/ssl-redirect
support: full
nginx.ingress.kubernetes.io/server-snippet:
haproxy: haproxy.org/backend-config-snippet
support: partial
note: "value 수정 필요"
nginx.ingress.kubernetes.io/connection-proxy-header:
haproxy: null
support: unsupported
note: "HAProxy 기본적으로 Proxy-Connection 헤더를 추가하지 않음"
nginx.ingress.kubernetes.io/default-backend:
haproxy: null
support: unsupported
note: "CRD 활용 혹은 컨트롤러에 직접 적용 필요"
nginx.ingress.kubernetes.io/custom-http-errors:
haproxy: null
support: unsupported
note: "HAProxy 지원 안함, controller에 마운트를 시켜 구성"
nginx.ingress.kubernetes.io/app-root:
haproxy: haproxy.org/path-rewrite
support: partial
note: "value 수정 필요 (ex. /kor -> (.*) /kor)"
nginx.ingress.kubernetes.io/permanent-redirect:
haproxy: haproxy.org/request-redirect
support: full
nginx.ingress.kubernetes.io/cors-allow-credentials:
haproxy: haproxy.org/cors-allow-credentials
support: full
nginx.ingress.kubernetes.io/cors-allow-headers:
haproxy: haproxy.org/cors-allow-headers
support: full
nginx.ingress.kubernetes.io/cors-allow-methods:
haproxy: haproxy.org/cors-allow-methods
support: full
nginx.ingress.kubernetes.io/cors-allow-origin:
haproxy: haproxy.org/cors-allow-origin
support: full
nginx.ingress.kubernetes.io/enable-cors:
haproxy: haproxy.org/cors-enable
support: full
nginx.ingress.kubernetes.io/preserve-trailing-slash:
haproxy: null
support: unsupported
note: 'HAProxy에서 기본 지원, 제거가 필요할 경우 haproxy.org/path-rewrite: (.*)/$ \1'
nginx.ingress.kubernetes.io/proxy-body-size:
haproxy: haproxy.org/backend-config-snippet
support: partial
note: |-
http-request deny status 413 if { req.body_size gt 1048576000 } 해당 형식으로 값 변경
nginx.ingress.kubernetes.io/proxy-buffer-size:
haproxy: null
support: unsupported
note: "지원하지 않음, configmap을 통한 지원 가능"
nginx.ingress.kubernetes.io/proxy-buffers:
haproxy: null
support: unsupported
note: "지원하지 않음, configmap을 통한 지원 가능"
nginx.ingress.kubernetes.io/proxy-busy-buffers-size:
haproxy: null
support: unsupported
note: "지원하지 않음, configmap을 통한 지원 가능"
nginx.ingress.kubernetes.io/proxy-connect-timeout:
haproxy: null
support: unsupported
note: "지원하지 않음, configmap을 통한 지원 가능"
nginx.ingress.kubernetes.io/proxy-read-timeout:
haproxy: haproxy.org/timeout-server
support: partial
note: "value 수정 필요 (ex. 600 -> 600s)"
nginx.ingress.kubernetes.io/proxy-send-timeout:
haproxy: haproxy.org/timeout-server
support: partial
note: "value 수정 필요 (ex. 600 -> 600s)"
nginx.ingress.kubernetes.io/rewrite-target:
haproxy: haproxy.org/path-rewrite
support: partial
note: 'value 수정 필요 (ex. ^/foo/?(.*)$ /\1 - 설명 /foo/aaa → 백엔드에 /aaa)'
nginx.ingress.kubernetes.io/send-timeout:
haproxy: haproxy.org/timeout-server
support: partial
note: "value 수정 필요 (ex. 600 -> 600s)"
nginx.org/websocket-services:
haproxy: null
support: unsupported
note: '이 서비스로 들어오는 요청에 대해 WebSocket Upgrade 헤더를 자동으로 처리 및 기본 제공, 추가로 haproxy.org/timeout-tunnel: "3600s" 오래 살아있는 연결을 위해 timeout만 적용'
nginx.ingress.kubernetes.io/from-to-www-redirect:
haproxy: null
support: unsupported
note: "HAProxy does not support"
nginx.ingress.kubernetes.io/whitelist-source-range:
haproxy: haproxy.org/whitelist
support: full
nginx.ingress.kubernetes.io/use-regex:
haproxy: null
support: unsupported
note: "정규식 사용 불가능"
nginx.ingress.kubernetes.io/server-snippets:
haproxy: haproxy.org/backend-config-snippet
support: partial
note: |-
value 수정 필요 (ex. | http-request set-path '%[path,regsub("/+","/",g)]')
nginx.ingress.kubernetes.io/cors-max-age:
haproxy: haproxy.org/cors-max-age
support: partial
note: "value 수정 필요 (ex. 600 -> 600s)"
nginx.ingress.kubernetes.io/permanent-redirect-code:
haproxy: haproxy.org/request-redirect-code
support: full
nginx.ingress.kubernetes.io/configuration-snippet:
haproxy: haproxy.org/backend-config-snippet
support: partial
note: "변경 필요 문서 참고"
nginx.ingress.kubernetes.io/cors-expose-headers:
haproxy: haproxy.org/response-set-header
support: partial
note: |-
Access-Control-Expose-Headers "Content-Disposition"
이러한 형태로 수정 필요
nginx.ingress.kubernetes.io/forwarded-for-header:
haproxy: null
support: unsupported
note: 'X-Forwarded-For (L7 HTTP 헤더) = "ClientIP를 HTTP 요청에 적어서 전달"'
nginx.ingress.kubernetes.io/forwarded-for-proxy-protocol-header:
haproxy: null
support: unsupported
note: 'Proxy Protocol (L4 TCP 메타데이터) = "ClientIP를 LB가 TCP 스트림에 실어서 HAProxy로 전달"'
nginx.ingress.kubernetes.io/session-cookie-path:
haproxy: haproxy.org/backend-server-cookie
support: partial
note: "haproxy.org/backend-server-cookie: route 에서 기본값으로 제공 해당 어노테이션 사용 시 사용 안해도 됨"
proxy-buffering:
haproxy: null
support: unsupported
note: "HAProxy does not support"
gzip-level:
haproxy: null
support: unsupported
note: "HAProxy does not support"