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"