gitlab v18.5.3 업그레이드 후, Background migrations - BackfillPartitionedProjectDailyStatistics: project_daily_statistics 실패 처리

gitlab v18.5.3 이후 버전을 업그레이드하면 background migration 작업 하나가 실패한다.
"BackfillPartitionedProjectDailyStatistics: project_daily_statistics" 작업으로 실패 후
다음 버전으로 업그레이드 시, DB migration 작업에 오류가 발생해서 시스템이 꼬이는 상태가 
발생된다. 이에 대한 원인과 해결 방안을 간략하게 정리한다.

gitlab v18.5.3 버전으로 업그레이드를 진행하면 아래와 같은 background migration 오루가 발생되고 원인을 확인하면
아래와 같은 오류 메시지를 확인할 수 있다.

MacOS - system_profiler SPInstallHistoryDataType - install app 정보 삭제하기

요즘 취약점 점검이 진화되기 시작해서, 정보 관리자들도 많은 부분에서 발전을 거듭해 오고 있다.
이제는 MacOS에서는 install app 정보를 취합해서 검사하는 방법까지 진화한 상태로 까지 와서
이를 보완할 방법을 찾는다.

MacOS에서 어플리케이션 데이터를 설치하게 되면 아래 파일에 install 정보가 남는다.

/var/log/install.log

카카오톡을 설치하고 나면 아래와 같이 설치 정보가 남는다.

ansible의 custom module 만들기

ansible을 사용하다보면, 여러가지 제약 사항을 맞닥들이게 되는데 그러다 보면 custom module을 만들 때가 생기는데, 이에 대한 간단한 가이드를 만든다.

Ansible custom module 만들기

Ansible을 통해 배포를 진행할 때, roles를 구성해서 만든다.
이때 roles 하위에 component를 생성하는데, "library" 디렉토리를 생성하고 custom module을 만들면 된다.

이번에 예제로 만든 것은 Dictionary 데이터와 key(string) 데이터를 받아서 key가 존재하면 데이터를 반환하면 모듈이다.

디렉토리 구조는 아래와 같다.

ubuntu 24.04에 mongodb 4.0 설치하기

mongodb 4.0이 EOL이 된 상태로 ubuntu 24.04에서는 지원되지 않는다.
그러나 아래 방법으로 강제로 설치는 가능하다.

DB 생성, collection 생성, 데이터 입출력이 가능한 것 까지는 확인했다.

 

아래와 같이 설치에 필요한 mongodb 설치 파일을 다운받는다.
mongodb 4.0은 더 이상 repository를 통해 업데이트가 중지되어 있다.

 

https 인증서(certification) 구성, 검증, 분석 - Deep Dive

일반적으로 https 통신을 하기 위해서 인증서를 구매하거나 ACME(Automatic Certificate Management Environment) 중 하나인 "Let's Encrypt" 통해 많이들 갱신한다.

이때 발생하는 여러가지 인증서의 종류를 알고 이를 검증, 시스템에 적용하는 방법을 확인한다.

 

HTTPS 인증서의 종류

  - ROOT Certificate : 정식 인증기관에서 발행하는 인증서로 시스템에 저장되어 있다.

  - Intermediate Certificate : ROOT Certificate와 Site Certificate를 연결해주는 인증서로 Chain Certificate라고도 불린다. 

  - End-entify Certificate : 업체에서 구매하여 사이트에 적용하는 서버용 인증서