From bc2e43ab3fe734364b4d5aa1c25a45fd29c0d7b2 Mon Sep 17 00:00:00 2001
From: donal <donalspring@gmail.com>
Date: Thu, 05 Apr 2018 18:52:36 +0200
Subject: [PATCH] Added the first part of lab1

---
 exercises/1-the-manual-menace/README.md |   85 ++++++++++++++++++++++++++++++++++++++----
 1 files changed, 76 insertions(+), 9 deletions(-)

diff --git a/exercises/1-the-manual-menace/README.md b/exercises/1-the-manual-menace/README.md
index f04cd1b..2628785 100644
--- a/exercises/1-the-manual-menace/README.md
+++ b/exercises/1-the-manual-menace/README.md
@@ -39,18 +39,85 @@
 2. Commit your `enablement-ci-cd` repository to the GitLab Instance you've created
 
 ## Step by Step Instructions
-> This is a structured guide with references to exact filenames and sections of text to be added.
+> This is a structured guide with references to exact filenames and explanations.
 
-### Part 1 - do some things
-2. Do thing using tool X.
-2. Insert blah into `file1.txt`
+### Part 1 - Create OpenShift Projects
+3. Clone the scaffold project to your local machine and open it in your favourite editor.
+```bash
+git clone git@github.com:rht-labs/enablement-ci-cd.git
 ```
-export SOME_THING=biscuits
-```
-2. Open console and navigate to `New Item` and click it ![new-item](../images/new-item.png)
 
-### Part 2 - do some other things
-3. Do other things
+3. The project is laid out as follows
+```
+.
+��������� README.md
+��������� docker
+������� ��������� jenkins-slave-node
+��������� inventory
+������� ��������� group_vars
+������� ������� ��������� all.yml
+������� ��������� hosts
+��������� jenkins-s2i
+������� ��������� configuration
+��������� params
+������� ��������� project-requests-ci-cd
+��������� requirements.yml
+��������� templates
+        ��������� project-requests.yml
+```
+ * `docker` folder contains our jenkins-slave images that will be used by the builds.
+ * `jenkins-s2i` contains the configuration and plugins we want to bring jenkins to life with
+ * `params` houses the variables we will load the templates with
+ * `templates` is a collection of OpenShift templates
+ * `inventory/group_vars/all.yml` is the collection of objects we want to insert into the cluster.
+ * `requirements.yml` is a manifest which contains the ansible modules needed to run the playbook
+Open the `inventory/group_vars/all.yml` file; you should see a some variables setup to create the `ci-cd` namespace. This calls the `templates/project-requests.yml` template with the `params/project-requests-ci-cd` parameters. We will add some additional content here but first let's explore the parameters and the template
+
+3. Open the `params/project-requests-ci-cd` and replace the `<your name or initials>` with your name to create the correstponding projects in the cluster. 
+![new-item](../images/ci-cd-project-namespace.png)
+
+3. Create another two params files for `params/project-requests-dev` & `params/project-requests-test` and add the `NAMESPACE=<your name>-dev` && `NAMESPACE=<your name>-test` and update their Display names.
+
+3. In the `inventory/group_vars/all.yml` file; add the new inventory items for the projects you want to create (dev & test) by adding another object to the content array. You can copy and paste them from the `ci-cd` example and update them accordingly eg
+```yaml
+  - name: <your name>-dev
+    template: "{{ inventory_dir }}/../templates/project-requests.yml"
+    template_action: create
+    params: "{{ inventory_dir }}/../params/project-requests-dev"
+    tags:
+    - projects
+  - name: <your name>-test
+    template: "{{ inventory_dir }}/../templates/project-requests.yml"
+    template_action: create
+    params: "{{ inventory_dir }}/../params/project-requests-test"
+    tags:
+    - projects
+```
+
+3. With the configuration in place; install the OpenShift Applier dependency
+```bash
+$ ansible-galaxy install -r requirements.yml --roles-path=roles
+```
+
+3. Apply the inventory by logging into OpenShift and then running 
+```bash
+$ oc login -p <password> -u <user> <cluster_url>
+$ ansible-playbook roles/casl-ansible/playbooks/openshift-cluster-seed.yml -i inventory/
+``` 
+
+3. Once successful you should see an output similar to this ![playbook-success](../images/play-book-success.png)
+
+### Part 2 - Nexus and GitLab
+4. Add apps ....
+
+
+### Part 3 - Jenkins & s2i
+5. Add new plugin ...
+
+### Part 4 - live, die repeat
+6. Commit your code to the new repo in GitLab
+
+6. Burn it to the ground 
 
 _____
 

--
Gitblit v1.9.3