This commit is contained in:
@@ -1,7 +1,10 @@
|
|||||||
# Copie en .env sur le serveur (jamais commite).
|
# Copie en .env sur le serveur (jamais commite).
|
||||||
|
|
||||||
# Registre et tag des images core / brain a spawner par session.
|
# Registre, namespace et tag des images core / brain a spawner par session.
|
||||||
REGISTRY=git.igmlcreation.fr
|
# Doit pointer sur le registre ou la CI publie reellement (ghcr.io).
|
||||||
|
# Le slash final de IMAGE_NAMESPACE est important : image = REGISTRY/NAMESPACEcore:TAG
|
||||||
|
REGISTRY=ghcr.io
|
||||||
|
IMAGE_NAMESPACE=igmlcreation/loremind-
|
||||||
TAG=latest
|
TAG=latest
|
||||||
|
|
||||||
# Secret partage entre core et brain (genere aleatoirement au build de chaque
|
# Secret partage entre core et brain (genere aleatoirement au build de chaque
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import (
|
|||||||
// Config centralise les parametres lus depuis les variables d'env au boot.
|
// Config centralise les parametres lus depuis les variables d'env au boot.
|
||||||
type Config struct {
|
type Config struct {
|
||||||
Registry string
|
Registry string
|
||||||
|
Namespace string
|
||||||
Tag string
|
Tag string
|
||||||
MaxSessions int
|
MaxSessions int
|
||||||
SessionTTL time.Duration
|
SessionTTL time.Duration
|
||||||
@@ -27,7 +28,12 @@ type Config struct {
|
|||||||
|
|
||||||
func loadConfig() *Config {
|
func loadConfig() *Config {
|
||||||
return &Config{
|
return &Config{
|
||||||
Registry: envStr("REGISTRY", "git.igmlcreation.fr"),
|
// Aligne sur la nouvelle convention de publication des images
|
||||||
|
// (ghcr.io/igmlcreation/loremind-{core,brain}). L'ancien registre Gitea
|
||||||
|
// (git.igmlcreation.fr/ietm64/*) n'est plus republie : il restait gele
|
||||||
|
// sur une vieille version. Le slash final de Namespace est volontaire.
|
||||||
|
Registry: envStr("REGISTRY", "ghcr.io"),
|
||||||
|
Namespace: envStr("IMAGE_NAMESPACE", "igmlcreation/loremind-"),
|
||||||
Tag: envStr("TAG", "latest"),
|
Tag: envStr("TAG", "latest"),
|
||||||
MaxSessions: envInt("MAX_SESSIONS", 10),
|
MaxSessions: envInt("MAX_SESSIONS", 10),
|
||||||
SessionTTL: time.Duration(envInt("SESSION_TTL_MINUTES", 20)) * time.Minute,
|
SessionTTL: time.Duration(envInt("SESSION_TTL_MINUTES", 20)) * time.Minute,
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ func (d *DockerClient) SpawnTrio(ctx context.Context, sessionID string, cfg *Con
|
|||||||
|
|
||||||
if err := d.runContainer(ctx, runSpec{
|
if err := d.runContainer(ctx, runSpec{
|
||||||
Name: brainName,
|
Name: brainName,
|
||||||
Image: cfg.Registry + "/ietm64/brain:" + cfg.Tag,
|
Image: cfg.Registry + "/" + cfg.Namespace + "brain:" + cfg.Tag,
|
||||||
Env: []string{
|
Env: []string{
|
||||||
"INTERNAL_SHARED_SECRET=" + brainSecret,
|
"INTERNAL_SHARED_SECRET=" + brainSecret,
|
||||||
// Pas de provider LLM configure en demo : les features IA echoueront
|
// Pas de provider LLM configure en demo : les features IA echoueront
|
||||||
@@ -129,7 +129,7 @@ func (d *DockerClient) SpawnTrio(ctx context.Context, sessionID string, cfg *Con
|
|||||||
|
|
||||||
if err := d.runContainer(ctx, runSpec{
|
if err := d.runContainer(ctx, runSpec{
|
||||||
Name: coreName,
|
Name: coreName,
|
||||||
Image: cfg.Registry + "/ietm64/core:" + cfg.Tag,
|
Image: cfg.Registry + "/" + cfg.Namespace + "core:" + cfg.Tag,
|
||||||
Env: []string{
|
Env: []string{
|
||||||
"SPRING_DATASOURCE_URL=jdbc:postgresql://" + pgName + ":5432/loremind",
|
"SPRING_DATASOURCE_URL=jdbc:postgresql://" + pgName + ":5432/loremind",
|
||||||
"SPRING_DATASOURCE_USERNAME=loremind",
|
"SPRING_DATASOURCE_USERNAME=loremind",
|
||||||
|
|||||||
Reference in New Issue
Block a user