summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--ansible.html.markdown24
-rw-r--r--de-de/asciidoc-de.html.markdown2
-rw-r--r--de-de/git-de.html.markdown2
-rw-r--r--typescript.html.markdown21
4 files changed, 31 insertions, 18 deletions
diff --git a/ansible.html.markdown b/ansible.html.markdown
index a319a89d..cb365e0f 100644
--- a/ansible.html.markdown
+++ b/ansible.html.markdown
@@ -6,7 +6,7 @@ contributors:
filename: LearnAnsible.txt
---
-```yml
+```yaml
---
"{{ Ansible }}" is an orchestration tool written in Python.
@@ -14,7 +14,7 @@ filename: LearnAnsible.txt
## Example
An example playbook to install apache and configure log level
-```yml
+```yaml
---
- hosts: apache
@@ -163,7 +163,7 @@ This example-playbook would execute (on all hosts defined in the inventory) two
* `ping` that would return message *pong*
* `shell` that execute three commands and return the output to our terminal
-```yml
+```yaml
- hosts: all
tasks:
@@ -213,7 +213,7 @@ It is a great way to introduce `object oriented` management for your application
Role can be included in your playbook (executed via your playbook).
-```yml
+```yaml
- hosts: all
tasks:
@@ -427,7 +427,7 @@ You can use the jinja in the CLI too
ansible -m shell -a 'echo {{ my_variable }}` -e 'my_variable=something, playbook_parameter=twentytwo" localhost
```
In fact - jinja is used to template parts of the playbooks too
-```yml
+```yaml
#check part of this playbook: playbooks/roles/sys_debug/tasks/debug_time.yml
- local_action: shell date +'%F %T'
register: ts
@@ -638,18 +638,19 @@ But ansible is way more! It provides an execution plans, an API, library, callba
It is an agent-less tool - every agent consumes up to 16MB ram - in some environments, it may be noticable amount.
It is agent-less - you have to verify your environment consistency 'on-demand' - there is no built-in mechanism that would warn you about some change automatically (this can be achieved with reasonable effort)
-Official GUI Tool (web inferface) - Ansible Tower - is great, but it is expensive. There is no 'small enterprice' payment plan. Easy workaround with Rundeck or Jenkins is possible with reasonable workload.
+Official GUI Tool (web inferface) - Ansible Tower - is great, but it is expensive. There is no 'small enterprice' payment plan, however Ansible AWX is the free open source version we were all waiting for.
#### Pros
-It is an agent-less tools In most scenarios, it use ssh as a transport layer.
+It is an agent-less tools In most scenarios, it use ssh as a transport layer.
In some way you can use it as 'bash on steroids'.
It is very-very-very easy to start. If you are familiar with ssh concept - you already know Ansible (ALMOST). My personal record is: 'I did show "how to install and use ansible" (for simple raspberry pi cluster management) - it took me 30 seconds to deliver a complete working example !!!)'
I do provide a training services - I'm able to teach a production-ready person - in 8 hours (1 training day)! It covers all needed to work aspects! No other tool can match this ease of use!
It executes 'as is' - other tools (salt, puppet, chef - might execute in different scenario than you would expect)
Documentation is at the world-class standard!
The comunity (github, stackOverflow) would help you very fast.
-Writing own modules and extension is fairly easy.
+Writing own modules and extension is fairly easy.
+Ansible AWX is the open source version of Ansible Tower we have been waiting for, which provides an excellent UI.
#### Neutral
Migration Ansible<->Salt is failrly easy - so if you would need an event-driven agent environment - it would be a good choice to start quick with Ansible, and convert to salt when needed.
@@ -657,7 +658,12 @@ Migration Ansible<->Salt is failrly easy - so if you would need an event-driven
#### Some concepts
Ansible uses ssh or paramiko as a transport layer. In a way you can imagine that you are using a ssh with API to perform your action.
-The simplest way is to execute remote command in more controlled way (still using ssh).
+The simplest way is to execute remote command in more controlled way (still using ssh).
On the other hand - in advanced scope - you can wrap Ansible (use python Ansible code as a library) with your own Python scrips! This is awesome! It would act a bit like Fabric then.
+## Additional Resources
+* [Servers For Hackers: An Ansible Tutorial](https://serversforhackers.com/c/an-ansible-tutorial)
+* [A system administrator's guide to getting started with Ansible - FAST!](https://www.redhat.com/en/blog/system-administrators-guide-getting-started-ansible-fast)
+* [Ansible Tower](https://www.ansible.com/products/tower) - Ansible Tower provides a web UI, dashboard and rest interface to ansible.
+* [Ansible AWX](https://github.com/ansible/awx) - The Open Sourc version of Ansible Tower. \ No newline at end of file
diff --git a/de-de/asciidoc-de.html.markdown b/de-de/asciidoc-de.html.markdown
index 60f8fa61..24100e0b 100644
--- a/de-de/asciidoc-de.html.markdown
+++ b/de-de/asciidoc-de.html.markdown
@@ -104,7 +104,7 @@ Um eine nummerierte Liste zu erstellen verwendest du Punkte.
. item 3
```
-Um Listen zu verschachteln musst du zusätzliche Sternchen und Punkte hinzufügen. Dies ist bis zu fünf Mal möglich.
+Um Listen zu verschachteln musst du zusätzliche Sternchen beziehungsweise Punkte hinzufügen. Dies ist bis zu fünf Mal möglich.
```
* foo 1
diff --git a/de-de/git-de.html.markdown b/de-de/git-de.html.markdown
index d2222d2c..7c68d785 100644
--- a/de-de/git-de.html.markdown
+++ b/de-de/git-de.html.markdown
@@ -20,7 +20,7 @@ Anmerkung des Übersetzers: Einige englische Begriffe wie *Repository*, *Commit*
Eine Versionsverwaltung erfasst die Änderungen einer Datei oder eines Verzeichnisses im Verlauf der Zeit.
-### Zentrale im Vergleich mit verteilter Versionverwaltung
+### Vergleich zwischen Zentraler und verteilter Versionverwaltung
* Zentrale Versionsverwaltung konzentriert sich auf das Synchronisieren, Verfolgen und Sichern von Dateien.
* Verteilte Versionsverwaltung konzentriert sich auf das Teilen der Änderungen. Jede Änderung hat eine eindeutige ID.
diff --git a/typescript.html.markdown b/typescript.html.markdown
index 9158f123..6feaca45 100644
--- a/typescript.html.markdown
+++ b/typescript.html.markdown
@@ -5,13 +5,19 @@ contributors:
filename: learntypescript.ts
---
-TypeScript is a language that aims at easing development of large scale applications written in JavaScript.
-TypeScript adds common concepts such as classes, modules, interfaces, generics and (optional) static typing to JavaScript.
-It is a superset of JavaScript: all JavaScript code is valid TypeScript code so it can be added seamlessly to any project. The TypeScript compiler emits JavaScript.
+TypeScript is a language that aims at easing development of large scale
+applications written in JavaScript. TypeScript adds common concepts such as
+classes, modules, interfaces, generics and (optional) static typing to
+JavaScript. It is a superset of JavaScript: all JavaScript code is valid
+TypeScript code so it can be added seamlessly to any project. The TypeScript
+compiler emits JavaScript.
-This article will focus only on TypeScript extra syntax, as opposed to [JavaScript](/docs/javascript).
+This article will focus only on TypeScript extra syntax, as opposed to
+[JavaScript](/docs/javascript).
-To test TypeScript's compiler, head to the [Playground] (http://www.typescriptlang.org/Playground) where you will be able to type code, have auto completion and directly see the emitted JavaScript.
+To test TypeScript's compiler, head to the
+[Playground] (http://www.typescriptlang.org/Playground) where you will be able
+to type code, have auto completion and directly see the emitted JavaScript.
```ts
// There are 3 basic types in TypeScript
@@ -19,7 +25,8 @@ let isDone: boolean = false;
let lines: number = 42;
let name: string = "Anders";
-// But you can omit the type annotation if the variables are derived from explicit literals
+// But you can omit the type annotation if the variables are derived
+// from explicit literals
let isDone = false;
let lines = 42;
let name = "Anders";
@@ -114,7 +121,7 @@ class Point {
}
// Classes can be explicitly marked as implementing an interface.
-// Any missing properties will then cause an error at compile-time.
+// Any missing properties will then cause an error at compile-time.
class PointPerson implements Person {
name: string
move() {}