├── html ├── .gitkeep ├── images ├── stylesheets │ ├── .gitkeep │ └── custom.css └── MathJax │ ├── images │ ├── CloseX-31.png │ └── MenuArrow-15.png │ ├── fonts │ └── HTML-CSS │ │ └── TeX │ │ └── woff │ │ ├── MathJax_Main-Bold.woff │ │ ├── MathJax_AMS-Regular.woff │ │ ├── MathJax_Fraktur-Bold.woff │ │ ├── MathJax_Main-Italic.woff │ │ ├── MathJax_Main-Regular.woff │ │ ├── MathJax_Math-Italic.woff │ │ ├── MathJax_Math-Regular.woff │ │ ├── MathJax_Size1-Regular.woff │ │ ├── MathJax_Size2-Regular.woff │ │ ├── MathJax_Size3-Regular.woff │ │ ├── MathJax_Size4-Regular.woff │ │ ├── MathJax_Fraktur-Regular.woff │ │ ├── MathJax_Math-BoldItalic.woff │ │ ├── MathJax_SansSerif-Bold.woff │ │ ├── MathJax_Script-Regular.woff │ │ ├── MathJax_Caligraphic-Bold.woff │ │ ├── MathJax_SansSerif-Italic.woff │ │ ├── MathJax_SansSerif-Regular.woff │ │ ├── MathJax_Typewriter-Regular.woff │ │ └── MathJax_Caligraphic-Regular.woff │ ├── jax │ ├── element │ │ └── mml │ │ │ └── optable │ │ │ ├── GreekAndCoptic.js │ │ │ ├── CombDiacritMarks.js │ │ │ ├── Dingbats.js │ │ │ ├── LetterlikeSymbols.js │ │ │ ├── CombDiactForSymbols.js │ │ │ ├── Latin1Supplement.js │ │ │ ├── MiscSymbolsAndArrows.js │ │ │ ├── SpacingModLetters.js │ │ │ ├── MiscMathSymbolsA.js │ │ │ ├── MiscTechnical.js │ │ │ └── SupplementalArrowsA.js │ ├── output │ │ ├── HTML-CSS │ │ │ └── fonts │ │ │ │ ├── TeX │ │ │ │ ├── Script │ │ │ │ │ └── Regular │ │ │ │ │ │ └── Other.js │ │ │ │ ├── AMS │ │ │ │ │ └── Regular │ │ │ │ │ │ ├── MiscSymbols.js │ │ │ │ │ │ ├── LatinExtendedA.js │ │ │ │ │ │ ├── Dingbats.js │ │ │ │ │ │ ├── EnclosedAlphanum.js │ │ │ │ │ │ ├── MiscMathSymbolsB.js │ │ │ │ │ │ ├── GeneralPunctuation.js │ │ │ │ │ │ ├── GreekAndCoptic.js │ │ │ │ │ │ ├── MiscTechnical.js │ │ │ │ │ │ ├── CombDiacritMarks.js │ │ │ │ │ │ ├── SpacingModLetters.js │ │ │ │ │ │ ├── Latin1Supplement.js │ │ │ │ │ │ ├── BoxDrawing.js │ │ │ │ │ │ └── LetterlikeSymbols.js │ │ │ │ ├── Main │ │ │ │ │ ├── Bold │ │ │ │ │ │ ├── LatinExtendedA.js │ │ │ │ │ │ ├── LatinExtendedB.js │ │ │ │ │ │ ├── CombDiactForSymbols.js │ │ │ │ │ │ ├── MiscMathSymbolsA.js │ │ │ │ │ │ ├── SuppMathOperators.js │ │ │ │ │ │ ├── GeometricShapes.js │ │ │ │ │ │ ├── LetterlikeSymbols.js │ │ │ │ │ │ ├── MiscTechnical.js │ │ │ │ │ │ └── MiscSymbols.js │ │ │ │ │ ├── Italic │ │ │ │ │ │ ├── Latin1Supplement.js │ │ │ │ │ │ ├── LetterlikeSymbols.js │ │ │ │ │ │ └── GeneralPunctuation.js │ │ │ │ │ └── Regular │ │ │ │ │ │ ├── SpacingModLetters.js │ │ │ │ │ │ ├── GeometricShapes.js │ │ │ │ │ │ └── MiscSymbols.js │ │ │ │ └── Fraktur │ │ │ │ │ ├── Bold │ │ │ │ │ ├── Other.js │ │ │ │ │ └── PUA.js │ │ │ │ │ └── Regular │ │ │ │ │ ├── Other.js │ │ │ │ │ └── PUA.js │ │ │ │ └── STIX │ │ │ │ ├── General │ │ │ │ ├── Regular │ │ │ │ │ ├── Hiragana.js │ │ │ │ │ ├── Specials.js │ │ │ │ │ ├── CJK.js │ │ │ │ │ ├── ij.js │ │ │ │ │ ├── ControlPictures.js │ │ │ │ │ ├── SuperAndSubscripts.js │ │ │ │ │ ├── LatinExtendedD.js │ │ │ │ │ ├── CurrencySymbols.js │ │ │ │ │ └── AlphaPresentForms.js │ │ │ │ ├── Bold │ │ │ │ │ ├── LatinExtendedD.js │ │ │ │ │ ├── ControlPictures.js │ │ │ │ │ ├── SuperAndSubscripts.js │ │ │ │ │ ├── MiscSymbols.js │ │ │ │ │ ├── PhoneticExtensions.js │ │ │ │ │ ├── CurrencySymbols.js │ │ │ │ │ ├── MiscMathSymbolsA.js │ │ │ │ │ ├── AlphaPresentForms.js │ │ │ │ │ └── GeometricShapes.js │ │ │ │ ├── Italic │ │ │ │ │ ├── ij.js │ │ │ │ │ ├── ControlPictures.js │ │ │ │ │ ├── MathOperators.js │ │ │ │ │ ├── CurrencySymbols.js │ │ │ │ │ └── AlphaPresentForms.js │ │ │ │ └── BoldItalic │ │ │ │ │ ├── ControlPictures.js │ │ │ │ │ ├── CombDiactForSymbols.js │ │ │ │ │ ├── MathOperators.js │ │ │ │ │ ├── CurrencySymbols.js │ │ │ │ │ └── AlphaPresentForms.js │ │ │ │ ├── SizeOneSym │ │ │ │ └── Bold │ │ │ │ │ └── All.js │ │ │ │ └── NonUnicode │ │ │ │ ├── Bold │ │ │ │ ├── All.js │ │ │ │ └── Main.js │ │ │ │ ├── Regular │ │ │ │ └── All.js │ │ │ │ ├── Italic │ │ │ │ └── All.js │ │ │ │ └── BoldItalic │ │ │ │ └── All.js │ │ └── SVG │ │ │ └── fonts │ │ │ └── TeX │ │ │ ├── Main │ │ │ ├── Regular │ │ │ │ └── MathOperators.js │ │ │ └── Italic │ │ │ │ └── MathOperators.js │ │ │ ├── Fraktur │ │ │ ├── Regular │ │ │ │ └── Main.js │ │ │ └── Bold │ │ │ │ └── Main.js │ │ │ ├── SansSerif │ │ │ ├── Regular │ │ │ │ └── Main.js │ │ │ ├── Bold │ │ │ │ └── Main.js │ │ │ └── Italic │ │ │ │ └── Main.js │ │ │ ├── Typewriter │ │ │ └── Regular │ │ │ │ └── Main.js │ │ │ └── AMS │ │ │ └── Regular │ │ │ └── GeneralPunctuation.js │ └── input │ │ ├── MathML │ │ ├── entities │ │ │ ├── j.js │ │ │ ├── w.js │ │ │ ├── q.js │ │ │ ├── k.js │ │ │ ├── y.js │ │ │ ├── z.js │ │ │ └── x.js │ │ └── config.js │ │ └── AsciiMath │ │ └── config.js │ └── localization │ └── en │ └── HTML-CSS.js ├── virtual ├── test └── code │ ├── chap4 │ ├── test.txt │ ├── ansible.cfg │ └── myhosts.ini │ ├── chap5 │ ├── test.txt │ ├── ansible.cfg │ ├── myhosts.ini │ ├── helper │ │ └── index.html │ └── playbook.yml │ ├── chap6 │ ├── test.txt │ ├── roles │ │ ├── apache │ │ │ ├── tests │ │ │ │ ├── inventory │ │ │ │ └── test.yml │ │ │ ├── vars │ │ │ │ └── main.yml │ │ │ ├── meta │ │ │ │ └── main.yml │ │ │ ├── tasks │ │ │ │ ├── install.yml │ │ │ │ ├── start.yml │ │ │ │ ├── main.yml │ │ │ │ └── config.yml │ │ │ ├── handlers │ │ │ │ └── main.yml │ │ │ ├── defaults │ │ │ │ └── main.yml │ │ │ ├── files │ │ │ │ └── index.html │ │ │ ├── templates │ │ │ │ └── index.html.j2 │ │ │ └── .travis.yml │ │ ├── base │ │ │ ├── tests │ │ │ │ ├── inventory │ │ │ │ └── test.yml │ │ │ ├── meta │ │ │ │ └── main.yml │ │ │ ├── vars │ │ │ │ └── main.yml │ │ │ ├── defaults │ │ │ │ └── main.yml │ │ │ ├── handlers │ │ │ │ └── main.yml │ │ │ ├── tasks │ │ │ │ └── main.yml │ │ │ └── .travis.yml │ │ └── mysql │ │ │ ├── tests │ │ │ ├── inventory │ │ │ └── test.yml │ │ │ ├── vars │ │ │ └── main.yml │ │ │ ├── templates │ │ │ ├── my.cnf.j2 │ │ │ └── mysql_reset_pass.sql │ │ │ ├── defaults │ │ │ └── main.yml │ │ │ ├── handlers │ │ │ └── main.yml │ │ │ ├── tasks │ │ │ ├── start.yml │ │ │ ├── main.yml │ │ │ └── install.yml │ │ │ ├── files │ │ │ └── fetch_defaultpass.sh │ │ │ └── .travis.yml │ ├── ansible.cfg │ ├── site.yml │ ├── db.yml │ ├── myhosts.ini │ ├── app.yml │ └── playbook.yml │ ├── chap7 │ ├── test.txt │ ├── roles │ │ ├── apache │ │ │ ├── tests │ │ │ │ ├── inventory │ │ │ │ └── test.yml │ │ │ ├── vars │ │ │ │ └── main.yml │ │ │ ├── meta │ │ │ │ └── main.yml │ │ │ ├── templates │ │ │ │ ├── tmp │ │ │ │ └── index.html.j2 │ │ │ ├── tasks │ │ │ │ ├── install.yml │ │ │ │ ├── start.yml │ │ │ │ ├── main.yml │ │ │ │ └── config.yml │ │ │ ├── handlers │ │ │ │ └── main.yml │ │ │ ├── defaults │ │ │ │ └── main.yml │ │ │ ├── files │ │ │ │ └── index.html │ │ │ └── .travis.yml │ │ ├── base │ │ │ ├── defaults │ │ │ │ └── main.yml │ │ │ ├── tests │ │ │ │ ├── inventory │ │ │ │ └── test.yml │ │ │ ├── meta │ │ │ │ └── main.yml │ │ │ ├── vars │ │ │ │ └── main.yml │ │ │ ├── handlers │ │ │ │ └── main.yml │ │ │ ├── tasks │ │ │ │ └── main.yml │ │ │ └── .travis.yml │ │ └── mysql │ │ │ ├── tests │ │ │ ├── inventory │ │ │ └── test.yml │ │ │ ├── vars │ │ │ └── main.yml │ │ │ ├── handlers │ │ │ └── main.yml │ │ │ ├── tasks │ │ │ ├── start.yml │ │ │ ├── main.yml │ │ │ └── install.yml │ │ │ ├── templates │ │ │ ├── mysql_reset_pass.sql │ │ │ └── my.cnf.j2 │ │ │ ├── files │ │ │ └── fetch_defaultpass.sh │ │ │ ├── defaults │ │ │ └── main.yml │ │ │ └── .travis.yml │ ├── group_vars │ │ └── all.yml │ ├── ansible.cfg │ ├── site.yml │ ├── myhosts.ini │ ├── app.yml │ ├── helper │ │ └── index.html │ ├── db.yml │ ├── register.yml │ └── playbook.yml │ └── chap8 │ ├── test.txt │ ├── roles │ ├── apache │ │ ├── tests │ │ │ ├── inventory │ │ │ └── test.yml │ │ ├── vars │ │ │ └── main.yml │ │ ├── meta │ │ │ └── main.yml │ │ ├── templates │ │ │ ├── tmp │ │ │ └── index.html.j2 │ │ ├── tasks │ │ │ ├── start.yml │ │ │ ├── main.yml │ │ │ ├── install.yml │ │ │ └── config.yml │ │ ├── handlers │ │ │ └── main.yml │ │ ├── defaults │ │ │ └── main.yml │ │ ├── files │ │ │ └── index.html │ │ └── .travis.yml │ ├── base │ │ ├── tests │ │ │ ├── inventory │ │ │ └── test.yml │ │ ├── meta │ │ │ └── main.yml │ │ ├── vars │ │ │ └── main.yml │ │ ├── handlers │ │ │ └── main.yml │ │ ├── defaults │ │ │ └── main.yml │ │ ├── tasks │ │ │ └── main.yml │ │ └── .travis.yml │ ├── haproxy │ │ ├── tests │ │ │ ├── inventory │ │ │ └── test.yml │ │ ├── vars │ │ │ └── main.yml │ │ ├── tasks │ │ │ └── main.yml │ │ ├── defaults │ │ │ └── main.yml │ │ ├── handlers │ │ │ └── main.yml │ │ └── .travis.yml │ ├── mysql │ │ ├── tests │ │ │ ├── inventory │ │ │ └── test.yml │ │ ├── vars │ │ │ └── main.yml │ │ ├── handlers │ │ │ └── main.yml │ │ ├── tasks │ │ │ ├── start.yml │ │ │ ├── install.yml │ │ │ └── main.yml │ │ ├── templates │ │ │ ├── mysql_reset_pass.sql │ │ │ └── my.cnf.j2 │ │ ├── files │ │ │ └── fetch_defaultpass.sh │ │ ├── defaults │ │ │ └── main.yml │ │ └── .travis.yml │ └── starter │ │ ├── tests │ │ ├── inventory │ │ └── test.yml │ │ ├── vars │ │ └── main.yml │ │ ├── tasks │ │ └── main.yml │ │ ├── defaults │ │ └── main.yml │ │ ├── handlers │ │ └── main.yml │ │ └── .travis.yml │ ├── ansible.cfg │ ├── site.yml │ ├── myhosts.ini │ ├── helper │ └── index.html │ ├── app.yml │ ├── db.yml │ ├── register.yml │ ├── playbook.yml │ └── group_vars │ └── all.yml ├── images ├── .gitkeep ├── figures │ ├── .gitkeep │ ├── 2011_michael_hartl.png │ └── 01_michael_hartl_headshot.jpg ├── cover.jpg ├── cover.pdf ├── cover.png ├── cover-web.png ├── testimonial_1.png └── ansible │ └── yaml_lint.png ├── full_size_figures └── .gitkeep ├── meta ├── what_will_you_learn.txt └── outline_detailed.txt ├── chapters ├── intro.md ├── modules.md ├── setup.md ├── preface.md ├── ansible-tower.md ├── comparison.md ├── registered_variables.md └── troubleshooting.md ├── setup ├── code │ ├── chap7 │ │ ├── roles │ │ │ ├── apache │ │ │ │ ├── defaults │ │ │ │ │ └── main.yml │ │ │ │ ├── tests │ │ │ │ │ ├── inventory │ │ │ │ │ └── test.yml │ │ │ │ ├── vars │ │ │ │ │ └── main.yml │ │ │ │ ├── meta │ │ │ │ │ └── main.yml │ │ │ │ ├── tasks │ │ │ │ │ ├── install.yml │ │ │ │ │ ├── start.yml │ │ │ │ │ ├── main.yml │ │ │ │ │ └── config.yml │ │ │ │ ├── handlers │ │ │ │ │ └── main.yml │ │ │ │ ├── files │ │ │ │ │ └── index.html │ │ │ │ └── .travis.yml │ │ │ ├── base │ │ │ │ ├── tests │ │ │ │ │ ├── inventory │ │ │ │ │ └── test.yml │ │ │ │ ├── meta │ │ │ │ │ └── main.yml │ │ │ │ ├── vars │ │ │ │ │ └── main.yml │ │ │ │ ├── defaults │ │ │ │ │ └── main.yml │ │ │ │ ├── handlers │ │ │ │ │ └── main.yml │ │ │ │ ├── tasks │ │ │ │ │ └── main.yml │ │ │ │ └── .travis.yml │ │ │ └── mysql │ │ │ │ ├── tests │ │ │ │ ├── inventory │ │ │ │ └── test.yml │ │ │ │ ├── vars │ │ │ │ └── main.yml │ │ │ │ ├── templates │ │ │ │ ├── my.cnf.j2 │ │ │ │ └── mysql_reset_pass.sql │ │ │ │ ├── defaults │ │ │ │ └── main.yml │ │ │ │ ├── handlers │ │ │ │ └── main.yml │ │ │ │ ├── tasks │ │ │ │ ├── start.yml │ │ │ │ ├── main.yml │ │ │ │ └── install.yml │ │ │ │ ├── files │ │ │ │ └── fetch_defaultpass.sh │ │ │ │ └── .travis.yml │ │ ├── ansible.cfg │ │ ├── db.yml │ │ ├── site.yml │ │ ├── app.yml │ │ ├── myhosts.ini │ │ ├── playbook.yml │ │ └── test.txt │ ├── chap8 │ │ ├── roles │ │ │ ├── base │ │ │ │ ├── defaults │ │ │ │ │ └── main.yml │ │ │ │ ├── tests │ │ │ │ │ ├── inventory │ │ │ │ │ └── test.yml │ │ │ │ ├── meta │ │ │ │ │ └── main.yml │ │ │ │ ├── vars │ │ │ │ │ └── main.yml │ │ │ │ ├── handlers │ │ │ │ │ └── main.yml │ │ │ │ ├── tasks │ │ │ │ │ └── main.yml │ │ │ │ └── .travis.yml │ │ │ ├── mysql │ │ │ │ ├── tests │ │ │ │ │ ├── inventory │ │ │ │ │ └── test.yml │ │ │ │ ├── vars │ │ │ │ │ └── main.yml │ │ │ │ ├── handlers │ │ │ │ │ └── main.yml │ │ │ │ ├── tasks │ │ │ │ │ ├── start.yml │ │ │ │ │ ├── main.yml │ │ │ │ │ └── install.yml │ │ │ │ ├── templates │ │ │ │ │ ├── mysql_reset_pass.sql │ │ │ │ │ └── my.cnf.j2 │ │ │ │ ├── files │ │ │ │ │ └── fetch_defaultpass.sh │ │ │ │ ├── defaults │ │ │ │ │ └── main.yml │ │ │ │ └── .travis.yml │ │ │ └── apache │ │ │ │ ├── tests │ │ │ │ ├── inventory │ │ │ │ └── test.yml │ │ │ │ ├── vars │ │ │ │ └── main.yml │ │ │ │ ├── meta │ │ │ │ └── main.yml │ │ │ │ ├── templates │ │ │ │ ├── tmp │ │ │ │ └── index.html.j2 │ │ │ │ ├── tasks │ │ │ │ ├── install.yml │ │ │ │ ├── start.yml │ │ │ │ ├── main.yml │ │ │ │ └── config.yml │ │ │ │ ├── handlers │ │ │ │ └── main.yml │ │ │ │ ├── defaults │ │ │ │ └── main.yml │ │ │ │ ├── files │ │ │ │ └── index.html │ │ │ │ └── .travis.yml │ │ ├── group_vars │ │ │ └── all.yml │ │ ├── ansible.cfg │ │ ├── site.yml │ │ ├── app.yml │ │ ├── helper │ │ │ └── index.html │ │ ├── myhosts.ini │ │ ├── db.yml │ │ ├── register.yml │ │ ├── playbook.yml │ │ └── test.txt │ ├── chap9 │ │ ├── roles │ │ │ ├── base │ │ │ │ ├── tests │ │ │ │ │ ├── inventory │ │ │ │ │ └── test.yml │ │ │ │ ├── meta │ │ │ │ │ └── main.yml │ │ │ │ ├── vars │ │ │ │ │ └── main.yml │ │ │ │ ├── handlers │ │ │ │ │ └── main.yml │ │ │ │ ├── defaults │ │ │ │ │ └── main.yml │ │ │ │ ├── tasks │ │ │ │ │ └── main.yml │ │ │ │ └── .travis.yml │ │ │ ├── mysql │ │ │ │ ├── tests │ │ │ │ │ ├── inventory │ │ │ │ │ └── test.yml │ │ │ │ ├── vars │ │ │ │ │ └── main.yml │ │ │ │ ├── handlers │ │ │ │ │ └── main.yml │ │ │ │ ├── tasks │ │ │ │ │ ├── start.yml │ │ │ │ │ ├── install.yml │ │ │ │ │ └── main.yml │ │ │ │ ├── templates │ │ │ │ │ ├── mysql_reset_pass.sql │ │ │ │ │ └── my.cnf.j2 │ │ │ │ ├── files │ │ │ │ │ └── fetch_defaultpass.sh │ │ │ │ ├── defaults │ │ │ │ │ └── main.yml │ │ │ │ └── .travis.yml │ │ │ ├── apache │ │ │ │ ├── tests │ │ │ │ │ ├── inventory │ │ │ │ │ └── test.yml │ │ │ │ ├── vars │ │ │ │ │ └── main.yml │ │ │ │ ├── meta │ │ │ │ │ └── main.yml │ │ │ │ ├── templates │ │ │ │ │ ├── tmp │ │ │ │ │ └── index.html.j2 │ │ │ │ ├── tasks │ │ │ │ │ ├── start.yml │ │ │ │ │ ├── main.yml │ │ │ │ │ ├── install.yml │ │ │ │ │ └── config.yml │ │ │ │ ├── handlers │ │ │ │ │ └── main.yml │ │ │ │ ├── defaults │ │ │ │ │ └── main.yml │ │ │ │ ├── files │ │ │ │ │ └── index.html │ │ │ │ └── .travis.yml │ │ │ ├── haproxy │ │ │ │ ├── tests │ │ │ │ │ ├── inventory │ │ │ │ │ └── test.yml │ │ │ │ ├── tasks │ │ │ │ │ └── main.yml │ │ │ │ ├── vars │ │ │ │ │ └── main.yml │ │ │ │ ├── defaults │ │ │ │ │ └── main.yml │ │ │ │ ├── handlers │ │ │ │ │ └── main.yml │ │ │ │ └── .travis.yml │ │ │ └── starter │ │ │ │ ├── tests │ │ │ │ ├── inventory │ │ │ │ └── test.yml │ │ │ │ ├── tasks │ │ │ │ └── main.yml │ │ │ │ ├── vars │ │ │ │ └── main.yml │ │ │ │ ├── defaults │ │ │ │ └── main.yml │ │ │ │ ├── handlers │ │ │ │ └── main.yml │ │ │ │ └── .travis.yml │ │ ├── ansible.cfg │ │ ├── site.yml │ │ ├── helper │ │ │ └── index.html │ │ ├── myhosts.ini │ │ ├── app.yml │ │ ├── db.yml │ │ ├── register.yml │ │ ├── playbook.yml │ │ ├── group_vars │ │ │ └── all.yml │ │ └── test.txt │ ├── chap3 │ │ ├── ansible.cfg │ │ └── myhosts.ini │ ├── chap4 │ │ ├── ansible.cfg │ │ ├── myhosts.ini │ │ └── test.txt │ ├── chap6 │ │ ├── ansible.cfg │ │ ├── helper │ │ │ └── index.html │ │ ├── myhosts.ini │ │ ├── playbook.yml │ │ └── test.txt │ └── chap5 │ │ ├── ansible.cfg │ │ ├── myhosts.ini │ │ └── test.txt ├── control │ ├── 128.png │ └── entrypoint.sh ├── README.md └── nodes │ ├── centos6 │ └── Dockerfile │ └── ubuntu │ └── Dockerfile ├── manuscript ├── Book.txt ├── ansible-tower.md ├── comparison.md ├── registered_variables.md └── troubleshooting.md ├── tmp ├── chapter3.md.cache ├── chapter4.md.cache ├── chapter5.md.cache ├── chapter6.md.cache ├── chapter7.md.cache └── preface.md.cache ├── .highlight_cache ├── generated_polytex └── preface.tex ├── git.sh ├── Book.txt ├── latex_styles ├── polytexnic_commands.sty ├── custom_pdf.sty ├── language_customization.sty └── custom.sty ├── config ├── lang.yml ├── book.yml └── preamble.tex └── epub └── OEBPS └── styles └── custom_epub.css /html/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /virtual/test: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /images/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /html/images: -------------------------------------------------------------------------------- 1 | ../images -------------------------------------------------------------------------------- /images/figures/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /full_size_figures/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /html/stylesheets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /meta/what_will_you_learn.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /virtual/code/chap4/test.txt: -------------------------------------------------------------------------------- 1 | Hi there :) -------------------------------------------------------------------------------- /virtual/code/chap5/test.txt: -------------------------------------------------------------------------------- 1 | Hi there :) -------------------------------------------------------------------------------- /virtual/code/chap6/test.txt: -------------------------------------------------------------------------------- 1 | Hi there :) -------------------------------------------------------------------------------- /virtual/code/chap7/test.txt: -------------------------------------------------------------------------------- 1 | Hi there :) -------------------------------------------------------------------------------- /virtual/code/chap8/test.txt: -------------------------------------------------------------------------------- 1 | Hi there :) -------------------------------------------------------------------------------- /chapters/intro.md: -------------------------------------------------------------------------------- 1 | # Introduction to Ansible 2 | -------------------------------------------------------------------------------- /setup/code/chap7/roles/apache/defaults/main.yml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /setup/code/chap7/roles/base/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /setup/code/chap7/roles/mysql/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /setup/code/chap8/roles/base/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /setup/code/chap8/roles/base/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /setup/code/chap8/roles/mysql/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /setup/code/chap9/roles/base/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /setup/code/chap9/roles/mysql/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /chapters/modules.md: -------------------------------------------------------------------------------- 1 | # Modules - The batteris included 2 | -------------------------------------------------------------------------------- /chapters/setup.md: -------------------------------------------------------------------------------- 1 | # Settig up Learning Environment 2 | -------------------------------------------------------------------------------- /manuscript/Book.txt: -------------------------------------------------------------------------------- 1 | {mainmatter} 2 | 3 | {backmatter} 4 | -------------------------------------------------------------------------------- /setup/code/chap7/roles/apache/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /setup/code/chap8/roles/apache/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /setup/code/chap9/roles/apache/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /setup/code/chap9/roles/haproxy/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /setup/code/chap9/roles/starter/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /virtual/code/chap6/roles/apache/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /virtual/code/chap6/roles/base/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /virtual/code/chap6/roles/mysql/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /virtual/code/chap7/roles/apache/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /virtual/code/chap7/roles/base/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /virtual/code/chap7/roles/base/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /virtual/code/chap7/roles/mysql/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /virtual/code/chap8/roles/apache/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /virtual/code/chap8/roles/base/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /virtual/code/chap8/roles/haproxy/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /virtual/code/chap8/roles/mysql/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /virtual/code/chap8/roles/starter/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /tmp/chapter3.md.cache: -------------------------------------------------------------------------------- 1 | 3de216b95afe567ca312299be7f9f5bf3b0052f8 -------------------------------------------------------------------------------- /tmp/chapter4.md.cache: -------------------------------------------------------------------------------- 1 | e06d8a9a969217097ff9639b0d56521adf057b6d -------------------------------------------------------------------------------- /tmp/chapter5.md.cache: -------------------------------------------------------------------------------- 1 | c455a22141c43e9547604e6290fd7c923c95d175 -------------------------------------------------------------------------------- /tmp/chapter6.md.cache: -------------------------------------------------------------------------------- 1 | e15f72a086927c8640e342a20a0ca51a13d9f55e -------------------------------------------------------------------------------- /tmp/chapter7.md.cache: -------------------------------------------------------------------------------- 1 | 476274c2aebab717a1ab35653c2ec5f67f1c46b8 -------------------------------------------------------------------------------- /tmp/preface.md.cache: -------------------------------------------------------------------------------- 1 | e1402d5736d9bb5751df1ffc487746e257bac466 -------------------------------------------------------------------------------- /setup/code/chap7/roles/base/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | dependencies: [] 3 | -------------------------------------------------------------------------------- /setup/code/chap8/roles/base/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | dependencies: [] 3 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/base/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | dependencies: [] 3 | -------------------------------------------------------------------------------- /virtual/code/chap6/roles/base/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | dependencies: [] 3 | -------------------------------------------------------------------------------- /virtual/code/chap7/roles/base/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | dependencies: [] 3 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/base/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | dependencies: [] 3 | -------------------------------------------------------------------------------- /setup/code/chap7/roles/base/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for base 3 | -------------------------------------------------------------------------------- /setup/code/chap7/roles/mysql/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for mysql 3 | -------------------------------------------------------------------------------- /setup/code/chap8/roles/base/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for base 3 | -------------------------------------------------------------------------------- /setup/code/chap8/roles/mysql/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for mysql 3 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/base/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for base 3 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/mysql/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for mysql 3 | -------------------------------------------------------------------------------- /virtual/code/chap6/roles/base/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for base 3 | -------------------------------------------------------------------------------- /virtual/code/chap6/roles/mysql/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for mysql 3 | -------------------------------------------------------------------------------- /virtual/code/chap7/roles/base/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for base 3 | -------------------------------------------------------------------------------- /virtual/code/chap7/roles/mysql/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for mysql 3 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/base/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for base 3 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/mysql/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for mysql 3 | -------------------------------------------------------------------------------- /setup/code/chap7/roles/apache/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for starter 3 | -------------------------------------------------------------------------------- /setup/code/chap7/roles/base/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for base 3 | -------------------------------------------------------------------------------- /setup/code/chap7/roles/base/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for base 3 | -------------------------------------------------------------------------------- /setup/code/chap8/roles/apache/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for starter 3 | -------------------------------------------------------------------------------- /setup/code/chap8/roles/base/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for base 3 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/apache/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for starter 3 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/base/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for base 3 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/haproxy/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for haproxy 3 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/haproxy/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for haproxy 3 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/starter/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for starter 3 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/starter/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for starter 3 | -------------------------------------------------------------------------------- /virtual/code/chap6/roles/apache/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for starter 3 | -------------------------------------------------------------------------------- /virtual/code/chap7/roles/apache/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for starter 3 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/apache/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for starter 3 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/haproxy/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for haproxy 3 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/starter/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for starter 3 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/haproxy/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for haproxy 3 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/haproxy/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for haproxy 3 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/starter/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for starter 3 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/starter/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for starter 3 | -------------------------------------------------------------------------------- /virtual/code/chap6/roles/base/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for base 3 | -------------------------------------------------------------------------------- /virtual/code/chap6/roles/base/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for base 3 | -------------------------------------------------------------------------------- /virtual/code/chap7/roles/base/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for base 3 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/base/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for base 3 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/haproxy/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for haproxy 3 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/starter/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for starter 3 | -------------------------------------------------------------------------------- /setup/code/chap7/roles/apache/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | dependencies: 3 | - {role: base} 4 | -------------------------------------------------------------------------------- /setup/code/chap8/roles/apache/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | dependencies: 3 | - {role: base} 4 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/apache/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | dependencies: 3 | - {role: base} 4 | -------------------------------------------------------------------------------- /virtual/code/chap6/roles/apache/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | dependencies: 3 | - {role: base} 4 | -------------------------------------------------------------------------------- /virtual/code/chap7/roles/apache/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | dependencies: 3 | - {role: base} 4 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/apache/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | dependencies: 3 | - {role: base} 4 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/haproxy/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for haproxy 3 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/haproxy/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for haproxy 3 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/starter/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for starter 3 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/starter/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for starter 3 | -------------------------------------------------------------------------------- /setup/code/chap8/group_vars/all.yml: -------------------------------------------------------------------------------- 1 | --- 2 | fav: 3 | color: blue 4 | fruit: peach 5 | -------------------------------------------------------------------------------- /virtual/code/chap7/group_vars/all.yml: -------------------------------------------------------------------------------- 1 | --- 2 | fav: 3 | color: blue 4 | fruit: peach 5 | -------------------------------------------------------------------------------- /.highlight_cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/.highlight_cache -------------------------------------------------------------------------------- /images/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/images/cover.jpg -------------------------------------------------------------------------------- /images/cover.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/images/cover.pdf -------------------------------------------------------------------------------- /images/cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/images/cover.png -------------------------------------------------------------------------------- /setup/code/chap3/ansible.cfg: -------------------------------------------------------------------------------- 1 | [defaults] 2 | 3 | remote_user = devops 4 | inventory = myhosts.ini 5 | -------------------------------------------------------------------------------- /setup/code/chap4/ansible.cfg: -------------------------------------------------------------------------------- 1 | [defaults] 2 | 3 | remote_user = devops 4 | inventory = myhosts.ini 5 | -------------------------------------------------------------------------------- /setup/code/chap6/ansible.cfg: -------------------------------------------------------------------------------- 1 | [defaults] 2 | 3 | remote_user = devops 4 | inventory = myhosts.ini 5 | -------------------------------------------------------------------------------- /images/cover-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/images/cover-web.png -------------------------------------------------------------------------------- /virtual/code/chap5/ansible.cfg: -------------------------------------------------------------------------------- 1 | [defaults] 2 | 3 | remote_user = vagrant 4 | inventory = myhosts.ini 5 | -------------------------------------------------------------------------------- /setup/code/chap7/roles/mysql/templates/my.cnf.j2: -------------------------------------------------------------------------------- 1 | [client] 2 | user=root 3 | password={{ mysql_root_db_pass }} 4 | -------------------------------------------------------------------------------- /setup/control/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/setup/control/128.png -------------------------------------------------------------------------------- /images/testimonial_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/images/testimonial_1.png -------------------------------------------------------------------------------- /setup/code/chap8/roles/apache/templates/tmp: -------------------------------------------------------------------------------- 1 | Listen {{ httpd_port }} 2 | ServerName www.{{ansible_hostname}}.com 3 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/apache/templates/tmp: -------------------------------------------------------------------------------- 1 | Listen {{ httpd_port }} 2 | ServerName www.{{ansible_hostname}}.com 3 | -------------------------------------------------------------------------------- /virtual/code/chap6/roles/mysql/templates/my.cnf.j2: -------------------------------------------------------------------------------- 1 | [client] 2 | user=root 3 | password={{ mysql_root_db_pass }} 4 | -------------------------------------------------------------------------------- /virtual/code/chap7/roles/apache/templates/tmp: -------------------------------------------------------------------------------- 1 | Listen {{ httpd_port }} 2 | ServerName www.{{ansible_hostname}}.com 3 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/apache/templates/tmp: -------------------------------------------------------------------------------- 1 | Listen {{ httpd_port }} 2 | ServerName www.{{ansible_hostname}}.com 3 | -------------------------------------------------------------------------------- /chapters/preface.md: -------------------------------------------------------------------------------- 1 | # Preface 2 | 3 | This is an example of "frontmatter", which comes before the main text of the book. -------------------------------------------------------------------------------- /images/ansible/yaml_lint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/images/ansible/yaml_lint.png -------------------------------------------------------------------------------- /setup/code/chap7/roles/apache/tasks/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Installing Apache... 3 | yum: name=httpd state=latest 4 | -------------------------------------------------------------------------------- /setup/code/chap7/roles/base/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - base -------------------------------------------------------------------------------- /setup/code/chap7/roles/mysql/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for mysql 3 | mysql_root_db_pass: p@sswOrd1234 4 | -------------------------------------------------------------------------------- /setup/code/chap7/roles/mysql/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: restart mysql 3 | service: name=mysqld state=restarted 4 | -------------------------------------------------------------------------------- /setup/code/chap7/roles/mysql/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - mysql -------------------------------------------------------------------------------- /setup/code/chap8/roles/apache/tasks/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Installing Apache... 3 | yum: name=httpd state=latest 4 | -------------------------------------------------------------------------------- /setup/code/chap8/roles/base/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - base -------------------------------------------------------------------------------- /setup/code/chap8/roles/mysql/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: restart mysql 3 | service: name=mysqld state=restarted 4 | -------------------------------------------------------------------------------- /setup/code/chap8/roles/mysql/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - mysql -------------------------------------------------------------------------------- /setup/code/chap9/roles/base/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - base -------------------------------------------------------------------------------- /setup/code/chap9/roles/mysql/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: restart mysql 3 | service: name=mysqld state=restarted 4 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/mysql/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - mysql -------------------------------------------------------------------------------- /virtual/code/chap6/roles/base/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - base -------------------------------------------------------------------------------- /virtual/code/chap6/roles/mysql/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for mysql 3 | mysql_root_db_pass: p@sswOrd1234 4 | -------------------------------------------------------------------------------- /virtual/code/chap7/roles/base/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - base -------------------------------------------------------------------------------- /virtual/code/chap8/roles/base/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - base -------------------------------------------------------------------------------- /setup/code/chap7/ansible.cfg: -------------------------------------------------------------------------------- 1 | [defaults] 2 | 3 | remote_user = devops 4 | inventory = myhosts.ini 5 | hash_behaviour=merge 6 | -------------------------------------------------------------------------------- /setup/code/chap7/roles/apache/tasks/start.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Starting Apache... 3 | service: name=httpd state=started 4 | -------------------------------------------------------------------------------- /setup/code/chap7/roles/apache/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - starter -------------------------------------------------------------------------------- /setup/code/chap8/ansible.cfg: -------------------------------------------------------------------------------- 1 | [defaults] 2 | 3 | remote_user = devops 4 | inventory = myhosts.ini 5 | hash_behaviour=merge 6 | -------------------------------------------------------------------------------- /setup/code/chap8/roles/apache/tasks/start.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Starting Apache... 3 | service: name=httpd state=started 4 | -------------------------------------------------------------------------------- /setup/code/chap8/roles/apache/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - starter -------------------------------------------------------------------------------- /setup/code/chap9/ansible.cfg: -------------------------------------------------------------------------------- 1 | [defaults] 2 | 3 | remote_user = devops 4 | inventory = myhosts.ini 5 | hash_behaviour=merge 6 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/apache/tasks/start.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Starting Apache... 3 | service: name=httpd state=started 4 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/apache/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - starter -------------------------------------------------------------------------------- /setup/code/chap9/roles/haproxy/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - haproxy -------------------------------------------------------------------------------- /setup/code/chap9/roles/starter/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - starter -------------------------------------------------------------------------------- /virtual/code/chap6/roles/apache/tasks/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Installing Apache... 3 | yum: name=httpd state=latest 4 | -------------------------------------------------------------------------------- /virtual/code/chap6/roles/apache/tasks/start.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Starting Apache... 3 | service: name=httpd state=started 4 | -------------------------------------------------------------------------------- /virtual/code/chap6/roles/apache/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - starter -------------------------------------------------------------------------------- /virtual/code/chap6/roles/mysql/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: restart mysql 3 | service: name=mysqld state=restarted 4 | -------------------------------------------------------------------------------- /virtual/code/chap6/roles/mysql/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - mysql -------------------------------------------------------------------------------- /virtual/code/chap7/roles/apache/tasks/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Installing Apache... 3 | yum: name=httpd state=latest 4 | -------------------------------------------------------------------------------- /virtual/code/chap7/roles/apache/tasks/start.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Starting Apache... 3 | service: name=httpd state=started 4 | -------------------------------------------------------------------------------- /virtual/code/chap7/roles/apache/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - starter -------------------------------------------------------------------------------- /virtual/code/chap7/roles/mysql/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: restart mysql 3 | service: name=mysqld state=restarted 4 | -------------------------------------------------------------------------------- /virtual/code/chap7/roles/mysql/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - mysql -------------------------------------------------------------------------------- /virtual/code/chap8/roles/apache/tasks/start.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Starting Apache... 3 | service: name=httpd state=started 4 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/apache/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - starter -------------------------------------------------------------------------------- /virtual/code/chap8/roles/haproxy/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - haproxy -------------------------------------------------------------------------------- /virtual/code/chap8/roles/mysql/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: restart mysql 3 | service: name=mysqld state=restarted 4 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/mysql/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - mysql -------------------------------------------------------------------------------- /virtual/code/chap8/roles/starter/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - starter -------------------------------------------------------------------------------- /html/MathJax/images/CloseX-31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/html/MathJax/images/CloseX-31.png -------------------------------------------------------------------------------- /setup/code/chap7/roles/apache/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Restart apache service 3 | service: name=httpd state=restarted 4 | -------------------------------------------------------------------------------- /setup/code/chap7/roles/apache/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - include: install.yml 3 | - include: start.yml 4 | - include: config.yml 5 | -------------------------------------------------------------------------------- /setup/code/chap7/roles/mysql/tasks/start.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Install mysql servers 3 | service: name=mysqld state=started 4 | -------------------------------------------------------------------------------- /setup/code/chap8/roles/apache/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Restart apache service 3 | service: name=httpd state=restarted 4 | -------------------------------------------------------------------------------- /setup/code/chap8/roles/apache/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - include: install.yml 3 | - include: start.yml 4 | - include: config.yml 5 | -------------------------------------------------------------------------------- /setup/code/chap8/roles/mysql/tasks/start.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Install mysql servers 3 | service: name=mysqld state=started 4 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/apache/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Restart apache service 3 | service: name=httpd state=restarted 4 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/apache/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - include: install.yml 3 | - include: start.yml 4 | - include: config.yml 5 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/mysql/tasks/start.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Install mysql servers 3 | service: name=mysqld state=started 4 | -------------------------------------------------------------------------------- /virtual/code/chap6/ansible.cfg: -------------------------------------------------------------------------------- 1 | [defaults] 2 | 3 | remote_user = vagrant 4 | inventory = myhosts.ini 5 | hash_behaviour=merge 6 | -------------------------------------------------------------------------------- /virtual/code/chap6/roles/apache/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - include: install.yml 3 | - include: start.yml 4 | - include: config.yml 5 | -------------------------------------------------------------------------------- /virtual/code/chap6/roles/mysql/tasks/start.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Install mysql servers 3 | service: name=mysqld state=started 4 | -------------------------------------------------------------------------------- /virtual/code/chap7/ansible.cfg: -------------------------------------------------------------------------------- 1 | [defaults] 2 | 3 | remote_user = vagrant 4 | inventory = myhosts.ini 5 | hash_behaviour=merge 6 | -------------------------------------------------------------------------------- /virtual/code/chap7/roles/apache/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - include: install.yml 3 | - include: start.yml 4 | - include: config.yml 5 | -------------------------------------------------------------------------------- /virtual/code/chap7/roles/mysql/tasks/start.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Install mysql servers 3 | service: name=mysqld state=started 4 | -------------------------------------------------------------------------------- /virtual/code/chap8/ansible.cfg: -------------------------------------------------------------------------------- 1 | [defaults] 2 | 3 | remote_user = vagrant 4 | inventory = myhosts.ini 5 | hash_behaviour=merge 6 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/apache/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - include: install.yml 3 | - include: start.yml 4 | - include: config.yml 5 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/mysql/tasks/start.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Install mysql servers 3 | service: name=mysqld state=started 4 | -------------------------------------------------------------------------------- /setup/code/chap5/ansible.cfg: -------------------------------------------------------------------------------- 1 | [defaults] 2 | 3 | remote_user = devops 4 | inventory = myhosts.ini 5 | retry_files_save_path = /tmp 6 | -------------------------------------------------------------------------------- /setup/control/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | /etc/init.d/ssh start 4 | /usr/bin/codebox run -u $CODEBOX_USERNAME:$CODEBOX_PASSWORD 5 | -------------------------------------------------------------------------------- /virtual/code/chap6/roles/apache/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Restart apache service 3 | service: name=httpd state=restarted 4 | -------------------------------------------------------------------------------- /virtual/code/chap7/roles/apache/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Restart apache service 3 | service: name=httpd state=restarted 4 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/apache/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Restart apache service 3 | service: name=httpd state=restarted 4 | -------------------------------------------------------------------------------- /generated_polytex/preface.tex: -------------------------------------------------------------------------------- 1 | \chapter{Preface} 2 | 3 | This is an example of ``frontmatter'', which comes before the main text of the book. -------------------------------------------------------------------------------- /html/MathJax/images/MenuArrow-15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/html/MathJax/images/MenuArrow-15.png -------------------------------------------------------------------------------- /images/figures/2011_michael_hartl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/images/figures/2011_michael_hartl.png -------------------------------------------------------------------------------- /setup/code/chap7/db.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Playbook to configure DB Servers 3 | hosts: db 4 | become: true 5 | roles: 6 | - mysql 7 | -------------------------------------------------------------------------------- /setup/code/chap7/site.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This is a sitewide playbook 3 | # filename: site.yml 4 | - include: db.yml 5 | - include: app.yml 6 | -------------------------------------------------------------------------------- /setup/code/chap8/site.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This is a sitewide playbook 3 | # filename: site.yml 4 | - include: db.yml 5 | - include: app.yml 6 | -------------------------------------------------------------------------------- /setup/code/chap9/site.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This is a sitewide playbook 3 | # filename: site.yml 4 | - include: db.yml 5 | - include: app.yml 6 | -------------------------------------------------------------------------------- /virtual/code/chap4/ansible.cfg: -------------------------------------------------------------------------------- 1 | [defaults] 2 | 3 | remote_user = vagrant 4 | inventory = myhosts.ini 5 | retry_files_save_path = /tmp 6 | 7 | -------------------------------------------------------------------------------- /virtual/code/chap6/site.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This is a sitewide playbook 3 | # filename: site.yml 4 | - include: db.yml 5 | - include: app.yml 6 | -------------------------------------------------------------------------------- /virtual/code/chap7/site.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This is a sitewide playbook 3 | # filename: site.yml 4 | - include: db.yml 5 | - include: app.yml 6 | -------------------------------------------------------------------------------- /virtual/code/chap8/site.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This is a sitewide playbook 3 | # filename: site.yml 4 | - include: db.yml 5 | - include: app.yml 6 | -------------------------------------------------------------------------------- /git.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | git diff 3 | git add . 4 | read -p 'Enter commit message: ' message 5 | git commit -m "$message" 6 | git push origin master 7 | -------------------------------------------------------------------------------- /setup/code/chap7/app.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Playbook to configure App Servers 3 | hosts: app 4 | become: true 5 | roles: 6 | - apache 7 | -------------------------------------------------------------------------------- /virtual/code/chap6/db.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Playbook to configure DB Servers 3 | hosts: db 4 | become: true 5 | roles: 6 | - mysql 7 | -------------------------------------------------------------------------------- /images/figures/01_michael_hartl_headshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/images/figures/01_michael_hartl_headshot.jpg -------------------------------------------------------------------------------- /setup/code/chap7/roles/mysql/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for apache 3 | - include: install.yml 4 | - include: start.yml 5 | - include: config.yml 6 | -------------------------------------------------------------------------------- /virtual/code/chap6/roles/mysql/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for apache 3 | - include: install.yml 4 | - include: start.yml 5 | - include: config.yml 6 | -------------------------------------------------------------------------------- /setup/code/chap8/roles/mysql/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for apache 3 | - include: install.yml 4 | 5 | - include: start.yml 6 | 7 | - include: config.yml 8 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/apache/tasks/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Installing Apache... 3 | yum: name=httpd state=latest 4 | when: ansible_os_family == 'RedHat' 5 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/apache/tasks/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Installing Apache... 3 | yum: name=httpd state=latest 4 | when: ansible_os_family == 'RedHat' 5 | -------------------------------------------------------------------------------- /virtual/code/chap7/roles/mysql/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for apache 3 | - include: install.yml 4 | 5 | - include: start.yml 6 | 7 | - include: config.yml 8 | -------------------------------------------------------------------------------- /html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Main-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Main-Bold.woff -------------------------------------------------------------------------------- /html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_AMS-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_AMS-Regular.woff -------------------------------------------------------------------------------- /html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Fraktur-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Fraktur-Bold.woff -------------------------------------------------------------------------------- /html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Main-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Main-Italic.woff -------------------------------------------------------------------------------- /html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Main-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Main-Regular.woff -------------------------------------------------------------------------------- /html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Math-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Math-Italic.woff -------------------------------------------------------------------------------- /html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Math-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Math-Regular.woff -------------------------------------------------------------------------------- /html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Size1-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Size1-Regular.woff -------------------------------------------------------------------------------- /html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Size2-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Size2-Regular.woff -------------------------------------------------------------------------------- /html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Size3-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Size3-Regular.woff -------------------------------------------------------------------------------- /html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Size4-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Size4-Regular.woff -------------------------------------------------------------------------------- /html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Fraktur-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Fraktur-Regular.woff -------------------------------------------------------------------------------- /html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Math-BoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Math-BoldItalic.woff -------------------------------------------------------------------------------- /html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Bold.woff -------------------------------------------------------------------------------- /html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Script-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Script-Regular.woff -------------------------------------------------------------------------------- /setup/code/chap7/roles/mysql/templates/mysql_reset_pass.sql: -------------------------------------------------------------------------------- 1 | ALTER USER 'root'@'localhost' IDENTIFIED BY "{{ mysql_root_db_pass }}"; 2 | uninstall plugin validate_password; 3 | FLUSH PRIVILEGES; 4 | -------------------------------------------------------------------------------- /setup/code/chap8/roles/mysql/templates/mysql_reset_pass.sql: -------------------------------------------------------------------------------- 1 | ALTER USER 'root'@'localhost' IDENTIFIED BY "{{ mysql_root_db_pass }}"; 2 | uninstall plugin validate_password; 3 | FLUSH PRIVILEGES; 4 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/base/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # packages list 3 | demolist: 4 | packages: 5 | - atk 6 | - flac 7 | - eggdbus 8 | - pixman 9 | - polkit 10 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/mysql/templates/mysql_reset_pass.sql: -------------------------------------------------------------------------------- 1 | ALTER USER 'root'@'localhost' IDENTIFIED BY "{{ mysql_root_db_pass }}"; 2 | uninstall plugin validate_password; 3 | FLUSH PRIVILEGES; 4 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/base/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # packages list 3 | demolist: 4 | packages: 5 | - atk 6 | - flac 7 | - eggdbus 8 | - pixman 9 | - polkit 10 | -------------------------------------------------------------------------------- /html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Caligraphic-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Caligraphic-Bold.woff -------------------------------------------------------------------------------- /html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Italic.woff -------------------------------------------------------------------------------- /html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Regular.woff -------------------------------------------------------------------------------- /html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Typewriter-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Typewriter-Regular.woff -------------------------------------------------------------------------------- /virtual/code/chap6/roles/mysql/templates/mysql_reset_pass.sql: -------------------------------------------------------------------------------- 1 | ALTER USER 'root'@'localhost' IDENTIFIED BY "{{ mysql_root_db_pass }}"; 2 | uninstall plugin validate_password; 3 | FLUSH PRIVILEGES; 4 | -------------------------------------------------------------------------------- /virtual/code/chap7/roles/mysql/templates/mysql_reset_pass.sql: -------------------------------------------------------------------------------- 1 | ALTER USER 'root'@'localhost' IDENTIFIED BY "{{ mysql_root_db_pass }}"; 2 | uninstall plugin validate_password; 3 | FLUSH PRIVILEGES; 4 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/mysql/templates/mysql_reset_pass.sql: -------------------------------------------------------------------------------- 1 | ALTER USER 'root'@'localhost' IDENTIFIED BY "{{ mysql_root_db_pass }}"; 2 | uninstall plugin validate_password; 3 | FLUSH PRIVILEGES; 4 | -------------------------------------------------------------------------------- /html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Caligraphic-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schoolofdevops/ansible-tutorial/HEAD/html/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Caligraphic-Regular.woff -------------------------------------------------------------------------------- /virtual/code/chap4/myhosts.ini: -------------------------------------------------------------------------------- 1 | [local] 2 | localhost ansible_connection=local 3 | 4 | [app] 5 | 192.168.61.12 6 | 192.168.61.13 7 | 8 | [db] 9 | 192.168.61.11 10 | 11 | [lb] 12 | 192.168.61.14 13 | -------------------------------------------------------------------------------- /virtual/code/chap5/myhosts.ini: -------------------------------------------------------------------------------- 1 | [local] 2 | localhost ansible_connection=local 3 | 4 | [app] 5 | 192.168.61.12 6 | 192.168.61.13 7 | 8 | [db] 9 | 192.168.61.11 10 | 11 | [lb] 12 | 192.168.61.14 13 | -------------------------------------------------------------------------------- /virtual/code/chap6/myhosts.ini: -------------------------------------------------------------------------------- 1 | [local] 2 | localhost ansible_connection=local 3 | 4 | [app] 5 | 192.168.61.12 6 | 192.168.61.13 7 | 8 | [db] 9 | 192.168.61.11 10 | 11 | [lb] 12 | 192.168.61.14 13 | -------------------------------------------------------------------------------- /virtual/code/chap7/myhosts.ini: -------------------------------------------------------------------------------- 1 | [local] 2 | localhost ansible_connection=local 3 | 4 | [app] 5 | 192.168.61.12 6 | 192.168.61.13 7 | 8 | [db] 9 | 192.168.61.11 10 | 11 | [lb] 12 | 192.168.61.14 13 | -------------------------------------------------------------------------------- /virtual/code/chap8/myhosts.ini: -------------------------------------------------------------------------------- 1 | [local] 2 | localhost ansible_connection=local 3 | 4 | [app] 5 | 192.168.61.12 6 | 192.168.61.13 7 | 8 | [db] 9 | 192.168.61.11 10 | 11 | [lb] 12 | 192.168.61.14 13 | -------------------------------------------------------------------------------- /Book.txt: -------------------------------------------------------------------------------- 1 | cover 2 | frontmatter: 3 | maketitle 4 | tableofcontents 5 | preface.md 6 | mainmatter: 7 | ad-hoc.md 8 | modules.md 9 | playbooks.md 10 | templates_and_variables.md 11 | control_structures.md 12 | -------------------------------------------------------------------------------- /setup/code/chap8/app.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Playbook to configure App Servers 3 | hosts: app 4 | become: true 5 | vars: 6 | fav: 7 | fruit: mango 8 | roles: 9 | - apache 10 | -------------------------------------------------------------------------------- /virtual/code/chap6/app.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Playbook to configure App Servers 3 | hosts: app 4 | become: true 5 | vars: 6 | fav: 7 | fruit: mango 8 | roles: 9 | - apache 10 | -------------------------------------------------------------------------------- /virtual/code/chap7/app.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Playbook to configure App Servers 3 | hosts: app 4 | become: true 5 | vars: 6 | fav: 7 | fruit: mango 8 | roles: 9 | - apache 10 | -------------------------------------------------------------------------------- /setup/code/chap6/helper/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Ansible Training 5 | 6 | 7 | 8 | 9 | Welcome to Ansible training! 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /setup/code/chap8/helper/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Ansible Training 5 | 6 | 7 | 8 | 9 | Welcome to Ansible training! 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /setup/code/chap9/helper/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Ansible Training 5 | 6 | 7 | 8 | 9 | Welcome to Ansible training! 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /virtual/code/chap5/helper/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Ansible Training 5 | 6 | 7 | 8 | 9 | Welcome to Ansible training! 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /virtual/code/chap7/helper/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Ansible Training 5 | 6 | 7 | 8 | 9 | Welcome to Ansible training! 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /virtual/code/chap8/helper/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Ansible Training 5 | 6 | 7 | 8 | 9 | Welcome to Ansible training! 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /setup/code/chap3/myhosts.ini: -------------------------------------------------------------------------------- 1 | [local] 2 | localhost ansible_connection=local 3 | 4 | [lb] 5 | lb 6 | 7 | [app] 8 | app1 9 | app2 10 | 11 | 12 | [db] 13 | db 14 | 15 | [prod:children] 16 | lb 17 | app 18 | db 19 | -------------------------------------------------------------------------------- /setup/code/chap4/myhosts.ini: -------------------------------------------------------------------------------- 1 | [local] 2 | localhost ansible_connection=local 3 | 4 | [lb] 5 | lb 6 | 7 | [app] 8 | app1 9 | app2 10 | 11 | 12 | [db] 13 | db 14 | 15 | [prod:children] 16 | lb 17 | app 18 | db 19 | -------------------------------------------------------------------------------- /setup/code/chap7/roles/mysql/files/fetch_defaultpass.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | DEFAULT_PASS=$(grep "temporary password" /var/log/mysqld.log | cut -d "@" -f2 | cut -d ":" -f2 | sed -e 's/^[[:space:]]*//') 3 | echo $DEFAULT_PASS 4 | -------------------------------------------------------------------------------- /setup/code/chap7/roles/mysql/tasks/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Install mysql servers 3 | yum: name=mysql-server state=installed 4 | 5 | - name: Install mysql servers 6 | yum: name=MySQL-python state=installed 7 | -------------------------------------------------------------------------------- /setup/code/chap8/roles/apache/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | apache_port: 80 3 | custom_root: /var/www/html 4 | apache_index: index.html 5 | fav: 6 | color: white 7 | car: fiat 8 | laptop: dell 9 | fruit: apple 10 | -------------------------------------------------------------------------------- /setup/code/chap8/roles/mysql/files/fetch_defaultpass.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | DEFAULT_PASS=$(grep "temporary password" /var/log/mysqld.log | cut -d "@" -f2 | cut -d ":" -f2 | sed -e 's/^[[:space:]]*//') 3 | echo $DEFAULT_PASS 4 | -------------------------------------------------------------------------------- /setup/code/chap8/roles/mysql/tasks/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Install mysql servers 3 | yum: name=mysql-server state=installed 4 | 5 | - name: Install mysql servers 6 | yum: name=MySQL-python state=installed 7 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/apache/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | apache_port: 80 3 | custom_root: /var/www/html 4 | apache_index: index.html 5 | fav: 6 | color: white 7 | car: fiat 8 | laptop: dell 9 | fruit: apple 10 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/mysql/files/fetch_defaultpass.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | DEFAULT_PASS=$(grep "temporary password" /var/log/mysqld.log | cut -d "@" -f2 | cut -d ":" -f2 | sed -e 's/^[[:space:]]*//') 3 | echo $DEFAULT_PASS 4 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/mysql/tasks/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Install mysql servers 3 | yum: name=mysql-server state=installed 4 | 5 | - name: Install mysql servers 6 | yum: name=MySQL-python state=installed 7 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/mysql/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for mysql 3 | - include: install.yml 4 | 5 | - include: start.yml 6 | when: mysql.server 7 | 8 | - include: config.yml 9 | when: mysql.server 10 | -------------------------------------------------------------------------------- /virtual/code/chap6/roles/mysql/files/fetch_defaultpass.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | DEFAULT_PASS=$(grep "temporary password" /var/log/mysqld.log | cut -d "@" -f2 | cut -d ":" -f2 | sed -e 's/^[[:space:]]*//') 3 | echo $DEFAULT_PASS 4 | -------------------------------------------------------------------------------- /virtual/code/chap6/roles/mysql/tasks/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Install mysql servers 3 | yum: name=mysql-server state=installed 4 | 5 | - name: Install mysql servers 6 | yum: name=MySQL-python state=installed 7 | -------------------------------------------------------------------------------- /virtual/code/chap7/roles/mysql/files/fetch_defaultpass.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | DEFAULT_PASS=$(grep "temporary password" /var/log/mysqld.log | cut -d "@" -f2 | cut -d ":" -f2 | sed -e 's/^[[:space:]]*//') 3 | echo $DEFAULT_PASS 4 | -------------------------------------------------------------------------------- /virtual/code/chap7/roles/mysql/tasks/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Install mysql servers 3 | yum: name=mysql-server state=installed 4 | 5 | - name: Install mysql servers 6 | yum: name=MySQL-python state=installed 7 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/mysql/files/fetch_defaultpass.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | DEFAULT_PASS=$(grep "temporary password" /var/log/mysqld.log | cut -d "@" -f2 | cut -d ":" -f2 | sed -e 's/^[[:space:]]*//') 3 | echo $DEFAULT_PASS 4 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/mysql/tasks/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Install mysql servers 3 | yum: name=mysql-server state=installed 4 | 5 | - name: Install mysql servers 6 | yum: name=MySQL-python state=installed 7 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/mysql/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for mysql 3 | - include: install.yml 4 | 5 | - include: start.yml 6 | when: mysql.server 7 | 8 | - include: config.yml 9 | when: mysql.server 10 | -------------------------------------------------------------------------------- /setup/code/chap5/myhosts.ini: -------------------------------------------------------------------------------- 1 | [local] 2 | localhost ansible_connection=local 3 | 4 | [lb] 5 | lb 6 | 7 | [app] 8 | app1 9 | app2 10 | 11 | 12 | [db] 13 | db 14 | 15 | [prod:children] 16 | lb 17 | app 18 | db 19 | 20 | -------------------------------------------------------------------------------- /setup/code/chap6/myhosts.ini: -------------------------------------------------------------------------------- 1 | [local] 2 | localhost ansible_connection=local 3 | 4 | [lb] 5 | lb 6 | 7 | [app] 8 | app1 9 | app2 10 | 11 | 12 | [db] 13 | db 14 | 15 | [prod:children] 16 | lb 17 | app 18 | db 19 | 20 | -------------------------------------------------------------------------------- /setup/code/chap7/roles/apache/files/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Ansible Training 5 | 6 | 7 | 8 | 9 | Welcome to Ansible training! 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /setup/code/chap8/myhosts.ini: -------------------------------------------------------------------------------- 1 | [local] 2 | localhost ansible_connection=local 3 | 4 | [lb] 5 | lb 6 | 7 | [app] 8 | app1 9 | app2 10 | 11 | 12 | [db] 13 | db 14 | 15 | [prod:children] 16 | lb 17 | app 18 | db 19 | 20 | -------------------------------------------------------------------------------- /setup/code/chap8/roles/apache/files/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Ansible Training 5 | 6 | 7 | 8 | 9 | Welcome to Ansible training! 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /setup/code/chap9/myhosts.ini: -------------------------------------------------------------------------------- 1 | [local] 2 | localhost ansible_connection=local 3 | 4 | [lb] 5 | lb 6 | 7 | [app] 8 | app1 9 | app2 10 | 11 | 12 | [db] 13 | db 14 | 15 | [prod:children] 16 | lb 17 | app 18 | db 19 | 20 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/apache/files/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Ansible Training 5 | 6 | 7 | 8 | 9 | Welcome to Ansible training! 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /virtual/code/chap6/roles/apache/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | apache_port: 80 3 | custom_root: /var/www/html 4 | apache_index: index.html 5 | fav: 6 | color: white 7 | car: fiat 8 | laptop: dell 9 | fruit: apple 10 | -------------------------------------------------------------------------------- /virtual/code/chap6/roles/apache/files/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Ansible Training 5 | 6 | 7 | 8 | 9 | Welcome to Ansible training! 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /virtual/code/chap7/roles/apache/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | apache_port: 80 3 | custom_root: /var/www/html 4 | apache_index: index.html 5 | fav: 6 | color: white 7 | car: fiat 8 | laptop: dell 9 | fruit: apple 10 | -------------------------------------------------------------------------------- /virtual/code/chap7/roles/apache/files/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Ansible Training 5 | 6 | 7 | 8 | 9 | Welcome to Ansible training! 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/apache/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | apache_port: 80 3 | custom_root: /var/www/html 4 | apache_index: index.html 5 | fav: 6 | color: white 7 | car: fiat 8 | laptop: dell 9 | fruit: apple 10 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/apache/files/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Ansible Training 5 | 6 | 7 | 8 | 9 | Welcome to Ansible training! 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /chapters/ansible-tower.md: -------------------------------------------------------------------------------- 1 | 2 | * Commercial Version of Ansible 3 | * Self Hosted (trial version) Standard and Premium 4 | * USD 10,000 for 100 nodes 5 | * UI to manage Ansible Infrastructure 6 | * Reporting, Logs 7 | * RBAC, 8 | -------------------------------------------------------------------------------- /manuscript/ansible-tower.md: -------------------------------------------------------------------------------- 1 | 2 | * Commercial Version of Ansible 3 | * Self Hosted (trial version) Standard and Premium 4 | * USD 10,000 for 100 nodes 5 | * UI to manage Ansible Infrastructure 6 | * Reporting, Logs 7 | * RBAC, 8 | -------------------------------------------------------------------------------- /setup/code/chap7/myhosts.ini: -------------------------------------------------------------------------------- 1 | [local] 2 | localhost ansible_connection=local 3 | 4 | [lb] 5 | node1 6 | 7 | [app] 8 | node1 9 | node2 10 | 11 | 12 | [db] 13 | node3 14 | 15 | [prod:children] 16 | lb 17 | app 18 | db 19 | 20 | -------------------------------------------------------------------------------- /latex_styles/polytexnic_commands.sty: -------------------------------------------------------------------------------- 1 | % Don't edit this file; it is overwritten every time the PDF gets built. 2 | 3 | % Add some custom commands needed by PolyTeXnic. 4 | \newcommand{\PolyTeX}{Poly\-\TeX} 5 | \newcommand{\PolyTeXnic}{Poly\-{\TeX}\-nic} 6 | -------------------------------------------------------------------------------- /setup/code/chap9/app.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Playbook to configure App Servers 3 | hosts: app 4 | become: true 5 | vars: 6 | fav: 7 | fruit: mango 8 | roles: 9 | - { role: apache, when: ansible_os_family == 'RedHat' } 10 | -------------------------------------------------------------------------------- /virtual/code/chap8/app.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Playbook to configure App Servers 3 | hosts: app 4 | become: true 5 | vars: 6 | fav: 7 | fruit: mango 8 | roles: 9 | - { role: apache, when: ansible_os_family == 'RedHat' } 10 | -------------------------------------------------------------------------------- /setup/code/chap8/db.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Playbook to configure DB Servers 3 | hosts: db 4 | become: true 5 | roles: 6 | - mysql 7 | vars: 8 | mysql: 9 | server: true 10 | config: 11 | bind: "{{ ansible_eth1.ipv4.address }}" 12 | -------------------------------------------------------------------------------- /setup/code/chap9/db.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Playbook to configure DB Servers 3 | hosts: db 4 | become: true 5 | roles: 6 | - mysql 7 | vars: 8 | mysql: 9 | server: true 10 | config: 11 | bind: "{{ ansible_eth1.ipv4.address }}" 12 | -------------------------------------------------------------------------------- /virtual/code/chap7/db.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Playbook to configure DB Servers 3 | hosts: db 4 | become: true 5 | roles: 6 | - mysql 7 | vars: 8 | mysql: 9 | server: true 10 | config: 11 | bind: "{{ ansible_eth1.ipv4.address }}" 12 | -------------------------------------------------------------------------------- /virtual/code/chap8/db.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Playbook to configure DB Servers 3 | hosts: db 4 | become: true 5 | roles: 6 | - mysql 7 | vars: 8 | mysql: 9 | server: true 10 | config: 11 | bind: "{{ ansible_eth1.ipv4.address }}" 12 | -------------------------------------------------------------------------------- /setup/code/chap8/roles/mysql/templates/my.cnf.j2: -------------------------------------------------------------------------------- 1 | [mysqld] 2 | datadir={{ mysql['config']['datadir'] }} 3 | socket={{ mysql['config']['socket'] }} 4 | symbolic-links=0 5 | log-error=/var/log/mysqld.log 6 | pid-file={{ mysql['config']['pid']}} 7 | 8 | [client] 9 | user=root 10 | password={{ mysql_root_db_pass }} 11 | -------------------------------------------------------------------------------- /virtual/code/chap7/roles/mysql/templates/my.cnf.j2: -------------------------------------------------------------------------------- 1 | [mysqld] 2 | datadir={{ mysql['config']['datadir'] }} 3 | socket={{ mysql['config']['socket'] }} 4 | symbolic-links=0 5 | log-error=/var/log/mysqld.log 6 | pid-file={{ mysql['config']['pid']}} 7 | 8 | [client] 9 | user=root 10 | password={{ mysql_root_db_pass }} 11 | -------------------------------------------------------------------------------- /config/lang.yml: -------------------------------------------------------------------------------- 1 | --- 2 | chapter: 3 | word: Chapter 4 | order: standard # Use 'reverse' to change 'Chapter 1' to '1 Chapter' 5 | section: Section 6 | table: Table 7 | figure: Figure 8 | fig: Fig 9 | aside: Box 10 | listing: Listing 11 | equation: Equation 12 | eq: Eq 13 | frontmatter: Frontmatter 14 | contents: Contents -------------------------------------------------------------------------------- /setup/code/chap8/register.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: register variable example 3 | hosts: local 4 | tasks: 5 | - name: run a shell command and rerister result 6 | shell: "/sbin/ifconfig eth1" 7 | register: result 8 | 9 | - name: print registered variable 10 | debug: var=result 11 | ... 12 | -------------------------------------------------------------------------------- /setup/code/chap9/register.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: register variable example 3 | hosts: local 4 | tasks: 5 | - name: run a shell command and rerister result 6 | shell: "/sbin/ifconfig eth1" 7 | register: result 8 | 9 | - name: print registered variable 10 | debug: var=result 11 | ... 12 | -------------------------------------------------------------------------------- /virtual/code/chap7/register.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: register variable example 3 | hosts: local 4 | tasks: 5 | - name: run a shell command and rerister result 6 | shell: "/sbin/ifconfig eth1" 7 | register: result 8 | 9 | - name: print registered variable 10 | debug: var=result 11 | ... 12 | -------------------------------------------------------------------------------- /virtual/code/chap8/register.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: register variable example 3 | hosts: local 4 | tasks: 5 | - name: run a shell command and rerister result 6 | shell: "/sbin/ifconfig eth1" 7 | register: result 8 | 9 | - name: print registered variable 10 | debug: var=result 11 | ... 12 | -------------------------------------------------------------------------------- /html/stylesheets/custom.css: -------------------------------------------------------------------------------- 1 | /* Place custom styles here, scoped by the CSS id '#book' */ 2 | /* To sync up PDF styles, edit custom.sty */ 3 | /* Google for "LaTeX style files" to learn how to use custom.sty */ 4 | 5 | /* 6 | 7 | body #book { 8 | background: green; 9 | } 10 | 11 | #book p { 12 | color: purple; 13 | } 14 | 15 | */ -------------------------------------------------------------------------------- /setup/code/chap7/roles/apache/tasks/config.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Copying configuration files... 3 | copy: src=httpd.conf 4 | dest=/etc/httpd.conf 5 | owner=root group=root mode=0644 6 | notify: Restart apache service 7 | 8 | 9 | - name: Copying index.html file... 10 | copy: src=index.html 11 | dest=/var/www/html/index.html 12 | mode=0777 13 | -------------------------------------------------------------------------------- /config/book.yml: -------------------------------------------------------------------------------- 1 | --- 2 | slug: ansible_tutorial 3 | filename: ansible_tutorial 4 | title: Ansible Tutorial 5 | subtitle: Learn Ansible Step by Step 6 | description: This book is a tutorial to learn automating with Ansible. 7 | author: Gourav Shah 8 | copyright: 2016 9 | uuid: bb24958f-f821-4f96-8f6d-d650d032d2f8 10 | pdf_preview_page_range: 1..30 11 | epub_mobi_preview_chapter_range: 0..1 12 | -------------------------------------------------------------------------------- /setup/README.md: -------------------------------------------------------------------------------- 1 | # ansible-setup-docker 2 | Docker compose for running Codebox Web IDE and ansible. 3 | 4 | 5 | Create a Mount directory in docker host for Workspace 6 | 7 | - /mnt/codebox 8 | 9 | Run the Docker Compose 10 | 11 | - docker-compose up -d 12 | 13 | Access Credentials 14 | 15 | - http://ip 16 | 17 | - username: admin 18 | - password: standard_ic_pass 19 | -------------------------------------------------------------------------------- /setup/code/chap7/playbook.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Application server installtion 3 | hosts: app 4 | become: true 5 | roles: 6 | - apache 7 | 8 | - name: Database installation 9 | hosts: db 10 | become: true 11 | roles: 12 | - mysql 13 | 14 | - name: Loadbalancer installation 15 | hosts: lb 16 | become: true 17 | roles: 18 | - nginxlb 19 | -------------------------------------------------------------------------------- /setup/code/chap8/playbook.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Application server installtion 3 | hosts: app 4 | become: true 5 | roles: 6 | - apache 7 | 8 | - name: Database installation 9 | hosts: db 10 | become: true 11 | roles: 12 | - mysql 13 | 14 | - name: Loadbalancer installation 15 | hosts: lb 16 | become: true 17 | roles: 18 | - nginxlb 19 | -------------------------------------------------------------------------------- /setup/code/chap9/playbook.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Application server installtion 3 | hosts: app 4 | become: true 5 | roles: 6 | - apache 7 | 8 | - name: Database installation 9 | hosts: db 10 | become: true 11 | roles: 12 | - mysql 13 | 14 | - name: Loadbalancer installation 15 | hosts: lb 16 | become: true 17 | roles: 18 | - nginxlb 19 | -------------------------------------------------------------------------------- /setup/code/chap8/roles/apache/tasks/config.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Creating configuration from templates... 3 | template: src=httpd.conf.j2 4 | dest=/etc/httpd.conf 5 | owner=root group=root mode=0644 6 | notify: Restart apache service 7 | - name: Copying index.html file... 8 | template: src=index.html.j2 9 | dest=/var/www/html/index.html 10 | mode=0777 11 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/apache/tasks/config.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Creating configuration from templates... 3 | template: src=httpd.conf.j2 4 | dest=/etc/httpd.conf 5 | owner=root group=root mode=0644 6 | notify: Restart apache service 7 | - name: Copying index.html file... 8 | template: src=index.html.j2 9 | dest=/var/www/html/index.html 10 | mode=0777 11 | -------------------------------------------------------------------------------- /virtual/code/chap6/playbook.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Application server installtion 3 | hosts: app 4 | become: true 5 | roles: 6 | - apache 7 | 8 | - name: Database installation 9 | hosts: db 10 | become: true 11 | roles: 12 | - mysql 13 | 14 | - name: Loadbalancer installation 15 | hosts: lb 16 | become: true 17 | roles: 18 | - nginxlb 19 | -------------------------------------------------------------------------------- /virtual/code/chap6/roles/apache/tasks/config.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Creating configuration from templates... 3 | template: src=httpd.conf.j2 4 | dest=/etc/httpd.conf 5 | owner=root group=root mode=0644 6 | notify: Restart apache service 7 | - name: Copying index.html file... 8 | template: src=index.html.j2 9 | dest=/var/www/html/index.html 10 | mode=0777 11 | -------------------------------------------------------------------------------- /virtual/code/chap7/playbook.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Application server installtion 3 | hosts: app 4 | become: true 5 | roles: 6 | - apache 7 | 8 | - name: Database installation 9 | hosts: db 10 | become: true 11 | roles: 12 | - mysql 13 | 14 | - name: Loadbalancer installation 15 | hosts: lb 16 | become: true 17 | roles: 18 | - nginxlb 19 | -------------------------------------------------------------------------------- /virtual/code/chap7/roles/apache/tasks/config.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Creating configuration from templates... 3 | template: src=httpd.conf.j2 4 | dest=/etc/httpd.conf 5 | owner=root group=root mode=0644 6 | notify: Restart apache service 7 | - name: Copying index.html file... 8 | template: src=index.html.j2 9 | dest=/var/www/html/index.html 10 | mode=0777 11 | -------------------------------------------------------------------------------- /virtual/code/chap8/playbook.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Application server installtion 3 | hosts: app 4 | become: true 5 | roles: 6 | - apache 7 | 8 | - name: Database installation 9 | hosts: db 10 | become: true 11 | roles: 12 | - mysql 13 | 14 | - name: Loadbalancer installation 15 | hosts: lb 16 | become: true 17 | roles: 18 | - nginxlb 19 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/apache/tasks/config.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Creating configuration from templates... 3 | template: src=httpd.conf.j2 4 | dest=/etc/httpd.conf 5 | owner=root group=root mode=0644 6 | notify: Restart apache service 7 | - name: Copying index.html file... 8 | template: src=index.html.j2 9 | dest=/var/www/html/index.html 10 | mode=0777 11 | -------------------------------------------------------------------------------- /epub/OEBPS/styles/custom_epub.css: -------------------------------------------------------------------------------- 1 | /* Custom styles specific to EPUB (and hence MOBI) books */ 2 | 3 | #title_page .title { 4 | font-size: 200%; 5 | } 6 | 7 | #title_page .author { 8 | font-size: 120%; 9 | } 10 | 11 | #title_page .date { 12 | font-size: 120%; 13 | } 14 | 15 | #table_of_contents ul li { 16 | padding-left: 2em; 17 | } 18 | 19 | body { 20 | font-size: 80%; 21 | line-height: 1.4; 22 | } 23 | -------------------------------------------------------------------------------- /setup/code/chap7/roles/base/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: create admin user 3 | user: name=admin state=present uid=5001 4 | 5 | - name: remove dojo 6 | user: name=dojo state=present 7 | 8 | - name: install tree 9 | yum: name=tree state=present 10 | 11 | - name: install ntp 12 | yum: name=ntp state=present 13 | 14 | - name: start ntp service 15 | service: name=ntpd state=started enabled=yes 16 | -------------------------------------------------------------------------------- /setup/code/chap8/roles/base/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: create admin user 3 | user: name=admin state=present uid=5001 4 | 5 | - name: remove dojo 6 | user: name=dojo state=present 7 | 8 | - name: install tree 9 | yum: name=tree state=present 10 | 11 | - name: install ntp 12 | yum: name=ntp state=present 13 | 14 | - name: start ntp service 15 | service: name=ntpd state=started enabled=yes 16 | -------------------------------------------------------------------------------- /virtual/code/chap6/roles/base/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: create admin user 3 | user: name=admin state=present uid=5001 4 | 5 | - name: remove dojo 6 | user: name=dojo state=present 7 | 8 | - name: install tree 9 | yum: name=tree state=present 10 | 11 | - name: install ntp 12 | yum: name=ntp state=present 13 | 14 | - name: start ntp service 15 | service: name=ntpd state=started enabled=yes 16 | -------------------------------------------------------------------------------- /virtual/code/chap7/roles/base/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: create admin user 3 | user: name=admin state=present uid=5001 4 | 5 | - name: remove dojo 6 | user: name=dojo state=present 7 | 8 | - name: install tree 9 | yum: name=tree state=present 10 | 11 | - name: install ntp 12 | yum: name=ntp state=present 13 | 14 | - name: start ntp service 15 | service: name=ntpd state=started enabled=yes 16 | -------------------------------------------------------------------------------- /config/preamble.tex: -------------------------------------------------------------------------------- 1 | \documentclass[14pt]{extbook} % Edit this line to change the documentclass. 2 | % Add custom preamble content below. 3 | % Example commands for using the Polyglossia package with French are 4 | % included for reference. 5 | % You may also have to edit config/lang.yml to sync up the HTML/EPUB/MOBI. 6 | % \usepackage{polyglossia} 7 | % \setdefaultlanguage{french} 8 | % \DeclareTextCommandDefault{\nobreakspace}{\leavevmode\nobreak\ } 9 | -------------------------------------------------------------------------------- /latex_styles/custom_pdf.sty: -------------------------------------------------------------------------------- 1 | % You should use this file to define commands that *only* pertain to the PDF. 2 | % Otherwise, use `custom.sty`. 3 | % For example, you can define the proper hypenation of any words that LaTeX 4 | % can't hyphenate natively. 5 | % \hyphenation{Ja-va-Script} 6 | % You can also include and use packages. 7 | % \usepackage{newunicodechar} 8 | % \newunicodechar{★}{\ensuremath{\star}} 9 | % \newunicodechar{ž}{\v{z}} 10 | -------------------------------------------------------------------------------- /setup/code/chap8/roles/mysql/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for mysql 3 | mysql_root_db_pass: p@sswOrd1234 4 | mysql: 5 | config: 6 | user: mysql 7 | port: 3350 8 | datadir: /var/lib/mysql 9 | bind: 127.0.0.1 10 | pid: /var/run/mysqld/mysqld.sock 11 | socket: /var/run/mysqld/mysql.sock 12 | cnfpath: /etc/mysql/my.cnf 13 | service: mysql 14 | pkg: 15 | server: mysql-server 16 | client: mysql-client 17 | server: false 18 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/mysql/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for mysql 3 | mysql_root_db_pass: p@sswOrd1234 4 | mysql: 5 | config: 6 | user: mysql 7 | port: 3350 8 | datadir: /var/lib/mysql 9 | bind: 127.0.0.1 10 | pid: /var/run/mysqld/mysqld.sock 11 | socket: /var/run/mysqld/mysql.sock 12 | cnfpath: /etc/mysql/my.cnf 13 | service: mysql 14 | pkg: 15 | server: mysql-server 16 | client: mysql-client 17 | server: false 18 | -------------------------------------------------------------------------------- /virtual/code/chap7/roles/mysql/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for mysql 3 | mysql_root_db_pass: p@sswOrd1234 4 | mysql: 5 | config: 6 | user: mysql 7 | port: 3350 8 | datadir: /var/lib/mysql 9 | bind: 127.0.0.1 10 | pid: /var/run/mysqld/mysqld.sock 11 | socket: /var/run/mysqld/mysql.sock 12 | cnfpath: /etc/mysql/my.cnf 13 | service: mysql 14 | pkg: 15 | server: mysql-server 16 | client: mysql-client 17 | server: false 18 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/mysql/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for mysql 3 | mysql_root_db_pass: p@sswOrd1234 4 | mysql: 5 | config: 6 | user: mysql 7 | port: 3350 8 | datadir: /var/lib/mysql 9 | bind: 127.0.0.1 10 | pid: /var/run/mysqld/mysqld.sock 11 | socket: /var/run/mysqld/mysql.sock 12 | cnfpath: /etc/mysql/my.cnf 13 | service: mysql 14 | pkg: 15 | server: mysql-server 16 | client: mysql-client 17 | server: false 18 | -------------------------------------------------------------------------------- /latex_styles/language_customization.sty: -------------------------------------------------------------------------------- 1 | % Aside box label 2 | \renewcommand{\boxlabel}{Box} 3 | 4 | % Codelisting captions 5 | \usepackage[hypcap=false]{caption} 6 | \DeclareCaptionFormat{listing}{\hspace{-0.2em}\colorbox[gray]{.85}{\hspace{0.1em}\parbox{0.997\textwidth}{#1#2#3}}\vspace{-1.3\baselineskip}} 7 | \captionsetup[listing]{format=listing,labelfont=bf,skip=16pt,font={rm,normalsize}} 8 | \DeclareCaptionType{listing} 9 | \newcommand{\codecaption}[1]{\captionof{listing}{#1}} 10 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/mysql/templates/my.cnf.j2: -------------------------------------------------------------------------------- 1 | [mysqld] 2 | 3 | {% if mysql.config.datadir is defined %} 4 | datadir={{ mysql['config']['datadir'] }} 5 | {% endif %} 6 | 7 | {% if mysql.config.socket is defined %} 8 | socket={{ mysql['config']['socket'] }} 9 | {% endif %} 10 | 11 | symbolic-links=0 12 | log-error=/var/log/mysqld.log 13 | 14 | {% if mysql.config.pid is defined %} 15 | pid-file={{ mysql['config']['pid']}} 16 | {% endif %} 17 | 18 | [client] 19 | user=root 20 | password={{ mysql_root_db_pass }} 21 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/mysql/templates/my.cnf.j2: -------------------------------------------------------------------------------- 1 | [mysqld] 2 | 3 | {% if mysql.config.datadir is defined %} 4 | datadir={{ mysql['config']['datadir'] }} 5 | {% endif %} 6 | 7 | {% if mysql.config.socket is defined %} 8 | socket={{ mysql['config']['socket'] }} 9 | {% endif %} 10 | 11 | symbolic-links=0 12 | log-error=/var/log/mysqld.log 13 | 14 | {% if mysql.config.pid is defined %} 15 | pid-file={{ mysql['config']['pid']}} 16 | {% endif %} 17 | 18 | [client] 19 | user=root 20 | password={{ mysql_root_db_pass }} 21 | -------------------------------------------------------------------------------- /setup/code/chap9/group_vars/all.yml: -------------------------------------------------------------------------------- 1 | --- 2 | fav: 3 | color: blue 4 | fruit: peach 5 | mysql_bind: "{{ ansible_eth0.ipv4.address }}" 6 | mysql: 7 | databases: 8 | infinity: 9 | state: present 10 | peace: 11 | state: present 12 | users: 13 | dojo: 14 | pass: PassWord@1234 15 | host: '%' 16 | priv: '*.*:ALL' 17 | state: present 18 | koko: 19 | pass: f8Usg3ord@1we28 20 | host: '%' 21 | priv: '*.*:ALL' 22 | state: present 23 | -------------------------------------------------------------------------------- /virtual/code/chap8/group_vars/all.yml: -------------------------------------------------------------------------------- 1 | --- 2 | fav: 3 | color: blue 4 | fruit: peach 5 | mysql_bind: "{{ ansible_eth0.ipv4.address }}" 6 | mysql: 7 | databases: 8 | infinity: 9 | state: present 10 | peace: 11 | state: present 12 | users: 13 | dojo: 14 | pass: PassWord@1234 15 | host: '%' 16 | priv: '*.*:ALL' 17 | state: present 18 | koko: 19 | pass: f8Usg3ord@1we28 20 | host: '%' 21 | priv: '*.*:ALL' 22 | state: present 23 | -------------------------------------------------------------------------------- /chapters/comparison.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | Ansible vs Chef/Puppet 4 | 5 | * applying a role applies only tasks/main.yml. There is no direct way to 6 | apply individual tasks e.g. apache::install. Puppet/chef both have this. 7 | 8 | * Registered variables: its possible to register the result of a command as a variable, based on which decisions can be made, as well as results can be passed to next tasks. 9 | 10 | * Push vs Pull Model 11 | 12 | * Scale. Puppet/Chef can scale better imho 13 | 14 | * Ansible Tower is expensive, not per node. 15 | 16 | * 17 | -------------------------------------------------------------------------------- /setup/code/chap6/playbook.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Base Configurations for ALL hosts 3 | hosts: all 4 | become: true 5 | tasks: 6 | - name: create admin user 7 | user: name=admin state=present uid=5001 8 | 9 | - name: remove dojo 10 | user: name=dojo state=present 11 | 12 | - name: install tree 13 | yum: name=tree state=present 14 | 15 | - name: install ntp 16 | yum: name=ntp state=present 17 | 18 | - name: start ntp service 19 | service: name=ntpd state=started enabled=yes 20 | -------------------------------------------------------------------------------- /virtual/code/chap5/playbook.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Base Configurations for ALL hosts 3 | hosts: all 4 | become: true 5 | tasks: 6 | - name: create admin user 7 | user: name=admin state=present uid=5001 8 | 9 | - name: remove dojo 10 | user: name=dojo state=present 11 | 12 | - name: install tree 13 | yum: name=tree state=present 14 | 15 | - name: install ntp 16 | yum: name=ntp state=present 17 | 18 | - name: start ntp service 19 | service: name=ntpd state=started enabled=yes 20 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/base/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: create admin user 3 | user: name=admin state=present uid=5001 4 | 5 | - name: remove dojo 6 | user: name=dojo state=present 7 | 8 | - name: install tree 9 | yum: name=tree state=present 10 | 11 | - name: install ntp 12 | yum: name=ntp state=present 13 | 14 | - name: start ntp service 15 | service: name=ntpd state=started enabled=yes 16 | 17 | - name: install a list of packages 18 | yum: 19 | name: "{{ item }}" 20 | with_items: "{{ demolist.packages }}" 21 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/base/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: create admin user 3 | user: name=admin state=present uid=5001 4 | 5 | - name: remove dojo 6 | user: name=dojo state=present 7 | 8 | - name: install tree 9 | yum: name=tree state=present 10 | 11 | - name: install ntp 12 | yum: name=ntp state=present 13 | 14 | - name: start ntp service 15 | service: name=ntpd state=started enabled=yes 16 | 17 | - name: install a list of packages 18 | yum: 19 | name: "{{ item }}" 20 | with_items: "{{ demolist.packages }}" 21 | -------------------------------------------------------------------------------- /setup/code/chap4/test.txt: -------------------------------------------------------------------------------- 1 | This is a test file. 2 | 3 | Created purely to learn copying a file from control node to managed nodes. 4 | 5 | Part of the School of Devops's Ansible Training. 6 | 7 | Trainings Conducted by School of Devops 8 | - Ansible 9 | - Docker 10 | - Kubernetes 11 | - Mesos and Marathon 12 | - Puppet 13 | - Chef 14 | - AWS Sysops 15 | - AWS Architects 16 | - CI/CD Workshop with Jenkins, GIT, Artifactory, Sonarqube, Tomcat etc. 17 | - Monitoring Tools 18 | - Devops Workshops 19 | 20 | 21 | To learn more, visit http://www.schoolofdevops.com 22 | 23 | -------------------------------------------------------------------------------- /setup/code/chap5/test.txt: -------------------------------------------------------------------------------- 1 | This is a test file. 2 | 3 | Created purely to learn copying a file from control node to managed nodes. 4 | 5 | Part of the School of Devops's Ansible Training. 6 | 7 | Trainings Conducted by School of Devops 8 | - Ansible 9 | - Docker 10 | - Kubernetes 11 | - Mesos and Marathon 12 | - Puppet 13 | - Chef 14 | - AWS Sysops 15 | - AWS Architects 16 | - CI/CD Workshop with Jenkins, GIT, Artifactory, Sonarqube, Tomcat etc. 17 | - Monitoring Tools 18 | - Devops Workshops 19 | 20 | 21 | To learn more, visit http://www.schoolofdevops.com 22 | 23 | 24 | -------------------------------------------------------------------------------- /setup/code/chap6/test.txt: -------------------------------------------------------------------------------- 1 | This is a test file. 2 | 3 | Created purely to learn copying a file from control node to managed nodes. 4 | 5 | Part of the School of Devops's Ansible Training. 6 | 7 | Trainings Conducted by School of Devops 8 | - Ansible 9 | - Docker 10 | - Kubernetes 11 | - Mesos and Marathon 12 | - Puppet 13 | - Chef 14 | - AWS Sysops 15 | - AWS Architects 16 | - CI/CD Workshop with Jenkins, GIT, Artifactory, Sonarqube, Tomcat etc. 17 | - Monitoring Tools 18 | - Devops Workshops 19 | 20 | 21 | To learn more, visit http://www.schoolofdevops.com 22 | 23 | 24 | -------------------------------------------------------------------------------- /setup/code/chap7/test.txt: -------------------------------------------------------------------------------- 1 | This is a test file. 2 | 3 | Created purely to learn copying a file from control node to managed nodes. 4 | 5 | Part of the School of Devops's Ansible Training. 6 | 7 | Trainings Conducted by School of Devops 8 | - Ansible 9 | - Docker 10 | - Kubernetes 11 | - Mesos and Marathon 12 | - Puppet 13 | - Chef 14 | - AWS Sysops 15 | - AWS Architects 16 | - CI/CD Workshop with Jenkins, GIT, Artifactory, Sonarqube, Tomcat etc. 17 | - Monitoring Tools 18 | - Devops Workshops 19 | 20 | 21 | To learn more, visit http://www.schoolofdevops.com 22 | 23 | 24 | -------------------------------------------------------------------------------- /setup/code/chap8/test.txt: -------------------------------------------------------------------------------- 1 | This is a test file. 2 | 3 | Created purely to learn copying a file from control node to managed nodes. 4 | 5 | Part of the School of Devops's Ansible Training. 6 | 7 | Trainings Conducted by School of Devops 8 | - Ansible 9 | - Docker 10 | - Kubernetes 11 | - Mesos and Marathon 12 | - Puppet 13 | - Chef 14 | - AWS Sysops 15 | - AWS Architects 16 | - CI/CD Workshop with Jenkins, GIT, Artifactory, Sonarqube, Tomcat etc. 17 | - Monitoring Tools 18 | - Devops Workshops 19 | 20 | 21 | To learn more, visit http://www.schoolofdevops.com 22 | 23 | 24 | -------------------------------------------------------------------------------- /setup/code/chap9/test.txt: -------------------------------------------------------------------------------- 1 | This is a test file. 2 | 3 | Created purely to learn copying a file from control node to managed nodes. 4 | 5 | Part of the School of Devops's Ansible Training. 6 | 7 | Trainings Conducted by School of Devops 8 | - Ansible 9 | - Docker 10 | - Kubernetes 11 | - Mesos and Marathon 12 | - Puppet 13 | - Chef 14 | - AWS Sysops 15 | - AWS Architects 16 | - CI/CD Workshop with Jenkins, GIT, Artifactory, Sonarqube, Tomcat etc. 17 | - Monitoring Tools 18 | - Devops Workshops 19 | 20 | 21 | To learn more, visit http://www.schoolofdevops.com 22 | 23 | 24 | -------------------------------------------------------------------------------- /setup/nodes/centos6/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM centos:6 2 | MAINTAINER babu 3 | 4 | LABEL env=des 5 | 6 | RUN yum -y install openssh-server shadow-utils sudo 7 | 8 | COPY motd.sh /opt/ 9 | 10 | RUN chmod +x /opt/motd.sh && \ 11 | sh /opt/motd.sh && \ 12 | rm -rf /opt/motd.sh 13 | 14 | RUN echo -e "service sshd start && service sshd stop && \ 15 | useradd devops && \ 16 | echo 'devops:codespaces' | chpasswd && \ 17 | /usr/sbin/sshd -D" > /bootstrap.sh 18 | 19 | RUN echo 'devops ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers 20 | 21 | EXPOSE 22 22 | CMD ["/bin/bash","/bootstrap.sh"] 23 | -------------------------------------------------------------------------------- /setup/nodes/ubuntu/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:16.04 2 | MAINTAINER Babu 3 | 4 | RUN apt-get update 5 | 6 | RUN apt-get install -y openssh-server sudo vim python python-apt python-pip 7 | RUN mkdir /var/run/sshd 8 | 9 | COPY motd.sh /opt/ 10 | 11 | RUN chmod +x /opt/motd.sh && \ 12 | sh /opt/motd.sh && \ 13 | rm -rf motd.sh 14 | 15 | #RUN echo 'root:123456' |chpasswd 16 | 17 | RUN useradd -ms /bin/bash devops && \ 18 | echo 'devops:codespaces' |chpasswd && \ 19 | adduser devops sudo 20 | 21 | RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers 22 | 23 | EXPOSE 22 24 | CMD ["/usr/sbin/sshd", "-D"] 25 | -------------------------------------------------------------------------------- /manuscript/comparison.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | Ansible vs Chef/Puppet 4 | 5 | * applying a role applies only tasks/main.yml. There is no direct way to 6 | apply individual tasks e.g. apache::install. Puppet/chef both have this. 7 | 8 | * Registered variables: its possible to register the result of a command as a variable, based on which decisions can be made, as well as results can be passed to next tasks. 9 | 10 | * Push vs Pull Model 11 | 12 | * Scale. Puppet/Chef can scale better imho 13 | 14 | * Ansible Tower is expensive, not per node. 15 | 16 | * Custom modules for ansible can be written in any language. Does not have to be python. Modules return JSON data. 17 | -------------------------------------------------------------------------------- /setup/code/chap8/roles/apache/templates/index.html.j2: -------------------------------------------------------------------------------- 1 | 2 | 3 |

Welcome to Ansible training!

4 | 5 |

SYSTEM INFO

6 |

=========================

7 |

Operating System : {{ ansible_distribution }}

8 |

IP Address : {{ ansible_eth1['ipv4']['address'] }}

9 | 10 | 11 |

My Favourites

12 |

=========================

13 | 14 |

color : {{ fav['color'] }}

15 |

fruit : {{ fav['fruit'] }}

16 |

car : {{ fav['car'] }}

17 |

laptop : {{ fav['laptop'] }}

18 |

=========================

19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /setup/code/chap9/roles/apache/templates/index.html.j2: -------------------------------------------------------------------------------- 1 | 2 | 3 |

Welcome to Ansible training!

4 | 5 |

SYSTEM INFO

6 |

=========================

7 |

Operating System : {{ ansible_distribution }}

8 |

IP Address : {{ ansible_eth1['ipv4']['address'] }}

9 | 10 | 11 |

My Favourites

12 |

=========================

13 | 14 |

color : {{ fav['color'] }}

15 |

fruit : {{ fav['fruit'] }}

16 |

car : {{ fav['car'] }}

17 |

laptop : {{ fav['laptop'] }}

18 |

=========================

19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /virtual/code/chap6/roles/apache/templates/index.html.j2: -------------------------------------------------------------------------------- 1 | 2 | 3 |

Welcome to Ansible training!

4 | 5 |

SYSTEM INFO

6 |

=========================

7 |

Operating System : {{ ansible_distribution }}

8 |

IP Address : {{ ansible_eth1['ipv4']['address'] }}

9 | 10 | 11 |

My Favourites

12 |

=========================

13 | 14 |

color : {{ fav['color'] }}

15 |

fruit : {{ fav['fruit'] }}

16 |

car : {{ fav['car'] }}

17 |

laptop : {{ fav['laptop'] }}

18 |

=========================

19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /virtual/code/chap7/roles/apache/templates/index.html.j2: -------------------------------------------------------------------------------- 1 | 2 | 3 |

Welcome to Ansible training!

4 | 5 |

SYSTEM INFO

6 |

=========================

7 |

Operating System : {{ ansible_distribution }}

8 |

IP Address : {{ ansible_eth1['ipv4']['address'] }}

9 | 10 | 11 |

My Favourites

12 |

=========================

13 | 14 |

color : {{ fav['color'] }}

15 |

fruit : {{ fav['fruit'] }}

16 |

car : {{ fav['car'] }}

17 |

laptop : {{ fav['laptop'] }}

18 |

=========================

19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /virtual/code/chap8/roles/apache/templates/index.html.j2: -------------------------------------------------------------------------------- 1 | 2 | 3 |

Welcome to Ansible training!

4 | 5 |

SYSTEM INFO

6 |

=========================

7 |

Operating System : {{ ansible_distribution }}

8 |

IP Address : {{ ansible_eth1['ipv4']['address'] }}

9 | 10 | 11 |

My Favourites

12 |

=========================

13 | 14 |

color : {{ fav['color'] }}

15 |

fruit : {{ fav['fruit'] }}

16 |

car : {{ fav['car'] }}

17 |

laptop : {{ fav['laptop'] }}

18 |

=========================

19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /html/MathJax/jax/element/mml/optable/GreekAndCoptic.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/element/mml/optable/GreekAndCoptic.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | (function(a){var c=a.mo.OPTYPES;var b=a.TEXCLASS;MathJax.Hub.Insert(a.mo.prototype,{OPTABLE:{infix:{"\u03F6":c.REL}}});MathJax.Ajax.loadComplete(a.optableDir+"/GreekAndCoptic.js")})(MathJax.ElementJax.mml); 16 | 17 | -------------------------------------------------------------------------------- /meta/outline_detailed.txt: -------------------------------------------------------------------------------- 1 | Ansible Tutorial 2 | 3 | Chapter 01 : Introduction to Ansible 4 | Chapter 02 : Setting up the Learning Environment 5 | Chapter xx : Inventory, Host Patterns etc. 6 | Chapter 03 : Getting Started with Ansible - Ad Hoc Server Management 7 | Chapter 04 : Writing our first Playbook 8 | Exploring Modules 9 | Chapter 05 : Roles 10 | Chapter 06 : Variables and Templates 11 | Chapter 07 : Control Structures - Conditionals and Iterators 12 | Chapter xx : Ansible Vault 13 | Chapter 08 : Node Discovery and Clustering 14 | Chapter 09 : Managing Multiple Environments 15 | Chapter 10 : Deployment Orchestration 16 | Chapter xx : Ansible Tower 17 | -------------------------------------------------------------------------------- /setup/code/chap7/roles/apache/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /setup/code/chap7/roles/base/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /setup/code/chap7/roles/mysql/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /setup/code/chap8/roles/apache/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /setup/code/chap8/roles/base/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /setup/code/chap8/roles/mysql/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /setup/code/chap9/roles/apache/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /setup/code/chap9/roles/base/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /setup/code/chap9/roles/haproxy/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /setup/code/chap9/roles/mysql/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /setup/code/chap9/roles/starter/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /virtual/code/chap6/roles/apache/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /virtual/code/chap6/roles/base/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /virtual/code/chap6/roles/mysql/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /virtual/code/chap7/roles/apache/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /virtual/code/chap7/roles/base/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /virtual/code/chap7/roles/mysql/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /virtual/code/chap8/roles/apache/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /virtual/code/chap8/roles/base/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /virtual/code/chap8/roles/mysql/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /virtual/code/chap8/roles/haproxy/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /virtual/code/chap8/roles/starter/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /html/MathJax/jax/element/mml/optable/CombDiacritMarks.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/element/mml/optable/CombDiacritMarks.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | (function(a){var c=a.mo.OPTYPES;var b=a.TEXCLASS;MathJax.Hub.Insert(a.mo.prototype,{OPTABLE:{postfix:{"\u0311":c.ACCENT}}});MathJax.Ajax.loadComplete(a.optableDir+"/CombDiacritMarks.js")})(MathJax.ElementJax.mml); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/element/mml/optable/Dingbats.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/element/mml/optable/Dingbats.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | (function(a){var c=a.mo.OPTYPES;var b=a.TEXCLASS;MathJax.Hub.Insert(a.mo.prototype,{OPTABLE:{prefix:{"\u2772":c.OPEN},postfix:{"\u2773":c.CLOSE}}});MathJax.Ajax.loadComplete(a.optableDir+"/Dingbats.js")})(MathJax.ElementJax.mml); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/Other.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/Other.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.MathJax_Script,{160:[0,0,250,0,0]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/Script/Regular/Other.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/SVG/fonts/TeX/Main/Regular/MathOperators.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/SVG/fonts/TeX/Main/Regular/MathOperators.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax.SVG.FONTDATA.FONTS.MathJax_Main,{8710:[716,0,833,46,786,""]});MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Regular/MathOperators.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/input/MathML/entities/j.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/input/MathML/entities/j.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | (function(a){MathJax.Hub.Insert(a.Parse.Entity,{Jcirc:"\u0134",Jcy:"\u0419",Jsercy:"\u0408",Jukcy:"\u0404",jcirc:"\u0135",jcy:"\u0439",jsercy:"\u0458",jukcy:"\u0454"});MathJax.Ajax.loadComplete(a.entityDir+"/j.js")})(MathJax.InputJax.MathML); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/input/MathML/entities/w.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/input/MathML/entities/w.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | (function(a){MathJax.Hub.Insert(a.Parse.Entity,{Wcirc:"\u0174",wcirc:"\u0175",wedbar:"\u2A5F",wedge:"\u2227",wedgeq:"\u2259",wp:"\u2118",wr:"\u2240",wreath:"\u2240"});MathJax.Ajax.loadComplete(a.entityDir+"/w.js")})(MathJax.InputJax.MathML); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/SVG/fonts/TeX/Main/Italic/MathOperators.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/SVG/fonts/TeX/Main/Italic/MathOperators.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax.SVG.FONTDATA.FONTS["MathJax_Main-italic"],{8710:[716,0,818,70,751,""]});MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Main/Italic/MathOperators.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/input/MathML/entities/q.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/input/MathML/entities/q.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | (function(a){MathJax.Hub.Insert(a.Parse.Entity,{QUOT:"\u0022",qint:"\u2A0C",qprime:"\u2057",quaternions:"\u210D",quatint:"\u2A16",quest:"\u003F",questeq:"\u225F",quot:"\u0022"});MathJax.Ajax.loadComplete(a.entityDir+"/q.js")})(MathJax.InputJax.MathML); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscSymbols.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscSymbols.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.MathJax_AMS,{9733:[694,111,944,49,895]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/AMS/Regular/MiscSymbols.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Hiragana.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Hiragana.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.STIXGeneral,{12398:[661,41,901,37,840]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/Regular/Hiragana.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Specials.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Specials.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.STIXGeneral,{65533:[662,217,872,55,817]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/Regular/Specials.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Bold/All.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Bold/All.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["STIXSizeOneSym-bold"],{8512:[1500,-22,1341,60,1281]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/SizeOneSym/Bold/All.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/LatinExtendedA.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/LatinExtendedA.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.MathJax_AMS,{295:[695,13,540,42,562]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/AMS/Regular/LatinExtendedA.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/element/mml/optable/LetterlikeSymbols.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/element/mml/optable/LetterlikeSymbols.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | (function(a){var c=a.mo.OPTYPES;var b=a.TEXCLASS;MathJax.Hub.Insert(a.mo.prototype,{OPTABLE:{prefix:{"\u2145":c.ORD21,"\u2146":[2,0,b.ORD]}}});MathJax.Ajax.loadComplete(a.optableDir+"/LetterlikeSymbols.js")})(MathJax.ElementJax.mml); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/All.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/All.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["STIXNonUnicode-bold"],{32:[0,0,250,0,0],160:[0,0,250,0,0]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/NonUnicode/Bold/All.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/All.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/All.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.STIXNonUnicode,{32:[0,0,250,0,0],160:[0,0,250,0,0]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/NonUnicode/Regular/All.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LatinExtendedA.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LatinExtendedA.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["MathJax_Main-bold"],{305:[452,8,394,24,367]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/Main/Bold/LatinExtendedA.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LatinExtendedB.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LatinExtendedB.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["MathJax_Main-bold"],{567:[451,201,439,-12,420]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/Main/Bold/LatinExtendedB.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/element/mml/optable/CombDiactForSymbols.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/element/mml/optable/CombDiactForSymbols.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | (function(a){var c=a.mo.OPTYPES;var b=a.TEXCLASS;MathJax.Hub.Insert(a.mo.prototype,{OPTABLE:{postfix:{"\u20DB":c.ACCENT,"\u20DC":c.ACCENT}}});MathJax.Ajax.loadComplete(a.optableDir+"/CombDiactForSymbols.js")})(MathJax.ElementJax.mml); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/input/MathML/entities/k.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/input/MathML/entities/k.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | (function(a){MathJax.Hub.Insert(a.Parse.Entity,{KHcy:"\u0425",KJcy:"\u040C",Kappa:"\u039A",Kcedil:"\u0136",Kcy:"\u041A",kcedil:"\u0137",kcy:"\u043A",kgreen:"\u0138",khcy:"\u0445",kjcy:"\u045C"});MathJax.Ajax.loadComplete(a.entityDir+"/k.js")})(MathJax.InputJax.MathML); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CJK.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CJK.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.STIXGeneral,{12306:[662,0,685,10,672],12336:[417,-93,1412,45,1367]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/Regular/CJK.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/ij.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/ij.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.STIXGeneral,{120484:[441,11,278,47,235],120485:[441,207,278,-124,246]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/Regular/ij.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/All.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/All.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["STIXNonUnicode-italic"],{32:[0,0,250,0,0],160:[0,0,250,0,0]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/NonUnicode/Italic/All.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Dingbats.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Dingbats.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.MathJax_AMS,{10003:[706,34,833,84,749],10016:[716,22,833,48,786]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/AMS/Regular/Dingbats.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/EnclosedAlphanum.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/EnclosedAlphanum.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.MathJax_AMS,{9416:[709,175,902,8,894]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/AMS/Regular/EnclosedAlphanum.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscMathSymbolsB.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.MathJax_AMS,{10731:[716,132,667,56,611]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/AMS/Regular/MiscMathSymbolsB.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/Latin1Supplement.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/Latin1Supplement.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["MathJax_Main-italic"],{160:[0,0,250,0,0]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/Main/Italic/Latin1Supplement.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/element/mml/optable/Latin1Supplement.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/element/mml/optable/Latin1Supplement.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | (function(a){var c=a.mo.OPTYPES;var b=a.TEXCLASS;MathJax.Hub.Insert(a.mo.prototype,{OPTABLE:{postfix:{"\u00B0":c.ORD,"\u00B4":c.ACCENT,"\u00B8":c.ACCENT}}});MathJax.Ajax.loadComplete(a.optableDir+"/Latin1Supplement.js")})(MathJax.ElementJax.mml); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/element/mml/optable/MiscSymbolsAndArrows.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/element/mml/optable/MiscSymbolsAndArrows.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | (function(a){var c=a.mo.OPTYPES;var b=a.TEXCLASS;MathJax.Hub.Insert(a.mo.prototype,{OPTABLE:{infix:{"\u2B45":c.RELSTRETCH,"\u2B46":c.RELSTRETCH}}});MathJax.Ajax.loadComplete(a.optableDir+"/MiscSymbolsAndArrows.js")})(MathJax.ElementJax.mml); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedD.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedD.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["STIXGeneral-bold"],{42898:[691,19,769,27,734]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/Bold/LatinExtendedD.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GeneralPunctuation.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GeneralPunctuation.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.MathJax_AMS,{8245:[560,-43,275,12,244]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/AMS/Regular/GeneralPunctuation.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/SpacingModLetters.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/SpacingModLetters.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.MathJax_Main,{730:[715,-542,500,147,352]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/Main/Regular/SpacingModLetters.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/ControlPictures.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/ControlPictures.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["STIXGeneral-bold"],{9251:[31,120,500,40,460]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/Bold/ControlPictures.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/ij.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/ij.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["STIXGeneral-italic"],{120484:[441,11,278,47,235],120485:[441,207,278,-124,246]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/Italic/ij.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/ControlPictures.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/ControlPictures.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.STIXGeneral,{9251:[16,120,500,40,460]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/Regular/ControlPictures.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/CombDiactForSymbols.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/CombDiactForSymbols.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["MathJax_Main-bold"],{8407:[723,-513,0,-542,-33]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/Main/Bold/CombDiactForSymbols.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/LetterlikeSymbols.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/LetterlikeSymbols.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["MathJax_Main-italic"],{8463:[695,13,540,42,562]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/Main/Italic/LetterlikeSymbols.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/ControlPictures.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/ControlPictures.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["STIXGeneral-italic"],{9251:[16,120,500,40,460]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/Italic/ControlPictures.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GreekAndCoptic.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GreekAndCoptic.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.MathJax_AMS,{989:[605,85,778,55,719],1008:[434,6,667,37,734]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/AMS/Regular/GreekAndCoptic.js"); 16 | 17 | -------------------------------------------------------------------------------- /chapters/registered_variables.md: -------------------------------------------------------------------------------- 1 | (src: http://docs.ansible.com/ansible/test_strategies.html) 2 | 3 | tasks: 4 | 5 | - action: uri url=http://www.example.com return_content=yes 6 | register: webpage 7 | 8 | - fail: msg='service is not happy' 9 | when: "'AWESOME' not in webpage.content" 10 | 11 | 12 | 13 | tasks: 14 | 15 | - shell: /usr/bin/some-command --parameter value 16 | register: cmd_result 17 | 18 | - assert: 19 | that: 20 | - "'not ready' not in cmd_result.stderr" 21 | - "'gizmo enabled' in cmd_result.stdout" 22 | 23 | 24 | 25 | tasks: 26 | 27 | - stat: path=/path/to/something 28 | register: p 29 | 30 | - assert: 31 | that: 32 | - p.stat.exists and p.stat.isdir 33 | -------------------------------------------------------------------------------- /chapters/troubleshooting.md: -------------------------------------------------------------------------------- 1 | Troubleshooting Techniques 2 | * Useing verbose mode 3 | * Using --start-at-task 4 | * Using --step 5 | * Using debugger 6 | 7 | Verbose Mode 8 | -vvvv 9 | 10 | Debugger 11 | 12 | http://docs.ansible.com/ansible/playbooks_debugger.html 13 | 14 | Defining Failure 15 | failed_when: "'FAILED' in command_result.stderr" 16 | http://docs.ansible.com/ansible/playbooks_error_handling.html 17 | 18 | start-at-task 19 | ansible-playbook playbook.yml --start-at-task="install packages" 20 | 21 | Step 22 | Playbooks can also be executed interactively with --step: 23 | 24 | ansible-playbook playbook.yml --step 25 | This will cause ansible to stop on each t 26 | 27 | 28 | http://docs.ansible.com/ansible/playbooks_startnstep.html 29 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SuperAndSubscripts.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SuperAndSubscripts.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["STIXGeneral-bold"],{8319:[700,-275,491,15,478]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/Bold/SuperAndSubscripts.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SuperAndSubscripts.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SuperAndSubscripts.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.STIXGeneral,{8319:[676,-270,541,57,484]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/Regular/SuperAndSubscripts.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/All.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/All.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["STIXNonUnicode-bold-italic"],{32:[0,0,250,0,0],160:[0,0,250,0,0]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/NonUnicode/BoldItalic/All.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscTechnical.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscTechnical.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.MathJax_AMS,{8994:[378,-122,778,55,722],8995:[378,-143,778,55,722]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/AMS/Regular/MiscTechnical.js"); 16 | 17 | -------------------------------------------------------------------------------- /manuscript/registered_variables.md: -------------------------------------------------------------------------------- 1 | (src: http://docs.ansible.com/ansible/test_strategies.html) 2 | 3 | tasks: 4 | 5 | - action: uri url=http://www.example.com return_content=yes 6 | register: webpage 7 | 8 | - fail: msg='service is not happy' 9 | when: "'AWESOME' not in webpage.content" 10 | 11 | 12 | 13 | tasks: 14 | 15 | - shell: /usr/bin/some-command --parameter value 16 | register: cmd_result 17 | 18 | - assert: 19 | that: 20 | - "'not ready' not in cmd_result.stderr" 21 | - "'gizmo enabled' in cmd_result.stdout" 22 | 23 | 24 | 25 | tasks: 26 | 27 | - stat: path=/path/to/something 28 | register: p 29 | 30 | - assert: 31 | that: 32 | - p.stat.exists and p.stat.isdir 33 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/CombDiacritMarks.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/CombDiacritMarks.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.MathJax_AMS,{770:[845,-561,0,-2347,13],771:[899,-628,0,-2332,-3]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/AMS/Regular/CombDiacritMarks.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/Other.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/Other.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["MathJax_Fraktur-bold"],{160:[0,0,250,0,0],8216:[708,-411,254,53,187],8217:[692,-394,254,58,193]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/Fraktur/Bold/Other.js"); 16 | 17 | -------------------------------------------------------------------------------- /manuscript/troubleshooting.md: -------------------------------------------------------------------------------- 1 | Troubleshooting Techniques 2 | * Useing verbose mode 3 | * Using --start-at-task 4 | * Using --step 5 | * Using debugger 6 | 7 | Verbose Mode 8 | -vvvv 9 | 10 | Debugger 11 | 12 | http://docs.ansible.com/ansible/playbooks_debugger.html 13 | 14 | Defining Failure 15 | failed_when: "'FAILED' in command_result.stderr" 16 | http://docs.ansible.com/ansible/playbooks_error_handling.html 17 | 18 | start-at-task 19 | ansible-playbook playbook.yml --start-at-task="install packages" 20 | 21 | Step 22 | Playbooks can also be executed interactively with --step: 23 | 24 | ansible-playbook playbook.yml --step 25 | This will cause ansible to stop on each t 26 | 27 | 28 | http://docs.ansible.com/ansible/playbooks_startnstep.html 29 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/SpacingModLetters.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/SpacingModLetters.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.MathJax_AMS,{710:[845,-561,2333,-14,2346],732:[899,-628,2333,1,2330]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/AMS/Regular/SpacingModLetters.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/Other.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/Other.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.MathJax_Fraktur,{160:[0,0,250,0,0],8216:[708,-410,215,45,158],8217:[692,-395,215,49,163]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/Fraktur/Regular/Other.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscMathSymbolsA.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscMathSymbolsA.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["MathJax_Main-bold"],{10216:[750,249,447,127,382],10217:[750,249,447,64,319]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/Main/Bold/MiscMathSymbolsA.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/element/mml/optable/SpacingModLetters.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/element/mml/optable/SpacingModLetters.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | (function(a){var c=a.mo.OPTYPES;var b=a.TEXCLASS;MathJax.Hub.Insert(a.mo.prototype,{OPTABLE:{postfix:{"\u02CD":c.WIDEACCENT,"\u02DA":c.ACCENT,"\u02DD":c.ACCENT,"\u02F7":c.WIDEACCENT}}});MathJax.Ajax.loadComplete(a.optableDir+"/SpacingModLetters.js")})(MathJax.ElementJax.mml); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/ControlPictures.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/ControlPictures.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["STIXGeneral-bold-italic"],{9251:[31,120,500,40,460]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/BoldItalic/ControlPictures.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathOperators.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathOperators.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["STIXGeneral-italic"],{8706:[668,11,471,40,471],8722:[286,-220,675,86,590]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/Italic/MathOperators.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedD.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedD.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.STIXGeneral,{42791:[683,233,481,9,427],42898:[676,14,734,18,700]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/Regular/LatinExtendedD.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/SVG/fonts/TeX/Fraktur/Regular/Main.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/SVG/fonts/TeX/Fraktur/Regular/Main.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.OutputJax.SVG.FONTDATA.FONTS.MathJax_Fraktur={directory:"Fraktur/Regular",family:"MathJax_Fraktur",id:"MJFRAK",Ranges:[[0,127,"BasicLatin"],[128,57343,"Other"],[58112,58128,"PUA"]]};MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Fraktur/Regular/Main.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscSymbols.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscSymbols.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["STIXGeneral-bold"],{9837:[740,5,437,86,389],9838:[818,210,490,97,393],9839:[818,210,490,52,438]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/Bold/MiscSymbols.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/CombDiactForSymbols.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/CombDiactForSymbols.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["STIXGeneral-bold-italic"],{8413:[760,254,0,-753,256]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/BoldItalic/CombDiactForSymbols.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/input/MathML/entities/y.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/input/MathML/entities/y.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | (function(a){MathJax.Hub.Insert(a.Parse.Entity,{YAcy:"\u042F",YIcy:"\u0407",YUcy:"\u042E",Yacute:"\u00DD",Ycirc:"\u0176",Ycy:"\u042B",Yuml:"\u0178",yacute:"\u00FD",yacy:"\u044F",ycirc:"\u0177",ycy:"\u044B",yicy:"\u0457",yucy:"\u044E",yuml:"\u00FF"});MathJax.Ajax.loadComplete(a.entityDir+"/y.js")})(MathJax.InputJax.MathML); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathOperators.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathOperators.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["STIXGeneral-bold-italic"],{8706:[686,10,559,44,559],8722:[297,-209,606,51,555]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/BoldItalic/MathOperators.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/SVG/fonts/TeX/Fraktur/Bold/Main.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/SVG/fonts/TeX/Fraktur/Bold/Main.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.OutputJax.SVG.FONTDATA.FONTS["MathJax_Fraktur-bold"]={directory:"Fraktur/Bold",family:"MathJax_Fraktur",id:"MJFRAKB",weight:"bold",Ranges:[[0,127,"BasicLatin"],[128,57343,"Other"],[58112,58128,"PUA"]]};MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Fraktur/Bold/Main.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/element/mml/optable/MiscMathSymbolsA.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/element/mml/optable/MiscMathSymbolsA.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | (function(a){var c=a.mo.OPTYPES;var b=a.TEXCLASS;MathJax.Hub.Insert(a.mo.prototype,{OPTABLE:{prefix:{"\u27E6":c.OPEN,"\u27EA":c.OPEN,"\u27EC":c.OPEN},postfix:{"\u27E7":c.CLOSE,"\u27EB":c.CLOSE,"\u27ED":c.CLOSE}}});MathJax.Ajax.loadComplete(a.optableDir+"/MiscMathSymbolsA.js")})(MathJax.ElementJax.mml); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/input/AsciiMath/config.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/input/AsciiMath/config.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.InputJax.AsciiMath=MathJax.InputJax({id:"AsciiMath",version:"2.2",directory:MathJax.InputJax.directory+"/AsciiMath",extensionDir:MathJax.InputJax.extensionDir+"/AsciiMath",config:{displaystyle:true,decimalsign:"."}});MathJax.InputJax.AsciiMath.Register("math/asciimath");MathJax.InputJax.AsciiMath.loadComplete("config.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SuppMathOperators.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SuppMathOperators.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["MathJax_Main-bold"],{10815:[686,0,900,39,860],10927:[696,199,894,96,797],10928:[697,199,894,96,797]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/Main/Bold/SuppMathOperators.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/SVG/fonts/TeX/SansSerif/Regular/Main.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/SVG/fonts/TeX/SansSerif/Regular/Main.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.OutputJax.SVG.FONTDATA.FONTS.MathJax_SansSerif={directory:"SansSerif/Regular",family:"MathJax_SansSerif",id:"MJSS",Ranges:[[0,127,"BasicLatin"],[128,65535,"Other"],[768,879,"CombDiacritMarks"]]};MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Regular/Main.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/PhoneticExtensions.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/PhoneticExtensions.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["STIXGeneral-bold"],{7424:[475,0,515,9,503],7431:[461,0,531,20,511],7452:[461,19,600,16,584]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/Bold/PhoneticExtensions.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Latin1Supplement.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Latin1Supplement.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.MathJax_AMS,{160:[0,0,250,0,0],165:[683,0,750,11,738],174:[709,175,947,32,915],240:[749,21,556,42,509]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/AMS/Regular/Latin1Supplement.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/SVG/fonts/TeX/Typewriter/Regular/Main.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/SVG/fonts/TeX/Typewriter/Regular/Main.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.OutputJax.SVG.FONTDATA.FONTS.MathJax_Typewriter={directory:"Typewriter/Regular",family:"MathJax_Typewriter",id:"MJTT",Ranges:[[0,127,"BasicLatin"],[128,65535,"Other"],[768,879,"CombDiacritMarks"]]};MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/Typewriter/Regular/Main.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/SVG/fonts/TeX/SansSerif/Bold/Main.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/SVG/fonts/TeX/SansSerif/Bold/Main.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.OutputJax.SVG.FONTDATA.FONTS["MathJax_SansSerif-bold"]={directory:"SansSerif/Bold",family:"MathJax_SansSerif",id:"MJSSB",weight:"bold",Ranges:[[0,127,"BasicLatin"],[128,65535,"Other"],[768,879,"CombDiacritMarks"]]};MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Bold/Main.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/element/mml/optable/MiscTechnical.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/element/mml/optable/MiscTechnical.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | (function(a){var c=a.mo.OPTYPES;var b=a.TEXCLASS;MathJax.Hub.Insert(a.mo.prototype,{OPTABLE:{postfix:{"\u23B4":c.WIDEACCENT,"\u23B5":c.WIDEACCENT,"\u23DC":c.WIDEACCENT,"\u23DD":c.WIDEACCENT,"\u23E0":c.WIDEACCENT,"\u23E1":c.WIDEACCENT}}});MathJax.Ajax.loadComplete(a.optableDir+"/MiscTechnical.js")})(MathJax.ElementJax.mml); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/input/MathML/config.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/input/MathML/config.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.InputJax.MathML=MathJax.InputJax({id:"MathML",version:"2.2",directory:MathJax.InputJax.directory+"/MathML",extensionDir:MathJax.InputJax.extensionDir+"/MathML",entityDir:MathJax.InputJax.directory+"/MathML/entities",config:{useMathMLspacing:false}});MathJax.InputJax.MathML.Register("math/mml");MathJax.InputJax.MathML.loadComplete("config.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/element/mml/optable/SupplementalArrowsA.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/element/mml/optable/SupplementalArrowsA.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | (function(a){var c=a.mo.OPTYPES;var b=a.TEXCLASS;MathJax.Hub.Insert(a.mo.prototype,{OPTABLE:{infix:{"\u27F0":c.RELSTRETCH,"\u27F1":c.RELSTRETCH,"\u27FB":c.WIDEREL,"\u27FD":c.WIDEREL,"\u27FE":c.WIDEREL,"\u27FF":c.WIDEREL}}});MathJax.Ajax.loadComplete(a.optableDir+"/SupplementalArrowsA.js")})(MathJax.ElementJax.mml); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/input/MathML/entities/z.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/input/MathML/entities/z.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | (function(a){MathJax.Hub.Insert(a.Parse.Entity,{ZHcy:"\u0416",Zacute:"\u0179",Zcaron:"\u017D",Zcy:"\u0417",Zdot:"\u017B",ZeroWidthSpace:"\u200B",Zeta:"\u0396",zacute:"\u017A",zcaron:"\u017E",zcy:"\u0437",zdot:"\u017C",zeetrf:"\u2128",zhcy:"\u0436",zwj:"\u200D",zwnj:"\u200C"});MathJax.Ajax.loadComplete(a.entityDir+"/z.js")})(MathJax.InputJax.MathML); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CurrencySymbols.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CurrencySymbols.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["STIXGeneral-bold"],{8355:[676,0,611,11,583],8356:[684,16,500,21,477],8359:[676,14,1369,16,1341],8364:[672,12,500,29,478]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/Bold/CurrencySymbols.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CurrencySymbols.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CurrencySymbols.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.STIXGeneral,{8355:[662,0,556,11,546],8356:[676,8,500,12,490],8359:[662,10,1182,16,1141],8364:[664,12,500,38,462]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/Regular/CurrencySymbols.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/SVG/fonts/TeX/SansSerif/Italic/Main.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/SVG/fonts/TeX/SansSerif/Italic/Main.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.OutputJax.SVG.FONTDATA.FONTS["MathJax_SansSerif-italic"]={directory:"SansSerif/Italic",family:"MathJax_SansSerif",id:"MJSSI",style:"italic",Ranges:[[0,127,"BasicLatin"],[128,65535,"Other"],[768,879,"CombDiacritMarks"]]};MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/SansSerif/Italic/Main.js"); 16 | 17 | -------------------------------------------------------------------------------- /latex_styles/custom.sty: -------------------------------------------------------------------------------- 1 | % Place additional custom commands below. 2 | % NOTE: These commands will generally be available across output formats. 3 | % For commands (such as hyphenation) that only pertain to PDF output, use the 4 | % file `custom_pdf.sty` instead. 5 | 6 | % Examples: 7 | % No arguments: 8 | % Insert '\emph{The Ruby on Rails Tutorial}' wherever '\tutorial' occurs: 9 | % 10 | % \newcommand{\tutorial}{\emph{The Ruby on Rails Tutorial}} 11 | % 12 | % One argument: 13 | % Convert '\bfi{text}' to '\textbf{\textit{text}}' (boldface italic): 14 | % 15 | % \newcommand{\bfi}[1]{\textbf{\textit{{#1}}}} 16 | 17 | % Include a command for the sake of the test suite. 18 | \newcommand{\softcover}{\texttt{softcover}} 19 | 20 | % Include custom math example. 21 | \newcommand{\unitvec}[1]{\ensuremath{\hat #1}} 22 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/CurrencySymbols.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/CurrencySymbols.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["STIXGeneral-italic"],{8355:[653,0,611,8,645],8356:[670,8,500,10,517],8359:[653,13,1149,0,1126],8364:[664,12,500,16,538]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/Italic/CurrencySymbols.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscMathSymbolsA.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscMathSymbolsA.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["STIXGeneral-bold"],{10184:[547,13,1025,62,943],10185:[547,13,1025,62,943],10216:[732,193,445,69,399],10217:[732,193,445,46,376]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/Bold/MiscMathSymbolsA.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/GeometricShapes.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/GeometricShapes.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.MathJax_Main,{9651:[716,0,889,59,828],9657:[505,5,500,26,474],9661:[500,215,889,59,828],9667:[505,5,500,26,473],9711:[715,215,1000,56,944]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/Main/Regular/GeometricShapes.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/GeometricShapes.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/GeometricShapes.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["MathJax_Main-bold"],{9651:[711,-1,1022,69,953],9657:[540,39,575,33,542],9661:[500,210,1022,68,953],9667:[539,38,575,33,542],9711:[711,211,1150,65,1084]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/Main/Bold/GeometricShapes.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/CurrencySymbols.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/CurrencySymbols.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["STIXGeneral-bold-italic"],{8355:[669,0,668,-13,661],8356:[683,12,500,-32,510],8359:[669,13,1229,-28,1173],8364:[681,17,562,34,546]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/BoldItalic/CurrencySymbols.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/BoxDrawing.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/BoxDrawing.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.MathJax_AMS,{9484:[694,-306,500,55,444],9488:[694,-306,500,55,444],9492:[366,22,500,55,444],9496:[366,22,500,55,444],9585:[694,195,889,0,860],9586:[694,195,889,0,860]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/AMS/Regular/BoxDrawing.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/AlphaPresentForms.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/AlphaPresentForms.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["STIXGeneral-bold"],{64256:[691,0,610,15,666],64257:[691,0,556,14,536],64258:[691,0,556,15,535],64259:[691,0,833,15,813],64260:[691,0,833,15,812]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/Bold/AlphaPresentForms.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/AlphaPresentForms.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/AlphaPresentForms.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.STIXGeneral,{64256:[683,0,605,20,655],64257:[683,0,558,32,523],64258:[683,0,556,31,522],64259:[683,0,832,20,797],64260:[683,0,830,20,796]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/Regular/AlphaPresentForms.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LetterlikeSymbols.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LetterlikeSymbols.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["MathJax_Main-bold"],{8463:[694,8,668,45,642],8465:[702,8,831,64,798],8467:[702,19,474,-1,446],8472:[461,210,740,72,726],8476:[711,16,831,42,824],8501:[694,0,703,64,638]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/Main/Bold/LetterlikeSymbols.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/SVG/fonts/TeX/AMS/Regular/GeneralPunctuation.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/SVG/fonts/TeX/AMS/Regular/GeneralPunctuation.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax.SVG.FONTDATA.FONTS.MathJax_AMS,{8245:[560,-43,275,12,244,"12 501Q12 527 31 542T63 558Q73 560 77 560Q114 560 128 528Q133 518 188 293T244 61Q244 56 223 50T195 43Q192 43 190 45T102 263T14 486Q12 496 12 501"]});MathJax.Ajax.loadComplete(MathJax.OutputJax.SVG.fontDir+"/AMS/Regular/GeneralPunctuation.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscTechnical.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscTechnical.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["MathJax_Main-bold"],{8968:[750,248,511,194,493],8969:[750,248,511,17,317],8970:[749,248,511,194,493],8971:[749,248,511,17,317],8994:[405,-108,1150,65,1084],8995:[392,-126,1150,64,1085]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/Main/Bold/MiscTechnical.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/Main.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/Main.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["STIXNonUnicode-bold"]={directory:"NonUnicode/Bold",family:"STIXNonUnicode",weight:"bold",Ranges:[[32,32,"All"],[160,160,"All"],[57344,63743,"PrivateUse"]]};MathJax.OutputJax["HTML-CSS"].initFont("STIXNonUnicode-bold");MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/NonUnicode/Bold/Main.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/PUA.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/PUA.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["MathJax_Fraktur-bold"],{58113:[630,27,587,64,512],58114:[693,212,394,37,408],58115:[681,219,387,36,384],58116:[473,212,593,67,531],58117:[684,27,393,33,387],58120:[679,220,981,32,875],58121:[717,137,727,17,633]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/Fraktur/Bold/PUA.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/AlphaPresentForms.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/AlphaPresentForms.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["STIXGeneral-italic"],{64256:[678,207,527,-147,673],64257:[681,207,500,-141,481],64258:[682,204,500,-141,518],64259:[681,207,744,-147,725],64260:[682,207,745,-147,763]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/Italic/AlphaPresentForms.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscSymbols.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscSymbols.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["MathJax_Main-bold"],{9824:[719,129,894,64,829],9825:[711,24,894,65,828],9826:[719,154,894,64,828],9827:[719,129,894,32,861],9837:[750,17,447,64,381],9838:[741,223,447,57,389],9839:[724,224,447,63,382]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/Main/Bold/MiscSymbols.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/MiscSymbols.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/MiscSymbols.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.MathJax_Main,{9824:[727,130,778,55,723],9825:[716,33,778,55,723],9826:[727,162,778,55,723],9827:[726,130,778,28,750],9837:[750,22,389,55,332],9838:[734,223,389,65,324],9839:[723,223,389,55,333]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/Main/Regular/MiscSymbols.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GeometricShapes.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GeometricShapes.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["STIXGeneral-bold"],{9651:[811,127,1145,35,1110],9655:[791,284,1043,70,1008],9661:[811,127,1145,35,1110],9665:[791,284,1043,35,973],9674:[795,289,790,45,745],9708:[811,127,1145,35,1110]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/Bold/GeometricShapes.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/LetterlikeSymbols.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/LetterlikeSymbols.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.MathJax_AMS,{8463:[695,13,540,42,562],8487:[684,22,722,44,675],8498:[695,1,556,55,497],8502:[763,21,667,-22,687],8503:[764,43,444,-22,421],8504:[764,43,667,54,640],8513:[705,23,639,37,577]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/AMS/Regular/LetterlikeSymbols.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/input/MathML/entities/x.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/input/MathML/entities/x.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | (function(a){MathJax.Hub.Insert(a.Parse.Entity,{xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",xhArr:"\u27FA",xharr:"\u27F7",xlArr:"\u27F8",xlarr:"\u27F5",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",xoplus:"\u2A01",xotime:"\u2A02",xrArr:"\u27F9",xrarr:"\u27F6",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0"});MathJax.Ajax.loadComplete(a.entityDir+"/x.js")})(MathJax.InputJax.MathML); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/AlphaPresentForms.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/AlphaPresentForms.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["STIXGeneral-bold-italic"],{64256:[698,205,613,-169,726],64257:[703,205,556,-188,514],64258:[704,205,556,-186,553],64259:[703,205,856,-169,814],64260:[704,205,854,-169,851]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/General/BoldItalic/AlphaPresentForms.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/PUA.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/PUA.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.MathJax_Fraktur,{58112:[683,32,497,75,430],58113:[616,30,498,35,432],58114:[680,215,333,29,339],58115:[679,224,329,28,318],58116:[471,214,503,52,449],58117:[686,20,333,26,315],58118:[577,21,334,29,347],58119:[475,22,501,10,514]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/Fraktur/Regular/PUA.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/GeneralPunctuation.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/GeneralPunctuation.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Hub.Insert(MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS["MathJax_Main-italic"],{8211:[285,-248,511,91,554],8212:[285,-248,1022,117,1038],8216:[694,-379,307,197,362],8217:[694,-379,307,213,377],8220:[694,-379,514,243,606],8221:[694,-379,514,176,538]});MathJax.Ajax.loadComplete(MathJax.OutputJax["HTML-CSS"].fontDir+"/Main/Italic/GeneralPunctuation.js"); 16 | 17 | -------------------------------------------------------------------------------- /html/MathJax/localization/en/HTML-CSS.js: -------------------------------------------------------------------------------- 1 | /* 2 | * /MathJax/localization/en/HTML-CSS.js 3 | * 4 | * Copyright (c) 2009-2013 The MathJax Consortium 5 | * 6 | * Part of the MathJax library. 7 | * See http://www.mathjax.org for details. 8 | * 9 | * Licensed under the Apache License, Version 2.0; 10 | * you may not use this file except in compliance with the License. 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | */ 14 | 15 | MathJax.Localization.addTranslation("en","HTML-CSS",{version:"2.2",isLoaded:true,strings:{LoadWebFont:"Loading web-font %1",CantLoadWebFont:"Can't load web font %1",FirefoxCantLoadWebFont:"Firefox can't load web fonts from a remote host",CantFindFontUsing:"Can't find a valid font using %1",WebFontsNotAvailable:"Web-Fonts not available -- using image fonts instead"}});MathJax.Ajax.loadComplete("[MathJax]/localization/en/HTML-CSS.js"); 16 | 17 | --------------------------------------------------------------------------------