понедельник, 28 июня 2021 г.

Dell USB3.0 dock D3100 + ubuntu

 Вроде неплохой док, но его особенность - "из коробки" он работает по сути только как усб хаб + аудио, а вот видео порты не работают. Нужно качать драйвера, но на сайте dell их просто нет (точнее, там заявлена поддержка только windows). И гуглинг находит такой линк

http://www.displaylink.com/downloads/ubuntu

новая ссылка

https://www.synaptics.com/products/displaylink-graphics/downloads/ubuntu

суббота, 19 июня 2021 г.

CI/CD и .NET в докере

Есть несколько вариантов сборки

windows  based

Если открыть шаблоны гитлаб, там есть несколько вариантов под с шарп, но там в основе идут виндовые образы


linux based

mcr.microsoft.com/dotnet/core/sdk:3.1

! note

Bear in mind that since the release of .NET 5, the repository path changed to mcr.microsoft.com/dotnet/sdk:3.1. Here is a link to the rename anouncement: github.com/dotnet/dotnet-docker/issues/2375

при это стадии сборки будут такие

dotnet restore

dotnet build

dotnet publish

На самом деле, там чуть более сложный синтаксис, например для restore можно указать имя проекта, для publish - куда публиковать итог, -o ./publish/

и так далее.

Есть вариант с image: microsoft/dotnet:latest
но там есть какие-то нюансы с версиями

Чуть линков: 1 (кодероад помойка, но оригинал не нагуглился), 2, 3, 4, 5


versions in docker-compose

В начале docker-compose.yml всегда пишется версия компоуза, что когда появилось - нужно читать тут (матрица версий, полная дока). При этом может быть так, что пишем версию 3.9 - а докер что у нас установлен такой версии не знает, нужно снижать. Но снизив версию и больше не получая ошибок про указанную версию, можно получать ошибки про использование новых атрибутов. Например, убунта 18.04, докер и docker.io, вписываем версию 3.5-3.7 (выше ругается), но при этом ошибка (ниже в ошибки впишу)


Про ошибки

ERROR: Version in "./Docker/docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.

Снижаем версию или ищем как обновить инсталляцию

ERROR: The Compose file './Docker/docker-compose.yml' is invalid because:
networks.form_constructor value Additional properties are not allowed ('name' was unexpected)
То, что описано выше. При этом данный тэг заявлен в 3.5 и на неё валидатор не ругался.

пятница, 4 июня 2021 г.

phpipam - знакомство и api

Если уж довелось работать с phpipam, начать лучше с чтения оф доки и его установки в докере. Например, отсюда

https://github.com/pierrecdn/phpipam

если взять блок из docker-compose, не надо ставить ни баз, ничего.

!! Это хорошо для ознакомления, но база в докере в проде - не лучшее решение !!

Есть другой вариант

https://hub.docker.com/r/phpipam/phpipam-www (github)


 Тепреь посмотрим  на его апи

https://phpipam.net/api/api_documentation/

Клиенты:

https://phpipam.net/api/phpipam-api-clients/

https://github.com/phpipam/phpipam-api-clients


После установки в докере (да и скорее всего в любой) если включить PowerDNS то он не заработает. Во-первых, надо прописать правильный хост. Во-вторых, подключиться к БД и завести юзера и базу ИЛИ указать текущего рута.. и создать базу. Так что лучше создать всё самому. В-третьих, база сама не заполнится (что я вполне могу назвать рукожопством, могли бы чуть доделать и по предоставленному рутовому доступу всё заполнить + иметь кнопку в вебе для деплоя нужного дампа бд), нужно найти порядок действий (линк ниже) и пролить базу руками.

https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-powerdns-with-a-mariadb-backend-on-ubuntu-14-04 step 4

!!! Схема бд - "не та". Нет disabled полей как минимум. Второе рукожопство - открываем оф доку, берём оттуда дамп

https://doc.powerdns.com/authoritative/backends/generic-mysql.html#default-schema

Вроде всё ок, но после создания домена опять получаем Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'change_date' in 'field list'. Находим issue и видим ещё линк

https://doc.powerdns.com/md/authoritative/howtos/#basic-setup-configuring-database-connectivity

Что на выходе? На сайте phpipam нет нужной схемы. И в репе нет. И линков нет, только по issue собирать. И даже офсайт схемы pdns противоречат друг другу.

Вишенка на торте. Днс не заработает после активации, так как нужно сам pdns поставить ОТДЕЛЬНО. В общем, очередная формальная вещь, которую никто нигде не смог нормально описать.

Берите netbox...


О репликации есть такое
https://www.digitalocean.com/community/tutorials/how-to-configure-dns-replication-on-a-slave-powerdns-server-on-ubuntu-14-04

но надо ещё изучить вопрос. Дело в том, что можно поднять несколько powerdns в режиме подключения к БД (одной или нескольких с репликацией), а также про режим без общей БД с NOTIFY. И powerdns native vs master