Andor
А зачем тебе ямл? - применяй json
у меня уже есть ямль, я не хочу его туда-сюда конвертить
𝚔𝚟𝚊𝚙𝚜
Andor
я хочу взять уже готовый ямль
Andor
положить его в репо
Andor
заимпортить в жсоннет
Sergey
сейчас jsonnet + kubectl apply -f
А если нужно создать новый набор стендов, разве kubectl apply может развернуть с другими переменными ?
Andor
поправить как хочется
Andor
и запустить
George
сделай наконец-то стикерами!!!! 😱
Andor
А если нужно создать новый набор стендов, разве kubectl apply может развернуть с другими переменными ?
jsonnet мне сгенерит другой набор манифестов и применяться будет он
G72K
поправить как хочется
Ну вот, одноразовая конвертация даже не на уровне CI считай бесплатна
Andor
я ж не девопс какой-то
Andor
я хочу взять уже готовый манифест, не конвертить
Andor
конвертят пусть девопсы
Sergey
а чем в данном случае плох helm , там же можно при развёртывании указывать ENV ,
Andrey
Andor
в ksonnet тоже можно указать, вопрос не про это
Rainbow
@nightguide
Rainbow
Andor
@rossmohax @kvaps а вы вообще реджистри ксоннет юзаете?
Andrey
лучше nindent
G72K
я хочу взять уже готовый манифест, не конвертить
Ну фиг знает. Делать все эти танцы ks prototype use потом подправлять, потом обновлять зависимость, а прототип остался старым и проч - это норм, а один раз yjq запустить это сложно получается :)
Project Daemon
G72K
@rossmohax @kvaps а вы вообще реджистри ксоннет юзаете?
Нет :) я даже фич ксоннет не южзаю - разработчики коммитят customize.libsonnet который на этапе CI подключается в автосгенерированную ks аппу
Andor
у дураков мысли сходятся
G72K
А скобки зачем?
Andor
всё равно удобнее хранить в исходном виде, а не конвертить каждый раз
Andor
G72K
Удобнее само по себе , но сравнение то с переездом на ksonnet :)
Andor
я не хочу лишать возможности просто накопипастить рецептов из интернетов (а они там обычно в ямлях), положить в репозиторий, подключить их как есть и задеплоить
Andor
я и сам этим буду пользоваться
Andor
вот например этот кусок я бы проще заимпортил из внешнего ямля: local oldPrometheusServiceMonitor = { local ns = 'default', apiVersion: 'monitoring.coreos.com/v1', kind: 'ServiceMonitor', metadata: { labels: { 'k8s-app': 'prometheus' }, name: 'prometheus-a', namespace: ns, }, spec: { endpoints: [ { interval: '30s', port: 'web' } ], jobLabel: 'app', namespaceSelector: { matchNames: [ ns, ] }, selector: { matchLabels: { app: 'prometheus' } } } };
Andor
переписывать это 1-в-1 в жсон смысла примерно 0
G72K
Ну с ksonnet положить как есть не выйдет , надо плясать. Вот обновить как есть уже проще . Можно угореть и написать в .gitattribute filter и smudge комманды, получится что кладешь и читаешь ямл, а на гит сервер уходит джсон :)
Andor
а ручками лично мне комфортнее ямли писать, а не жсоны
Andor
и я имею в виду не ks import -f blabla.yaml
G72K
Есть но оно ж не просто с ямлом работает , надо создать ks приложение, в нем компонент из ямла , прописать параметры и проч
Andor
data+: parseYaml(importstr "blabla.yaml")
Andor
в ксоннет есть просто фича "прочитать строку как ямль в структуру"
Andor
в голом жсоннет нету
Andor
https://github.com/ksonnet/ksonnet/blob/master/lib/kubecfg.libsonnet#L31
𝚔𝚟𝚊𝚙𝚜
Andor
это старый сервис, он запускается по-старому
G72K
А надо что б был :)
Andor
кому?
Andor
eventually этот сервис будет спилен
Andor
но я это уже не застану
G72K
У меня " сервис дискавери" во время деплоя , т.е. скорее dependency resolution, для этого перед вызовом ksonnet я kubectl get все сервисы и ингресы из кластера , они потом доступны в customize, много пользы приносят и svcObj появляется :)
𝚔𝚟𝚊𝚙𝚜
сделай наконец-то стикерами!!!! 😱
Это к @SinTeZoiD, любо можно пиратскую подборочку создать
Andor
There are three supported registry protocols: github, fs, and Helm.
Andor
пойду короче из fs класть
Михаил
@kvaps
Михаил
Спасибо. Стикер был добавлен в набор, в течение часа этот набор обновится у всех пользователей. Вы можете прислать ещё один стикер или команду /done.
Александр
Шо за набор?
Александр
Спосибо
Andor
@SinTeZoiD шрифты говно
Михаил
Andor
ну вдруг ты не знал!
Rainbow
@Andorka как ты по итогу заменил limit в контейнерах?
Andor
отлично, накопипастил мою поделку в base.libsonnet в ксоннет и оно просто заработало
Andor
хорошо что переделывать не надо :)
Rainbow
Я на фоне постоянных упоминаний jsonnet дополз познакомиться и тот кейс с mapWithIndex выглядит норм
Andor
я не помню как мне с его помощью обновить in-place
Andor
через super вроде?
Rainbow
config + { containers: std.mapWithIndex( (function(index, item) config.containers[index] + if index == 0 then { resources: {} } else {}), config.containers ), } тестовый пример, я так игрался просто https://gist.github.com/alexesDev/fecc1d971c1b9e0ec1e0e040a56f721a
Andor
ну оно вроде должно сработать конечно