먼저 시스템에 기본 패키지를 설치하는 매니페스트 install.pp를 생성합니다.
administrator@vmgate:~/code/environments/production$ vi modules/base/manifests/install.pp
새로 작성할 클래스는 모듈 이름과 매니페스트 이름을 기반으로 하여 base::install로 선언합니다. ➊ package 리소스로 tree, curl, wget, unzip 패키지를 설치하겠습니다. ➋ notify 리소스는 base::install 클래스에서 실행되었다는 사실을 에이전트 로그에 남길 것입니다.
# /home/administrator/code/environments/production/modules/base/manifests/install.pp # 패키지 설치하기 class base::install { package { ['tree', 'curl', 'wget', 'unzip']: } ➊ notify { "===== base::install =====\n": } ➋ }
다음으로 vim 업그레이드를 처리할 매니페스트 vim.pp를 base 모듈의 매니페스트 디렉터리 manifests에 생성합니다.
administrator@vmgate:~/code/environments/production$ vi modules/base/manifests/vim.pp
➊ base::vim 클래스를 작성합니다. package 리소스로 vim을 최신 버전으로 설치하고 ➋ file 리소스를 이용해서 각 노드에 vim 설정 파일 .vimrc를 생성합니다.