즉석에서 템플릿 출력 캡처


8

stdin을 통해서만 데이터를 허용하는 대상 서버에서 명령을 실행해야합니다. 내가 공급하는 데이터는 템플릿 파일에서 가져오고 민감한 데이터를 포함하므로 파일 시스템에 1 초 동안 앉아 있지 않아야합니다.

템플릿 작업의 출력을 잡아서 명령에 전달할 수있는 방법을 찾으려고합니다. 다음과 같은 것 :

- name: generate data
  template:
    src: data.j2
    dest: [I'd rather not have any files written]
  register: myvar

- name: run command
  shell: "command < {{ myvar }}"

임시 파일을 작성하여 명령에 전달한 다음 지우는 것을 포함하지 않는 더 좋은 방법입니까?


한 번 설명했듯이 임시 파일로 작성했습니다. ansible guys에 대한 기능 요청 생성 : github.com/ansible/ansible/issues/22134
Selivanov Pavel

답변:


6

혐오스러운 사람들로부터 답을 얻었습니다.

some_var: "{{ lookup('template', 'tmpl.j2') }}"

1
큰! 작업에 "with_items"를 사용하는 경우 템플릿에서 "item"변수를 사용할 수 있습니다.
Ikrom

2

입력이 필요한 명령을 처리하는 적절한 방법은 stdin(가)입니다 예상 모듈을.

Ansible로 민감한 데이터를 처리하는 올바른 방법은 안전한 볼트 입니다. Ansible은 작업에서 정의 된 명령을 실행하기 위해 Python 스크립트를 작성하므로 파일 시스템에서 데이터가 암호화되지 않은 상태로 유지됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.