From 0d43399bf059f908251670e3b050055ff45b140b Mon Sep 17 00:00:00 2001 From: teresalves Date: Fri, 23 Aug 2024 01:30:00 +0100 Subject: [PATCH] feat: add changelog for docker changes --- content/changelog/adding-docker/index.md | 22 + content/changelog/initial-setup/index.md | 2 +- public/changelog/adding-docker/index.html | 353 +++++++++++++ public/docs/docker/basic-commands/index.html | 494 ++++++++++++++++++ public/docs/docker/docker-compose/index.html | 480 +++++++++++++++++ public/docs/docker/index.html | 395 ++++++++++++++ public/docs/docker/index.xml | 34 ++ public/docs/docker/sitemap.xml | 24 + .../docker/what-is-a-dockerfile/index.html | 480 +++++++++++++++++ public/docs/index.html | 44 ++ public/docs/introduction/index.html | 26 + public/docs/introduction/overview/index.html | 42 +- .../docs/kubernetes/basic-commands/index.html | 42 +- public/docs/kubernetes/index.html | 26 + public/docs/sitemap.xml | 25 + public/index.xml | 35 +- public/search-index.json | 2 +- public/sitemap.xml | 35 +- 18 files changed, 2545 insertions(+), 16 deletions(-) create mode 100644 content/changelog/adding-docker/index.md create mode 100644 public/changelog/adding-docker/index.html create mode 100644 public/docs/docker/basic-commands/index.html create mode 100644 public/docs/docker/docker-compose/index.html create mode 100644 public/docs/docker/index.html create mode 100644 public/docs/docker/index.xml create mode 100644 public/docs/docker/sitemap.xml create mode 100644 public/docs/docker/what-is-a-dockerfile/index.html diff --git a/content/changelog/adding-docker/index.md b/content/changelog/adding-docker/index.md new file mode 100644 index 0000000..d987629 --- /dev/null +++ b/content/changelog/adding-docker/index.md @@ -0,0 +1,22 @@ +--- +title: "feat: add basic docker commands" +description: "Adding a baseline for docker usage" +summary: "Adding a baseline for docker usage" +date: 2024-08-23T16:27:22+02:00 +lastmod: 2023-09-07T16:27:22+02:00 +draft: false +weight: 39999 +categories: [] +tags: [] +contributors: [] +pinned: false +homepage: false +seo: + title: "" # custom title (optional) + description: "" # custom description (recommended) + canonical: "" # custom canonical URL (optional) + noindex: false # false (default) or true +--- + + +Added the first few commands for using docker, and left some room to explain Dockerfiles and docker compose. diff --git a/content/changelog/initial-setup/index.md b/content/changelog/initial-setup/index.md index 040a7e5..40b94cd 100644 --- a/content/changelog/initial-setup/index.md +++ b/content/changelog/initial-setup/index.md @@ -5,7 +5,7 @@ summary: "Just a first post, an unofficial launch" date: 2024-08-20T16:27:22+02:00 lastmod: 2023-09-07T16:27:22+02:00 draft: false -weight: 100 +weight: 40000 categories: [] tags: [] contributors: [] diff --git a/public/changelog/adding-docker/index.html b/public/changelog/adding-docker/index.html new file mode 100644 index 0000000..5d1e3d0 --- /dev/null +++ b/public/changelog/adding-docker/index.html @@ -0,0 +1,353 @@ + + + + + + + + + + + + + + + +feat: add basic docker commands | Teresa Alves + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+
+ + +
+ + +
+ +

feat: add basic docker commands

+ + +

Added the first few commands for using docker, and left some room to explain Dockerfiles and docker compose.

+ + + + + +
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/docs/docker/basic-commands/index.html b/public/docs/docker/basic-commands/index.html new file mode 100644 index 0000000..0b72081 --- /dev/null +++ b/public/docs/docker/basic-commands/index.html @@ -0,0 +1,494 @@ + + + + + + + + + + + + + + + +Basic Commands | Teresa Alves + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+
+ + +
+
+ + + + + + + +
+ + +
+ +

Basic Commands

+ + +

docker --version: Displays the installed version of Docker.

+

docker pull <image>: Downloads a Docker image from a registry.

+

docker images: Lists all the Docker images on the local system.

+

docker run <image>: Creates and starts a new container from an image.

+

docker ps: Lists currently running containers.

+

docker ps -a: Lists all containers, including stopped ones.

+

docker stop <container>: Stops a running container.

+

docker rm <container>: Removes a stopped container.

+

docker rmi <image>: Removes a Docker image from the local system.

+

docker exec -it <container> <command>: Runs a command inside a running container.

+

docker logs -f <container>: Displays the logs of a container - the -f means it will continuously show the logs until you stop it.

+

docker build -t <name> <path>: Builds a Docker image from a Dockerfile. -tis the image name or tag. The path can simply be .. If the Dockerfile is instead called .Dockerfile-dev or something, add -f .Dockerfile-dev

+

docker inspect <container>: Displays detailed information about a container or image.

+

docker network ls: Lists all Docker networks.

+

docker volume ls: Lists all Docker volumes.

+ + + + + +
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/docs/docker/docker-compose/index.html b/public/docs/docker/docker-compose/index.html new file mode 100644 index 0000000..d76ecdc --- /dev/null +++ b/public/docs/docker/docker-compose/index.html @@ -0,0 +1,480 @@ + + + + + + + + + + + + + + + +Docker Compose | Teresa Alves + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+
+ + +
+
+ + + + + + + +
+ + +
+ +

Docker Compose

+ + +

WIP

+ + + + + +
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/docs/docker/index.html b/public/docs/docker/index.html new file mode 100644 index 0000000..4c2d29d --- /dev/null +++ b/public/docs/docker/index.html @@ -0,0 +1,395 @@ + + + + + + + + + + + + + + + +Docker | Teresa Alves + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+
+ + +
+
+ +
+
+ + +
+
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/docs/docker/index.xml b/public/docs/docker/index.xml new file mode 100644 index 0000000..8f42503 --- /dev/null +++ b/public/docs/docker/index.xml @@ -0,0 +1,34 @@ + + + + Docker on Teresa Alves + http://localhost:1313/docs/docker/ + Recent content in Docker on Teresa Alves + Hugo + en + Copyright (c) 2020-2024 Hyas + Thu, 07 Sep 2023 16:04:48 +0200 + + + Basic Commands + http://localhost:1313/docs/docker/basic-commands/ + Thu, 07 Sep 2023 16:04:48 +0200 + http://localhost:1313/docs/docker/basic-commands/ + docker --version: Displays the installed version of Docker. docker pull &lt;image&gt;: Downloads a Docker image from a registry. docker images: Lists all the Docker images on the local system. + + + What is a Dockerfile + http://localhost:1313/docs/docker/what-is-a-dockerfile/ + Thu, 07 Sep 2023 16:04:48 +0200 + http://localhost:1313/docs/docker/what-is-a-dockerfile/ + WIP + + + Docker Compose + http://localhost:1313/docs/docker/docker-compose/ + Thu, 07 Sep 2023 16:04:48 +0200 + http://localhost:1313/docs/docker/docker-compose/ + WIP + + + diff --git a/public/docs/docker/sitemap.xml b/public/docs/docker/sitemap.xml new file mode 100644 index 0000000..3838514 --- /dev/null +++ b/public/docs/docker/sitemap.xml @@ -0,0 +1,24 @@ + + + + http://localhost:1313/docs/docker/basic-commands/ + 2023-09-07T16:04:48+02:00 + monthly + 0.5 + + + + http://localhost:1313/docs/docker/what-is-a-dockerfile/ + 2023-09-07T16:04:48+02:00 + monthly + 0.5 + + + + http://localhost:1313/docs/docker/docker-compose/ + 2023-09-07T16:04:48+02:00 + monthly + 0.5 + + \ No newline at end of file diff --git a/public/docs/docker/what-is-a-dockerfile/index.html b/public/docs/docker/what-is-a-dockerfile/index.html new file mode 100644 index 0000000..16e3012 --- /dev/null +++ b/public/docs/docker/what-is-a-dockerfile/index.html @@ -0,0 +1,480 @@ + + + + + + + + + + + + + + + +What is a Dockerfile | Teresa Alves + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+
+ + +
+
+ + + + + + + +
+ + +
+ +

What is a Dockerfile

+ + +

WIP

+ + + + + +
+ +
+ + +
+
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/docs/index.html b/public/docs/index.html index 33668e8..81200d8 100644 --- a/public/docs/index.html +++ b/public/docs/index.html @@ -137,6 +137,26 @@
Docs
+
  • +
    + Docker + +
    +
  • +
  • Kubernetes @@ -289,6 +309,14 @@

    Docs

    + + + +
    Basic Commands → @@ -297,6 +325,14 @@

    Docs

    + + + +
    Overview → @@ -304,6 +340,14 @@

    Docs

    + + + +
    diff --git a/public/docs/introduction/index.html b/public/docs/introduction/index.html index 61f27b2..e92091a 100644 --- a/public/docs/introduction/index.html +++ b/public/docs/introduction/index.html @@ -144,6 +144,26 @@
    Docs
  • +
  • +
    + Docker + +
    +
  • +
  • Kubernetes @@ -298,6 +318,10 @@

    Introduction

    + + + +
    Overview → @@ -305,6 +329,8 @@

    Introduction

    + +
    diff --git a/public/docs/introduction/overview/index.html b/public/docs/introduction/overview/index.html index 121769e..31c2da1 100644 --- a/public/docs/introduction/overview/index.html +++ b/public/docs/introduction/overview/index.html @@ -153,6 +153,26 @@
    Docs
  • +
  • +
    + Docker + +
    +
  • +
  • Kubernetes @@ -316,6 +336,26 @@
    +
  • +
  • Kubernetes @@ -359,7 +399,7 @@

    Overview

    Next
    - Kubernetes + Docker
    diff --git a/public/docs/kubernetes/basic-commands/index.html b/public/docs/kubernetes/basic-commands/index.html index f5c75c9..6c3a096 100644 --- a/public/docs/kubernetes/basic-commands/index.html +++ b/public/docs/kubernetes/basic-commands/index.html @@ -153,6 +153,26 @@
    Docs
  • +
  • +
    + Docker + +
    +
  • +
  • Kubernetes @@ -316,6 +336,26 @@
    +
  • +
  • Kubernetes @@ -442,7 +482,7 @@

    Requesting without an ingress
    Prev
    -
    Introduction - Overview + Docker - Docker Compose diff --git a/public/docs/kubernetes/index.html b/public/docs/kubernetes/index.html index 5b17e14..ccbeafd 100644 --- a/public/docs/kubernetes/index.html +++ b/public/docs/kubernetes/index.html @@ -144,6 +144,26 @@

    Docs
  • +
  • +
    + Docker + +
    +
  • +
  • Kubernetes @@ -296,6 +316,8 @@

    Kubernetes

    + +
    Basic Commands → @@ -305,6 +327,10 @@

    Kubernetes

    + + + +
    diff --git a/public/docs/sitemap.xml b/public/docs/sitemap.xml index e7389f9..b075584 100644 --- a/public/docs/sitemap.xml +++ b/public/docs/sitemap.xml @@ -8,6 +8,13 @@ 0.5 + + http://localhost:1313/docs/docker/ + 2023-09-07T16:06:50+02:00 + monthly + 0.5 + + http://localhost:1313/docs/kubernetes/ 2023-09-07T16:06:50+02:00 @@ -20,6 +27,24 @@ monthly 0.5 + + http://localhost:1313/docs/docker/basic-commands/ + 2023-09-07T16:04:48+02:00 + monthly + 0.5 + + + http://localhost:1313/docs/docker/what-is-a-dockerfile/ + 2023-09-07T16:04:48+02:00 + monthly + 0.5 + + + http://localhost:1313/docs/docker/docker-compose/ + 2023-09-07T16:04:48+02:00 + monthly + 0.5 + http://localhost:1313/docs/kubernetes/basic-commands/ 2023-09-07T16:04:48+02:00 diff --git a/public/index.xml b/public/index.xml index e4913b7..fe4a9e2 100644 --- a/public/index.xml +++ b/public/index.xml @@ -23,13 +23,6 @@ http://localhost:1313/about-me/about-me/dogs/ This is the best dog, Ellie: Right now, she is my only pup. Maybe when she gets less crazy I can get another one. - - feat: initial setup with content - http://localhost:1313/changelog/initial-setup/ - Tue, 20 Aug 2024 16:27:22 +0200 - http://localhost:1313/changelog/initial-setup/ - Just a first post, an unofficial launch - Overview http://localhost:1313/docs/introduction/overview/ @@ -37,6 +30,27 @@ http://localhost:1313/docs/introduction/overview/ These docs summarize some technologies and respective commands related to Backend and Platform Engineering. Feel free to post a PR to update typos or new interesting commands, or put in an issue if you wish to see a whole new module. + + Basic Commands + http://localhost:1313/docs/docker/basic-commands/ + Thu, 07 Sep 2023 16:04:48 +0200 + http://localhost:1313/docs/docker/basic-commands/ + docker --version: Displays the installed version of Docker. docker pull &lt;image&gt;: Downloads a Docker image from a registry. docker images: Lists all the Docker images on the local system. + + + What is a Dockerfile + http://localhost:1313/docs/docker/what-is-a-dockerfile/ + Thu, 07 Sep 2023 16:04:48 +0200 + http://localhost:1313/docs/docker/what-is-a-dockerfile/ + WIP + + + Docker Compose + http://localhost:1313/docs/docker/docker-compose/ + Thu, 07 Sep 2023 16:04:48 +0200 + http://localhost:1313/docs/docker/docker-compose/ + WIP + Basic Commands http://localhost:1313/docs/kubernetes/basic-commands/ @@ -51,6 +65,13 @@ http://localhost:1313/about-me/events/public-speaking-events/ Diversity and Inclusion in the tech world 27/06/2024 I was a guest in an event for Career Management in Tech where I spoke about the importance of diversity and inclusion in the workplace, as a representative of As Raparigas do Código. + + feat: initial setup with content + http://localhost:1313/changelog/initial-setup/ + Tue, 20 Aug 2024 16:27:22 +0200 + http://localhost:1313/changelog/initial-setup/ + Just a first post, an unofficial launch + Privacy Policy http://localhost:1313/privacy/ diff --git a/public/search-index.json b/public/search-index.json index e00b1f2..0cc097e 100644 --- a/public/search-index.json +++ b/public/search-index.json @@ -1 +1 @@ -[{"content":"Hello and welcome! 👋\nI am Teresa Alves, a Software Engineer from Portugal 🇵🇹 I have a background in Control and Automation (aka Math and Robots) and I have professional experience as a backend, platform and systems engineer.\nI am also a volunteer for As Raparigas do Código, a volunteer organization focused including women in the tech world, and to get young childrens interested in technology.\nThis website will share my quick guides to certain technologies, that will help me not forget things, and might help you learn them.\nFeel free to add me on LinkedIn!\nNeed help with life? If you need help with things, I can help with the following technical things:\nbasics of programming; what is backend, frontend, devops?; setting up your first API mock technical interviews; System design; Observability; Other platform related things (feel free to ask); Non technical stuff:\nStarting a career in tech; building a CV; how to show confidence in interviews; how to deal with anxious dogs; Feel free to contact me on LinkedIn with any questions\nWant to contribute? These notes represent things I know or have studied so I don\u0026rsquo;t really want external contributions for whole new modules. However, feel free to add new issues in this repo for doc requests or propose fixes for something I already have that seems incorrect or incomplete!\n","date":"2023-09-07","id":0,"permalink":"/about-me/about-me/quick-summary/","summary":"Hello and welcome! 👋\nI am Teresa Alves, a Software Engineer from Portugal 🇵🇹 I have a background in Control and Automation (aka Math and Robots) and I have professional experience as a backend, platform and systems engineer.","tags":[],"title":"Quick Summary"},{"content":"This is the best dog, Ellie:\nRight now, she is my only pup. Maybe when she gets less crazy I can get another one.\nI gained some knowledge of anxious dogs and how to deal with the anxiety caused by anxious dogs, so feel free to ask me about this too. I can also recommend good trainers and pet stores. And kennels if you\u0026rsquo;re looking to adopt or contribute 🐕\n","date":"2023-09-07","id":1,"permalink":"/about-me/about-me/dogs/","summary":"This is the best dog, Ellie:\nRight now, she is my only pup. Maybe when she gets less crazy I can get another one.","tags":[],"title":"Dogs"},{"content":"Just a first commit - my dog, some thoughts and some docs have been added, starting with Kubernetes.\nfeat!: will represent full new sections\nfeat: will mean there were new submodules\nfix: just a fix to existing things\nTypos and other irrelevant things will not be worthy of an entry here Long/mid term, these changelogs should be automated.\n","date":"2024-08-20","id":2,"permalink":"/changelog/initial-setup/","summary":"Just a first post, an unofficial launch","tags":[],"title":"feat: initial setup with content"},{"content":"","date":"2023-09-07","id":3,"permalink":"/changelog/","summary":"","tags":[],"title":"Change log"},{"content":"","date":"2023-09-07","id":4,"permalink":"/docs/introduction/","summary":"","tags":[],"title":"Introduction"},{"content":"These docs summarize some technologies and respective commands related to Backend and Platform Engineering.\nFeel free to post a PR to update typos or new interesting commands, or put in an issue if you wish to see a whole new module.\nThe search bar works too, if you\u0026rsquo;re looking for something in particular 🔍\n","date":"2023-09-07","id":5,"permalink":"/docs/introduction/overview/","summary":"These docs summarize some technologies and respective commands related to Backend and Platform Engineering.\nFeel free to post a PR to update typos or new interesting commands, or put in an issue if you wish to see a whole new module.","tags":[],"title":"Overview"},{"content":"","date":"2023-09-07","id":6,"permalink":"/about-me/about-me/","summary":"","tags":[],"title":"About me"},{"content":"","date":"2023-09-07","id":7,"permalink":"/about-me/events/","summary":"","tags":[],"title":"Events"},{"content":"","date":"2023-09-07","id":8,"permalink":"/docs/kubernetes/","summary":"","tags":[],"title":"Kubernetes"},{"content":"Baseline commands kubectl get pods - check if the pods are starting correctly. You can add | grep -c \u0026lt;deployment-name\u0026gt; to count how many pods you have at a current time. You can also filter by label: kubectl get pods -l 'labelname=labelvalue'\nkubectl get deploy -o wide - tells you which version it is getting from the repo, so you can be sure that you are deploying to the correct one. You can also check how many replicas are updated.\nkubectl get configmap \u0026lt;config-map-name\u0026gt; (or kubectl get cm for lazy people like me) - check the config maps that exist. BUT they all already exist basically, so what you usually want to check is what’s inside them with: kubectl describe cm \u0026lt;config-map-name\u0026gt;.\nNote that if you update the configmap, the values read by the pod don’t change automatically. The cm are read at the beginning of the deploy so in order to have it read you need to restart the pods.\nkubectl get quota - if you see your pods are not starting and your deployment is stuck, it might be because you ran out of quota. You can also check errors in the events\nGetting logs and events If you need to check events:\nkubectl get events --sort-by='.metadata.creationTimestamp'\nAnd now logs:\nkubectl get logs -f \u0026lt;pod_name\u0026gt;\nOr for pods that have been restarted:\nkubectl get logs \u0026lt;pod_name\u0026gt; —previous\nCreating Secrets Secrets are objects that generally contain sensitive information, such as tokens or secrets. They behave similarly to a configmap but they are used only for sensitive information, so it’s not hardcoded in the application code.\nEach secret can have several keys, and therefore, several passwords or other pieces of information. You can therefore have a secret called credentials where inside you have two keys password and user with each respective value. Don’t forget that when reading a secret in your pod.yaml configs you need to specify both the secret name and the key from which you need the value:\n- name: ENV_VAR_NAME\rvalueFrom:\rsecretKeyRef:\rname: secret_name\rkey: password # or whatever your key is\rReading secrets kubectl edit secret \u0026lt;secret—name\u0026gt; and you can see the secret value there (but don’t edit it!)\nbut it will show you the secret info and the value encoded in base64. To read it back you must do:\nkubectl get secret \u0026lt;SECRET_NAME\u0026gt; \u0026quot;--template={{.data.password}}\u0026quot; | base64 --decode\nNote that if you do want to edit it like that, you need to convert it to base64 before that.\nAccessing other services From inside the cluster:\ncurl \u0026lt;service-name\u0026gt;.\u0026lt;namespace-name\u0026gt;:\u0026lt;port\u0026gt;\nIf the service you are trying to access is in the namespace as your pod currently is, then you can omit the namespace name and just do\n\u0026lt;service-name\u0026gt;:\u0026lt;port\u0026gt;\nOr just use the internal ingress associated with the service. Get it with:\nkubectl get ingress\nGoing inside the pod kubectl exec -it \u0026lt;pod-name\u0026gt; bash → if you have only one container in your pod, it will go inside that container. Otherwise, you will have to specify which container in that pod you are trying to access by using -c \u0026lt;container-name\u0026gt;.\nprintenv - run this command while inside the container to print all the environment variables that this is reading. It is particularly useful to verify if the config map and secrets are being correctly read in the pod.\nping \u0026lt;url\u0026gt; or curl \u0026lt;url\u0026gt; - some services are not accessible through your local machine, but only inside the cluster. You can run this inside a pod.\nRequesting without an ingress kubectl port-forward \u0026lt;pod-name\u0026gt; \u0026lt;local-port:pod-port\u0026gt; - useful to do testing curls from your local machine\n","date":"2023-09-07","id":9,"permalink":"/docs/kubernetes/basic-commands/","summary":"Baseline commands kubectl get pods - check if the pods are starting correctly. You can add | grep -c \u0026lt;deployment-name\u0026gt; to count how many pods you have at a current time.","tags":[],"title":"Basic Commands"},{"content":"Diversity and Inclusion in the tech world 27/06/2024 I was a guest in an event for Career Management in Tech where I spoke about the importance of diversity and inclusion in the workplace, as a representative of As Raparigas do Código.\nI believe that diversity is important for innovation and to achieve the best solutions. However, we do not currently have enough women in tech to have a 50/50 distribution of men and women in these roles. Because of that, we strive to have more girls interested in the area and we want to make sure that the women (and the other tech minorities) that are already in here feel included and have their voices heard. Being empathetic, respectful and inclusive to your coworkers is much more important than hitting quotas. This last part will come eventually, if the overall environment is pleasant and accepting.\nYou can read the summary of the discussion and listen to the whole thing here (in Portuguese).\n","date":"2023-09-07","id":10,"permalink":"/about-me/events/public-speaking-events/","summary":"Diversity and Inclusion in the tech world 27/06/2024 I was a guest in an event for Career Management in Tech where I spoke about the importance of diversity and inclusion in the workplace, as a representative of As Raparigas do Código.","tags":[],"title":"Public Speaking Events"},{"content":"","date":"2023-09-07","id":11,"permalink":"/about-me/","summary":"","tags":[],"title":"Docs"},{"content":"","date":"2023-09-07","id":12,"permalink":"/docs/","summary":"","tags":[],"title":"Docs"},{"content":"","date":"2023-09-07","id":13,"permalink":"/privacy/","summary":"","tags":[],"title":"Privacy Policy"},{"content":"","date":"2023-09-07","id":14,"permalink":"/","summary":"","tags":[],"title":"Teresa Alves"},{"content":"","date":"0001-01-01","id":15,"permalink":"/categories/","summary":"","tags":[],"title":"Categories"},{"content":"","date":"0001-01-01","id":16,"permalink":"/contributors/","summary":"","tags":[],"title":"Contributors"},{"content":"","date":"0001-01-01","id":17,"permalink":"/tags/","summary":"","tags":[],"title":"Tags"}] \ No newline at end of file +[{"content":"Hello and welcome! 👋\nI am Teresa Alves, a Software Engineer from Portugal 🇵🇹 I have a background in Control and Automation (aka Math and Robots) and I have professional experience as a backend, platform and systems engineer.\nI am also a volunteer for As Raparigas do Código, a volunteer organization focused including women in the tech world, and to get young childrens interested in technology.\nThis website will share my quick guides to certain technologies, that will help me not forget things, and might help you learn them.\nFeel free to add me on LinkedIn!\nNeed help with life? If you need help with things, I can help with the following technical things:\nbasics of programming; what is backend, frontend, devops?; setting up your first API mock technical interviews; System design; Observability; Other platform related things (feel free to ask); Non technical stuff:\nStarting a career in tech; building a CV; how to show confidence in interviews; how to deal with anxious dogs; Feel free to contact me on LinkedIn with any questions\nWant to contribute? These notes represent things I know or have studied so I don\u0026rsquo;t really want external contributions for whole new modules. However, feel free to add new issues in this repo for doc requests or propose fixes for something I already have that seems incorrect or incomplete!\n","date":"2023-09-07","id":0,"permalink":"/about-me/about-me/quick-summary/","summary":"Hello and welcome! 👋\nI am Teresa Alves, a Software Engineer from Portugal 🇵🇹 I have a background in Control and Automation (aka Math and Robots) and I have professional experience as a backend, platform and systems engineer.","tags":[],"title":"Quick Summary"},{"content":"This is the best dog, Ellie:\nRight now, she is my only pup. Maybe when she gets less crazy I can get another one.\nI gained some knowledge of anxious dogs and how to deal with the anxiety caused by anxious dogs, so feel free to ask me about this too. I can also recommend good trainers and pet stores. And kennels if you\u0026rsquo;re looking to adopt or contribute 🐕\n","date":"2023-09-07","id":1,"permalink":"/about-me/about-me/dogs/","summary":"This is the best dog, Ellie:\nRight now, she is my only pup. Maybe when she gets less crazy I can get another one.","tags":[],"title":"Dogs"},{"content":"","date":"2023-09-07","id":2,"permalink":"/changelog/","summary":"","tags":[],"title":"Change log"},{"content":"","date":"2023-09-07","id":3,"permalink":"/docs/introduction/","summary":"","tags":[],"title":"Introduction"},{"content":"These docs summarize some technologies and respective commands related to Backend and Platform Engineering.\nFeel free to post a PR to update typos or new interesting commands, or put in an issue if you wish to see a whole new module.\nThe search bar works too, if you\u0026rsquo;re looking for something in particular 🔍\n","date":"2023-09-07","id":4,"permalink":"/docs/introduction/overview/","summary":"These docs summarize some technologies and respective commands related to Backend and Platform Engineering.\nFeel free to post a PR to update typos or new interesting commands, or put in an issue if you wish to see a whole new module.","tags":[],"title":"Overview"},{"content":"","date":"2023-09-07","id":5,"permalink":"/docs/docker/","summary":"","tags":[],"title":"Docker"},{"content":"docker --version: Displays the installed version of Docker.\ndocker pull \u0026lt;image\u0026gt;: Downloads a Docker image from a registry.\ndocker images: Lists all the Docker images on the local system.\ndocker run \u0026lt;image\u0026gt;: Creates and starts a new container from an image.\ndocker ps: Lists currently running containers.\ndocker ps -a: Lists all containers, including stopped ones.\ndocker stop \u0026lt;container\u0026gt;: Stops a running container.\ndocker rm \u0026lt;container\u0026gt;: Removes a stopped container.\ndocker rmi \u0026lt;image\u0026gt;: Removes a Docker image from the local system.\ndocker exec -it \u0026lt;container\u0026gt; \u0026lt;command\u0026gt;: Runs a command inside a running container.\ndocker logs -f \u0026lt;container\u0026gt;: Displays the logs of a container - the -f means it will continuously show the logs until you stop it.\ndocker build -t \u0026lt;name\u0026gt; \u0026lt;path\u0026gt;: Builds a Docker image from a Dockerfile. -tis the image name or tag. The path can simply be .. If the Dockerfile is instead called .Dockerfile-dev or something, add -f .Dockerfile-dev\ndocker inspect \u0026lt;container\u0026gt;: Displays detailed information about a container or image.\ndocker network ls: Lists all Docker networks.\ndocker volume ls: Lists all Docker volumes.\n","date":"2023-09-07","id":6,"permalink":"/docs/docker/basic-commands/","summary":"docker --version: Displays the installed version of Docker.\ndocker pull \u0026lt;image\u0026gt;: Downloads a Docker image from a registry.\ndocker images: Lists all the Docker images on the local system.","tags":[],"title":"Basic Commands"},{"content":"WIP\n","date":"2023-09-07","id":7,"permalink":"/docs/docker/what-is-a-dockerfile/","summary":"WIP","tags":[],"title":"What is a Dockerfile"},{"content":"WIP\n","date":"2023-09-07","id":8,"permalink":"/docs/docker/docker-compose/","summary":"WIP","tags":[],"title":"Docker Compose"},{"content":"","date":"2023-09-07","id":9,"permalink":"/about-me/about-me/","summary":"","tags":[],"title":"About me"},{"content":"","date":"2023-09-07","id":10,"permalink":"/about-me/events/","summary":"","tags":[],"title":"Events"},{"content":"","date":"2023-09-07","id":11,"permalink":"/docs/kubernetes/","summary":"","tags":[],"title":"Kubernetes"},{"content":"Baseline commands kubectl get pods - check if the pods are starting correctly. You can add | grep -c \u0026lt;deployment-name\u0026gt; to count how many pods you have at a current time. You can also filter by label: kubectl get pods -l 'labelname=labelvalue'\nkubectl get deploy -o wide - tells you which version it is getting from the repo, so you can be sure that you are deploying to the correct one. You can also check how many replicas are updated.\nkubectl get configmap \u0026lt;config-map-name\u0026gt; (or kubectl get cm for lazy people like me) - check the config maps that exist. BUT they all already exist basically, so what you usually want to check is what’s inside them with: kubectl describe cm \u0026lt;config-map-name\u0026gt;.\nNote that if you update the configmap, the values read by the pod don’t change automatically. The cm are read at the beginning of the deploy so in order to have it read you need to restart the pods.\nkubectl get quota - if you see your pods are not starting and your deployment is stuck, it might be because you ran out of quota. You can also check errors in the events\nGetting logs and events If you need to check events:\nkubectl get events --sort-by='.metadata.creationTimestamp'\nAnd now logs:\nkubectl get logs -f \u0026lt;pod_name\u0026gt;\nOr for pods that have been restarted:\nkubectl get logs \u0026lt;pod_name\u0026gt; —previous\nCreating Secrets Secrets are objects that generally contain sensitive information, such as tokens or secrets. They behave similarly to a configmap but they are used only for sensitive information, so it’s not hardcoded in the application code.\nEach secret can have several keys, and therefore, several passwords or other pieces of information. You can therefore have a secret called credentials where inside you have two keys password and user with each respective value. Don’t forget that when reading a secret in your pod.yaml configs you need to specify both the secret name and the key from which you need the value:\n- name: ENV_VAR_NAME\rvalueFrom:\rsecretKeyRef:\rname: secret_name\rkey: password # or whatever your key is\rReading secrets kubectl edit secret \u0026lt;secret—name\u0026gt; and you can see the secret value there (but don’t edit it!)\nbut it will show you the secret info and the value encoded in base64. To read it back you must do:\nkubectl get secret \u0026lt;SECRET_NAME\u0026gt; \u0026quot;--template={{.data.password}}\u0026quot; | base64 --decode\nNote that if you do want to edit it like that, you need to convert it to base64 before that.\nAccessing other services From inside the cluster:\ncurl \u0026lt;service-name\u0026gt;.\u0026lt;namespace-name\u0026gt;:\u0026lt;port\u0026gt;\nIf the service you are trying to access is in the namespace as your pod currently is, then you can omit the namespace name and just do\n\u0026lt;service-name\u0026gt;:\u0026lt;port\u0026gt;\nOr just use the internal ingress associated with the service. Get it with:\nkubectl get ingress\nGoing inside the pod kubectl exec -it \u0026lt;pod-name\u0026gt; bash → if you have only one container in your pod, it will go inside that container. Otherwise, you will have to specify which container in that pod you are trying to access by using -c \u0026lt;container-name\u0026gt;.\nprintenv - run this command while inside the container to print all the environment variables that this is reading. It is particularly useful to verify if the config map and secrets are being correctly read in the pod.\nping \u0026lt;url\u0026gt; or curl \u0026lt;url\u0026gt; - some services are not accessible through your local machine, but only inside the cluster. You can run this inside a pod.\nRequesting without an ingress kubectl port-forward \u0026lt;pod-name\u0026gt; \u0026lt;local-port:pod-port\u0026gt; - useful to do testing curls from your local machine\n","date":"2023-09-07","id":12,"permalink":"/docs/kubernetes/basic-commands/","summary":"Baseline commands kubectl get pods - check if the pods are starting correctly. You can add | grep -c \u0026lt;deployment-name\u0026gt; to count how many pods you have at a current time.","tags":[],"title":"Basic Commands"},{"content":"Diversity and Inclusion in the tech world 27/06/2024 I was a guest in an event for Career Management in Tech where I spoke about the importance of diversity and inclusion in the workplace, as a representative of As Raparigas do Código.\nI believe that diversity is important for innovation and to achieve the best solutions. However, we do not currently have enough women in tech to have a 50/50 distribution of men and women in these roles. Because of that, we strive to have more girls interested in the area and we want to make sure that the women (and the other tech minorities) that are already in here feel included and have their voices heard. Being empathetic, respectful and inclusive to your coworkers is much more important than hitting quotas. This last part will come eventually, if the overall environment is pleasant and accepting.\nYou can read the summary of the discussion and listen to the whole thing here (in Portuguese).\n","date":"2023-09-07","id":13,"permalink":"/about-me/events/public-speaking-events/","summary":"Diversity and Inclusion in the tech world 27/06/2024 I was a guest in an event for Career Management in Tech where I spoke about the importance of diversity and inclusion in the workplace, as a representative of As Raparigas do Código.","tags":[],"title":"Public Speaking Events"},{"content":"","date":"2023-09-07","id":14,"permalink":"/about-me/","summary":"","tags":[],"title":"Docs"},{"content":"","date":"2023-09-07","id":15,"permalink":"/docs/","summary":"","tags":[],"title":"Docs"},{"content":"Just a first commit - my dog, some thoughts and some docs have been added, starting with Kubernetes.\nfeat!: will represent full new sections\nfeat: will mean there were new submodules\nfix: just a fix to existing things\nTypos and other irrelevant things will not be worthy of an entry here Long/mid term, these changelogs should be automated.\n","date":"2024-08-20","id":16,"permalink":"/changelog/initial-setup/","summary":"Just a first post, an unofficial launch","tags":[],"title":"feat: initial setup with content"},{"content":"","date":"2023-09-07","id":17,"permalink":"/privacy/","summary":"","tags":[],"title":"Privacy Policy"},{"content":"","date":"2023-09-07","id":18,"permalink":"/","summary":"","tags":[],"title":"Teresa Alves"},{"content":"","date":"0001-01-01","id":19,"permalink":"/categories/","summary":"","tags":[],"title":"Categories"},{"content":"","date":"0001-01-01","id":20,"permalink":"/contributors/","summary":"","tags":[],"title":"Contributors"},{"content":"","date":"0001-01-01","id":21,"permalink":"/tags/","summary":"","tags":[],"title":"Tags"}] \ No newline at end of file diff --git a/public/sitemap.xml b/public/sitemap.xml index 139ef71..6e5d6aa 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -11,11 +11,6 @@ 2023-09-07T16:04:48+02:00 monthly 0.5 - - http://localhost:1313/changelog/initial-setup/ - 2023-09-07T16:27:22+02:00 - monthly - 0.5 http://localhost:1313/changelog/ 2023-09-07T16:21:44+02:00 @@ -31,6 +26,26 @@ 2023-09-07T16:04:48+02:00 monthly 0.5 + + http://localhost:1313/docs/docker/ + 2023-09-07T16:06:50+02:00 + monthly + 0.5 + + http://localhost:1313/docs/docker/basic-commands/ + 2023-09-07T16:04:48+02:00 + monthly + 0.5 + + http://localhost:1313/docs/docker/what-is-a-dockerfile/ + 2023-09-07T16:04:48+02:00 + monthly + 0.5 + + http://localhost:1313/docs/docker/docker-compose/ + 2023-09-07T16:04:48+02:00 + monthly + 0.5 http://localhost:1313/about-me/about-me/ 2023-09-07T16:06:50+02:00 @@ -66,6 +81,16 @@ 2023-09-07T16:12:03+02:00 monthly 0.5 + + http://localhost:1313/changelog/adding-docker/ + 2023-09-07T16:27:22+02:00 + monthly + 0.5 + + http://localhost:1313/changelog/initial-setup/ + 2023-09-07T16:27:22+02:00 + monthly + 0.5 http://localhost:1313/privacy/ 2023-09-07T17:19:07+02:00