How to share other device settings in Axiom

제 Axiom 세팅은 주로 사용하는 맥북에 되어있습니다. 최근에 집에 있는 서버에도 동일하게 세팅하기 위해서 axiom-install을 진행했는데요, instance 정보를 새로 만드는 작업이 진행되었습니다. (이미 난 있는데?)

그래서 관련해서 문의해보니, 아직 기능이 개발된건 아니고 간단한 트릭으로 이종간의 동일한 세팅을 유지하는 방법이 있었습니다. 오늘은 여러 기기간의 axiom 세팅을 공유하는 방법에 대해 정리할까 합니다.

Problem?

The axiom-configure that runs during the axiom installation proceeds to force creating an instance if you have an api key. This is unnecessary because similar instance images are created for the purpose of using multiple devices.

보통 axiom을 처음 사용할 때 bash 스크립트를 이용해서 설치하곤 합니다.

bash <(curl -s https://raw.githubusercontent.com/pry0cc/axiom/master/interact/axiom-configure)

다만 다른 기기에 동일하게 axiom을 설치하기 위해서 위 스크립트를 사용하면 초기 axiom의 init 과정이 동일하게 수행되어, public-cloud에 추가하는 디바이스의 갯수만큼 이미지가 만들어지게 됩니다. 이는 비 효율적이기도 하고, 구조상으로도 좀 잘못된 부분이죠.

Find your profile file

You can move the profile file without registering a key to share multiple device settings.

axiom의 설정 디렉토리에는 profile 정보가 담긴 .json 파일이 있으며, 여기엔 digitalocean 등 public-cloud의 인증키를 포함한 정보들이 저장되어 있습니다. 이게 설정정보인데 다른 기기에서 이 정보를 공유하여 사용하면, 맨 처음 세팅한 기기의 설정을 가지고 다른 기기에서도 이용할 수 있습니다.

cat ~/.axiom/account/<your-account>.json
{
  "do_key": "**********************",
  "region": "sfo2",
  "provider": "do",
  "default_size": "s-1vcpu-1gb",
  "appliance_name": "",
  "appliance_key": "",
  "appliance_url": "",
  "email": ""
}

Clone Axiom to ~/.axiom/ directory

If you register and use the key for another devices, you must modify some of the scripts in axiom-configure. First, clone the axiom repo to ~/.axiom.

public cloud에서 인스턴스를 만드는 과정을 패스하기 위해선 axiom-configure를 수정한 후 실행해야 합니다. bash로 실행하지 말고 우선 axiom을 .axiom으로 clone 합니다.

git clone https://github.com/pry0cc/axiom ~/.axiom/

여기서 .axiom/interact/ 하위에는 axiom의 설치 스크립트부터, 기능 스크립트까지 명령셋이 존재합니다.

Remove axiom-build in axiom-configure

Second, edit/remove axiom-build in ~/.axiom/interact/axiom-configure

axiom-build 스크립트는 publid cloud에 직접 instance를 할당하고 이미지를 세팅하는 작업을 진행합니다. 이는 axiom-configure의 마지막에 실행되며, 이를 제거해준다면 별도로 인스턴스를 만드는 과정을 패스하게 됩니다.

vim ~/.axiom/interact/axiom-configure

Run axiom-configure

~/.axiom/interact/axiom-configure

이 과정에서 public cloud 키/리전 등 등록 과정을 거칠 수 있는데, 동일한 키로 세팅해주면 됩니다. 당연히 axiom-build 가 수행되지 않기 떄문에 각 도구를 zshrc에 등록하는 과정 이후 ~/.axiom/account/<your-account>.json에 설정 정보만 저장됩니다.

만약 키 입력을 진행하지 않았다면, 맨 위 처음 구성한 PC에 있는 ~/.axiom/account/<your-account>.json 파일의 내용을 복사하여 붙여넣어주면 됩니다.

Testing

Finish!

이제 두 기기간에 동일한 API키를 가지고 미리 구성된 instance를 사용할 수 있습니다.

References