Size: a a a

2020 October 29

A

Alexander in DevOps
Aleksey Shirokikh
и либо надо делать супер имидж в котором всё есть
Можешь положить в корень пакета nix-файл и "инстанцировать" его, получая детерминированное окружение в ходе ci. Для скорости разворачивания можешь кешировать /nix
источник

AS

Aleksey Shirokikh in DevOps
Alexander
Можешь положить в корень пакета nix-файл и "инстанцировать" его, получая детерминированное окружение в ходе ci. Для скорости разворачивания можешь кешировать /nix
да. примерно так и выглядит План
источник

A

Alexander in DevOps
Aleksey Shirokikh
осталось понять чо там можно ли никс запускать под докер
Можно. Но на самом деле тебе нужен не nixos, а только пакетный менеджер
источник

AS

Aleksey Shirokikh in DevOps
ага да
источник

AS

Aleksey Shirokikh in DevOps
Alexander
Можно. Но на самом деле тебе нужен не nixos, а только пакетный менеджер
есть реальный опыт ?
источник

A

Alexander in DevOps
Aleksey Shirokikh
есть реальный опыт ?
Ну, я на десктопах юзаю довольно долго :)
В принципе, в ходе выполнения джоб сделать разворачивается несложно. Но, никс, как и любая другая технология, решает одни проблемы и создаёт другие. В частности, потребуется некая минималь6ая инфраструктура для работы nix, даже если ты не хочешь заворачивать в его формат свой софт.
источник

AS

Aleksey Shirokikh in DevOps
источник

AS

Aleksey Shirokikh in DevOps
воу
источник

A

Alexander in DevOps
Во-первых, у никса подход a la bsd-шные порты, только с бинарным кешированием. Т.е. имеется https://github.com/nixos/nixpkgs, где описаны пакеты и то, как из собирать, и есть бинарный кеш для этих пакетов (который привязывается к конкретному варианту nix-манифеста за счет того, что, по сути, большинство пакетов билдятся воспроизводимо и являются content addressable).
Из этого следуют 2 вывода:
* тебе нужно зеркалировать nixpkgs с ручным обновлением, если ты хочешь управлять версиями того, что тебе ставится.
* нужно как-то кешировать бинарный кеш, т.к. он не вечный (разработчики nixos не хотят переплачивать за s3 амазону, потому чистят кеш со временем), и, если он протухнет, nix будет автоматически фоллбэчиться на сборку из сорцов, что замедлит CI (хоть сборка в большинстве случаев и reproducible, и фоллбэк можно отключить).
источник

A

Alexander in DevOps
Также, если ты таки надумаешь поддерживать свой набор манифестов, то способ это сделать довольно плохо документирован. Но, если у тебя при этом есть s3, то должно быть несложно даже поднять свой кеш (его чистка и обслуживание — другой вопрос :)
источник

AS

Aleksey Shirokikh in DevOps
ну блоб сторадж сейчас только ленивый не даёт. можно найти. это точно не делает из идеи авантюру.
источник

AS

Aleksey Shirokikh in DevOps
надо пойти почитать как делают популярный софт для него
источник

AS

Aleksey Shirokikh in DevOps
Alexander
Также, если ты таки надумаешь поддерживать свой набор манифестов, то способ это сделать довольно плохо документирован. Но, если у тебя при этом есть s3, то должно быть несложно даже поднять свой кеш (его чистка и обслуживание — другой вопрос :)
источник

A

Alexander in DevOps
Aleksey Shirokikh
ну блоб сторадж сейчас только ленивый не даёт. можно найти. это точно не делает из идеи авантюру.
Да не, я не говорю, что это авантюра. Просто хочу сразу предупредить, что nixos изначально исследовательский проект, у которого долгое время были ммм... неконвенциональные практики построения своей инфраструктуры, отголоски которых местами всё еще можно наблюдать, и которые могут вызывать удивление. Хотя, основные проблемы уже, вроде, пофиксили (типа той, binary cache делался через задницу и его было сложно положить в объектный сторадж).
источник

AS

Aleksey Shirokikh in DevOps
вообще видно что самое место ему в ipfs
источник

A

Alexander in DevOps
Aleksey Shirokikh
вообще видно что самое место ему в ipfs
Да, такой проект есть, но, пока, вроде, не доработали, т.к., насколько я помню, были некоторые сложности с тем, что у обоих разные алгоритмы обеспечения content addressable storage.
Ну и ipfs, это всё-таки, больше cdn. Сделать на базе него приватный binary cache с гарантиями, наверное, вряд ли получится с пол-пинка.
источник

A

Alexander in DevOps
@freeseacher если, кстати, захочется иметь какой-то более-менее lts, то тогда советую завернуть в docker-образ сам nixos: у него свой бранч nixpkgs, которые стараются сильно не шатать в течение полугода до следующего релиза. Не LTS, конечно, но хотя бы не rolling.
источник

A

Alexander in DevOps
докерный образ, кстати, можно, вроде, собрать средствами самого nix.
источник

AS

Aleksey Shirokikh in DevOps
полгода не срок вообще. надо хотя бы 3 года
источник

A

Alexander in DevOps
Aleksey Shirokikh
полгода не срок вообще. надо хотя бы 3 года
Не, это тогда самому надо.
источник