diff --git a/CHECKLIST.md b/CHECKLIST.md
new file mode 100644
index 00000000..0038de59
--- /dev/null
+++ b/CHECKLIST.md
@@ -0,0 +1,24 @@
+Checklist to use when delivering a workshop
+Authored by Jérôme; additions by Bridget
+
+- [ ] Create event-named branch (such as `conferenceYYYY`) in the [main repo](https://github.com/jpetazzo/container.training/)
+ - [ ] Create file `slides/_redirects` containing a link to the desired tutorial: `/ /kube-halfday.yml.html 200`
+ - [ ] Push local branch to GitHub and merge into main repo
+ - [ ] [Netlify setup](https://app.netlify.com/sites/container-training/settings/domain): create subdomain for event-named branch
+- [ ] Add link to event-named branch to [container.training front page](https://github.com/jpetazzo/container.training/blob/master/slides/index.html)
+- [ ] Update the slides that says which versions we are using for [kube](https://github.com/jpetazzo/container.training/blob/master/slides/kube/versions-k8s.md) or [swarm](https://github.com/jpetazzo/container.training/blob/master/slides/swarm/versions.md) workshops
+- [ ] Update the version of Compose and Machine in [settings](https://github.com/jpetazzo/container.training/tree/master/prepare-vms/settings)
+- [ ] (optional) Create chatroom
+- [ ] (optional) Set chatroom in YML ([kube half-day example](https://github.com/jpetazzo/container.training/blob/master/slides/kube-halfday.yml#L6-L8)) and deploy
+- [ ] (optional) Put chat link on [container.training front page](https://github.com/jpetazzo/container.training/blob/master/slides/index.html)
+- [ ] How many VMs do we need? Check with event organizers ahead of time
+- [ ] Provision VMs (slightly more than we think we'll need)
+- [ ] Change password on presenter's VMs (to forestall any hijinx)
+- [ ] Onsite: walk the room to count seats, check power supplies, lectern, A/V setup
+- [ ] Print cards
+- [ ] Cut cards
+- [ ] Last-minute merge from master
+- [ ] Check that all looks good
+- [ ] DELIVER!
+- [ ] Shut down VMs
+- [ ] Update index.html to remove chat link and move session to past things
diff --git a/prepare-vms/README.md b/prepare-vms/README.md
index 818ebd4c..33d367ef 100644
--- a/prepare-vms/README.md
+++ b/prepare-vms/README.md
@@ -116,7 +116,7 @@ wrap Run this program in a container
- Optional:
- Choose a name for the workshop (default is "workshop")
- Choose the number of instances (default is 3)
- - Customize the desired instance size (default is Standard_D2_v3)
+ - Customize the desired instance size (default is Standard_D1_v2)
- Launch instances with your chosen resource group name and your preferred region; the examples are "workshop" and "eastus":
```
az group create --name workshop --location eastus
diff --git a/prepare-vms/azuredeploy.json b/prepare-vms/azuredeploy.json
index 560212c1..74dc620c 100644
--- a/prepare-vms/azuredeploy.json
+++ b/prepare-vms/azuredeploy.json
@@ -60,7 +60,7 @@
},
"vmSize": {
"type": "string",
- "defaultValue": "Standard_D2_v3",
+ "defaultValue": "Standard_D1_v2",
"metadata": {
"description": "VM Size."
}
diff --git a/prepare-vms/azuredeploy.parameters.json b/prepare-vms/azuredeploy.parameters.json
index 51f7edae..81058ffb 100644
--- a/prepare-vms/azuredeploy.parameters.json
+++ b/prepare-vms/azuredeploy.parameters.json
@@ -12,7 +12,7 @@
"value": 3
},
"vmSize": {
- "value": "Standard_D2_v3"
+ "value": "Standard_D1_v2"
}
}
}
diff --git a/slides/common/prereqs.md b/slides/common/prereqs.md
index bbc190bc..cc2d17aa 100644
--- a/slides/common/prereqs.md
+++ b/slides/common/prereqs.md
@@ -70,7 +70,7 @@ Misattributed to Benjamin Franklin
- Go to [container.training](http://container.training/) to view these slides
-- Join the chat room on @@CHAT@@
+- Join the chat room: @@CHAT@@
diff --git a/slides/common/thankyou.md b/slides/common/thankyou.md
index 0b18b64f..e383865f 100644
--- a/slides/common/thankyou.md
+++ b/slides/common/thankyou.md
@@ -6,6 +6,6 @@ Thank you!
class: title, in-person
-That's all folks!
Questions?
+That's all, folks!
Questions?

diff --git a/slides/kube/links-bridget.md b/slides/kube/links-bridget.md
new file mode 100644
index 00000000..1c9601da
--- /dev/null
+++ b/slides/kube/links-bridget.md
@@ -0,0 +1,17 @@
+# Links and resources
+
+- [Kubernetes Community](https://kubernetes.io/community/) - Slack, Google Groups, meetups
+
+- [Kubernetes on StackOverflow](https://stackoverflow.com/questions/tagged/kubernetes)
+
+- [Play With Kubernetes Hands-On Labs](https://medium.com/@marcosnils/introducing-pwk-play-with-k8s-159fcfeb787b)
+
+- [Azure Container Service](https://docs.microsoft.com/azure/aks/)
+
+- [Cloud Developer Advocates](https://developer.microsoft.com/advocates/)
+
+- [Local meetups](https://www.meetup.com/)
+
+- [devopsdays](https://www.devopsdays.org/)
+
+.footnote[These slides (and future updates) are on → http://container.training/]
diff --git a/slides/kube/links.md b/slides/kube/links.md
index 35a25f05..2a54ed54 100644
--- a/slides/kube/links.md
+++ b/slides/kube/links.md
@@ -1,17 +1,3 @@
-class: title, self-paced
-
-Thank you!
-
----
-
-class: title, in-person
-
-That's all folks!
Questions?
-
-
-
----
-
# Links and resources
All things Kubernetes:
diff --git a/slides/kube/ourapponkube.md b/slides/kube/ourapponkube.md
index f2ec887d..e19227f5 100644
--- a/slides/kube/ourapponkube.md
+++ b/slides/kube/ourapponkube.md
@@ -185,6 +185,7 @@ The curl command should now output:
- Build and push the images:
```bash
export REGISTRY
+ export TAG=v0.1
docker-compose -f dockercoins.yml build
docker-compose -f dockercoins.yml push
```
@@ -220,6 +221,30 @@ services:
---
+class: extra-details
+
+## Avoiding the `latest` tag
+
+.warning[Make sure that you've set the `TAG` variable properly!]
+
+- If you don't, the tag will default to `latest`
+
+- The problem with `latest`: nobody knows what it points to!
+
+ - the latest commit in the repo?
+
+ - the latest commit in some branch? (Which one?)
+
+ - the latest tag?
+
+ - some random version pushed by a random team member?
+
+- If you keep pushing the `latest` tag, how do you roll back?
+
+- Image tags should be meaningful, i.e. correspond to code branches, tags, or hashes
+
+---
+
## Deploying all the things
- We can now deploy our code (as well as a redis instance)
@@ -234,7 +259,7 @@ services:
- Deploy everything else:
```bash
for SERVICE in hasher rng webui worker; do
- kubectl run $SERVICE --image=$REGISTRY/$SERVICE
+ kubectl run $SERVICE --image=$REGISTRY/$SERVICE:$TAG
done
```
@@ -268,7 +293,7 @@ services:
---
-# Exposing services internally
+# Exposing services internally
- Three deployments need to be reachable by others: `hasher`, `redis`, `rng`
diff --git a/slides/kube/rollout.md b/slides/kube/rollout.md
index 21e25898..10a49913 100644
--- a/slides/kube/rollout.md
+++ b/slides/kube/rollout.md
@@ -149,7 +149,7 @@ Our rollout is stuck. However, the app is not dead (just 10% slower).
- We want to:
- - revert to `v0.1` (which we now realize we didn't tag - yikes!)
+ - revert to `v0.1`
- be conservative on availability (always have desired number of available workers)
- be aggressive on rollout speed (update more than one pod at a time)
- give some time to our workers to "warm up" before starting more
@@ -163,7 +163,7 @@ spec:
spec:
containers:
- name: worker
- image: $REGISTRY/worker:latest
+ image: $REGISTRY/worker:v0.1
strategy:
rollingUpdate:
maxUnavailable: 0
@@ -192,7 +192,7 @@ spec:
spec:
containers:
- name: worker
- image: $REGISTRY/worker:latest
+ image: $REGISTRY/worker:v0.1
strategy:
rollingUpdate:
maxUnavailable: 0
diff --git a/slides/logistics-bridget.md b/slides/logistics-bridget.md
new file mode 100644
index 00000000..9a4f38bb
--- /dev/null
+++ b/slides/logistics-bridget.md
@@ -0,0 +1,16 @@
+## Intros
+
+ - Hello! We are:
+
+ - .emoji[✨] Bridget ([@bridgetkromhout](https://twitter.com/bridgetkromhout))
+
+ - .emoji[🌟] Joe ([@joelaha](https://twitter.com/joelaha))
+
+- The workshop will run from 13:30-16:45
+
+- There will be a break from 15:00-15:15
+
+- Feel free to interrupt for questions at any time
+
+- *Especially when you see full screen container pictures!*
+