diff --git a/ansible/roles/stack-sunbird/defaults/main.yml b/ansible/roles/stack-sunbird/defaults/main.yml index 9906574d28a57cce389ea7bd48a3a12a191a447f..20e18b97923d17d6a2ba7b637b93d403bafffbc9 100644 --- a/ansible/roles/stack-sunbird/defaults/main.yml +++ b/ansible/roles/stack-sunbird/defaults/main.yml @@ -1034,29 +1034,6 @@ common_opa_policy_files: - main.rego - common.rego -opa_envoy_resources: - envoy_resources: - requests: - cpu: "{{ envoy_cpu_req | default('100m') }}" - memory: "{{ envoy_mem_req | default('100Mi') }}" - limits: - cpu: "{{ envoy_cpu_limit | default('1') }}" - memory: "{{ envoy_mem_limit | default('1024Mi') }}" - opa_resources: - requests: - cpu: "{{ opa_cpu_req | default('100m') }}" - memory: "{{ opa_mem_req | default('100Mi') }}" - limits: - cpu: "{{ opa_cpu_limit | default('1') }}" - memory: "{{ opa_mem_limit | default('1024Mi') }}" - initcontainer_resources: - requests: - cpu: "{{ initcontainer_cpu_req | default('100m') }}" - memory: "{{ initcontainer_mem_req | default('100Mi') }}" - limits: - cpu: "{{ initcontainer_cpu_limit | default('200m') }}" - memory: "{{ initcontainer_mem_limit | default('200Mi') }}" - analytics_opa_enabled: true certregistry_opa_enabled: true content_opa_enabled: true diff --git a/kubernetes/helm_charts/core/analytics/templates/deployment.yaml b/kubernetes/helm_charts/core/analytics/templates/deployment.yaml index 39b7ab1b6c608dc8939826178397c89283684102..a23c754a5f68c20bece924759e4a847044c2d576 100644 --- a/kubernetes/helm_charts/core/analytics/templates/deployment.yaml +++ b/kubernetes/helm_charts/core/analytics/templates/deployment.yaml @@ -93,6 +93,9 @@ spec: - --diagnostic-addr=0.0.0.0:8282 - --set=plugins.envoy_ext_authz_grpc.addr=:9191 - --set=plugins.envoy_ext_authz_grpc.path=main/allow + {{- if .Values.opa_decision_logs }} + - --set=decision_logs.console=true + {{- end }} - --log-level=error - --ignore=.* image: openpolicyagent/opa:0.34.2-envoy-2 diff --git a/kubernetes/helm_charts/core/analytics/templates/envoy-config.yaml b/kubernetes/helm_charts/core/analytics/templates/envoy-config.yaml index 443ef91e640078bfbd6be4edc3367a826e5ccc14..562c0770dde3b18da6a67dd939f29d953347bd6a 100644 --- a/kubernetes/helm_charts/core/analytics/templates/envoy-config.yaml +++ b/kubernetes/helm_charts/core/analytics/templates/envoy-config.yaml @@ -5,10 +5,12 @@ data: envoy-config.yaml: | static_resources: listeners: - - address: + - name: listener_0 + address: socket_address: address: 0.0.0.0 port_value: 9999 + per_connection_buffer_limit_bytes: 62914560 filter_chains: - filters: - name: envoy.http_connection_manager @@ -16,6 +18,10 @@ data: "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager codec_type: auto stat_prefix: ingress_http + access_log: + - name: envoy.access_loggers.stdout + typed_config: + "@type": type.googleapis.com/envoy.extensions.access_loggers.stream.v3.StdoutAccessLog route_config: name: local_route virtual_hosts: @@ -43,19 +49,18 @@ data: with_request_body: max_request_bytes: 62914560 allow_partial_message: true - pack_as_bytes: true - failure_mode_allow: false + failure_mode_allow: true grpc_service: google_grpc: target_uri: 127.0.0.1:9191 stat_prefix: ext_authz - timeout: 0.5s + timeout: 5s - name: envoy.filters.http.router clusters: - name: service - connect_timeout: 0.25s - type: strict_dns - lb_policy: round_robin + connect_timeout: 30s + per_connection_buffer_limit_bytes: 62914560 + type: static load_assignment: cluster_name: service endpoints: @@ -66,24 +71,13 @@ data: address: 127.0.0.1 port_value: {{ .Values.network.targetport }} admin: - access_log_path: "/dev/null" + access_log_path: "/dev/stdout" address: socket_address: address: 0.0.0.0 port_value: 10000 - layered_runtime: - layers: - - name: static_layer_0 - static_layer: - envoy: - resource_limits: - listener: - example_listener_name: - connection_limit: 10000 - overload: - global_downstream_max_connections: 50000 kind: ConfigMap metadata: name: {{ .Chart.Name }}-envoy-config namespace: {{ .Values.namespace }} -{{ end }} \ No newline at end of file +{{ end }} diff --git a/kubernetes/helm_charts/core/analytics/values.j2 b/kubernetes/helm_charts/core/analytics/values.j2 index 796187a19bb2770ade1efa7a7119dad617a343c4..c7966e6ca0cd19b19bb9fd25762ca9858230fbfc 100644 --- a/kubernetes/helm_charts/core/analytics/values.j2 +++ b/kubernetes/helm_charts/core/analytics/values.j2 @@ -36,8 +36,31 @@ strategy: {{ envoy_liveness_readiness | to_nice_yaml }} analytics_opa_enabled: {{ analytics_opa_enabled | default('true') }} +opa_decision_logs: {{ analytics_opa_decision_logs | default('false') }} -{{ opa_envoy_resources | to_nice_yaml }} +envoy_resources: + requests: + cpu: "{{ analytics_envoy_cpu_req | default('100m') }}" + memory: "{{ analytics_envoy_mem_req | default('100Mi') }}" + limits: + cpu: "{{ analytics_envoy_cpu_limit | default('1') }}" + memory: "{{ analytics_envoy_mem_limit | default('1024Mi') }}" + +opa_resources: + requests: + cpu: "{{ analytics_opa_cpu_req | default('100m') }}" + memory: "{{ analytics_opa_mem_req | default('100Mi') }}" + limits: + cpu: "{{ analytics_opa_cpu_limit | default('1') }}" + memory: "{{ analytics_opa_mem_limit | default('1024Mi') }}" + +initcontainer_resources: + requests: + cpu: "{{ analytics_initcontainer_cpu_req | default('100m') }}" + memory: "{{ analytics_initcontainer_mem_req | default('100Mi') }}" + limits: + cpu: "{{ analytics_initcontainer_cpu_limit | default('100m') }}" + memory: "{{ analytics_initcontainer_mem_limit | default('100Mi') }}" serviceMonitor: enabled: true diff --git a/kubernetes/helm_charts/core/certregistry/templates/envoy-config.yaml b/kubernetes/helm_charts/core/certregistry/templates/envoy-config.yaml index 5f7f9e5074d8b13e3baf5b3d429f22213b9e82a7..5c75bb2a858d169d53bd4691cc13718299f94eb5 100644 --- a/kubernetes/helm_charts/core/certregistry/templates/envoy-config.yaml +++ b/kubernetes/helm_charts/core/certregistry/templates/envoy-config.yaml @@ -5,10 +5,12 @@ data: envoy-config.yaml: | static_resources: listeners: - - address: + - name: listener_0 + address: socket_address: address: 0.0.0.0 port_value: 9999 + per_connection_buffer_limit_bytes: 62914560 filter_chains: - filters: - name: envoy.http_connection_manager @@ -16,6 +18,10 @@ data: "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager codec_type: auto stat_prefix: ingress_http + access_log: + - name: envoy.access_loggers.stdout + typed_config: + "@type": type.googleapis.com/envoy.extensions.access_loggers.stream.v3.StdoutAccessLog route_config: name: local_route virtual_hosts: @@ -43,18 +49,18 @@ data: with_request_body: max_request_bytes: 62914560 allow_partial_message: true - pack_as_bytes: true - failure_mode_allow: false + failure_mode_allow: true grpc_service: google_grpc: target_uri: 127.0.0.1:9191 stat_prefix: ext_authz - timeout: 0.5s + timeout: 5s - name: envoy.filters.http.router clusters: - name: service - connect_timeout: 0.25s - type: strict_dns + connect_timeout: 30s + per_connection_buffer_limit_bytes: 62914560 + type: static lb_policy: round_robin load_assignment: cluster_name: service @@ -66,22 +72,11 @@ data: address: 127.0.0.1 port_value: {{ .Values.network.targetport }} admin: - access_log_path: "/dev/null" + access_log_path: "/dev/stdout" address: socket_address: address: 0.0.0.0 port_value: 10000 - layered_runtime: - layers: - - name: static_layer_0 - static_layer: - envoy: - resource_limits: - listener: - example_listener_name: - connection_limit: 10000 - overload: - global_downstream_max_connections: 50000 kind: ConfigMap metadata: name: {{ .Chart.Name }}-envoy-config diff --git a/kubernetes/helm_charts/core/certregistry/values.j2 b/kubernetes/helm_charts/core/certregistry/values.j2 index 41c41e80aa43e0a6eee16ffef6609d4cf5e64ede..7eda1d499c8cc0465e1e2031c393851df283f7a4 100644 --- a/kubernetes/helm_charts/core/certregistry/values.j2 +++ b/kubernetes/helm_charts/core/certregistry/values.j2 @@ -31,7 +31,29 @@ strategy: certregistry_opa_enabled: {{ certregistry_opa_enabled | default('true') }} -{{ opa_envoy_resources | to_nice_yaml }} +envoy_resources: + requests: + cpu: "{{ certregistry_envoy_cpu_req | default('100m') }}" + memory: "{{ certregistry_envoy_mem_req | default('100Mi') }}" + limits: + cpu: "{{ certregistry_envoy_cpu_limit | default('1') }}" + memory: "{{ certregistry_envoy_mem_limit | default('1024Mi') }}" + +opa_resources: + requests: + cpu: "{{ certregistry_opa_cpu_req | default('100m') }}" + memory: "{{ certregistry_opa_mem_req | default('100Mi') }}" + limits: + cpu: "{{ certregistry_opa_cpu_limit | default('1') }}" + memory: "{{ certregistry_opa_mem_limit | default('1024Mi') }}" + +initcontainer_resources: + requests: + cpu: "{{ certregistry_initcontainer_cpu_req | default('100m') }}" + memory: "{{ certregistry_initcontainer_mem_req | default('100Mi') }}" + limits: + cpu: "{{ certregistry_initcontainer_cpu_limit | default('100m') }}" + memory: "{{ certregistry_initcontainer_mem_limit | default('100Mi') }}" autoscaling: enabled: {{ certregistry_autoscaling_enabled | default('false') }} diff --git a/kubernetes/helm_charts/core/content/templates/deployment.yaml b/kubernetes/helm_charts/core/content/templates/deployment.yaml index f363e3dc7f9ef2976bcf20ee8e0332156f357575..fb121ac7b203f38614b6813964536cce17d09c87 100644 --- a/kubernetes/helm_charts/core/content/templates/deployment.yaml +++ b/kubernetes/helm_charts/core/content/templates/deployment.yaml @@ -84,6 +84,9 @@ spec: - --diagnostic-addr=0.0.0.0:8282 - --set=plugins.envoy_ext_authz_grpc.addr=:9191 - --set=plugins.envoy_ext_authz_grpc.path=main/allow + {{- if .Values.opa_decision_logs }} + - --set=decision_logs.console=true + {{- end }} - --log-level=error - --ignore=.* image: openpolicyagent/opa:0.34.2-envoy-2 diff --git a/kubernetes/helm_charts/core/content/templates/envoy-config.yaml b/kubernetes/helm_charts/core/content/templates/envoy-config.yaml index d37c1f264421340bfa71895988a903a40797659b..5bc3e603452f84065a087348b863a86b50b89559 100644 --- a/kubernetes/helm_charts/core/content/templates/envoy-config.yaml +++ b/kubernetes/helm_charts/core/content/templates/envoy-config.yaml @@ -5,10 +5,12 @@ data: envoy-config.yaml: | static_resources: listeners: - - address: + - name: listener_0 + address: socket_address: address: 0.0.0.0 port_value: 9999 + per_connection_buffer_limit_bytes: 62914560 filter_chains: - filters: - name: envoy.http_connection_manager @@ -16,6 +18,10 @@ data: "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager codec_type: auto stat_prefix: ingress_http + access_log: + - name: envoy.access_loggers.stdout + typed_config: + "@type": type.googleapis.com/envoy.extensions.access_loggers.stream.v3.StdoutAccessLog route_config: name: local_route virtual_hosts: @@ -43,18 +49,18 @@ data: with_request_body: max_request_bytes: 62914560 allow_partial_message: true - pack_as_bytes: true - failure_mode_allow: false + failure_mode_allow: true grpc_service: google_grpc: target_uri: 127.0.0.1:9191 stat_prefix: ext_authz - timeout: 0.5s + timeout: 5s - name: envoy.filters.http.router clusters: - name: service - connect_timeout: 0.25s - type: strict_dns + connect_timeout: 30s + per_connection_buffer_limit_bytes: 62914560 + type: static lb_policy: round_robin load_assignment: cluster_name: service @@ -66,22 +72,11 @@ data: address: 127.0.0.1 port_value: {{ .Values.network.targetport }} admin: - access_log_path: "/dev/null" + access_log_path: "/dev/stdout" address: socket_address: address: 0.0.0.0 port_value: 10000 - layered_runtime: - layers: - - name: static_layer_0 - static_layer: - envoy: - resource_limits: - listener: - example_listener_name: - connection_limit: 10000 - overload: - global_downstream_max_connections: 50000 kind: ConfigMap metadata: name: {{ .Chart.Name }}-envoy-config diff --git a/kubernetes/helm_charts/core/content/values.j2 b/kubernetes/helm_charts/core/content/values.j2 index 5f0c04b98d9afc5cd3f91828f25c7df476dc551b..505a2b90d66009d5eeddf39533ff37e1a89e142d 100644 --- a/kubernetes/helm_charts/core/content/values.j2 +++ b/kubernetes/helm_charts/core/content/values.j2 @@ -30,8 +30,31 @@ strategy: {{ envoy_liveness_readiness | to_nice_yaml }} content_opa_enabled: {{ content_opa_enabled | default('true') }} +opa_decision_logs: {{ content_opa_decision_logs | default('false') }} -{{ opa_envoy_resources | to_nice_yaml }} +envoy_resources: + requests: + cpu: "{{ content_envoy_cpu_req | default('100m') }}" + memory: "{{ content_envoy_mem_req | default('100Mi') }}" + limits: + cpu: "{{ content_envoy_cpu_limit | default('1') }}" + memory: "{{ content_envoy_mem_limit | default('1024Mi') }}" + +opa_resources: + requests: + cpu: "{{ content_opa_cpu_req | default('100m') }}" + memory: "{{ content_opa_mem_req | default('100Mi') }}" + limits: + cpu: "{{ content_opa_cpu_limit | default('1') }}" + memory: "{{ content_opa_mem_limit | default('1024Mi') }}" + +initcontainer_resources: + requests: + cpu: "{{ content_initcontainer_cpu_req | default('100m') }}" + memory: "{{ content_initcontainer_mem_req | default('100Mi') }}" + limits: + cpu: "{{ content_initcontainer_cpu_limit | default('100m') }}" + memory: "{{ content_initcontainer_mem_limit | default('100Mi') }}" autoscaling: enabled: {{ content_autoscaling_enabled | default('false') }} diff --git a/kubernetes/helm_charts/core/knowledgemw/templates/deployment.yaml b/kubernetes/helm_charts/core/knowledgemw/templates/deployment.yaml index b0b4e68f25703f39ea1eb6d58560e4b9e89840df..5432b2579f4400ae0f424e355256a77e3fbc8e3b 100644 --- a/kubernetes/helm_charts/core/knowledgemw/templates/deployment.yaml +++ b/kubernetes/helm_charts/core/knowledgemw/templates/deployment.yaml @@ -77,6 +77,9 @@ spec: - --diagnostic-addr=0.0.0.0:8282 - --set=plugins.envoy_ext_authz_grpc.addr=:9191 - --set=plugins.envoy_ext_authz_grpc.path=main/allow + {{- if .Values.opa_decision_logs }} + - --set=decision_logs.console=true + {{- end }} - --log-level=error - --ignore=.* image: openpolicyagent/opa:0.34.2-envoy-2 diff --git a/kubernetes/helm_charts/core/knowledgemw/templates/envoy-config.yaml b/kubernetes/helm_charts/core/knowledgemw/templates/envoy-config.yaml index d9705aa804fcdc68c01d72e0b5c4c18645a31301..53bdbf0262e70262755b63af028cfcd36e3c5599 100644 --- a/kubernetes/helm_charts/core/knowledgemw/templates/envoy-config.yaml +++ b/kubernetes/helm_charts/core/knowledgemw/templates/envoy-config.yaml @@ -5,10 +5,12 @@ data: envoy-config.yaml: | static_resources: listeners: - - address: + - name: listener_0 + address: socket_address: address: 0.0.0.0 port_value: 9999 + per_connection_buffer_limit_bytes: 62914560 filter_chains: - filters: - name: envoy.http_connection_manager @@ -16,6 +18,10 @@ data: "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager codec_type: auto stat_prefix: ingress_http + access_log: + - name: envoy.access_loggers.stdout + typed_config: + "@type": type.googleapis.com/envoy.extensions.access_loggers.stream.v3.StdoutAccessLog route_config: name: local_route virtual_hosts: @@ -43,18 +49,18 @@ data: with_request_body: max_request_bytes: 62914560 allow_partial_message: true - pack_as_bytes: true - failure_mode_allow: false + failure_mode_allow: true grpc_service: google_grpc: target_uri: 127.0.0.1:9191 stat_prefix: ext_authz - timeout: 0.5s + timeout: 5s - name: envoy.filters.http.router clusters: - name: service - connect_timeout: 0.25s - type: strict_dns + connect_timeout: 30s + per_connection_buffer_limit_bytes: 62914560 + type: static lb_policy: round_robin load_assignment: cluster_name: service @@ -66,22 +72,11 @@ data: address: 127.0.0.1 port_value: {{ .Values.network.targetport }} admin: - access_log_path: "/dev/null" + access_log_path: "/dev/stdout" address: socket_address: address: 0.0.0.0 port_value: 10000 - layered_runtime: - layers: - - name: static_layer_0 - static_layer: - envoy: - resource_limits: - listener: - example_listener_name: - connection_limit: 10000 - overload: - global_downstream_max_connections: 50000 kind: ConfigMap metadata: name: {{ .Chart.Name }}-envoy-config diff --git a/kubernetes/helm_charts/core/knowledgemw/values.j2 b/kubernetes/helm_charts/core/knowledgemw/values.j2 index 864288cc855c6d7933854c0fb7be0d3f7b746712..a1dba6944dea0573292b1e20b629cf9f227e962b 100644 --- a/kubernetes/helm_charts/core/knowledgemw/values.j2 +++ b/kubernetes/helm_charts/core/knowledgemw/values.j2 @@ -27,8 +27,31 @@ strategy: {{ envoy_liveness_readiness | to_nice_yaml }} knowledgemw_opa_enabled: {{ knowledgemw_opa_enabled | default('true') }} +opa_decision_logs: {{ knowledgemw_opa_decision_logs | default('false') }} -{{ opa_envoy_resources | to_nice_yaml }} +envoy_resources: + requests: + cpu: "{{ knowledgemw_envoy_cpu_req | default('100m') }}" + memory: "{{ knowledgemw_envoy_mem_req | default('100Mi') }}" + limits: + cpu: "{{ knowledgemw_envoy_cpu_limit | default('1') }}" + memory: "{{ knowledgemw_envoy_mem_limit | default('1024Mi') }}" + +opa_resources: + requests: + cpu: "{{ knowledgemw_opa_cpu_req | default('100m') }}" + memory: "{{ knowledgemw_opa_mem_req | default('100Mi') }}" + limits: + cpu: "{{ knowledgemw_opa_cpu_limit | default('1') }}" + memory: "{{ knowledgemw_opa_mem_limit | default('1024Mi') }}" + +initcontainer_resources: + requests: + cpu: "{{ knowledgemw_initcontainer_cpu_req | default('100m') }}" + memory: "{{ knowledgemw_initcontainer_mem_req | default('100Mi') }}" + limits: + cpu: "{{ knowledgemw_initcontainer_cpu_limit | default('100m') }}" + memory: "{{ knowledgemw_initcontainer_mem_limit | default('100Mi') }}" knowledgemw_access_basepath: {{ knowledgemw_access_basepath | default('/home/sunbird/mw/content/keys/') }} diff --git a/kubernetes/helm_charts/core/learner/templates/deployment.yaml b/kubernetes/helm_charts/core/learner/templates/deployment.yaml index a863eba6ca174e89f67ee6c31af7d683d7bad198..fcf765e76c574898f80791471bcf4a7eaa0416fe 100644 --- a/kubernetes/helm_charts/core/learner/templates/deployment.yaml +++ b/kubernetes/helm_charts/core/learner/templates/deployment.yaml @@ -86,6 +86,9 @@ spec: - --diagnostic-addr=0.0.0.0:8282 - --set=plugins.envoy_ext_authz_grpc.addr=:9191 - --set=plugins.envoy_ext_authz_grpc.path=main/allow + {{- if .Values.opa_decision_logs }} + - --set=decision_logs.console=true + {{- end }} - --log-level=error - --ignore=.* image: openpolicyagent/opa:0.34.2-envoy-2 diff --git a/kubernetes/helm_charts/core/learner/templates/envoy-config.yaml b/kubernetes/helm_charts/core/learner/templates/envoy-config.yaml index d571252ebdb26668d83fca6ddba70d80259dc7ac..99873787fadbcc7cc4077c748b07e653bb0608c5 100644 --- a/kubernetes/helm_charts/core/learner/templates/envoy-config.yaml +++ b/kubernetes/helm_charts/core/learner/templates/envoy-config.yaml @@ -5,10 +5,12 @@ data: envoy-config.yaml: | static_resources: listeners: - - address: + - name: listener_0 + address: socket_address: address: 0.0.0.0 port_value: 9999 + per_connection_buffer_limit_bytes: 62914560 filter_chains: - filters: - name: envoy.http_connection_manager @@ -16,6 +18,10 @@ data: "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager codec_type: auto stat_prefix: ingress_http + access_log: + - name: envoy.access_loggers.stdout + typed_config: + "@type": type.googleapis.com/envoy.extensions.access_loggers.stream.v3.StdoutAccessLog route_config: name: local_route virtual_hosts: @@ -43,18 +49,18 @@ data: with_request_body: max_request_bytes: 62914560 allow_partial_message: true - pack_as_bytes: true - failure_mode_allow: false + failure_mode_allow: true grpc_service: google_grpc: target_uri: 127.0.0.1:9191 stat_prefix: ext_authz - timeout: 0.5s + timeout: 5s - name: envoy.filters.http.router clusters: - name: service - connect_timeout: 0.25s - type: strict_dns + connect_timeout: 30s + per_connection_buffer_limit_bytes: 62914560 + type: static lb_policy: round_robin load_assignment: cluster_name: service @@ -66,22 +72,11 @@ data: address: 127.0.0.1 port_value: {{ .Values.network.targetport }} admin: - access_log_path: "/dev/null" + access_log_path: "/dev/stdout" address: socket_address: address: 0.0.0.0 port_value: 10000 - layered_runtime: - layers: - - name: static_layer_0 - static_layer: - envoy: - resource_limits: - listener: - example_listener_name: - connection_limit: 10000 - overload: - global_downstream_max_connections: 50000 kind: ConfigMap metadata: name: {{ .Chart.Name }}-envoy-config diff --git a/kubernetes/helm_charts/core/learner/values.j2 b/kubernetes/helm_charts/core/learner/values.j2 index b7de6f529d2c31c24d8f4e3ccac84d85d53e0ac0..9a463b20261e19ba5fc06b6eaede248b4a077713 100644 --- a/kubernetes/helm_charts/core/learner/values.j2 +++ b/kubernetes/helm_charts/core/learner/values.j2 @@ -31,8 +31,31 @@ strategy: {{ envoy_liveness_readiness | to_nice_yaml }} learner_opa_enabled: {{ learner_opa_enabled | default('true') }} +opa_decision_logs: {{ learner_opa_decision_logs | default('false') }} -{{ opa_envoy_resources | to_nice_yaml }} +envoy_resources: + requests: + cpu: "{{ learner_envoy_cpu_req | default('100m') }}" + memory: "{{ learner_envoy_mem_req | default('100Mi') }}" + limits: + cpu: "{{ learner_envoy_cpu_limit | default('1') }}" + memory: "{{ learner_envoy_mem_limit | default('1024Mi') }}" + +opa_resources: + requests: + cpu: "{{ learner_opa_cpu_req | default('100m') }}" + memory: "{{ learner_opa_mem_req | default('100Mi') }}" + limits: + cpu: "{{ learner_opa_cpu_limit | default('1') }}" + memory: "{{ learner_opa_mem_limit | default('1024Mi') }}" + +initcontainer_resources: + requests: + cpu: "{{ learner_initcontainer_cpu_req | default('100m') }}" + memory: "{{ learner_initcontainer_mem_req | default('100Mi') }}" + limits: + cpu: "{{ learner_initcontainer_cpu_limit | default('100m') }}" + memory: "{{ learner_initcontainer_mem_limit | default('100Mi') }}" learner_access_basepath: {{ learner_access_basepath | default('/keys/') }} diff --git a/kubernetes/helm_charts/core/lms/templates/deployment.yaml b/kubernetes/helm_charts/core/lms/templates/deployment.yaml index 1c455207e2c49bc97abc4003c5dbe91b706edac5..d394b5f750ee43ddc338042d15e9fe3a34421665 100644 --- a/kubernetes/helm_charts/core/lms/templates/deployment.yaml +++ b/kubernetes/helm_charts/core/lms/templates/deployment.yaml @@ -90,6 +90,9 @@ spec: - --diagnostic-addr=0.0.0.0:8282 - --set=plugins.envoy_ext_authz_grpc.addr=:9191 - --set=plugins.envoy_ext_authz_grpc.path=main/allow + {{- if .Values.opa_decision_logs }} + - --set=decision_logs.console=true + {{- end }} - --log-level=error - --ignore=.* image: openpolicyagent/opa:0.34.2-envoy-2 diff --git a/kubernetes/helm_charts/core/lms/templates/envoy-config.yaml b/kubernetes/helm_charts/core/lms/templates/envoy-config.yaml index ca5b325c552113721f373d5b994d94c844b9dcf1..c1cdfd8f65beb0c9ac6a29ec0e9b23024ad08c95 100644 --- a/kubernetes/helm_charts/core/lms/templates/envoy-config.yaml +++ b/kubernetes/helm_charts/core/lms/templates/envoy-config.yaml @@ -5,10 +5,12 @@ data: envoy-config.yaml: | static_resources: listeners: - - address: + - name: listener_0 + address: socket_address: address: 0.0.0.0 port_value: 9999 + per_connection_buffer_limit_bytes: 62914560 filter_chains: - filters: - name: envoy.http_connection_manager @@ -16,6 +18,10 @@ data: "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager codec_type: auto stat_prefix: ingress_http + access_log: + - name: envoy.access_loggers.stdout + typed_config: + "@type": type.googleapis.com/envoy.extensions.access_loggers.stream.v3.StdoutAccessLog route_config: name: local_route virtual_hosts: @@ -43,18 +49,18 @@ data: with_request_body: max_request_bytes: 62914560 allow_partial_message: true - pack_as_bytes: true - failure_mode_allow: false + failure_mode_allow: true grpc_service: google_grpc: target_uri: 127.0.0.1:9191 stat_prefix: ext_authz - timeout: 0.5s + timeout: 5s - name: envoy.filters.http.router clusters: - name: service - connect_timeout: 0.25s - type: strict_dns + connect_timeout: 30s + per_connection_buffer_limit_bytes: 62914560 + type: static lb_policy: round_robin load_assignment: cluster_name: service @@ -66,22 +72,11 @@ data: address: 127.0.0.1 port_value: {{ .Values.network.targetport }} admin: - access_log_path: "/dev/null" + access_log_path: "/dev/stdout" address: socket_address: address: 0.0.0.0 port_value: 10000 - layered_runtime: - layers: - - name: static_layer_0 - static_layer: - envoy: - resource_limits: - listener: - example_listener_name: - connection_limit: 10000 - overload: - global_downstream_max_connections: 50000 kind: ConfigMap metadata: name: {{ .Chart.Name }}-envoy-config diff --git a/kubernetes/helm_charts/core/lms/values.j2 b/kubernetes/helm_charts/core/lms/values.j2 index 43589dc1385f43af150596e5b5484ed810480371..519736aaac189475ff4b7c18360d0e7f2cdd8bb6 100644 --- a/kubernetes/helm_charts/core/lms/values.j2 +++ b/kubernetes/helm_charts/core/lms/values.j2 @@ -30,8 +30,31 @@ strategy: {{ envoy_liveness_readiness | to_nice_yaml }} lms_opa_enabled: {{ lms_opa_enabled | default('true') }} +opa_decision_logs: {{ lms_opa_decision_logs | default('false') }} -{{ opa_envoy_resources | to_nice_yaml }} +envoy_resources: + requests: + cpu: "{{ lms_envoy_cpu_req | default('100m') }}" + memory: "{{ lms_envoy_mem_req | default('100Mi') }}" + limits: + cpu: "{{ lms_envoy_cpu_limit | default('1') }}" + memory: "{{ lms_envoy_mem_limit | default('1024Mi') }}" + +opa_resources: + requests: + cpu: "{{ lms_opa_cpu_req | default('100m') }}" + memory: "{{ lms_opa_mem_req | default('100Mi') }}" + limits: + cpu: "{{ lms_opa_cpu_limit | default('1') }}" + memory: "{{ lms_opa_mem_limit | default('1024Mi') }}" + +initcontainer_resources: + requests: + cpu: "{{ lms_initcontainer_cpu_req | default('100m') }}" + memory: "{{ lms_initcontainer_mem_req | default('100Mi') }}" + limits: + cpu: "{{ lms_initcontainer_cpu_limit | default('100m') }}" + memory: "{{ lms_initcontainer_mem_limit | default('100Mi') }}" lms_access_basepath: {{ lms_access_basepath | default('/keys/') }} diff --git a/kubernetes/opa/common/common.rego b/kubernetes/opa/common/common.rego index 384a67b6506f9864a283027f30aa8639f66a8d46..f6267368d9d5afe53d3888b302aacffe23dc9cd4 100644 --- a/kubernetes/opa/common/common.rego +++ b/kubernetes/opa/common/common.rego @@ -72,7 +72,7 @@ org_check(roles) = token_organisationids { } federation_id_check { - federation_id := token_federation_id + federation_id == token_federation_id } parent_id_check {