Browse Source

Solr atualizado para 8.11 distribuicao docker (#3555)

Mudando docker/docker-compose.yml para dist/docker-compose.yml

Alteração no readme sobre a atualização do solr no docker

Mudança do caminho do solr no arquivo solr.rst
MateriaDiscussao
Gustavo274 3 years ago
committed by GitHub
parent
commit
746b826810
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 11
      README.rst
  2. 12
      dist/bin/upload_configset.sh
  3. 53
      dist/docker-compose.yml
  4. 13
      dist/solr_cloud/security.json
  5. 2
      docs/solr.rst
  6. 6
      release.sh

11
README.rst

@ -6,6 +6,17 @@
SAPL - Sistema de Apoio ao Processo Legislativo SAPL - Sistema de Apoio ao Processo Legislativo
*********************************************** ***********************************************
**UPDATE! [16/05/2022]: Devido a refatorações recentes no Solr, foi necessårio
adaptar o uso deste pelo SAPL. Para isso foram feitas mudanças no docker-compose.yml
como a adição de um container para o ZooKeeper e upload de arquivo de segurança.
Recomendamos fortemente que para a versão 3.1.62 e superior do SAPL seja feito o backup do
Banco de Dados, limpeza dos containers no host (`sudo docker system prune -a -f --volumes`),
e consequente instalação dos novos containers a partir da execução do docker-compose. É
importante frisar que o comando `docker system prune` irá apagar TODOS os containers E
TODOS os volumes (incluindo o BD) do host. Após o inicio dos novos containers, proceda
com a restauração do BD, pare os containers e reinicie novamente para indexação textual.
Além disso, o docker-compose.yml foi movido para a pasta dist/ na raiz do projeto.**
Esta página reúne informações úteis sobre o desenvolvimento atual do SAPL. Esta página reúne informações úteis sobre o desenvolvimento atual do SAPL.
Isso significa que toda a informação aqui apresentada aplica-se apenas para a versão 3.1 e superior. Isso significa que toda a informação aqui apresentada aplica-se apenas para a versão 3.1 e superior.

12
dist/bin/upload_configset.sh

@ -0,0 +1,12 @@
#!/usr/bin/env bash
SOLR_USER=solr
SOLR_PASSWORD=SolrRocks
SOLR_HOST=localhost
SOLR_PORT=8983
CONFIGSET_NAME=sapl_configset
CONFIGSET_FILE=sapl_configset.zip
export SOLR_URL="http://$SOLR_USER:$SOLR_PASSWORD@$SOLR_HOST:$SOLR_PORT/solr/admin/configs?action=UPLOAD&name=$CONFIGSET_NAME&wt=json"
curl -X POST -L -F "file=@$CONFIGSET_FILE;type=application/zip" $SOLR_URL

53
docker/docker-compose.yml → dist/docker-compose.yml

@ -17,20 +17,30 @@ services:
- "5433:5432" - "5433:5432"
networks: networks:
- sapl-net - sapl-net
saplsolr: solr1:
image: solr:8.9 image: solr:8.11
restart: always restart: unless-stopped
command: bin/solr start -c -f command: bash -c "docker-entrypoint.sh solr zk cp file:/var/security.json zk:security.json && exec solr-foreground"
container_name: solr container_name: solr
labels: labels:
NAME: "solr" NAME: "solr"
volumes:
- solr_data:/opt/solr/server/solr
- solr_configsets:/opt/solr/server/solr/configsets
ports: ports:
- "8983:8983" - "8983:8983"
environment:
- ZK_HOST=zoo1:2181
- SOLR_HEAP=1g
- SOLR_OPTS=-Djute.maxbuffer=50000000
networks: networks:
- sapl-net - sapl-net
depends_on:
- zoo1
volumes:
- type: bind
source: ./solr_cloud/security.json
target: /var/security.json
- solr_data:/opt/solr/server/solr
- solr_configsets:/opt/solr/server/solr/configsets
sapl: sapl:
image: interlegis/sapl:3.1.162 image: interlegis/sapl:3.1.162
# build: # build:
@ -52,18 +62,40 @@ services:
EMAIL_HOST_PASSWORD: senhasmtp EMAIL_HOST_PASSWORD: senhasmtp
USE_SOLR: 'True' USE_SOLR: 'True'
SOLR_COLLECTION: sapl SOLR_COLLECTION: sapl
SOLR_URL: http://saplsolr:8983 SOLR_URL: http://solr:SolrRocks@solr1:8983
TZ: America/Sao_Paulo TZ: America/Sao_Paulo
volumes: volumes:
- sapl_data:/var/interlegis/sapl/data - sapl_data:/var/interlegis/sapl/data
- sapl_media:/var/interlegis/sapl/media - sapl_media:/var/interlegis/sapl/media
depends_on: depends_on:
- sapldb - sapldb
- saplsolr - solr1
ports: ports:
- "80:80" - "80:80"
networks: networks:
- sapl-net - sapl-net
zoo1:
image: zookeeper:3.8
container_name: zoo1
hostname: zoo1
restart: unless-stopped
ports:
- 2181:2181
- 7001:7000
environment:
ZOO_MY_ID: 1
ZOOKEEPER_TICK_TIME: 2000
ZOOKEEPER_CLIENT_PORT: 2181
JVMFLAGS: "-Xmx1024m -Djute.maxbuffer=50000000"
ZOO_SERVERS: server.1=zoo1:2888:3888;2181
ZOO_LOG4J_PROP: "INFO,ROLLINGFILE"
ZOO_4LW_COMMANDS_WHITELIST: mntr, conf, ruok
ZOO_CFG_EXTRA: "metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider metricsProvider.httpPort=7000 metricsProvider.exportJvmInfo=true"
volumes:
- zoo_data:/data
- zoo_log:/datalog
networks:
- sapl-net
networks: networks:
sapl-net: sapl-net:
name: sapl-net name: sapl-net
@ -73,4 +105,7 @@ volumes:
sapl_data: sapl_data:
sapl_media: sapl_media:
solr_data: solr_data:
solr_home:
solr_configsets: solr_configsets:
zoo_data:
zoo_log:

13
dist/solr_cloud/security.json

@ -0,0 +1,13 @@
{
"authentication":{
"blockUnknown": true,
"class":"solr.BasicAuthPlugin",
"credentials":{"solr":"IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0= Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="},
"forwardCredentials": false,
"realm": "Solr Login"
},
"authorization":{
"class":"solr.RuleBasedAuthorizationPlugin",
"permissions":[{"name":"security-edit", "role":"admin"}],
"user-role":{"solr":"admin"}
}}

2
docs/solr.rst

@ -7,7 +7,7 @@ Instruções para instalar o Solr
Solr é uma plataforma open source de indexação e busca textual utilizada pelo SAPL 3.1 para indexar documentos (normas jurídicas, matérias legislativas e documentos acessórios). Solr é uma plataforma open source de indexação e busca textual utilizada pelo SAPL 3.1 para indexar documentos (normas jurídicas, matérias legislativas e documentos acessórios).
Observação: Se a execução do SAPL for mediante containers Docker então use o arquivo *docker-compose.yml* disponível em Observação: Se a execução do SAPL for mediante containers Docker então use o arquivo *docker-compose.yml* disponível em
*https://github.com/interlegis/sapl/blob/3.1.x/solr/docker-compose.yml* (verifique os mapeamentos de volume estão corretos, a verso do SAPL referenciada no arquivo docker-compose.yml, e realize o backup de seu BD **antes** de qualquer tentativa de substituição do arquivo *docker-compose.yml* em uso corrente); *https://github.com/interlegis/sapl/blob/3.1.x/dist/docker-compose.yml* (verifique os mapeamentos de volume estão corretos, a verso do SAPL referenciada no arquivo docker-compose.yml, e realize o backup de seu BD **antes** de qualquer tentativa de substituição do arquivo *docker-compose.yml* em uso corrente);
1) Faça o download da distribuição *binária* do Apache Solr do site oficial do projeto **http://lucene.apache.org/solr** 1) Faça o download da distribuição *binária* do Apache Solr do site oficial do projeto **http://lucene.apache.org/solr**

6
release.sh

@ -30,11 +30,11 @@ FINAL_VERSION=
function change_files { function change_files {
OLD_VERSION=$(grep -E 'interlegis/sapl:'$VERSION_PATTERN docker/docker-compose.yml | cut -d':' -f3) OLD_VERSION=$(grep -E 'interlegis/sapl:'$VERSION_PATTERN dist/docker-compose.yml | cut -d':' -f3)
echo "Atualizando de "$OLD_VERSION" para "$FINAL_VERSION echo "Atualizando de "$OLD_VERSION" para "$FINAL_VERSION
sed -E -i "s|$OLD_VERSION|$FINAL_VERSION|g" docker/docker-compose.yml sed -E -i "s|$OLD_VERSION|$FINAL_VERSION|g" dist/docker-compose.yml
sed -E -i "s|$OLD_VERSION|$FINAL_VERSION|g" setup.py sed -E -i "s|$OLD_VERSION|$FINAL_VERSION|g" setup.py
@ -65,7 +65,7 @@ function set_rc_version {
function commit_and_push { function commit_and_push {
echo "committing..." echo "committing..."
git add docker/docker-compose.yml setup.py sapl/settings.py sapl/templates/base.html git add dist/docker-compose.yml setup.py sapl/settings.py sapl/templates/base.html
git commit -m "Release: $FINAL_VERSION" git commit -m "Release: $FINAL_VERSION"
git tag $FINAL_VERSION git tag $FINAL_VERSION

Loading…
Cancel
Save