즉석에서 템플릿 출력 캡처


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.