2.2.1. Giriş#
Veri Depolama (Data Storage)#
System setting ortamının kurulması için PostgreSQL ve tercihe bağlı redis'in çalıştırılması gerekmektedir.
PostgreSQL docker bilgisine buradan ulaşabilirsiniz.
Redis docker bilgisine buradan ulaşabilirsiniz.
Uygulama Paketi (Instances)#
System setting docker instance'ına buradan ulaşabilirsiniz.
Dış Bağımlılıklar (External Dependencies)#
Security enabled durumda security instances kurulumu ihtiyacı olmaktadır. Kurulumun detaylarına buradan ulaşabilirsiniz.
Varsayılan Uygulama Parametreleri (Default Environment Variables)#
Değişken Adı | Değeri | Açıklama |
---|---|---|
DATA_INITIALIZER_ENABLED | true | Veri ilklendirmenin aktif/pasif yapılmasının sağlayan değişkendir. |
DATA_INITIALIZER_GIT_ENABLED | true | Veri ilklendirmesinin git üzerinden yapılıp yapılmayacağının bilgisidir. |
DATA_INITIALIZER_GIT_LABEL | master | Veri ilklendirmesinin yapılacağı branch bilgisidir. |
DATA_INITIALIZER_GIT_PATH | ${user.home}/.hvl-gradle-spring-plugin/data-initializer/hvl-system-setting | Veri ilklendirmesinin yapılacaği git path bilgisidir. |
DATA_INITIALIZER_RESOURCE_PATH | ${hvl.core.jdbc.initializer.git.path}/script/db/framework/system/setting/scenario/setting.scenario | Veri ilklendirmesi yapılacak kaynak senaryo dosyası bilgisidir. |
DB_SCHEMA | system | Uygulama verilerinin işlendiği RDMS schema bilgisidir. |
DB_SCHEMA_CREATE_ENABLED | true | Schema oluşturmanın aktif/pasif yapıldığı değişkendir. |
DDL_AUTO_TYPE | create | Veri ilklendirme strateji bilgisidir. (create, update vb.) |
LOGGING_CONFIG | \({spring.cloud.config.uri}/\)/default/framework()log4j2()instance()system()setting/log4j2.yml | Uygulama log4j konfigurasyon dosyası dizin bilgisidir. |
REDIS_CM_CACHE_PREFIX | hvl::sys::setting:: | Redis üzerinde tutulan cache prefix değeridir. |
REDIS_CM_VALUE_SERIALIZER | java | Redis üzerindeki cache bilgisinin serializer(java, binary) yönetiminin bilgisidir. |
SERVER_APP_NAME | system-setting-server | Uygulama isim bilgisidir. |
SERVER_DESCRIPTION | Hvl System Setting Server | Uygulama açıklama bilgisidir. |
SERVER_PORT | 9192 | Uygulamanın sunulduğu port bilgisidir. |
SETTING_EVENT_OPERATION_ENABLED | false | Setting ile ilgili olayların kafkaya gönderilmesini aktif hale getirir. |
SETTING_EVENT_OPERATION_TOPIC_NAME | hvl_system_setting_operation | Setting ile ilgili olayların kafka topic adı. |
SWAGGER_DESCRIPTION | Havelsan system setting services info | Uygulamanın swagger açıklama bilgisidir |
*Daha fazlası için Parametreler'e bakınız.
Veri ilklendirme (Data Initializer)#
- Ayar modül isimlerinin tanımlanması
- Ayar tiplerinin tanımlanması
- Ayar bilgisinin kayıt edilmesi
adımlarından oluşmaktadır.
- Module Name Ekleme SQL :
Ayar bilgisi gerektiren modüller tanımlanır. 'KEYSIS', 'HR' vb. modüllerin tanımlanması gerekmektedir.
INSERT INTO system.sys_setting_module (id, created_by, created_at, updated_at, updated_by, uuid, obj_version,
name, module_order)
VALUES (NEXTVAL('system.sys_setting_module_seq'), 'unknown', CURRENT_DATE, CURRENT_DATE, 'unknown',
'SETTING_MODULE_NAME_UUID_00000000001',
0, 'KEYSYS', 1);
- Setting Type Ekleme SQL :
Modül içerisinde ihtiyaç duyulan ayar tipleri tanımlanır. Örnek olarak Keysis modülü için 'SECURITY', 'SYSTEM' vb. ayar tipleri vardır. Hangi modülün ayar tipi olduğunu belirtmek için module_id bulundurur.
INSERT INTO system.sys_setting_type (id, created_by, created_at, updated_at, updated_by, uuid, obj_version,
module_id, name, type_order)
VALUES (NEXTVAL('system.sys_setting_module_seq'), 'unknown', CURRENT_DATE, CURRENT_DATE, 'unknown',
'SETTING_TYPE_UUID_000000000000000001',
0, (SELECT id FROM system.sys_setting_module WHERE name = 'KEYSYS'), 'SECURITY', 1);
- Setting Ekleme SQL
Modül ve tipe göre ayar bilgileri tanımlanır. Değerler string, number ve boolean olabilir. Değerin olmadığı tiplere null
vermek yerine 0
veya boş string değer vermek gerekmektedir.
INSERT INTO system.sys_setting (id, created_by, created_at, updated_at, updated_by, uuid, obj_version,
code, description, type_id, field_type, string_value, number_value,
boolean_value)
VALUES (NEXTVAL('system.sys_setting_seq'), 'unknown', CURRENT_DATE, CURRENT_DATE, 'unknown',
'SETTING_UUID_00000000000000000000002',
0, 'session_limit_count', 'session_limit_count', (SELECT id FROM system.sys_setting_type WHERE name = 'SECURITY'), 0, '', 5, 0);
Değer Açıklamaları ve Ayar Adları (Setting names)#
settingModuleName.sql
Değişken Adı | Açıklama |
---|---|
name | Modül ismidir. |
module_order | Düzenleme sırasında modülün hangi sırada geleceğinin bilgisidir. |
settingType.sql
Değişken Adı | Açıklama |
---|---|
module_id | Ayar tipinin hangi modüle ait olduğunun bilgisidir. |
name | Ayar tip ismidir. Örneğin SECURITY , SYSTEM gibi tipler olabilir. |
type_order | Düzenleme sırasında modüle ait tiplerin hangi sırada geleceğinin bilgisidir. |
setting.sql
Değişken Adı | Açıklama |
---|---|
code | Ayara ait kod bilgisdir. |
description | Ayar bilgisine ait açıklamadır. |
type_id | Ait olduğu tip bilgisidir. |
field_type | Değer alanının tipini belirler. 0 sayısal değer, 1 string değer , 2 boolean değere karşılık gelmektedir. |
string_value | String değer barındıran ayarlar için alandır. |
boolean_value | Boolean değer barındıran ayarlar için alandır. |
number_value | Sayısal değer barındıran ayarlar için alandır. |
Ayar Adları#
Ayar Adı | Açıklama |
---|---|
session_limit_enabled | Sistemde aynı kullanıcının ait oturum sayısının belirli olmasını aktif/pasif yapan ayardır. |
session_limit_count | Sistemde aynı kullanıcının kaç oturumu olabileceğini belirten ayardır. |
session_auto_close | Sistemde oturumun otomatik kapatılmasını belirleyen ayardır. |
session_ttl_enabled | Oturum yaşam süresinin belirlenmesinin aktif/pasif yapılabilmesini sağlayan ayardır. |
session_ttl | Oturum yaşam süresinin belirleyen ayardır. |
failed_count | Sistemde kullanıcı hatalı giriş sayısını belirleyen ayardır. |
auto-unlock-enabled | Kullanıcı kilidinin belirli süre sonra açılmasını aktif/pasif yapan ayardır. |
auto-unlock-enabled | Kullanıcı kilidinin belirli süre sonra açılmasını aktif/pasif yapan ayardır. |
locked_duration | Sistemde kullanıcının kilitli kalma süresini belirleyen ayardır. Örneğin 15 dk sonra kullanıcı kilidi otomatik açılabilir. |
password_expire_time_enabled | Kullanıcı parolasının geçerlilik süresini aktif/pasif yapan ayardır. |
password_expire_time | Kullanıcı parolasının geçerlilik süresini belirleyen ayardır. |
verification_code_min_duration | Üretilen verification kodunun geçerlilik süresidir. |
two_factor_authentication_type | İkili doğrulama tipini belirleyen ayardır. NONE ikili doğrulama yapılmayacağı anlamına gelir. |
two_factor_authentication_verification_code_min_duration | İkili doğrulama kodunun geçerliilik süresinin belirlendiği ayardır. |
Not: Sistemde ayarların aktiflik durumunun yönetilmesi sağlanmaktadır. Aktif/pasif olarak yönetilmek istenen ayarlar için enabled (boolean) değerleri oluşturulmalıdır.
- SECURITY -> Authentication ile ilgili ayarlardır. (failed_count, locked_duration vs.)
- NOTIFICATION -> Uygulamada belirli işlemler sonrası bildirim gönderilme durumunu yönetmek için kullanılır.
- SYSTEM -> Audit tutulmasını yönetmek için kullanılan ayardır.