Перейти к содержанию

Добавление доменов

Домен — это файл конфигурации сервиса, который подключается к платформе для активации определённого сервиса в каталоге. После загрузки такого файла в систему становится доступна возможность настроить сервис через интерфейс администратора и заказать соответствующий сервис через портал пользователя.

Импорт через локальные файлы в docker контейнере

🔹 Необходимо склонировать(либо локально склонировать и скопировать в работающий контейнер nimbius-core) nimbius-extension-pack с submodule(domains) в контейнер nimbius-core по пути /var/www/miq/vmdb/nimbius/: 

    git clone https://gitlab.jet.su/nimbius/extension-pack/nimbius-extension-pack; # Клонируем extension-pack
    cd nimbius-extension-pack;                                                     # Переходим в директорию
    git submodule update --recursive --remote --force --init;                      # Рекурсивно подгружаем домены в директорию ./domain

🔹 Убедимся, что контейнер nimbius-core присутствует в системе и скопируем локальное содержимое(nimbius-extension-pack) с доменами в "/var/www/miq/vmdb/nimbius":

    sudo docker ps|grep nimbius-core;

    a50a9bf4bd37   registry.jet.su/nimbius/containers/nimbius-base/nimbius-base:release-2.13.0           "/usr/bin/dumb-init …"   2 days ago   Up 2 days   3000/tcp, 4000/tcp, 0.0.0.0:8443->443/tcp, :::8443->443/tcp                nimbius-core


    ls;

    custom_buttons  domain  README.md  service_catalogs  service_dialogs  service_templates  tags


    sudo docker cp . nimbius-core:/var/www/miq/vmdb/nimbius;

🔹 Выставим права владельца для /var/www/miq/vmdb/nimbius на пользователя manageiq:

    sudo docker exec -u root -it nimbius-core /bin/bash;
    chown -R manageiq:manageiq /var/www/miq/vmdb/nimbius && exit;

🔹 Запустим импорт доменов и service_dialogs:

    sudo docker exec -it nimbius-core /bin/bash;
    cd /var/www/miq/vmdb/;
    nimbius-import -u admin -p smartvm;

🔹 После завершения импорта можно выйти из контейнера

Импорт через локальные файлы в Kubernetes

🔹 Аналогично импорту в докер контейнере выполнить шаг 1 (клонирование nimbius-extension-pack с submodule(domains))

🔹 Выберем в Kubernetes необходимый под (любой из двух с именем ^[0-9]-ui-*). Например:

    kubectl -n nimbius-test --kubeconfig ./clusterclient.conf get po | grep "^[0-9]-ui"

    1-ui-54868c7d8f-54djg                                 1/1     Running   0          3d22h
    1-ui-54868c7d8f-6q5fp                                 1/1     Running   0          3d22h

🔹 Скопируем локальное содержимое(ext pack + domains) в под 1-ui-54868c7d8f-54djg и запустим импорт extpack:

    kubectl -n nimbius-test --kubeconfig ./clusterclient.conf  cp . 1-ui-54868c7d8f-54djg:/var/www/miq/vmdb/nimbius;

    kubectl -n nimbius-test --kubeconfig ./clusterclient.conf  exec -it 1-ui-54868c7d8f-54djg – /bin/bash

    bash-5.1$ cd /var/www/miq/vmdb/
    .bundle/          CHANGELOG.md      GUID              Gemfile.orig      Procfile.example  VERSION           bundler.d/        config.ru         content/          exec_import.sh    lib/              miqconnector.rb   systemd/          v2_keygen         
    AUTHORS           CONTRIBUTING.md   Gemfile           LICENSE.txt       README.md         app/              certs/            container-assets/ data/             export_script.rb  locale/           product/          tmp/              
    BUILD             Dockerfile        Gemfile.lock      NOTICE.txt        Rakefile          bin/              config/           container_env     db/               import_script.rb  log/              public/           tools/            
    bash-5.1$ cd /var/www/miq/vmdb/
    bash-5.1$ nimbius-import -u admin -p smartvm

Импорт через git на административном портале

В данном случае сервисные диалоги и кнопки импортируются только в ручном режиме (см. выше) - без подгрузки submodule(domains), т.е. можно просто локально склонировать git clone https://gitlab.jet.su/nimbius/extension-pack/nimbius-extension-pack; и далее, в зависимости docker или kubernetes, скопировать содержимое и запустить ручной импорт.

🔹 На портале администратора в Settings → Application settings должен быть обязательно включен Git repository owner: roleGitRepOwner

🔹 Домены отдельно импортируются через ссылку на git:

  • На портале администратора требуется выбрать Automation → Embedded Automate →  Import/Export
  • Заполняется ссылка на домен и creds:
  • Выбираем тип branch(+ветка) или tag брать из гита: importnimbcore branch

🔹 Домены, импортированные через git, можно обновлять(refresh) при изменениях в гите: editDomain

Домены, импортированные(или созданные) локально и из гита, отличаются пиктограммами. На рисунке ниже слева локально импортированные домены, справа - через git: compareadddomain