diff --git a/README.md b/README.md
index ef03993..12f3364 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,7 @@
Network |
Linux |
Terraform |
- Docker |
+ Containers |
Coding |
@@ -194,12 +194,20 @@ Name | Description
## Community
Another great way to learn is to learn from the experience of others. For that, the are some excellent DevOps communities.
+
Name | Comments
:------|:------:
[Reddit DevOps](https://www.reddit.com/r/devops) | Reddit DevOps Community
[Linkedin DevOps](https://www.linkedin.com/groups/2825397) | Linkedin DevOps Community
[DevOps Bits](https://www.facebook.com/groups/538897960007080) | Facebook DevOps group. Disclosure: I started it :)
+## Conferences
+
+Name | Comments
+:------|:------:
+[DevOpsDays](https://devopsdays.org) | DevOps Conferences around the world
+[Velocity](https://conferences.oreilly.com/velocity) | Oracle's DevOps conference
+
## Books
Read book! Practice is important and the best way to learn practical things but reading about cultures, methods, concepts, ... has its own important role in your path towards mastering DevOps and SRE.
@@ -253,9 +261,9 @@ Name | Comments
Name | Comments
:------|:------:
-[DevOps Exercises](https://github.com/bregman-arie/devops-exercises) | Personally, I think it's pretty decent :)
[System Design Primer](https://github.com/donnemartin/system-design-primer) | "Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards."
kdn251 | [Interviews](https://github.com/kdn251/interviews) |
+[DevOps Exercises](https://github.com/bregman-arie/devops-exercises) | By topic, DevOps related questions and exercises
## Misc
@@ -271,7 +279,7 @@ Name | Description
[The 12 Factor App](https://12factor.net) | must-read in my opinion
[A distributed Systems Reading List](https://dancres.github.io/Pages/?fbclid=IwAR2gapLU03iaxH4NDotc0LD_GiXOkyByfMT3iwufofUOEfCKEVwmezE3vCw)
-## DevOps Toolchain
+## DevOps Tooling
- [ ] CI/CD
- [ ] Jenkins (Managed & on-premise, Containers supported, Plugins)
diff --git a/images/containers.png b/images/containers.png
new file mode 100644
index 0000000..6f0a020
Binary files /dev/null and b/images/containers.png differ
diff --git a/resources/containers.md b/resources/containers.md
index 68fda6b..065f706 100644
--- a/resources/containers.md
+++ b/resources/containers.md
@@ -1,51 +1,36 @@
-## Tools
+## Containers
-Name | Description
-:------|:------:
-[dive](https://github.com/wagoodman/dive) | "A tool for exploring a docker image, layer content, ..."
-[trivy](https://github.com/aquasecurity/trivy) | "A Simple and Comprehensive Vulnerability Scanner for Containers and other Artifacts, Suitable for CI."
+### Articles
-## Docker - Resources
+Name | Comments
+:------ |:--------:
+[Docker CheatSheet](https://cheatsheet.dennyzhang.com/cheatsheet-docker-a4) |
+[Everything you need to know about containers](https://medium.com/faun/everything-you-need-to-know-about-containers-7655badb4307) |
+[A container networking overview](https://jvns.ca/blog/2016/12/22/container-networking) |
+[My Docker Cheat Sheet](https://medium.com/statuscode/dockercheatsheet-9730ce03630d) |
+[Docker Networking Deep Dive](http://100daysofdevops.com/21-days-of-docker-day-19-docker-networking-deep-dive/?fbclid=IwAR19KJWwhZjulbn7JNbBYLFxKFf-x0v25TSc-_bOJ6YieUND4A6UZcBSUhA) |
-Name | Description
-:------|:------:
-[Docker Compose](https://docs.docker.com/compose/overview) | Multi-container applications
-
-## Docker - Checklist
+#### Dockerfile
-- [ ] **Images**
- - [ ] tag
- - [ ] `docker images` command
-- [ ] **Running containers**
- - [ ] `docker run` command
- - [ ] `-ti` arguments for interactive terminal
-- [ ] **List containers**
- - [ ] `docker ps` command
- - [ ] `-a` argument for stopped
- - [ ] `-l` argument for last stopped
+### Projects
-- [ ] **Commit changes**
- - [ ] `docker commit` command
- - [ ] `docker tag` command
+Name | Comments
+:------ |:--------:
+[awesome-docker](https://github.com/veggiemonk/awesome-docker) |
-## Nomad - Resources
-Name | Description
-:------|:------:
-[Official Introduction](https://www.nomadproject.io/intro/index.html) | Great place for beginners to start learning about Nomad
+#### Cheatsheet
-## Nomad - Commands
+* Stop and remove all containers: `docker container stop $(docker container ls -aq)`
+* Run container with bash shell: `docker run -ti ubuntu:latest bash`
+* Check how many containers are running: `docker info`
+* Cleanup everything: `docker system prune -a -f`
-Run Nomad agent in development mode (don't use in production):
+### Tools
- sudo nomad agent -dev
-
-See registered Nomad cluster nodes:
-
- nomad node status
-
-View members of the gossip ring (used to connect all instances together):
-
- nomad server members
+Name | Description
+:------|:------:
+[dive](https://github.com/wagoodman/dive) | "A tool for exploring a docker image, layer content, ..."
+[trivy](https://github.com/aquasecurity/trivy) | "A Simple and Comprehensive Vulnerability Scanner for Containers and other Artifacts, Suitable for CI."
diff --git a/resources/docker.md b/resources/docker.md
index a8d288a..e69de29 100644
--- a/resources/docker.md
+++ b/resources/docker.md
@@ -1,25 +0,0 @@
-# Docker
-
-## Articles
-
-Name | Comments
-:------ |:--------:
-[Docker CheatSheet](https://cheatsheet.dennyzhang.com/cheatsheet-docker-a4) |
-[Everything you need to know about containers](https://medium.com/faun/everything-you-need-to-know-about-containers-7655badb4307) |
-[A container networking overview](https://jvns.ca/blog/2016/12/22/container-networking) |
-[My Docker Cheat Sheet](https://medium.com/statuscode/dockercheatsheet-9730ce03630d) |
-[Docker Networking Deep Dive](http://100daysofdevops.com/21-days-of-docker-day-19-docker-networking-deep-dive/?fbclid=IwAR19KJWwhZjulbn7JNbBYLFxKFf-x0v25TSc-_bOJ6YieUND4A6UZcBSUhA) |
-
-## Projects
-
-Name | Comments
-:------ |:--------:
-[awesome-docker](https://github.com/veggiemonk/awesome-docker) |
-
-
-### Cheatsheet
-
-* Stop and remove all containers: `docker container stop $(docker container ls -aq)`
-* Run container with bash shell: `docker run -ti ubuntu:latest bash`
-* Check how many containers are running: `docker info`
-* Cleanup everything: `docker system prune -a -f`
diff --git a/resources/git.md b/resources/git.md
index 3a02380..4435165 100644
--- a/resources/git.md
+++ b/resources/git.md
@@ -6,3 +6,13 @@ Name | Description
[Learn git concepts, not commands](https://dev.to/unseenwizzard/learn-git-concepts-not-commands-4gjc) | Article on Git concepts
[Codeacademy Learn Git](https://www.codecademy.com/learn/learn-git) | Not Free
[Git for Computer Scientists](https://eagain.net/articles/git-for-computer-scientists/) |
+
+
+## CheatSheet
+
+* Revert to commit X
+
+```
+git revert --no-commit X..HEAD
+git commit
+```
diff --git a/resources/kubernetes.md b/resources/kubernetes.md
index b00bf08..640ea37 100644
--- a/resources/kubernetes.md
+++ b/resources/kubernetes.md
@@ -58,14 +58,18 @@ Name | Comments
[CKAD-Practice-Questions](https://github.com/bbachi/CKAD-Practice-Questions) | "a consolidated list for CKAD practice questions"
[CKAD Prep Exam Video](https://www.youtube.com/watch?v=TPXwVmvzlV4&ab_channel=TheFrontOpsGuy) | A video of doing a CKAD prep exam (2020)
-## CheatSheet
+### CheatSheet
-### Minikube
+#### Minikube
* Minikube version: `minikube version`
* Start cluster: `minikube start`
* Delete cluster: `minikube delete`
+#### Service Accounts
+
+* List service accounts: `kubectl get serviceaccounts`
+
### Kubernetes
* Cluster version: `kubectl version`
diff --git a/resources/linux.md b/resources/linux.md
index acd243d..286a0ca 100644
--- a/resources/linux.md
+++ b/resources/linux.md
@@ -16,12 +16,19 @@ Name | Comments
:------|:------:
[Linux Filesystem Explained](https://www.linux.com/training-tutorials/linux-filesystem-explained) | NSIA
-## Linux Deep Dive - Articles
+## Linux Internals - Articles
Name | Comments
:------|:------:
[How are Unix pipes implemented?](https://toroid.org/unix-pipe-implementation) |
+## Linux Internals - Videos
+
+Name | Comments
+:------|:------:
+[Understanding fork() system call for new process creation
+](https://www.youtube.com/watch?v=PwxTbksJ2fo) |
+
## Learn Linux - Videos
Name | Comments
diff --git a/resources/mongo.md b/resources/mongo.md
index 987fc59..1b2399e 100644
--- a/resources/mongo.md
+++ b/resources/mongo.md
@@ -25,6 +25,7 @@ Name | Description
* Show all the document in a collection: `db.COLLECTION_NAME.find({})`
* Count the number of documents in a collection: `db.COLLECTION_NAME.count()`
* Remove all the documents from a collection: `db.COLLECTION_NAME.remove({})`
+* Remove field from all documents: `db.COLLECTION_NAME.update({}, {$unset: { FIELD_NAME: ""}}, {multi:true})`
* Rename field: ```db.hosts.updateMany( {}, { $rename: { "CURRENT_FIELD_NAME": "NEW_FIELD_NAME" } } )```
#### Mongoexport
diff --git a/resources/openshift.md b/resources/openshift.md
new file mode 100644
index 0000000..8dcaca2
--- /dev/null
+++ b/resources/openshift.md
@@ -0,0 +1,39 @@
+## OpenShift
+
+### Learn OpenShift
+
+Name | Comments
+:------ |:--------:
+[Learn OpenShift](https://learn.openshift.com) | Interactive way to learn OpenShift
+
+### CheatSheet
+
+* Login: `oc login -u my_user -p my_password`
+
+#### Project
+
+* Highlevel overview of the project: `oc status`
+* Create a new project: `oc new-project my_project`
+* List projects: `oc get projects`
+
+#### User
+
+* The username of the user currently logged in: `oc whoami`
+* The OpenShift server currently used: `oc whoami --show-server`
+
+#### Pods
+
+* List pods: `oc get po`
+* List pods with with node info: `oc get po -o wide`
+
+#### Deployments
+
+* List deployments: `oc get deployments`
+
+#### Service Accounts
+
+* List service accounts: `oc get serviceaccounts`
+
+#### Misc
+
+* Login: `oc login --token= --server=https://:`