Skip to content
Snippets Groups Projects
Commit 9ca8d2b0 authored by Oleksandr Kosse (EPAM)'s avatar Oleksandr Kosse (EPAM)
Browse files

Merge branch 'okosse' into 'master'

[GONRG-6339] Deploy redis by search helm

See merge request osdu/platform/system/search-service!422
parents 64592beb d6048052
No related branches found
No related tags found
1 merge request!422[GONRG-6339] Deploy redis by search helm
Pipeline #161319 failed
......@@ -31,6 +31,7 @@ Apache-2.0
========================================================================
The following software have components provided under the terms of this license:
- AHC/Client (from https://repo1.maven.org/maven2/org/asynchttpclient/async-http-client)
- AMQP 1.0 JMS Spring Boot AutoConfiguration (from https://repo1.maven.org/maven2/org/amqphub/spring/amqp-10-jms-spring-boot-autoconfigure)
- AMQP 1.0 JMS Spring Boot Starter (from https://repo1.maven.org/maven2/org/amqphub/spring/amqp-10-jms-spring-boot-starter)
- ASM Analysis (from http://asm.ow2.io/)
......@@ -79,8 +80,7 @@ The following software have components provided under the terms of this license:
- Apache Lucene (module: misc) (from https://lucene.apache.org/, https://repo1.maven.org/maven2/org/apache/lucene/lucene-misc)
- Apache Lucene (module: spatial-extras) (from https://lucene.apache.org/, https://repo1.maven.org/maven2/org/apache/lucene/lucene-spatial-extras)
- Apache Lucene (module: suggest) (from https://lucene.apache.org/, https://repo1.maven.org/maven2/org/apache/lucene/lucene-suggest)
- AssertJ fluent assertions (from ${project.parent.url}#${project.artifactId}, https://repo1.maven.org/maven2/org/assertj/assertj-core)
- Asynchronous Http Client (from https://repo1.maven.org/maven2/org/asynchttpclient/async-http-client)
- AssertJ Core (from ${project.organization.url}#${project.artifactId})
- Asynchronous Http Client Netty Utils (from https://repo1.maven.org/maven2/org/asynchttpclient/async-http-client-netty-utils)
- AutoValue Annotations (from https://github.com/google/auto/tree/master/value, https://repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations)
- BSON (from http://bsonspec.org, https://bsonspec.org)
......@@ -318,12 +318,12 @@ The following software have components provided under the terms of this license:
- compiler (from http://github.com/spullara/mustache.java)
- datastore-v1-proto-client (from https://repo1.maven.org/maven2/com/google/cloud/datastore/datastore-v1-proto-client)
- documentdb-bulkexecutor (from http://azure.microsoft.com/en-us/services/documentdb/)
- elasticsearch (from https://github.com/elastic/elasticsearch, https://repo1.maven.org/maven2/org/elasticsearch/elasticsearch)
- elasticsearch-cli (from https://github.com/elastic/elasticsearch)
- elasticsearch-core (from https://github.com/elastic/elasticsearch)
- elasticsearch-geo (from https://github.com/elastic/elasticsearch)
- elasticsearch-secure-sm (from https://github.com/elastic/elasticsearch)
- elasticsearch-x-content (from https://github.com/elastic/elasticsearch)
- elasticsearch (from https://github.com/elastic/elasticsearch, https://github.com/elastic/elasticsearch.git, https://repo1.maven.org/maven2/org/elasticsearch/elasticsearch)
- elasticsearch-cli (from https://github.com/elastic/elasticsearch, https://github.com/elastic/elasticsearch.git)
- elasticsearch-core (from https://github.com/elastic/elasticsearch, https://github.com/elastic/elasticsearch.git)
- elasticsearch-geo (from https://github.com/elastic/elasticsearch.git)
- elasticsearch-secure-sm (from https://github.com/elastic/elasticsearch, https://github.com/elastic/elasticsearch.git)
- elasticsearch-x-content (from https://github.com/elastic/elasticsearch, https://github.com/elastic/elasticsearch.git)
- embedded-elasticsearch (from https://github.com/allegro/embedded-elasticsearch)
- error-prone annotations (from https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations)
- io.grpc:grpc-alts (from https://github.com/grpc/grpc-java)
......@@ -370,11 +370,11 @@ The following software have components provided under the terms of this license:
- proto-google-cloud-iamcredentials-v1 (from https://github.com/googleapis/google-cloud-java, https://github.com/googleapis/java-iamcredentials/proto-google-cloud-iamcredentials-v1, https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-cloud-iamcredentials-v1)
- proto-google-cloud-logging-v2 (from https://github.com/googleapis/java-logging/proto-google-cloud-logging-v2, https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-cloud-logging-v2)
- proto-google-cloud-pubsub-v1 (from https://github.com/googleapis/googleapis, https://github.com/googleapis/java-pubsub/proto-google-cloud-pubsub-v1)
- proto-google-common-protos (from https://github.com/googleapis/api-client-staging, https://github.com/googleapis/googleapis, https://github.com/googleapis/java-iam/proto-google-common-protos)
- proto-google-iam-v1 (from https://github.com/googleapis/googleapis, https://github.com/googleapis/java-iam/proto-google-iam-v1)
- proto-google-common-protos (from https://github.com/googleapis/api-client-staging, https://github.com/googleapis/gapic-generator-java, https://github.com/googleapis/googleapis, https://github.com/googleapis/java-iam/proto-google-common-protos)
- proto-google-iam-v1 (from https://github.com/googleapis/gapic-generator-java, https://github.com/googleapis/googleapis, https://github.com/googleapis/java-iam/proto-google-iam-v1)
- rank-eval (from https://github.com/elastic/elasticsearch.git)
- resilience4j (from https://github.com/resilience4j/resilience4j, https://resilience4j.readme.io, ttps://resilience4j.readme.io)
- rest (from https://github.com/elastic/elasticsearch)
- rest (from https://github.com/elastic/elasticsearch.git)
- rest-high-level (from https://github.com/elastic/elasticsearch)
- spring-security-crypto (from http://spring.io/spring-security, https://spring.io/projects/spring-security, https://spring.io/spring-security)
- spring-security-oauth2-client (from http://spring.io/spring-security, https://spring.io/projects/spring-security, https://spring.io/spring-security)
......@@ -399,7 +399,7 @@ BSD-2-Clause
========================================================================
The following software have components provided under the terms of this license:
- API Common (from https://github.com/googleapis, https://github.com/googleapis/api-common-java)
- API Common (from https://github.com/googleapis, https://github.com/googleapis/api-common-java, https://repo1.maven.org/maven2/com/google/api/api-common)
- Apache Lucene (module: memory) (from https://lucene.apache.org/)
- Apache Lucene (module: misc) (from https://lucene.apache.org/, https://repo1.maven.org/maven2/org/apache/lucene/lucene-misc)
- Apache Lucene (module: spatial-extras) (from https://lucene.apache.org/, https://repo1.maven.org/maven2/org/apache/lucene/lucene-spatial-extras)
......@@ -430,7 +430,7 @@ BSD-3-Clause
========================================================================
The following software have components provided under the terms of this license:
- API Common (from https://github.com/googleapis, https://github.com/googleapis/api-common-java)
- API Common (from https://github.com/googleapis, https://github.com/googleapis/api-common-java, https://repo1.maven.org/maven2/com/google/api/api-common)
- ASM Analysis (from http://asm.ow2.io/)
- ASM Commons (from http://asm.ow2.io/, https://repo1.maven.org/maven2/org/ow2/asm/asm-commons)
- ASM Core (from http://asm.ow2.io/, http://asm.ow2.org/)
......@@ -457,7 +457,7 @@ The following software have components provided under the terms of this license:
- JBoss Jakarta Annotations API (from https://github.com/jboss/jboss-jakarta-annotations-api_spec)
- Jackson module: Afterburner (from http://wiki.fasterxml.com/JacksonHome, https://github.com/FasterXML/jackson-modules-base)
- Jakarta Activation (from https://repo1.maven.org/maven2/com/sun/activation/jakarta.activation)
- Jakarta Activation API (from https://github.com/eclipse-ee4j/jaf, https://repo1.maven.org/maven2/jakarta/activation/jakarta.activation-api)
- Jakarta Activation API (from https://github.com/eclipse-ee4j/jaf, https://github.com/jakartaee/jaf-api, https://repo1.maven.org/maven2/jakarta/activation/jakarta.activation-api)
- Jakarta Annotations API (from https://projects.eclipse.org/projects/ee4j.ca)
- Jakarta RESTful WS API (from https://github.com/eclipse-ee4j/jaxrs-api)
- Jakarta XML Binding API (from https://repo1.maven.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api, https://repo1.maven.org/maven2/org/jboss/spec/javax/xml/bind/jboss-jaxb-api_2.3_spec)
......@@ -566,7 +566,7 @@ The following software have components provided under the terms of this license:
- Expression Language 3.0 (from http://el-spec.java.net, http://uel.java.net, https://projects.eclipse.org/projects/ee4j.el)
- Expression Language 3.0 API (from http://uel-spec.java.net, http://uel.java.net)
- JSR 311 API (from https://jsr311.dev.java.net, https://jsr311.dev.java.net/)
- Jakarta Activation API (from https://github.com/eclipse-ee4j/jaf, https://repo1.maven.org/maven2/jakarta/activation/jakarta.activation-api)
- Jakarta Activation API (from https://github.com/eclipse-ee4j/jaf, https://github.com/jakartaee/jaf-api, https://repo1.maven.org/maven2/jakarta/activation/jakarta.activation-api)
- Java Architecture for XML Binding (from http://jaxb.java.net/, https://repo1.maven.org/maven2/javax/xml/bind/jaxb-api)
- JavaBeans Activation Framework (from https://repo1.maven.org/maven2/com/sun/activation/javax.activation)
- javax.annotation-api (from http://jcp.org/en/jsr/detail?id=250)
......@@ -612,7 +612,7 @@ The following software have components provided under the terms of this license:
- JUnit Platform Commons (from http://junit.org/junit5/, https://junit.org/junit5/)
- JUnit Platform Engine API (from http://junit.org/junit5/, https://junit.org/junit5/)
- Jakarta Activation (from https://repo1.maven.org/maven2/com/sun/activation/jakarta.activation)
- Jakarta Activation API (from https://github.com/eclipse-ee4j/jaf, https://repo1.maven.org/maven2/jakarta/activation/jakarta.activation-api)
- Jakarta Activation API (from https://github.com/eclipse-ee4j/jaf, https://github.com/jakartaee/jaf-api, https://repo1.maven.org/maven2/jakarta/activation/jakarta.activation-api)
- Jakarta Annotations API (from https://projects.eclipse.org/projects/ee4j.ca)
- Jakarta Bean Validation API (from https://beanvalidation.org)
- Jakarta XML Binding API (from https://repo1.maven.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api, https://repo1.maven.org/maven2/org/jboss/spec/javax/xml/bind/jboss-jaxb-api_2.3_spec)
......@@ -651,7 +651,7 @@ The following software have components provided under the terms of this license:
- JUnit Platform Commons (from http://junit.org/junit5/, https://junit.org/junit5/)
- JUnit Platform Engine API (from http://junit.org/junit5/, https://junit.org/junit5/)
- Jakarta Activation (from https://repo1.maven.org/maven2/com/sun/activation/jakarta.activation)
- Jakarta Activation API (from https://github.com/eclipse-ee4j/jaf, https://repo1.maven.org/maven2/jakarta/activation/jakarta.activation-api)
- Jakarta Activation API (from https://github.com/eclipse-ee4j/jaf, https://github.com/jakartaee/jaf-api, https://repo1.maven.org/maven2/jakarta/activation/jakarta.activation-api)
- Jakarta Annotations API (from https://projects.eclipse.org/projects/ee4j.ca)
- Jakarta Bean Validation API (from https://beanvalidation.org)
- Jakarta RESTful WS API (from https://github.com/eclipse-ee4j/jaxrs-api)
......@@ -716,7 +716,7 @@ The following software have components provided under the terms of this license:
- JAX-RS 2.1: The Java(TM) API for RESTful Web Services (from https://repo1.maven.org/maven2/org/jboss/spec/javax/ws/rs/jboss-jaxrs-api_2.1_spec)
- JBoss Jakarta Annotations API (from https://github.com/jboss/jboss-jakarta-annotations-api_spec)
- Jakarta Activation (from https://repo1.maven.org/maven2/com/sun/activation/jakarta.activation)
- Jakarta Activation API (from https://github.com/eclipse-ee4j/jaf, https://repo1.maven.org/maven2/jakarta/activation/jakarta.activation-api)
- Jakarta Activation API (from https://github.com/eclipse-ee4j/jaf, https://github.com/jakartaee/jaf-api, https://repo1.maven.org/maven2/jakarta/activation/jakarta.activation-api)
- Jakarta Annotations API (from https://projects.eclipse.org/projects/ee4j.ca)
- Jakarta Bean Validation API (from https://beanvalidation.org)
- Jakarta RESTful WS API (from https://github.com/eclipse-ee4j/jaxrs-api)
......@@ -957,7 +957,7 @@ SunPro
The following software have components provided under the terms of this license:
- Lucene Core (from https://repo1.maven.org/maven2/org/apache/lucene/lucene-core)
- elasticsearch-core (from https://github.com/elastic/elasticsearch)
- elasticsearch-core (from https://github.com/elastic/elasticsearch, https://github.com/elastic/elasticsearch.git)
========================================================================
WTFPL
......@@ -1019,5 +1019,5 @@ unknown
The following software have components provided under the terms of this license:
- Jakarta Activation (from https://repo1.maven.org/maven2/com/sun/activation/jakarta.activation)
- Jakarta Activation API (from https://github.com/eclipse-ee4j/jaf, https://repo1.maven.org/maven2/jakarta/activation/jakarta.activation-api)
- Jakarta Activation API (from https://github.com/eclipse-ee4j/jaf, https://github.com/jakartaee/jaf-api, https://repo1.maven.org/maven2/jakarta/activation/jakarta.activation-api)
- System Rules (from http://stefanbirkner.github.com/system-rules/, http://stefanbirkner.github.io/system-rules/)
......@@ -30,38 +30,48 @@ You need to set variables in **values.yaml** file using any code editor. Some of
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|----------|
**logLevel** | logging level | string | `ERROR` | yes
**springProfilesActive** | active spring profile | string | `gcp` | yes
**entitlementsHost** | Entitlements service host | string | `http://entitlements` | yes
**indexerHost** | Indexer service host | string | `http://indexer` | yes
**policyHost** | Policy service host | string | `http://policy` | yes
**partitionHost** | Partition service host | string | `http://partition` | yes
**redisGroupHost** | Redis group host | string | `redis-group-master` | yes
**redisSearchHost** | Redis search host | string | `redis-search-master` | yes
**policyId** | policy id from ex `${POLICY_HOST}/api/policy/v1/policies` | string | `search` | yes
**securityHttpsCertificateTrust** | Elastic client connection uses TrustSelfSignedStrategy(), if it is `true` | bool | `true` | yes
**data.logLevel** | logging level | string | `ERROR` | yes
**data.springProfilesActive** | active spring profile | string | `gcp` | yes
**data.entitlementsHost** | Entitlements service host | string | `http://entitlements` | yes
**data.indexerHost** | Indexer service host | string | `http://indexer` | yes
**data.policyHost** | Policy service host | string | `http://policy` | yes
**data.partitionHost** | Partition service host | string | `http://partition` | yes
**data.policyId** | policy id from ex `${POLICY_HOST}/api/policy/v1/policies` | string | `search` | yes
**data.securityHttpsCertificateTrust** | Elastic client connection uses TrustSelfSignedStrategy(), if it is `true` | bool | `true` | yes
**data.redisSearchHost** | The host for redis instance. If empty (by default), helm installs an internal redis instance | string | - | yes
**data.redisSearchPort** | The port for redis instance | digit | 6379 | yes
### Deployment variables
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|----------|
**requestsCpu** | amount of requested CPU | string | `0.1` | yes
**requestsMemory** | amount of requested memory| string | `448M` | yes
**limitsCpu** | CPU limit | string | `1` | yes
**limitsMemory** | memory limit | string | `1G` | yes
**serviceAccountName** | name of your service account | string | `search` | yes
**imagePullPolicy** | when to pull image | string | `IfNotPresent` | yes
**image** | service image | string | - | yes
**data.requestsCpu** | amount of requested CPU | string | `75m` | yes
**data.requestsMemory** | amount of requested memory| string | `448M` | yes
**data.limitsCpu** | CPU limit | string | `1` | yes
**data.limitsMemory** | memory limit | string | `1G` | yes
**data.serviceAccountName** | name of your service account | string | `search` | yes
**data.imagePullPolicy** | when to pull image | string | `IfNotPresent` | yes
**data.image** | service image | string | - | yes
**data.redisImage** | service image | string | `redis:7` | yes
### Configuration variables
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|----------|
**appName** | Service name | string | `search` | yes
**configmap** | configmap to be used | string | `search-config` | yes
**elasticSecretName** | secret for elasticsearch | string | `search-elastic-secret` | yes
**onPremEnabled** | whether on-prem is enabled | boolean | false | yes
**domain** | your domain, ex `example.com` | string | - | yes
**conf.appName** | Service name | string | `search` | yes
**conf.elasticSecretName** | secret for elasticsearch | string | `search-elastic-secret` | yes
**conf.onPremEnabled** | whether on-prem is enabled | boolean | false | yes
**conf.domain** | your domain, ex `example.com` | string | - | yes
**conf.searchRedisSecretName** | search Redis secret that contains redis password with REDIS_PASSWORD key | string | `search-redis-secret` | yes
### Istio variables
| Name | Description | Type | Default |Required |
|------|-------------|------|---------|---------|
**istio.proxyCPU** | CPU request for Envoy sidecars | string | 25m | yes
**istio.proxyCPULimit** | CPU limit for Envoy sidecars | string | 200m | yes
**istio.proxyMemory** | memory request for Envoy sidecars | string | 64Mi | yes
**istio.proxyMemoryLimit** | memory limit for Envoy sidecars | string | 256Mi | yes
## Install the Helm chart
......
......@@ -3,13 +3,20 @@ kind: ConfigMap
metadata:
labels:
app: {{ .Values.conf.appName | quote }}
name: {{ .Values.conf.configmap | quote }}
name: {{ printf "%s-config" .Values.conf.appName | quote }}
namespace: {{ .Release.Namespace | quote }}
data:
SPRING_PROFILES_ACTIVE: {{ .Values.data.springProfilesActive | quote }}
LOG_LEVEL: {{ .Values.data.logLevel | quote }}
REDIS_GROUP_HOST: {{ .Values.data.redisGroupHost | quote }}
REDIS_SEARCH_HOST: {{ .Values.data.redisSearchHost | quote }}
{{- if .Values.data.redisSearchHost }}
REDIS_GROUP_HOST: {{ .Values.data.redisSearchHost | quote }}
REDIS_SEARCH_HOST: {{ .Values.data.redisSearchHost | quote }}
{{- else }}
REDIS_GROUP_HOST: {{ printf "redis-%s" .Values.conf.appName | quote }}
REDIS_SEARCH_HOST: {{ printf "redis-%s" .Values.conf.appName | quote }}
{{- end }}
REDIS_SEARCH_PORT: {{ .Values.data.redisSearchPort | quote }}
REDIS_GROUP_PORT: {{ .Values.data.redisSearchPort | quote }}
ENTITLEMENTS_HOST: {{ .Values.data.entitlementsHost | quote }}
SECURITY_HTTPS_CERTIFICATE_TRUST: {{ .Values.data.securityHttpsCertificateTrust | quote }}
PARTITION_HOST: {{ .Values.data.partitionHost | quote }}
......
{{ if not .Values.data.redisSearchHost }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ printf "redis-%s" .Values.conf.appName | quote }}
namespace: {{ .Release.Namespace | quote }}
spec:
replicas: 1
selector:
matchLabels:
app: {{ printf "redis-%s" .Values.conf.appName | quote }}
template:
metadata:
labels:
app: {{ printf "redis-%s" .Values.conf.appName | quote }}
annotations:
sidecar.istio.io/proxyCPU: 30m
spec:
containers:
- args:
- --requirepass
- $(REDIS_PASSWORD)
envFrom:
- secretRef:
name: {{ .Values.conf.searchRedisSecretName | quote }}
image: {{ .Values.data.redisImage | quote }}
imagePullPolicy: {{ .Values.data.imagePullPolicy | quote }}
name: {{ printf "redis-%s" .Values.conf.appName | quote }}
ports:
- containerPort: 6379
protocol: TCP
resources:
requests:
memory: 100Mi
{{ end }}
......@@ -27,9 +27,20 @@ spec:
imagePullPolicy: {{ .Values.data.imagePullPolicy | quote }}
envFrom:
- configMapRef:
name: {{ .Values.conf.configmap | quote }}
name: {{ printf "%s-config" .Values.conf.appName | quote }}
- secretRef:
name: {{ .Values.conf.elasticSecretName | quote }}
env:
- name: REDIS_GROUP_PASSWORD
valueFrom:
secretKeyRef:
name: {{ .Values.conf.searchRedisSecretName | quote }}
key: REDIS_PASSWORD
- name: REDIS_SEARCH_PASSWORD
valueFrom:
secretKeyRef:
name: {{ .Values.conf.searchRedisSecretName | quote }}
key: REDIS_PASSWORD
securityContext:
allowPrivilegeEscalation: false
runAsUser: 0
......
{{ if not .Values.data.redisSearchHost }}
apiVersion: v1
kind: Service
metadata:
name: {{ printf "redis-%s" .Values.conf.appName | quote }}
namespace: {{ .Release.Namespace | quote }}
spec:
ports:
- port: {{ .Values.data.redisSearchPort }}
protocol: TCP
targetPort: 6379
selector:
app: {{ printf "redis-%s" .Values.conf.appName | quote }}
{{ end }}
......@@ -2,8 +2,6 @@ data:
# Configmaps
springProfilesActive: "gcp"
logLevel: "ERROR"
redisGroupHost: "redis-group-master"
redisSearchHost: "redis-search-master"
entitlementsHost: "http://entitlements"
partitionHost: "http://partition"
policyHost: "http://policy"
......@@ -11,21 +9,25 @@ data:
policyId: "osdu.instance.search"
securityHttpsCertificateTrust: "true"
# Deployments
requestsCpu: "0.1"
requestsCpu: "75m"
requestsMemory: "448M"
limitsCpu: "1"
limitsMemory: "1G"
serviceAccountName: "search"
imagePullPolicy: "IfNotPresent"
image: ""
# redis connection. Change it if you want to use external redis
redisSearchHost: ""
redisSearchPort: 6379
redisImage: "redis:7"
conf:
appName: "search"
configmap: "search-config"
elasticSecretName: "search-elastic-secret"
onPremEnabled: false
domain: ""
searchRedisSecretName: "search-redis-secret"
istio:
proxyCPU: "50m"
proxyCPULimit: "500m"
proxyCPU: "25m"
proxyCPULimit: "200m"
proxyMemory: "64Mi"
proxyMemoryLimit: "512Mi"
proxyMemoryLimit: "256Mi"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment