Size: a a a

2019 December 04

AS

Aleksey Shirokikh in K8Spb
Aleksey Shirokikh
Есть внутренние адреса они внутри кластера, доступны как правило на прямую. Есть внешние по отношению к кластеру адреса, доступны как правило через гейтвей. Чтобы не складывалось ложного впечатления что внешние это публичные я указал что серые. Так стало понятнее?
По делу то есть чего?
источник

R

Roman Mazanka in K8Spb
ребят, а кто-то боролся с переменными angular приложения?
используем парадигму build once-deploy anywhere
собсна, в angular переменные хранятся в environment.ts. есть ли какой-то вариант переопределять их через переменные окружения?
хотелось бы это все в helm запихнуть и не билдить под каждый конкретный энв
источник

MF

Maxim Filatov in K8Spb
ну так и пихай в хельм, там тебе и шаблонизатор будет, херачь этот файл в любых позах
источник

MF

Maxim Filatov in K8Spb
вопрос-то в чём?
источник

R

Roman Mazanka in K8Spb
ну ангулар забирает значения из этого файла на этапе npm run-script build, и фигачит их уже в нужные места в js
соответственно, нельзя в момент запуска поды просто подменить файл - нужно пробегаться по всем файлам и менять конкретно значения
источник

MF

Maxim Filatov in K8Spb
Roman Mazanka
ну ангулар забирает значения из этого файла на этапе npm run-script build, и фигачит их уже в нужные места в js
соответственно, нельзя в момент запуска поды просто подменить файл - нужно пробегаться по всем файлам и менять конкретно значения
от чего зависят значения?
источник

R

Roman Mazanka in K8Spb
от окружения
т.е. коннекшн в БД, CND и прочее
источник

MF

Maxim Filatov in K8Spb
как регламентировано это окружение в поде?
источник

MF

Maxim Filatov in K8Spb
ну то есть коннект в бд - это уже итоговое значение, как я понимаю
источник

MF

Maxim Filatov in K8Spb
на основании чего нужно его сконструировать?
источник

R

Roman Mazanka in K8Spb
Maxim Filatov
на основании чего нужно его сконструировать?
смотри
есть исходный код, в котором есть environment.ts
когда мы билдим img, делаем npm run-script build, в этот момент значение из environment.ts распространяется по файлам *.js (подставяляется в нужные места)
дальше мы этот img отправляем в реджистри, и оттуда хотим деплоить на разные окружения. БД в нашем случае - as a service, то есть, имеет разные УРЛы для разных окружений, то есть, мы не можем просто по лэйблам обращаться (как к поде внутри кластера)
но у нас уже есть собранный контейнер, и "распаковать" мы его не можем, чтоб заменить значения (более того, придется сканить *.js файлы по паттерну и подменять значения)
собсна, поэтому вопрос сводится к тому, как заставить angular использовать переменные окружения, чтоб мы уже на этапе деплоя задали нужное значение в переменную окружения, и angular ее себе подтянул во все нужные места
источник

MF

Maxim Filatov in K8Spb
ну про енввары и ангуляр - это не в тот чят, мне кажется
но я бы эту задачу решал с помощью монтируемых секретов и envsubst
источник

MF

Maxim Filatov in K8Spb
для каждого типа деплоймента, в котором этот под участвует, генеришь секрет, в подспеке деплоймента монтируешь его в какую-нить папку, а в environment.ts делаешь шаблон, который на старте контейнера проходишь енвсабстом
источник

MF

Maxim Filatov in K8Spb
и улюлю
источник

R

Roman Mazanka in K8Spb
опять же, на старте контейнера поздно менять что-то в environment.ts - оно уже все уехало внутрь .js

сори, если немного не туда - думал, мож кто сталкивался)
в чатике с Докером молчат 😊
источник

MF

Maxim Filatov in K8Spb
ну так тогда тебе придётся билдить разные образы под разные случаи
источник

MF

Maxim Filatov in K8Spb
если образ нужен один, то всю шаблонизацию нужно на старте контейнера делать
источник

R

Roman Mazanka in K8Spb
ну..мы сейчас все портируем в контейнеры
до этого - просто проходили по .js и подменяли по маске типа !!var1!!
в контейнерах такое не прокатит
потому смотрим в сторону возможности использования переменных окружения в angular
источник

MF

Maxim Filatov in K8Spb
почему не прокатит?
источник

MF

Maxim Filatov in K8Spb
что этому может помешать?
источник