From e2d1360ab3e1ea5c734185c8eceddf7fe7b62133 Mon Sep 17 00:00:00 2001 From: Michael Housh Date: Mon, 25 Nov 2024 17:06:32 -0500 Subject: [PATCH] feat: Initial commit --- .editorconfig | 13 + Definitions.md | 47 +++ LICENSE | 20 ++ README.md | 1 + ansible.cfg | 3 + inventory.ini | 3 + justfile | 3 + main.yml | 5 + roles/create_if_not_exists/defaults/main.yml | 6 + roles/create_if_not_exists/tasks/main.yml | 17 + roles/repo_template/defaults/main.yml | 4 + roles/repo_template/files/Definitions.md | 47 +++ roles/repo_template/files/Report.md | 307 +++++++++++++++++++ roles/repo_template/files/footer.tex | 26 ++ roles/repo_template/files/head.tex | 74 +++++ roles/repo_template/files/vars.default.yml | 31 ++ roles/repo_template/files/vars.vault.yml | 18 ++ roles/repo_template/files/vault.default.yml | 20 ++ roles/repo_template/tasks/main.yml | 41 +++ 19 files changed, 686 insertions(+) create mode 100644 .editorconfig create mode 100644 Definitions.md create mode 100644 LICENSE create mode 100644 README.md create mode 100644 ansible.cfg create mode 100644 inventory.ini create mode 100644 justfile create mode 100644 main.yml create mode 100644 roles/create_if_not_exists/defaults/main.yml create mode 100644 roles/create_if_not_exists/tasks/main.yml create mode 100644 roles/repo_template/defaults/main.yml create mode 100644 roles/repo_template/files/Definitions.md create mode 100644 roles/repo_template/files/Report.md create mode 100644 roles/repo_template/files/footer.tex create mode 100644 roles/repo_template/files/head.tex create mode 100644 roles/repo_template/files/vars.default.yml create mode 100644 roles/repo_template/files/vars.vault.yml create mode 100644 roles/repo_template/files/vault.default.yml create mode 100644 roles/repo_template/tasks/main.yml diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..5d12634 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,13 @@ +# editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false diff --git a/Definitions.md b/Definitions.md new file mode 100644 index 0000000..32c2160 --- /dev/null +++ b/Definitions.md @@ -0,0 +1,47 @@ +# Definitions + + + +### CFM50 {#cfm50-definition} + +Is a unit of measurement that is taken when a blower door test is performed on the home. Stands for +$C$ubic $F$eet per $M$inute at 50 pascals. + +### IAQ {#iaq-definition} + +Stands for $I$ndoor $A$ir $Q$uality. We spend most of our time indoors, so having good indoor air +quality can help reduce illness and potentially improve the quality and longevity of life. + +### LAIR {#lair-definition} + +Stands for $L$eakage $A$ir $I$nfiltration $R$ate, which is a metric that compares the square footage +of the home and it's blower door number. This aids in determining if a home is controllable by +properly sized HVAC equipment or if [shell] improvements (air sealing and insulation) should be +considered. + +### Load Caclulation {#load-calculation-definition} + +A load calculation, also called a Manual-J, calculates the heating and cooling requirements for a +home. Each home has a unique heating and cooling load based on the direction it faces, the air +leakage, the location, the insulation values, the types and sizes of windows, among other factors. + +### Shell {#shell-definition} + +Shell is a term used to describe the enclosure of the house. It is often used when talking about air +leakage and insulation levels. + +### SHR {#shr-definition} + +Stands for $S$ensible $H$eat $R$atio. Sensible heat ratio is the ratio of work required by the air +conditioner to remove moisture, as well as maintain the sensible temperature. The higher the number +the better. + +### TESP {#tesp-definition} + +Stands for $T$otal $E$xternal $S$tatic $P$ressure, which is a metric used to determine how much +resistance the blower motor has to overcome for the airflow requirement of the system. + +### WC {#wc-definition} + +Stands for $W$ater $C$olumn, which is a unit of measurement for pressure. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..debb57b --- /dev/null +++ b/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2024 Michael Housh + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..f4bfab8 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# ansible-hpa-playbook diff --git a/ansible.cfg b/ansible.cfg new file mode 100644 index 0000000..d2f2029 --- /dev/null +++ b/ansible.cfg @@ -0,0 +1,3 @@ +[defaults] +inventory = ./inventory.ini +roles_path = ./roles diff --git a/inventory.ini b/inventory.ini new file mode 100644 index 0000000..34daebd --- /dev/null +++ b/inventory.ini @@ -0,0 +1,3 @@ + +[local] +127.0.0.1 ansible_connection=local diff --git a/justfile b/justfile new file mode 100644 index 0000000..cf91017 --- /dev/null +++ b/justfile @@ -0,0 +1,3 @@ + +run-playbook *ARGS: + ansible-playbook ./main.yml "$@" diff --git a/main.yml b/main.yml new file mode 100644 index 0000000..77557a1 --- /dev/null +++ b/main.yml @@ -0,0 +1,5 @@ +--- +- name: HPA Playbook + hosts: all + roles: + - "repo_template" diff --git a/roles/create_if_not_exists/defaults/main.yml b/roles/create_if_not_exists/defaults/main.yml new file mode 100644 index 0000000..39514f6 --- /dev/null +++ b/roles/create_if_not_exists/defaults/main.yml @@ -0,0 +1,6 @@ +--- + +# Variables for use with the copy_if_not_exists role. +source: "" +destination: "" +mode: '0600' diff --git a/roles/create_if_not_exists/tasks/main.yml b/roles/create_if_not_exists/tasks/main.yml new file mode 100644 index 0000000..84f35bb --- /dev/null +++ b/roles/create_if_not_exists/tasks/main.yml @@ -0,0 +1,17 @@ +--- +# Check if a file exists at the destination already, copy it if not. +- name: "Check if {{ destination | basename }} exists." + ansible.builtin.stat: + path: "{{ destination }}" + register: filestat + tags: + - always + +- name: "Copy {{ source }} file to {{ destination }}." + ansible.builtin.copy: + src: "{{ source }}" + dest: "{{ destination }}" + mode: "{{ mode | default('0600') }}" + when: not filestat.stat.exists + tags: + - always diff --git a/roles/repo_template/defaults/main.yml b/roles/repo_template/defaults/main.yml new file mode 100644 index 0000000..f7311b4 --- /dev/null +++ b/roles/repo_template/defaults/main.yml @@ -0,0 +1,4 @@ +--- + +output_dir: "{{ lookup('env', 'PWD') }}" +use_vault: true diff --git a/roles/repo_template/files/Definitions.md b/roles/repo_template/files/Definitions.md new file mode 100644 index 0000000..32c2160 --- /dev/null +++ b/roles/repo_template/files/Definitions.md @@ -0,0 +1,47 @@ +# Definitions + + + +### CFM50 {#cfm50-definition} + +Is a unit of measurement that is taken when a blower door test is performed on the home. Stands for +$C$ubic $F$eet per $M$inute at 50 pascals. + +### IAQ {#iaq-definition} + +Stands for $I$ndoor $A$ir $Q$uality. We spend most of our time indoors, so having good indoor air +quality can help reduce illness and potentially improve the quality and longevity of life. + +### LAIR {#lair-definition} + +Stands for $L$eakage $A$ir $I$nfiltration $R$ate, which is a metric that compares the square footage +of the home and it's blower door number. This aids in determining if a home is controllable by +properly sized HVAC equipment or if [shell] improvements (air sealing and insulation) should be +considered. + +### Load Caclulation {#load-calculation-definition} + +A load calculation, also called a Manual-J, calculates the heating and cooling requirements for a +home. Each home has a unique heating and cooling load based on the direction it faces, the air +leakage, the location, the insulation values, the types and sizes of windows, among other factors. + +### Shell {#shell-definition} + +Shell is a term used to describe the enclosure of the house. It is often used when talking about air +leakage and insulation levels. + +### SHR {#shr-definition} + +Stands for $S$ensible $H$eat $R$atio. Sensible heat ratio is the ratio of work required by the air +conditioner to remove moisture, as well as maintain the sensible temperature. The higher the number +the better. + +### TESP {#tesp-definition} + +Stands for $T$otal $E$xternal $S$tatic $P$ressure, which is a metric used to determine how much +resistance the blower motor has to overcome for the airflow requirement of the system. + +### WC {#wc-definition} + +Stands for $W$ater $C$olumn, which is a unit of measurement for pressure. diff --git a/roles/repo_template/files/Report.md b/roles/repo_template/files/Report.md new file mode 100644 index 0000000..e96009d --- /dev/null +++ b/roles/repo_template/files/Report.md @@ -0,0 +1,307 @@ +--- +title: "{{ document_title }}" +author: "{{ author_name }}" +date: \today{} +mainfont: Avenir Next +documentclass: article +fontsize: 12pt +# NOTE: The applegreen is a custom color defined in resources/head.tex +linkcolor: applegreen +urlcolor: applegreen +abstract: | + **Prepared For:** + + {{ customer.name }} + + {{ customer.address.street }} + {{ customer.address.city }}, {{ customer.address.state }} {{ customer.address.zip }} + + ```{=latex} + \begin{center} + ``` + + \ + \ + \ + + [![logo]({{ links.images.logo }}){ width=30% }]({{ company.website }}) + + ```{=latex} + \end{center} + ``` +--- + + + +# Contents + +1. [Introduction](#home-performance-report) + 1. [Your Goals](#your-goals) +1. [Leakage](#how-leaky-is-your-house) +1. [Observations](#observations) + 1. [HVAC](#hvac-observations) + 1. [Home](#home-observations) +1. [Load Calculations](#load-calculations) + 1. [Your Loads](#your-loads) +1. [Airflow Assessment](#airflow-assessment) + 1. [Your Static Measurements](#your-static-measurements) + 1. [Static Pressure Forecast](#static-measurements-forecast) +1. [Summary](#summary) +1. [Definitions](#definitions) + 1. [CFM50] + 1. [IAQ] + 1. [LAIR] + 1. [Load Calculation][load-calculation] + 1. [Shell][shell] + 1. [SHR] + 1. [TESP] + 1. [WC][wc] + +# Home Performance Report + +Thank you for having us to your home for a home performance assessment. I hope that it was +beneficial. We learned a lot about your home and your goals during the brief visit. So, let’s jump +in to some of the things discovered. + +Below is a summary of your goals, house measurements, and our budget discussion as well as my +observations and some recommendations. As part of the service we ran load calculations that help +determine the right sized HVAC for your home as it stand and with some upgrades. Those are attached +as are bids for replacements. + +Once you read the report you’ll have 3 options: do nothing, pick and choose upgrades, or do more +planning for more difficult goals or complex projects. These options are discussed at the end of the +report as well as our leanings for your home. + +\goalsimage + +## Your goals: + + + + + + +1. Add air conditioning. + +# How Leaky Is Your House + + + +One of the main objectives was to perform a blower door test and load calculations for the home. We +discovered that the blower door number was {{ home.cfm50 }} [CFM50] for the approximately +{{ home.square_feet }} \squarefoot ({{ home.lair }} [LAIR]). A leaky home, most often, is an +uncomfortable and uncontrollable home. + +> _Air leakage tends to have one of the largest impacts on the load of a home._ +> +> - _Around 1:1 homes begin to be more controllable / comfortable_ +> - _your home is {{ home.cfm50 }}:{{ home.square_feet }} \squarefoot for a ratio of +> {{ home.lair }}_ +> - _Leaky homes are very difficult to maintain comfort with HVAC alone._ + +# Observations + +The below sections are observations about the current HVAC system and the home. + +## HVAC Observations + + + +1. Current furnace is sized appropriately based on the load of the home. +1. Current duct system is not sized adequately for the system. + 1. Filter is too small for the system. + 1. Return sizing is not adequate. + 1. Supply sizing is marginal. + 1. Current static pressure is already high. + 1. These problems may become worse when AC is installed. + +## Home Observations + + + +1. The house leakage is high for the size of the home. +1. May be hard to control comfort without [shell] improvements. + +# Load Calculations + +Several [load-calculations][load-calculation] were performed on your home to determine the proper +equipment sizing for this application. Below is a comparison of the +[load-calculations][load-calculation] with the current air leakage and several improved air leakage +targets. + +## Your Loads + + + +| [CFM50] | | Heating Total | Cooling Total | [SHR] | [LAIR] | +| -------------------- | ----------- | ------------- | ------------- | -------- | ------------------- | +| **{{ home.cfm50 }}** | **Current** | **55,102** | **20,726** | **0.79** | **{{ home.lair }}** | +| 2,000 | | 40,320 | 17,279 | 0.85 | 1.5:1 | +| 1,350 | | 35,885 | 16,245 | 0.88 | 1:1 | + +> **Note:** +> +> 1. _The lower the heating and cooling total's the better._ +> 1. _An undersized air conditioner is better than an oversized one._ +> 1. _Supplemental dehumidification may be required for [SHR]'s below 0.83._ + +The above table shows the relationship between air leakage and the amount of heating and cooling +that is required for the home. A tight home is easier to control the comfort levels, offers superior +IAQ levels, and lower utility costs. + + + +The projected cooling size required for your home is around 2-Tons for the current leakage rate, or +1.5-Tons if [shell] improvements were made. + +[Here is a link to your load calculation reports][loads-folder] + +# Airflow Assessment + +While on site, we also measured the total system airflow and static pressure of the system. Static +pressure is equivalent to the blood pressure of your system and gives us a better understanding of +the overall ability for the system to provide the proper amount of airflow, as well as how much it +may struggle to do so. + +Static pressure is the amount of resistance that the blower has to work against in order to move air +through the system. Things that have an effect on the static pressure of the system include, air +filters (size and type), duct sizes, amount of ducts, length of ducts, duct fittings and +transitions, as well as internal system components. Each component of the system has a resistance +associated with it that the blower has to overcome, by taking some key measurements we are able to +determine the [TESP] of the system. While there are several static pressures in the system, when we +talk about static pressure we are generally referring to [TESP]. + +Static pressure ([TESP]) has a range of _low_, _acceptable_, or _high_. While these numbers are +specific to the actual equipment, most manufacturers follow similar standards. For the sake of +simplicity, 0.5" [wc] or under is an _acceptable_ target, 0.8" [wc] is generally the max acceptable +static pressure (although we like to stay well below this if possible), and above 0.8" [wc] is +considered _high_ and should be addressed. _Low_ is generally not common and is rarely problematic, +so it is not focused on much. + + + +\newpage + +## Your Static Measurements + +![True Flow Report][trueflow-image]{ height=50% } + + + +The above image is a snapshot of the static pressures recorded for your system. This shows that the +static pressure of your system is very high (1.114" [wc]). The primary culprits for the high static +pressure are that the filter is undersized for the airflow required and the return duct sizing is +small. + +These measurements were taken in the heating mode because your system does not currently have air +conditioning. Currently the heating airflow is on the low side for what is required for your system +(1200 CFM would be ideal). This should be adjusted if possible during the install to get better +performance and efficiency out of the system, given that some static pressures can be improved +during the project. + +\ +\ + +[Here is a link to the full airflow report.][trueflow-file] + + + +\newpage + +## Static Measurements Forecast + +![True Flow Forecast][trueflow-forecast-image]{ height=50% } + + + +The above image is a snapshot is of a forecast of the static pressures after adding air +conditioning. It should be noted that these measurements are based solely on the airflow required +for cooling mode, not for heating mode (in other words, heating mode is going to be higher because +the airflow requirement is higher). + +This shows that with an upgraded filter we can get the static pressure below the 0.8" [wc] max +target while in cooling mode. + +\ +\ + +[Here is a link to the full forecast report.][trueflow-forecast-file] + +# Summary + +The purpose of the home performance assessment is to help find the overlap between the house needs, +the goals, and the budget to see if there's a viable project. + + + +The house is pretty leaky overall. This is due to the age and construction style of the house. This +may lead to comfort problems or trouble maintaining comfort in all areas of the house. + +Based on the [load calculations][load-calculation], the previously quoted systems are too large for +the current load, so we need to update the proposals to be for 2-Ton systems. This will help with +the fact that the static pressure of the system is already really high. The static pressure for +heating will likely still be above the 0.8" [wc] max threshold. + +An upgraded air filter is going to be required to help alleviate the blower motor. Another return +may be required in the living space to further drop the static pressure, however this could likely +be done in the future if desired. I would estimate that adding another return would be in the +**$800-1,200** range. + +While on site it was mentioned that you would like some of the ducts to be sealed that go to the +second floor. This is something that is not included in our general proposals. I would estimate this +to be an additional **$150-300** and will add options in the updated proposals. + +Since the goal is to add air conditioning, then I would recommend going with a 2-Ton system. If the +system does not maintain then you could look into [shell] improvements and air sealing the home. + +Regards, + +\ +\ +\ + +[Here is a link to all the documents][document-folder] + + + + + +[CFM50]: #cfm50-definition "CFM50" +[IAQ]: #iaq-definition "IAQ" +[LAIR]: #lair-definition "LAIR" +[load-calculation]: #load-calculation-definition "load calculation" +[shell]: #shell-definition "shell" +[SHR]: #shr-definition "SHR" +[wc]: #wc-definition "wc" +[TESP]: #tesp-definition "TESP" + + + + + +[trueflow-image]: "{{ links.images.trueflow }}" + + +[trueflow-forecast-image]: "{{ links.images.trueflow_forecast }}" + + + +[loads-folder]: "{{ links.documents.loads_folder }}" +[trueflow-file]: "{{ links.documents.trueflow_file }}" +[trueflow-forecast-file]: "{{ links.documents.trueflow_forecast_file }}" +[document-folder]: "{{ links.documents.document_folder }}" + diff --git a/roles/repo_template/files/footer.tex b/roles/repo_template/files/footer.tex new file mode 100644 index 0000000..1937ab9 --- /dev/null +++ b/roles/repo_template/files/footer.tex @@ -0,0 +1,26 @@ +% customize the footer +\usepackage{fancyhdr} +\pagestyle{fancy} +% clear all footers +\fancyfoot{} +% clear all headers +\fancyhead{} + +% change font size on footer. +\newcommand{\changefont}{ + \fontsize{8}{10}\selectfont +} +% NOTE: What is displayed in the footer of each page. +\fancyfoot[LE,LO]{ + \href{ {{ company.website }} } + {\changefont\textbf{ + {{ company.url_display_title }} + }} +} +\fancyfoot[RE,RO]{\textbf{ + \changefont{ + Phone: \href{tel:{{ company.phone }} }{ + \color{orange}{{ company.phone }} + } + } +}} diff --git a/roles/repo_template/files/head.tex b/roles/repo_template/files/head.tex new file mode 100644 index 0000000..a2f14f6 --- /dev/null +++ b/roles/repo_template/files/head.tex @@ -0,0 +1,74 @@ +% https://jdhao.github.io/2019/05/30/markdown2pdf_pandoc/#the-top +% These were adapted from the above, which was very helpful in getting this +% functional. + +% change style of quote, see also https://tex.stackexchange.com/a/436253/114857 +\usepackage[most]{tcolorbox} + +% change page margins +\usepackage[top=2cm, bottom=1.5cm, left=2cm, right=2cm]{geometry} + +% change the line spacing +\usepackage{setspace} +\setstretch{1.25} + +\usepackage[utf8]{inputenc} + +% NOTE: This needs to stay above hyperref otherwise internal links break. + +% start each section on new page and make section titles orange. +\usepackage{titlesec} +\titleformat{\section} +{\color{orange}\normalfont\Huge\bfseries} +\newcommand{\sectionbreak}{\clearpage} + +% custom colors +\definecolor{applegreen}{rgb}{0.55,0.71,0.0} + +% Remove figure from images +\usepackage[labelformat=empty]{caption} + +\usepackage{fancyvrb,newverbs} + +% see for different color codes https://rgbcolorcode.com/color/E6FFEA +\definecolor{linequote}{RGB}{224,215,188} +\definecolor{backquote}{RGB}{230,255,234} % background color of quotes +\definecolor{bordercolor}{RGB}{221,221,221} + +% change left border: https://tex.stackexchange.com/a/475716/114857 +% change left margin: https://tex.stackexchange.com/a/457936/114857 +\newtcolorbox{myquote}[1][]{% + enhanced, + breakable, + size=minimal, + left=10pt, + top=5pt, + bottom=5pt, + frame hidden, + boxrule=0pt, + sharp corners=all, + colback=backquote, + borderline west={4pt}{0pt}{bordercolor}, + #1 +} + +% redefine quote environment to use the myquote environment, see https://tex.stackexchange.com/a/337587/114857 +\renewenvironment{quote}{\begin{myquote}}{\end{myquote}} + +% remove the abstract title. +\usepackage{abstract} +\renewcommand{\abstractname}{} +\renewcommand{\absnamepos}{empty} + +\def\squarefoot{$ft^{\text{2}}$ } +\def\goalsimage{ +\begin{center} + +\hfill\break +\hfill\break + +\includegraphics[width=0.6\linewidth,height=\textheight,keepaspectratio]{img/goals.png} + +\end{center} + +} diff --git a/roles/repo_template/files/vars.default.yml b/roles/repo_template/files/vars.default.yml new file mode 100644 index 0000000..8a09dc7 --- /dev/null +++ b/roles/repo_template/files/vars.default.yml @@ -0,0 +1,31 @@ +--- +author_name: "Testy McTestface Jr" +document_title: "Home Performance Report" +company: + website: "https://example.com" + phone: "555-555-5555" + url_display_title: "www.Example.com" + +links: + images: + logo: "img/logo.png" + trueflow: "img/trueflow.png" + trueflow_forecast: "img/forecast.png" + documents: + loads_folder: "https://example.com/path/to/loads/folder" + trueflow_file: "https://example.com/path/to/trueflow/file" + trueflow_forecast_file: "https://example.com/path/to/trueflow/forecast/file" + document_folder: "https://example.com/path/to/document/folder" + +customer: + name: "Testy McTestface Sr" + address: + street: "1234 Seasme Street" + city: "No Mans Land" + state: "Foo" + zip: "55555" + +home: + square_feet: "3,000" + cfm50: "3,000" + lair: "1:1" diff --git a/roles/repo_template/files/vars.vault.yml b/roles/repo_template/files/vars.vault.yml new file mode 100644 index 0000000..7cabc46 --- /dev/null +++ b/roles/repo_template/files/vars.vault.yml @@ -0,0 +1,18 @@ +--- +author_name: "{{ vault_author_name }}" +document_title: "Home Performance Report" +company: "{{ vault_company }}" + +links: + images: + logo: "img/logo.png" + trueflow: "img/trueflow.png" + trueflow_forecast: "img/forecast.png" + documents: "{{ vault_document_links }}" + +customer: "{{ vault_customer }}" + +home: + square_feet: "3,000" + cfm50: "3,000" + lair: "1:1" diff --git a/roles/repo_template/files/vault.default.yml b/roles/repo_template/files/vault.default.yml new file mode 100644 index 0000000..1e94dcb --- /dev/null +++ b/roles/repo_template/files/vault.default.yml @@ -0,0 +1,20 @@ +--- +vault_author_name: "Testy McTestface Vault" +vault_company: + website: "https://vault.example.com" + phone: "555-555-5555" + url_display_title: "www.VaultExample.com" + +vault_customer: + name: "Testy McTestface Sr Vault" + address: + street: "1234 Seasme Street" + city: "Vault" + state: "Foo" + zip: "55555" + +vault_document_links: + loads_folder: "https://vault.example.com/path/to/loads/folder" + trueflow_file: "https://vault.example.com/path/to/trueflow/file" + trueflow_forecast_file: "https://vault.example.com/path/to/trueflow/forecast/file" + document_folder: "https://vault.example.com/path/to/document/folder" diff --git a/roles/repo_template/tasks/main.yml b/roles/repo_template/tasks/main.yml new file mode 100644 index 0000000..3c3dc22 --- /dev/null +++ b/roles/repo_template/tasks/main.yml @@ -0,0 +1,41 @@ +--- +- name: Starting repo template role. + ansible.builtin.debug: + msg: "Output directory: {{ output_dir }}" + tags: + - "repo-template" + - "never" + +- name: Copy general files. + ansible.builtin.copy: + src: "files/{{ item }}" + dest: "{{ output_dir }}/{{ item }}" + with_items: + - "Definitions.md" + - "Report.md" + - "head.tex" + - "footer.tex" + tags: + - "repo-template" + - "never" + +- name: Copy vars files. + ansible.builtin.copy: + src: "files/vars.default.yml" + dest: "{{ output_dir }}/vars.yml" + tags: + - "with-default-vars" + - "never" + +- name: Copy vars files. + ansible.builtin.copy: + src: "files/{{ item.src }}" + dest: "{{ output_dir }}/{{ item.dest }}" + with_items: + - src: "vars.vault.yml" + dest: "vars.yml" + - src: "vault.default.yml" + dest: "vault.yml" + tags: + - "with-vault-vars" + - "never"