Оцените Domino Rest APIs в рамках программы Domino Early Access

04.06.2019
135
19
BIT
2
Барри Роузен, менеджер продуктов линейки Domino, призывает всех желающих и интересующихся принять участие в бете нового домино рест апи. Вот его прямое обращение в сообществу разработчиков:

Hey all, just wanted to remind everyone to try out the Domino Rest APIs in the Domino Early Access Program. Log into the forum to give feedback.

Please feel free to blog and post on SM (соц сети) about your experience
 
По диагонали посмотрел. Молодцы, что сказать...

И ещё раз молодцы, что ответы будут отдавать в формате, соотв. RFC 7807.
 
весь день пинал...
уровень бэта вряд ли адекватен нек. ошибкам (я их описал на соответ. форуме, часть решили)
- docker-compose не заработает сразу - там тэг неправильный, Паул сказал - запиливают. Лечение - изменить тэг в docker-compose.yml
надо вот это
1624605098190.png

вот здесь
1624605188861.png

- java садится, в линухах, на IPV6, что является типичным поведением в присут. IPV6 . Лечение - добавить переменную в docker-compose.yml
я завел переменную в .env
и сослался на неё в docer-compose.yml
[root@dom2 ~]# grep -iw java_options /keep/docker-compose.yml JAVA_OPTIONS: $_JAVA_OPTIONS [root@dom2 ~]# grep -i java /keep/.env _JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true"
эффект будет таков
1624604907978.png

нужно чтобы общаться с keep
1624605669443.png

а что дальше?!
самое интересное что дохер "мешает" вписать сервер в инфраструктуру существующих серверов в сети
мантулить проброс сети бриджа в "свою" сеть - это за гранью разумного (КМК)
можно просто сделать в сеть хоста, как пример - я всё-равно ставлю дохер поверх ВМ единственным для домины, мне там бриджевая сеть, со своими проблемами, не уперлась
изменения в docker-compose.yml
YAML:
    network_mode: "host"
#    ports:
#      - 80:80
#      - 443:443
#      - 1352:1352
#      - 8880:8880
#      - 8889:8889
#      - 8890:8890
чем ещё уныл бридж дохера - надо позаботиться про правила файрвола для доступа во вне (как минимум для одностороннего доступа в тырнет)
что еще странно в данной сборке:
подбор утилей там странный ни host ни ip ни nslookup, но есть ifconfig и route
- нет ssh клиента
- есть yum
- войти в контейнер рутом docker exec -it -u 0 domino-keep-dom2 /bin/bash
- работа с доминой (через скрипты Нэшеда) из под notes (умолчальный юзер контейнера) docker exec -it domino-keep-dom2 /bin/bash
далее domino monitor
- у мя не запустился http, почему его нет в ини конейнера - я не смотрел
- проверить резолвинг getent hosts unix.stackexchange.com
установить "недостающее" (для этого и нужен мб тырнет) - самому, через yum
и да - перенос на любой сервер сети из контейнер, без бриджа, становится удивительно лёгким ;)
 
Последнее редактирование:
И это ещё только тренировка... то-то будет когда в бой пойдёте :)
 
установка в контейнере, под рутом, нек. тулов для понимания процесса - что не работает и возможностей взаимодействия с внешними хостами
- ping
yum -y install iputils
- nslookup
yum -y install bind-utils
- ssh
yum -y install openssh-clients
вишенка на торте - контейнер собран с Red Hat Enterprise Linux release 8.4 (Ootpa)
понятно - без подписки :)
установить epel (репу для доп. возможностей, если вдруг понадобится)
по инструкции
 
  • Нравится
Реакции: VladSh
HCL представляет Keep, новый API для Domino
Подробности на русском языке тут:
 
квест продолжается...
никто не обещал что будет легко, но не до такой степени ;)
я могу себе представить инкубатор тех людей, которые делают кип
НО если из инкубатора вылупляется бета - она хотя бы должна покрывать реальные кейсы, а не инкубаторский вариант
апчём я говорю - частью изложено выше
теперь добавлю - вы не сможете подключить никакую базу (или я не пытался, но времени жалко) кроме Demo.nsf
что получите при попытке:
- добавляем (через ГУИ администратора) и радуемся..., но недолго
- при попытке открыть имеем
Screenshot 2021-06-29 183435.png
и в консоли кипа
domino-keep-dom2 | com.hcl.domino.keep.exceptions.KeepExceptionServer: org.xml.sax.SAXParseException; lineNumber: 153; columnNumber: 1; XML document structures must start and end within the same entity.
- запрашиваем форум ёрли аксеса - там молчёк. Лезем на амбразуру... Логика следующая..., как справедливо заметил @savl - онож уже испортилось "до". Логичный вопрос и ответ - оно - XML. Ихде его искать (напосчупать) - вариантов немного. Берем grep и ищем во всех файлах /local/ grep -R -i demo.nsf /local/* | less а там - смотрим что-то типа ХМЛ.
Находим, закономерно DXL
Почему искал так - потому что эта БД работает, а нашёл
/local/notesdata/dxl.d/Demo.nsf.dxl:<database xmlns=' ' replicaid='48258435003E8283' path='Demo.nsf' title='Demo'>
по аналогии просматриваем весь /local/notesdata/dxl.d/
находим ДХЛ соответ "своей" БД
обнаруживаем что у него незакрытые теги базы (как минимум)
- при добавлении БД мы можем наблюдать ругань в консоли кипа
domino-keep-dom2 | [000138:000026-00007F91FB725700] 06/30/2021 03:17:03 PM JVM: The Java Virtual Machine creation returned an invalid JVM machine pointer. domino-keep-dom2 | [000138:000026-00007F91FB725700] 06/30/2021 03:17:03 PM JVM: Java Virtual Machine failed to start domino-keep-dom2 | 2021-06-30 15:17:03 ERROR ConfigLoaderPlatform:393 - failed to extract templates\qpassport-.nsf - JVM: Java Virtual Machine failed to start (error code: 0x3e00, raw error with all flags: 0x3e00) domino-keep-dom2 | 2021-06-30 15:17:03 INFO ConfigLoaderPlatform:386 - Load Design: null тра-ля-ля, три рубля мы налажали и насрали вам в лог, палучите испорченый ДХЛ

этого всего не надо было делать, еслиб разрабы сами всё рассказали и доки написали, но яж квест описываю ;)

-экпортируем БД как ДХЛ (есть в хэлпе, код в телегу выложил @savl спасибо ему )
по-хорошему можно было и через трансформер выгрузить (XSLT) но я уже потерял навык, а вспоминать долго ;)
- подсовываем нормальный ДХЛ (на всяк я ещё убрал теги до <database...>) с нужным именем, перезагружаем кип (рестарт контейнера)

отдельный момент - как получить файл в контейнер извне ;)
я сделал так...
- поднял на винде ssh сервер (ведь нотусня-то виндовая ха-ха-ха), а в контейнере ssh клиент (читай выше). Как виндовый ССХ поднять -
- далее scp <видовзЮзер имя>@<виндовз ИП>:/dxl/<имя БД>.dxl /local/notesdata/dxl.d/<путь ежили есть>/<имя БД>.nsf.dxl
имя БД получается из скрипта автоматом (см. выше). Как войти рутом/юзером в контейнер - см. предыдущий пост
если под рутом - не забываем про права chown notes /local/notesdata/dxl.d/<путь ежили есть>/<имя БД>.nsf.dxl

ЗЫЖ мну всё это (но не полностью) сказали потом и на форуме (скрин ниже), спустя день как я сам раскопал, НО спасибо что "они" туда заглядывают. И спасибо коллегам за поддержку и помощь
1625177463236.png

и по результату моих стенаний - запилят в beta2.
1625176045819.png
 
Последнее редактирование:
еще по конфигурации кипа
где жывёт ДХЛ, смотрим здесь http://<имя или адрес сервера>:8889/dxl
ваще конфиги по адресу порта 8889 выглядит так
1625233355852.png
конфиги дефолтно в jar но через /local/notesdata/keepconfig.d/
 
Последнее редактирование:
  • Нравится
Реакции: Иван Пахомов
мало относится к самому кипу, но инструменты пользуют для его тестирования
что там особенного, первое - они достаточно избыточны ;)
второе - авторизация
ваще постман замороченная тула и возможно использвать (как это и обозначено curl) но любителям "удобства" и не желающим писать на баше - может зайдёт
первая заморочка - настройка всяких "ненужностей" типа среды названий и т.п.
по ссылке это ваще не описывают, порой опуская и значимые подробности
одна них - авторизация
она проистекает через Header с пом. токена, а вот его получение прозрачно не указано ;)
ток проанализировав картинки (как буратино прям) и посмотрев на curl строки я втупил
надо создать (с некоей коллекции постмана) запросы и настроить переменные среды, а потом на переменные ссылаться в запросах
минимальными переменными среды являются:
- сервер + некие ошметки урла (чтобы сократить сторку запроса)
- имя админа
- пароль админа
- токен
названия переменных произвольные (как фантазия подскажет)
мне подсказала так
1625491772793.png

страница авторизации, на кот. собсно и получаем токен
1625491898375.png

а получаем мы его в др. вкладке и шкерим в переменную среды
1625491994983.png

а ссылаемся в последующих запросах в хидере
1625492046165.png

время жизни токена - час, но это настраивается в конфигах кипа (дефолтное заложенео в jar)
про конфиги читаем здесь
располагать конфиги, соблюдая названия и структуру в keepconfig.d (/local/notesdata/keepconfig.d/)
про авторизацию в постман есть ещё здесь
 
Последнее редактирование:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!