fix: enregistrement manuel dans Consul (ACL bloque Registrator sur prestashop)
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Ajout etape register-consul : recupere l'IP du conteneur sur le reseau sonic et enregistre le service dans Consul avec le token ACL via l'API HTTP. Registrator loggue "added" mais son token n'a pas les droits service:write sur "prestashop" -> le service disparaissait de Consul apres chaque deploy. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -67,6 +67,28 @@ steps:
|
||||
- cd /opt/prestashop && docker compose pull
|
||||
- cd /opt/prestashop && docker compose up -d --remove-orphans
|
||||
- cd /opt/prestashop && docker compose ps
|
||||
- docker inspect prestashop --format '{{.NetworkSettings.Networks.sonic.IPAddress}}' > .container_ip
|
||||
|
||||
# Etape 3c : Enregistrement dans Consul (Registrator ne peut pas ecrire prestashop : ACL)
|
||||
- name: register-consul
|
||||
image: alpine:3.20
|
||||
environment:
|
||||
TEST_STATIC: hello
|
||||
CONSUL_TOKEN:
|
||||
from_secret: consul_token
|
||||
commands:
|
||||
- apk add --no-cache --quiet curl iproute2
|
||||
- |
|
||||
CONSUL_HOST=$(ip route show default | awk '/default/{print $3; exit}')
|
||||
CONSUL_HOST=${CONSUL_HOST:-172.17.0.1}
|
||||
CONTAINER_IP=$(cat .container_ip)
|
||||
DOMAIN=$(grep '^PS_DOMAIN=' .env.deploy | cut -d= -f2)
|
||||
CTOK=$(env | grep '^CONSUL_TOKEN=' | cut -d= -f2-)
|
||||
curl -sf -X PUT "http://$CONSUL_HOST:8500/v1/agent/service/register" \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "X-Consul-Token: $CTOK" \
|
||||
-d "{\"Name\":\"prestashop\",\"Address\":\"$CONTAINER_IP\",\"Port\":80,\"Tags\":[\"urlprefix-$DOMAIN/\"]}"
|
||||
echo "Service enregistre dans Consul: prestashop -> $CONTAINER_IP:80 urlprefix-$DOMAIN/"
|
||||
|
||||
# Etape 4 : Healthcheck post-deploiement
|
||||
- name: healthcheck
|
||||
|
||||
Reference in New Issue
Block a user