Steampunk 스캐너의 명령줄 인터페이스(CLI) 사용

Tadej Borovšak의 글

거의 정확히 5개월 전에 Steampunk Scanner의 첫 번째 버전을 공개했습니다. 단순성을 유지하기 위해 당시에는 온라인 버전만 제공했습니다. 초기 버전은 Ansible 플레이북을 입력으로 사용하고 방법에 대한 몇 가지 제안을 반환했습니다improve your content.

그러나 그 웹 페이지에는 또 다른 중요한 섹션인 피드백 양식도 포함되어 있습니다. 그리고 우리는 웹 양식을 다루는 것이 정의상 재미가 없다는 것을 우리 모두 알고 있기 때문에 재미로 거기에 두지 않았습니다. ;) 우리는 귀하가 말해야 했던 것을 읽고 가장 많이 요청된 기능을 구현하기로 결정했습니다.

그것이 무엇인지 짐작할 수 있습니까?

명령줄에서 콘텐츠 스캔



우리는 처음부터 Steampunk 스캐너에 명령줄 인터페이스(CLI)가 필요하다는 것을 알았습니다. 플레이북을 웹 양식에 붙여넣는 것은 확장되지 않기 때문입니다. 또한 웹 페이지의 텍스트 필드를 텍스트 편집기로 사용하는 개발자는 그리 많지 않습니다. ;)

install steampunk-scanner Python 패키지와 register 서비스가 포함된 이메일 주소가 있으면 스캔을 시작할 준비가 된 것입니다.

Why do we require registration? Steampunk Scanner is a service that we host, and we cannot afford to be bombarded with gazillions of unauthenticated requests from anyone who has three minutes of spare time. So, to reduce the malicious load on the API while still making it as widely accessible as possible, we decided to put it behind basic authentication. And we need your email address because we need to send you an activation code for your account.



터미널에서 바로 플레이북 확인을 시작하려면 다음 명령을 실행해야 합니다.

$ steampunk-scanner --playbooks playbook.yaml


우리가 돌려받을 수 있는 것은 다음과 같을 것입니다:

playbook.yaml:10: ERROR: Cannot find module information in the database. Is
  this a custom module not published on Ansible Galaxy?
playbook.yaml:14: HINT: Module is deprecated. os_ prefixed module names are
  deprecated, use openstack.cloud.compute_flavor_info.
playbook.yaml:14: HINT: The 'openstack.cloud.os_flavor_info' module is
  redirected to the 'openstack.cloud.compute_flavor_info' module. You should
  use fully-qualified collection name to avoid future problems.
playbook.yaml:14: WARNING: The 'openstack.cloud.os_flavor_info' module is not
  certified.


아무것도 돌려받지 못한다면? 글쎄요. 귀하의 플레이북에서 문제를 발견하지 못했습니다 ;)

로컬 컴퓨터에서 스캐너를 실행하지만 온라인 검사기를 지원하는 동일한 서버에서 검사가 계속 발생합니다. CLI 애플리케이션은 콘텐츠를 로컬에서 구문 분석한 후 각 작업에 대한 다음 데이터를 백엔드 서비스로 보냅니다.
  • Ansible 작업에서 사용하는 모듈 이름 및
  • 현재 플레이북 작업에서 사용하는 매개변수 이름입니다.

  • 매개변수 값을 백엔드로 보내지 않는다는 점에 유의하십시오. 앞으로 더 많은 검사를 추가하면 백엔드로 더 많은 데이터를 보내야 하지만 지금은 안전한 쪽에서 가능한 한 적은 정보를 보냅니다.

    그래서, 이것이 다입니다. 아니면? ;)

    Ansible 플레이북 그 이상



    또 다른 매우 일반적인 불만(주로 우리 시스템 관리자 팀에서 온, 그들의 온화한 영혼을 축복함)은 다른 종류의 Ansible 콘텐츠에 대한 지원이 부족하다는 것입니다. 그리고 우리는 그것들을 무시하고 싶지만, 그들이 여기에 요점이 있다는 것을 인정해야 했습니다 ;)

    따라서 Steampunk 스캐너 CLI는 스캔을 지원합니다.
  • Ansible 플레이북 - steampunk-scanner --playbooks play.yaml .
  • 가능한 역할 - steampunk-scanner --roles role/dir .
  • Ansible 태스크 파일 - steampunk-scanner --tasks tasks/file.yaml .
  • Ansible 컬렉션 - steampunk-scanner --collections collection/root .

  • 다양한 콘텐츠 유형을 모두 지원하려면 스캐너가 사용되는 대부분의 시나리오를 다루어야 합니다. 그러나 물론 우리는 이러한 명령줄 스위치[KT4][TB5]를 마음껏 혼합하고 일치시킬 수도 있습니다. 우리가 플레이북, 작업, 역할 및 컬렉션을 동시에 스캔하는 것을 방해하는 것은 없습니다.

    그리고 추가하면서 콘텐츠를 일괄적으로 분석할 수 있도록 했습니다. 예를 들어 steampunk-scanner --roles my/roles/*를 실행하면 my/roles 디렉토리의 모든 역할을 검사합니다. 아니에요 ;)

    미래



    그래서, 우리는 다음 계획에 무엇을 가지고 있습니까? 확실히 더 많은 검사, 스캔 결과를 볼 수 있는 친근한 대시보드, CI 프로세스와의 통합을 추가할 것입니다. 좋은가요? 우리가 추가해야 한다고 생각하는 다른 것이 있습니까? 플레이북 작성을 단순화하는 데 어떤 기능이 유용하다고 생각하십니까? 당신의 생각과 소망을 우리와 공유하고 더 많은 것을 기대해 주세요. 아 그리고 신품command-line interface도 부담없이 사용하세요 .

    건배!

    좋은 웹페이지 즐겨찾기