Podręcznik użytkownika systemu EZD RP

Instalacja modułu EZDRP-BPMN

Moduł EZDRP-BPMN jest integralną częścią EZD RP, dlatego dotyczące go wymagania zostały określone w głównej dokumentacji systemu. Aby moduł działał poprawnie, konieczne jest ustanowienie połączenia z Silnikiem BPMN.

Silnik Camunda 7 można pobrać ze strony internetowej: Camunda Download Hub. Wersja Community jest bezpłatna i może zostać użyta do połączenia z EZD RP. Firma Camunda udostępniła również gotowe obrazy Docker, które można pobrać z oficjalnej strony internetowej projektu Docker Hub. Obrazy pozwalają na instalację Silnika Camunda 7 w środowisku Kubernetes.

Przy określaniu szczegółowych wymagań systemowych dla Silnika Camunda 7, należy zapoznać się z wytycznymi firmy Camunda dostępnymi na stronie z dokumentacją Camunda. Wymagania dla EZD RP dostępne są na stronie Portalu EZD RP z licencjami i regulaminami.

Instalacja z poziomu powłoki systemowej (shell)

Camunda zawsze powinna być instalowana w tej samej przestrzeni nazw (namespace) co EZD RP. Ponadto nie można zmieniać nazwy wewnętrznego serwisu, na jakim wystawiane jest rozwiązanie (na jakim Camunda komunikuje się z EZD RP), ponieważ ezdrp-api jest już odpowiednio skonfigurowane, aby łączyć się z Camundą..

Instalacja z bazą wewnętrzną H2

sudo su -
snap install helm --classic
helm repo add ezdrp https://git.eadministracja.nask.pl/api/packages/ezdrp/helm
helm repo update
kubectl patch storageclass local-path -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
helm install camunda ezdrp/camunda --namespace ezd

Taki sposób instalacji Camundy zakłada skorzystanie z wbudowanej wewnętrznej bazy H2 i umieszczenie jej w trwałym wolumenie o pojemności 1 GB założonym bezpośrednio na klastrze. Jest to standardowa i domyślna metoda instalacji, która nie udostępnia webowej konsoli Camundy na zewnątrz klastra, więc nie wymaga korzystania z ingressu. Oczywiście można go skonfigurować samodzielnie.

Przykładowa instalacja z zewnętrzną bazą PostgreSQL

sudo su -
snap install helm --classic
helm repo add ezdrp https://git.eadministracja.nask.pl/api/packages/ezdrp/helm
helm repo update
helm install camunda ezdrp/camunda --namespace=ezd \
--set database.driver=org.postgresql.Driver, \
--set database.url=jdbc:postgresql://ezdrp-db-postgresql:5432/camunda, \
--set database.external.enabled=true, \
--set database.external.username=postgres, \
--set database.external.password=postgres, \
--set ingress.enabled=true, \
--set ingress.host=camunda.test.nob.pib.nask.pl, \
--set ingress.secretName=certyfikat

helm install camunda – aplikacja musi koniecznie nazywać się camunda, ponieważ ta nazwa jest wykorzystywana do utworzenia nazwy serwisu umożliwiającego połączenie z Camundą.

database.driver=org.postgresql.Driver – sterownik służący do podłączenia do bazy danych.

jdbc:postgresql://ezdrp-db-postgresql:5432/camunda – wpis zawierający connection string do bazy danych.

ezdrp-dv-postgresql:5432 – adres serwera PostgreSQL wraz z portem; można podać również adres IP serwera, np.: 192.168.1.1:5432.

camunda – nazwa bazy danych, która musi zostać wcześniej utworzona; użytkownik musi mieć odpowiednie uprawnienia do tworzenia tabel w bazie danych (najlepsza będzie rola właściciela – owner).

database.external.username=postgres – login do bazy danych.

database.external.password=postgres – hasło do bazy danych bez znaków specjalnych.

ingress.enabled=true – włączenie automatycznego tworzenia ingressu, który umożliwi dostęp do webowej konsoli Camundy.

ingress.host=camunda.dev.ezdrp.lab.nob.pib.nask.pl – nazwa domeny, pod którą zostanie wystawiony ingress, umożliwiający dostęp do webowej konsoli Camundy; przykładowo można ustawić nazwę domeny jako camunda.ezdrp.miastoxyz.pl; należy pamiętać, że musi to być domena, na której wystawione jest już EZD RP, ponieważ wtedy mamy już do niej certyfikat.

ingress.secretName=certyfikat – parametr ingress.secretName powinien zawierać nazwę sekretu, w którym znajduje się certyfikat dla domeny, na której działa już EZD RP; w naszych instalacjach zwykle ta nazwa to po prostu „certyfikat”.

Przykładowa instalacja z zewnętrzną bazą MS SQL

sudo su -
snap install helm --classic
helm repo add ezdrp https://git.eadministracja.nask.pl/api/packages/ezdrp/helm
helm repo update
helm install camunda ezdrp/camunda --namespace=ezd \
--set database.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver, \
--set database.url='jdbc:sqlserver://10.10.1.2:1433;encrypt=false;databaseName=camunda;TrustServerCertificate=True;', \
--set database.external.enabled=true, \
--set database.external.username=camunda, \
--set database.external.password=password, \
--set ingress.enabled=true, \
--set ingress.host=camunda.test.nob.pib.nask.pl, \
--set ingress.secretName=certyfikat

W tym przypadku zmienia się nazwa sterownika bazy:
com.microsoft.sqlserver.jdbc.SQLServerDriver

oraz forma connection stringa:
database.url=’jdbc:sqlserver://10.10.1.2:1433;encrypt=false;databaseName=camunda;TrustServerCertificate=True

W haśle nie może być znaków specjalnych

Instalacja z poziomu Ranchera

Przed przystąpieniem do instalacji: nazwa bazy danych camunda, musi zostać wcześniej utworzona; użytkownik musi mieć odpowiednie uprawnienia do tworzenia tabel w bazie danych (najlepsza będzie rola właściciela – owner).

Z uwagi na to, że przed instalacją Camundy mamy już zainstalowany system EZD RP, nie jest konieczne dodawanie nowego zewnętrznego repozytorium do klastra. W tym przypadku możemy wykorzystać już istniejące repozytorium, które zostało użyte przy instalacji EZD RP.

Przed instalacją trzeba ustawić domyślny storage sekcji Storage klikamy zakładkę StorageClasses i wybieramy local-path(dla instalacji z bazą danych H2) dla instalacji z bazami Postgres oraz MS SQL wybieramy StorageClasses o nazwie nfs-client w tym celu klikamy ikonę menu podręcznego (trzy kropki). Następnie spośród dostępnych opcji wybieramy Set as Default.

Aby wyświetlić listę dostępnych aplikacji, które możemy zainstalować na klastrze, należy wybrać opcję Apps, a następnie Charts. Zostanie wyświetlony wykaz dostępnych aplikacji, który możemy przeglądać i wybrać interesujące nas aplikacje do instalacji na klastrze. Warto zawęzić wynik wyszukiwania przy użyciu filtra. Wskazujemy tylko nasze publiczne repozytorium. Z listy dostępnych aplikacji wybieramy Camundę.

Wyświetli się nowy widok z informacjami dotyczącymi wybranej aplikacji. W prawym górnym rogu klikamy przycisk Install.

Przy wyborze przestrzeni nazw do instalacji Camundy należy wskazać w odpowiednim polu ten sam namespace, w którym znajduje się już EZD RP. Następnie podajemy nazwę aplikacji. W polu Name podajemy nazwę camunda. Wprowadzone zmiany zatwierdzamy przyciskiem Next.

Konfiguracja instalacji podzielona jest na dwie zakładki:

  • Database configuration
  • Domain for camunda

W celu zainstalowania Camundy z jej wbudowaną bazą danych H2 wystarczy nie wypełniać Database configuration, czyli nie zaznaczać pola wyboru Use external database, a w polu Set domain for camunda wpisujemy nazwę domeny i nazwę secretu z certyfikatem który już jest w systemie (ten sam co dla EZD RP). Klikamy przycisk Install.

Z kolei instalacja z zewnętrzną bazą danych wymaga przejścia do zakładki Database configuration i zaznaczenia pola wyboru przy opcji Use external database. Podajemy wymagane informacje, w tym m.in. nazwę użytkownika i hasło – zgodnie z instrukcją instalacji, która została opisana wyżej. Należy wybrać odpowiedni sterownik do zewnętrznej bazy danych: postgres lub mssql. I pamiętać że baza musi zostać wcześniej utworzona, użytkownik musi mieć odpowiednie uprawnienia do tworzenia tabel w bazie danych (najlepsza będzie rola właściciela – owner).

Przykład konfiguracji Postgres

jdbc:postgresql://ezdrp-db-postgresql:5432/camunda

Przykład konfiguracji MS SQL

jdbc:sqlserver://10.10.1.2:1433;encrypt=false;databaseName=camunda;TrustServerCertificate=True;

Jeśli potrzebujemy wystawić webową konsolę Camundy poprzez ingress, należy przejść do zakładki Domain for camunda i zaznaczyć pole wyboru przy opcji Set domain for camunda. Podajemy potrzebne dane, czyli nazwę domeny oraz nazwę sekretu z certyfikatem, który już jest w systemie (ten sam co dla EZD RP). Klikamy przycisk Install, aby zakończyć proces instalacji.

W celu włączenie procesowości należy przejść do widoku Apps > Installed apps w Rancherze, wybieramy naszą aplikację i w menu kontekstowym klikamy opcję Edit/Upgrade.

Wybieramy zakładkę Edit YAML.

Odszukujemy flagę Ezdrp_Feature_Bpmn i zmieniamy na Enabled zatwierdzamy przyciskiem Upgrade.

W dalszej kolejności, należy dodać ingress z bocznego menu wybieramy Service Discovery > Ingresses przyciskami Create.

Wypełniamy pola Name, Request Host, Prefix, Target Service, Port.

Wybieramy certyfikat i dodajemy adres domeny.

Ingress Class wybieramy nginx.

Po wykonaniu powyższych działań należy dodać wpisy DNS:

camunda.twojadomena.pl
razor.twojadomena.pl
api-bpmn-validators.twojadomena.pl

Dodatkowe informacje w dokumentacji producenta Silnika Camunda 7