12345678910111213141516171819202122232425262728293031 |
- ---
- ## The purpose of this task file is to take in a list of configmap files provided
- ## in the variable configmap_file_names, which correspond to the data sections
- ## within a configmap. We iterate over each of these files and create a patch
- ## from the diff between current_file and new_file to try to maintain any custom
- ## changes that a user may have made to a currently deployed configmap while
- ## trying to idempotently update with any role provided files.
- ## The following variables are expected to be provided when including this task:
- # configmap_name -- This is the name of the configmap that the files exist in
- # configmap_namespace -- The namespace that the configmap lives in
- # configmap_file_names -- This is expected to be passed in as a dict
- # current_file -- The name of the data entry within the configmap
- # new_file -- The file path to the file we are comparing to current_file
- # protected_lines -- List of variables whose line will be excluded when creating a diff
- - oc_configmap:
- name: "{{ configmap_name }}"
- state: list
- namespace: "{{ configmap_namespace }}"
- register: __configmap_output
- - when: __configmap_output.results.stderr is undefined
- include_tasks: patch_configmap_file.yaml
- vars:
- configmap_current_file: "{{ configmap_files.current_file }}"
- configmap_new_file: "{{ configmap_files.new_file }}"
- configmap_protected_lines: "{{ configmap_files.protected_lines | default([]) }}"
- with_items: "{{ configmap_file_names }}"
- loop_control:
- loop_var: configmap_files
|