Bir Cluster ERP dağıtımı hizmet verdiği ülkeyi beyan edebilir. Bu durumda python -m cluster_erp.server.residency_check komutu, yapılandırmada veya kontrol düzleminde bu beyanla çelişen her şeyi arar. Bu sayfa arkasındaki kuralı, her bulgu kodunu ve denetimin sınırlarını açıklar. Ayarların kendileri yapılandırma başvurusunda listelenir.
Kısaca¶
- Beyan, iki harfli bir ISO 3166-1 kodu olan
CLUSTER_ERP_NODE_COUNTRYdeğeridir; o olmadan komut hiçbir ilke beyan edilmediğini yazar ve 0 koduyla çıkar (src/cluster_erp/server/residency_check.py:347-355,src/cluster_erp/config/settings.py:756-760). - Beyan varken komut bir özet yazar, ardından ya 0 çıkış koduyla
CLEAN: nothing contradicts the declaration.ya da 1 çıkış koduyla bulguları yazar (src/cluster_erp/server/residency_check.py:358-373). - Denetimler ayarlar ve kiracı satırları üzerinde saf işlevlerdir; yalnız
collectkontrol düzlemini okur (src/cluster_erp/server/residency_check.py:28-29,src/cluster_erp/server/residency_check.py:325-344). install.shher kurulumdan sonra denetimi koşar ve başarısız olursa sürümü canlı olarak bildirmeyi reddeder (deploy/install.sh:258-259).
Nasıl çalışır¶
main, Settings kurar, collect çağırır ve sonucu yazar (src/cluster_erp/server/residency_check.py:347-373). collect, config_findings koşar ve çok kiracılı bir düğümde kaydı silinmemiş her kiracının (key, region) çiftleri üzerinde tenant_findings sonuçlarını ekler (src/cluster_erp/server/residency_check.py:325-344).
Bulgu kodları¶
residency_check.py içindeki Finding(...) kurucuları olarak sayılan on dokuz kod.
| Kod | Ne zaman bildirilir | Kaynak |
|---|---|---|
BACKUP-REMOTE |
backup_dir bir ağ yoludur. |
src/cluster_erp/server/residency_check.py:106-114 |
BACKUP-RELATIVE |
backup_dir göreli bir yoldur. |
src/cluster_erp/server/residency_check.py:115-122 |
STORAGE-REMOTE |
Yerel depolama yolu bir ağ yoludur. | src/cluster_erp/server/residency_check.py:124-133 |
STORAGE-RELATIVE |
Yerel depolama yolu görelidir. | src/cluster_erp/server/residency_check.py:134-141 |
STORAGE-S3-REGION-UNREVIEWED |
S3 arka ucu dağıtımla gelen varsayılan bölgeyi korur. | src/cluster_erp/server/residency_check.py:142-152 |
STORAGE-S3-ENDPOINT |
S3 arka ucunun açık bir uç noktası yoktur. | src/cluster_erp/server/residency_check.py:153-160 |
MAIL-RELAY-CONTRADICTION |
mail_relay_none doğruyken bir SMTP ana makinesi ayarlıdır. |
src/cluster_erp/server/residency_check.py:165-172 |
MAIL-RELAY-UNDECLARED |
SMTP ana makinesi yoktur ve düğümün posta göndermediği beyan edilmemiştir. | src/cluster_erp/server/residency_check.py:173-181 |
SIGNUP-RELAY-UNDECLARED |
Kayıt postası SMTP ile gider ama kayıt SMTP ana makinesi ayarlı değildir. | src/cluster_erp/server/residency_check.py:182-189 |
REGION-FOREIGN |
Düğüm, kodu beyan edilen ülke olmayan bir bölgeye hizmet verir. | src/cluster_erp/server/residency_check.py:194-204 |
REGION-DB-REMOTE |
Bir bölgenin veritabanı sunucusu başka bir ana makinedir; ülkesini operatör onaylamalıdır. | src/cluster_erp/server/residency_check.py:205-212 |
ARCHIVE-REMOTE |
wal_archive_dir veya cold_storage_dir bir ağ yoludur. |
src/cluster_erp/server/residency_check.py:213-227 |
ARCHIVE-RELATIVE |
wal_archive_dir veya cold_storage_dir görelidir. |
src/cluster_erp/server/residency_check.py:228-234 |
MAIL-RELAY-COUNTRY-UNDECLARED |
Bir SMTP aktarıcısı ayarlıdır ama mail_relay_country boştur. |
src/cluster_erp/server/residency_check.py:235-244 |
MAIL-RELAY-ABROAD |
mail_relay_country beyan edilen ülkeden farklıdır. |
src/cluster_erp/server/residency_check.py:245-252 |
STORAGE-S3-UNAVAILABLE |
S3 arka ucu seçilmiştir ama S3 istemci kitaplığı kurulu değildir. | src/cluster_erp/server/residency_check.py:253-263 |
MAIL-PROVIDERS-EXTERNAL |
Dış bir sağlayıcıya posta kutusu bağlama yapılandırılmıştır. | src/cluster_erp/server/residency_check.py:264-292 |
COUNTRY-NODES-EMPTY |
CLUSTER_ERP_COUNTRY_NODES boştur. |
src/cluster_erp/server/residency_check.py:293-302 |
TENANT-FOREIGN-REGION |
Bir kiracı bu düğümün hizmet vermediği bir bölgeyle kayıtlıdır. | src/cluster_erp/server/residency_check.py:305-322 |
Bir yol POSIX veya Windows kurallarından birinde mutlaksa mutlak, ters eğik çizgiler eğik çizgiye çevrildikten sonra iki eğik çizgiyle başlıyorsa uzak sayılır (src/cluster_erp/server/residency_check.py:55-72).
Neden böyle kurulmuştur¶
- Modül ilkeyi belirtir: bir müşterinin verisi o müşterinin ülkesinde kalır, orada saklanır ve işlenir; bu yüzden bir dağıtım ülke başına tam bir düğümdür (
src/cluster_erp/server/residency_check.py:5-9). - Kod coğrafyayı doğrulayamaz; bu yüzden denetim yalnız beyanla çelişkileri bildirir (
src/cluster_erp/server/residency_check.py:11-14).
Kurallar ve sınırlar¶
Settingsiki harf olmayan bir ülke kodunu ve düğümün kendi ülkesini içermeyen birCLUSTER_ERP_COUNTRY_NODESharitasını zaten reddeder (src/cluster_erp/config/settings.py:756-767).- Testler
tests/test_residency_check.pyiçindedir; tarayıcı süitiweb-client/_e2e_residency.mjsdosyasıdır.
Diğer parçalarla etkileşim¶
- Kayıt giriş formu ve operatör konsolu, bir müşteriyi kendi ülkesinin düğümüne göndermek için
node_countryvecountry_nodesdeğerlerini okur (src/cluster_erp/server/routes/signup.py:126-138,src/cluster_erp/server/routes/vendor.py:157). Bkz. kayıt. - Denetlediği yedek, depolama ve arşiv ayarları yedekler ve geri yükleme sayfasında açıklanır.
Sınırlar ve açık noktalar¶
- Uzak bir paylaşıma eşlenmiş bir sürücü harfi yerel okunur; modül bu boşluğu operatöre bırakır (
src/cluster_erp/server/residency_check.py:25-26). - Denetim ana makine adlarını çözmez ve bir adresin nerede olduğuna bakmaz;
REGION-DB-REMOTEoperatörden onay ister (src/cluster_erp/server/residency_check.py:205-212).
Tanıtılan terimler¶
| Terim | Kod tanımlayıcısı | Tanım | Türkçe terim | Kaynak |
|---|---|---|---|---|
| ikamet bulgusu | Finding |
Dağıtımın beyan ettiği ülkeyle çelişmesinin, kodu ve ayrıntısı olan bir biçimi. | ikamet bulgusu | src/cluster_erp/server/residency_check.py:44-52 |
| düğüm ülkesi | node_country |
Bir düğümün hizmet verdiğini beyan ettiği ülke. | düğüm ülkesi | src/cluster_erp/config/settings.py:111 |
İlgili sayfalar¶
92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.