Note ratetack Forgejo :3000 노드 레지스트리 구성 요건
forgejo 레지스트리 192.168.4.22:3000 (필요 HTTP, auth 필요)에서 잡아당기기 각 노드의 등록에 추가해야 합니다. yaml (mirror -> http + 구성 auth + insecure) 또는 pods ImagePullBackOff 와 '서버는 HTTP 응...
Pin kamo traefik에 k1m1; 자동 cert 단일 클러스터
SSL 오류 : kamo Traefik은 외부 IP 192.168.4.22 (k1m1) +가있는 LoadBalancer입니다. externalTrafficPolicy=Local, 그래서 k1m1에서 실행되는 MUST — pod rebalance는 k3m1로 이동, 떠나 192.168.4...
Klusterservices를 단일 k1m1+k3m1 클러스터에 통합
- NATS: 독립 단일 팟 핀 k1m1 (drop k2m1 + 일반적인 클러스터 변형) - CockroachDB : 핀 k1m1, 단일 노드 --join - MySQL: 단일 인스턴스는 ratetack (cluster-services ns, k1m1)에 hostPath로 이동했습니다....
부트 스트랩 우주 - 미니 비밀 + ugc 버킷 노트 (§14)
6단계를 추가하여 bootstrap-universe.sh: 우주의 비밀을 만듭니다. (ACCESS KEY/SECRET KEY from Universe-backup-s3 root creds)와 노트 우주 -ugc MinIO 버킷은 존재해야합니다. Idempotent - 비밀이 있다면 건너...
K1m1 노드 이미지 v24.2.4 -> v24.3.33 업그레이드
K1m1 CRDB StatefulSet 노드의 주요 업그레이드. 참고 : 클러스터가 아닙니다. k3m1 노드가 업그레이드될 때까지 24.3로 최종화 (별도 추적).
해제 k2m1 클러스터 섹션
k2m1 (10.8.2.1:6443)는 decommissioned 및 unachable 입니다; 그것의 단계는 동일에서 살았습니다 deploy services 작업 및 실패 (kubeconfig / no route) 심지어 k1m1 완전히 성공. 전체 k2m1 섹션을 제거하므로 녹색 실...
Indent heredoc body 그래서 start.sh configmap은 YAML을 유효합니다
Start.sh 블록 사기 임베디드 5 쉘 heredocs (rtp.conf, http.conf, SQL block, WebRTC endpoints, freepbx.conf) 그 몸은 열 0에서 sat - 보다 적은 indented 블록 사기, 그래서 YAML은 첫 번째 바디 라인에 사...
실패하지 않은 kubectl 캐시 dir 전체 작업을 죽일
Kubectl-install 단계는 'set -eo pipefail'를 실행합니다. 찾아보기 *********** -이름 kubectl ... | 헤드 -1 캐시 dir는 absent (런너 재시작 사이에 분명) 출구를 찾을 때 1, pipefail propagates it, and s...
업그레이드 v3.0 -> v3.3 (fix 간헐적인 WebSocket 차단)
v3.0.0 intermittently는 WS 101 업그레이드를 완료하여 소켓을 닫습니다. Frame Flows - 우주 게임 클라이언트의 로드에 'disconnect를 반복 (reproduced) headless: 페이지 짐의 첫번째/찬 WS는 101 후에 ~200ms, 클라이언트 ...
Dovecot maildirs를 로컬 경로 PVC로 이동 (rclone/MinIO FUSE)
Maildirs는 hostPath /mnt/shared-files/email/mail에 있었습니다 — rclone FUSE 산 maildir를 안전하게 호스트할 수 없는 MinIO 객체 저장소에 의해 백업됨(atomic no atomic 이름, 파일 잠금 없음, fsync 내구성 없음....
Rclone/MinIO FUSE 대신에 국부적으로 환원 PVC에 MySQL datadir를 두십시오
Mail MySQL datadir (과 maildirs)는 hostPath /mnt/shared-files에 있었습니다. rclone FUSE 마운트는 MinIO 객체 저장소에 의해 백업, 이는 크게 또는 지속적으로 InnoDB datadir를 호스트합니다. 2026-06-13에 마운트...
백업 확인 작업 - DB-scoped 백업, MinIO 지역 us-west-ca-s-1, EXTERNALIOIMPLICITACCESS 부트 스트랩
노드 구성: 문서 k1m1 forgejo-runner config (--add-host for submodule DNS)
K1m1의 작업 컨테이너는 공공 DNS로 돌아갑니다, 그래서 함대-swept http://k1m1:3000 .gitmodules URL은 클론에 실패합니다. 작업에 핀 k1m1 container.options를 통해 컨테이너 --add-host (암호 서비스 CI 2026-06-12).
노드 구성: 문서 k1m1 도커 데몬 insecure-registries
K1m1 forgejo-runner의 빌드는 HTTP Forgejo 레지스트리로 밀어; the daemon.json만 배송 :5000 항목, 그래서 모든 빌드 작업 착륙 k1m1에서 HTTPS-to-HTTP 오류 (2026-06-12)로 도커 로그인이 실패했습니다. Desired 상태는...
로키 6.x SingleBinary는 0개의 확장 가능한 표적을 필요로 합니다; localhost (cert SANs)를 통해 crdb 실행
Kamo-universe namespace+quota+valkey, CockroachDB 백업, 관찰성 스택
- 우주 /: 네임스페이스 + ResourceQuota, valkey-universe (AOF, hostPath k1m1), nightly CockroachDB 백업 CronJob, 연산자 부트 스트랩 스크립트 - 모니터링/: 핀 helm 값 *********** 스크립트를 설치, gr...
LAN을 통해 k3m1과 공유된 두 노드 클러스터에 가입하십시오. 계정 고립
LAN 노선에 대한 전체 WireGuard 경로 (10.8.x.x) (192.168.4.22 <-> 192.168.4.36 : 6222) 경로 URL에 내장 된 주름. 클러스터를 kamo-ratestack-nats (Pricetack/k3m1)와 공유. 다중 계정 고립: kamo 고객 ...
K3m1 노드 + 클러스터를 LAN IP로 추가
- statefulset: 192.168.4.x (k1m1=.22, k3m1=.36) 이상 광고/조인; WireGuard 떨어졌다 (k3m1 wg0 10.8.0.1 k0m1의 광고 IP). - init-job + CI kubeconfig 엔드포인트는 LAN IP로 이동했습니다. - CI...
새로 발행된 certs가 TLSStore를 새로 출시했습니다
update tls store() ran at start and on shared-storage imports, 그래서 cert-manager (HTTP-01)가 신선하게 발행 한 cert는 tls-* secret로 준비되었습니다. 하지만 다음 자동 종료까지 TLSStore에 추가하지 ...
리디렉트로만 루트를 backend so Traefik v3를 사용하면
Traefik v3는 IngressRoute 라우터를 서비스로 비활성화합니다. [] 언제 allowEmptyServices는 (이러한대로), 그래서 도메인 aagnostic HTTP->HTTPS 리디렉션 라우터는 "disabled" (서비스가 존재하지 않습니다) 그리고 포트 80 여전히...
모든 HTTP 호스트를 HTTPS + 게이트 auto-cert로 이동 org 도메인
Custom org 도메인(예: login.sign.pink)은 Traefik의 bare를 반환합니다. 일반 HTTP에 "404 페이지": 유일한 port-80 리디렉션 라우터 *.kamocrm.com 및 ***********에 하드 코딩 배포 작업 흐름에 의해 적용되지 않았으므로 클러...
Pre-seed sign.pink + STATIC DOMAINS에 있는 www.sign.pink
sign.pink는 새로운 apex 도메인입니다 (소비자 e-signature 상표/백색 상표 카모 테넌트 org). Pre-seed apex + www 그래서 Let's Encrypt cert는 이전에 존재합니다. 첫번째 HTTPS 소통량; *.sign.pink subdomains는 ...
Subdomain 지도를 업데이트하십시오 KamoLOS → KamoMLOS
/Next.js/KamoLOS 프로젝트는 KamoMLOS (Kamo Mortgage)로 이름을 변경했습니다. Loan 생산 시스템). KamoLOS 이름은 이제 사용됩니다. 새로운 개인 대출 서비스. myloan.* 하위 도메인은 여전히 지도로 모기지 신청 흐름 (현재 KamoMLOS)...
노드 구성 : k1m1 kubelet 최대 파드 110 -> 200
Default RKE2 max-pods=110는 kamolos Rolling-update를 차단하고 있습니다. 배치 (maxSurge:1,maxUnavailable:0는 새로운 포드를 창조하기 위하여 구멍을 필요로 합니다 오래된 죽이기; 모자에 deadlocked. k1m1에는 48의...
KamoLOS에 대한 문서 myloan 별
SUBDOMAINS 인식 목록에 `myloan`을 추가하고 댓글을 다시 작성하십시오. 목록의 목적을 명시하기 위해 (그것은 다큐멘터리; 동적 Traefik 로그 스캔은 실제로 certs를 제공 하는 것입니다.). KamoLOS는 HostRegexp(`^myloan[.].+$')로 In...
Subdomains를 위한 가득 차있는 FQDN는 2개의 상표 보다는 더 깊습니다
configure by root()는 첫 번째 라벨과 마지막 두 가지만 추출했습니다. 각 Traefik-l 로그 호스트 이름의 라벨. 일반적인 2단계 경우 (login.b11capital.com -> 루트 b11capital.com, 하위 로그인) 이 왕복 견적 요청 그러나 더 깊은 호...
Mail.kamocrm.com TLS 엔드 투 엔드 관리
Auto-cert는 이제 규정을 제공하고 Let's Encrypt cert를 유지합니다. mail.kamocrm.com (HTTP-01 포트 80에 Traefik을 통해) 및 유지 namespaces에서 동기화된 postfix 소비자. Auto-cert 변화: - mail.kamocr...
Janus WebRTC 게이트웨이 제거
Janus는 더 이상 사용하지 않습니다. orphaned KlusterServices/janus/ 제거 (Janus는 host-installed, cluster-deployed, and is not k1m1)에서 실행합니다. 또한 Coturn의 Janus 통합 스트립 : - 정적 TU...
외부 매체를 위한 새로운 공중 IP 47.181.8.83 광고
JVB-k1m1는 75.83.113.11를 광고하고 coturn는 광고되었습니다 status.hostIP를 통해 노드의 LAN IP - 이제 외부 WebRTC 미디어를 파기 WAN은 47.181.8.83이다.
그룹화 된 에코를 가진 heredoc를 대체하십시오 그래서 YAML 리터 블록 파스
/etc/odbc.ini heredoc body sat 에 열 1, 에 dedented 아웃 의 주변 스타트.sh: | 리터블록 사기꾼과 broke `kubectl apply` ConfigMap의. 입력된 블록 내부의 `echo`s를 그룹화 YAML 범위 안에 각 선 체재. 배포 서비스...
HostToContainer 마운트 propagation을 통해 rclone remount를 따르십시오
노예 propagation 없이 pod는 FUSE 묶음 산을 한 번에 붙듭니다 콘테이너 시작; rclone 산 경우에. 호스트에 재시작, pod 지금 환불 FUSE 연결과 모든 쓰기에서 지적 유지 /mnt/shared-files는 ENOTCONN (Transport 엔드포인트는 아닙니다...
반전 프록시 priceturbo.com apex + 와일드 카드 통해 k1m1 TLS
k1m1 traefik 지금 종료 HTTPS 대한 priceturbo.com 어떤 *.priceturbo.com subdomain, 192.168.4.36:80에서 상류 Traefik에 평형 HTTP 전달 호스트 헤더 보존 ( Ratetack-upstream 서비스 사용). Auto-...
Sync + runtime 트래픽을 흡수하는 2개의 복제물에 가늠자
단일 복제는 사전 동기화 워크플로우의 병목입니다. 각 gunicorn 노동자는 1개의 요구 그 후에 자동 나머지를 취급합니다 (~5-10s 연결 주입의 창), 그리고 2-CPU 한계 모자 inference 관련 제품 런타임 콜러와 12k-string sync 타격 모두 같은 인스턴스, ...
반전 프록시 rate.loans/stack.loans는 TLS와 k1m1을 통해 호스트
k1m1 Traefik은 이제 api.rate.loans, www.rate.loans에 대한 HTTPS를 종결하고 www.stack.loans, 상류 Traefik에 일반 HTTP 전달 192.168.4.36:80. Auto-cert 씨앗 per-host는 세 가지를 위해 certs를 ...
인식되지 않는 드롭 --workers는 충돌을 유발
Libretranslate CLI는 받아지지 않습니다 --workers, gunicorn 내부 프로세스. 파드가 실패한 것을 막기 위해 부팅 및 CrashLoopBackOff (1384 k1m1)에 5d에서 다시 시작합니다. 본문 바로가기 이미 4개의 sync 노동자에 기본적으로, re...
Price@kamocrm.com 메일박스 및 외부 IMAP NodePort 추가
- 신규 서비스 메일/dovecot-imap-external (NodePort 30143 -> 143) IMAP는 클러스터 외부에서 $NODE:30143에 도달 할 수 있습니다. - Seed Pricing@kamocrm.com mysql-init에서 신선한 DB 부트 스트랩 mailbo...
Probe timeout 10s and 2 gunicorn workers
LibreTranslate's /languages probe blocks on the gunicorn worker event loop. With a single worker translating a long chat message, the probe times out at the def...
Scope concurrency to build jobs, not Kubernetes deploys
Workflow-level concurrency serialized the whole pipeline (including kubectl rollouts). Move the group to the build job only so deploy jobs from different runs c...
Rewrite /etc/odbc.ini to point at $MARIADB_HOST on every boot
The escomputers/freepbx:17 image bakes /etc/odbc.ini with Server=db (the docker-compose link target). On this Kubernetes deployment MariaDB lives at \$MARIADB_H...
STUN을 구성하므로 브라우저 ICE는 양방향으로 완료할 수 있습니다
SIP 레이어에 연결된 2자 브라우저 - 투 - 브라우져 통화는 없지만 오디오 중 방향. Voicemail (편도 Asterisk → 브라우저) 일 Asterisk의 비대칭 RTP가 브라우저를 배울 수 있기 때문에 inbound 패킷의 주소. 2 파티 브리징은 양측을 필요로한다. RTP...
Seed pbx.k1.kluster.kamocrm.com 정적 도메인으로
브라우저 소프트 폰은 SIP-over-WSS가 실제 호스트 이름에 착륙해야합니다. TLS 인증 FreePBX 관리자 / WS hostname을 STATIC DOMAINS에 추가하십시오. auto-cert seeder 규정 a per-host Let's Encrypt cert for it...
내부에 브라우저 SIP WSS를 호스팅합니다.kamocrm.com (실제 cert)
브라우저는 웹소켓 연결을 거부 *********** Traefik이 자체 서명 된 기본 cert를 제공했기 때문에 가까운 코드 1006 hostname에 대해 ( Let's Encrypt cert가 포함되지 않음) 다른 kamocrm.com 엔드 포인트). 컬은 우리가 시험하기 때문에 ...
WebRTC config는 pod 재시작을 살아
이전 접근법 (http custom.conf 와 [general] override) 하지 않았다 실제로 Asterisk의 INI 파서가 여러 가지를 존중하지 않기 때문에 효과가 발생합니다. [general] 섹션은 docs가 불행하게도 다음과 같은 방법을 포함합니다. http addit...
Enable Asterisk 내장 HTTP 서버:8089 WebRTC /ws
Res http websocket의 상단에 chan pjsip `protocol=ws` 수송 승차, 턴에는 Asterisk의 내장 HTTP 서버가 실행되어야 합니다. 더 보기 기본적으로 FreePBX 17는 그 서버가 비활성화된 배를 설치하므로 SIP-over-WS 요청 착륙 nowhe...
브라우저 softphones에 대한 WSS WebRTC 운송 추가
Asterisk의 chan pjsip는 이제 일반 WebSocket 운송을 0.0.0.0:8089에 묶습니다. 그리고 Traefik는 ***에 TLS를 종결****** (포트 443) so kamo-internal can register browser softphones over 기존 ...
ClusterIP 서비스에 직접 8088 노출
서비스는 항구 80→8088 매핑이 있었습니다. 내부 서비스 *************** (예: VOIPService API 토큰 요청) 포트 8088가 듣지 않았기 때문에 타이밍되었습니다. 클러스터IP.
K1m1에 대한 누락된 고장2ban-config ConfigMap 추가
배포 참조 실패2ban-config ConfigMap (jail.local + asterisk-security.conf) 하지만 존재 하지 않았다, 팟을 차단 마운트볼륨. 시작에서 FreePBX를 설정하고 방지합니다.