diff --git a/config.toml b/config.toml
index c0af230..2e391c7 100644
--- a/config.toml
+++ b/config.toml
@@ -3,7 +3,7 @@ languageCode = 'en-us'
title = 'OMAR.A'
-paginate = 4
+paginate = 10
[params]
description = "My Tech Blog"
diff --git a/content/journey/journey.md b/content/journey/journey.md
new file mode 100644
index 0000000..eb1cef8
--- /dev/null
+++ b/content/journey/journey.md
@@ -0,0 +1,14 @@
+---
+title: "My Software Journey: Intro"
+date: 2024-07-01T19:11:50+03:00
+draft: false
+description: "My Software Journey"
+image: "/images/journey/1.jpg"
+imageBig: "/images/journey/1.jpg"
+categories: ["journey"]
+avatar: "/images/avatar.webp"
+---
+
+I'm starting a journey to build random stuff, and apply and practice Backend Engineering, I will go from a Monolithic application to a Microservices exploring and building cool stuff and Proof of Concepts. ๐๐ป
+
+
\ No newline at end of file
diff --git a/content/journey/mission-1.md b/content/journey/mission-1.md
index e695a93..a4645b7 100644
--- a/content/journey/mission-1.md
+++ b/content/journey/mission-1.md
@@ -1,16 +1,14 @@
---
-title: "Sw Journey: Mission 1"
-date: 2024-08-06T19:11:50+03:00
-draft: true
-description: "Software Journey Mission 1"
-image: "/images/journey/1.jpg"
-imageBig: "/images/journey/1.jpg"
-categories: ["journey", "k8s", "kubernetes"]
+title: "My Journey: K8s and Helm"
+date: 2024-08-05T19:11:50+03:00
+draft: false
+description: "Discovering Kubernetes and Helm Charts"
+image: "/images/journey/k8s.png"
+imageBig: "/images/journey/k8s.png"
+categories: ["journey", "k8s", "kubernetes", "helm", "helm-charts", "docker"]
avatar: "/images/avatar.webp"
---
-I'm starting a journey to build random stuff, and apply and practice Backend Engineering, I will go from a Monolithic application to a Microservices exploring and building cool stuff and Proof of Concepts. ๐๐ป
-
## Mission 1
during this week I will discover and learn Kubernetes, and how to deploy a simple application to k8s.
@@ -48,25 +46,4 @@ the API will be a **Incantogamus app** a simple CRUD application for video games
- The Helm Chart is accessible at: https://civilcoder55.github.io/learning-helm-charts/
- updated the application readme to include the Helm Chart usage. https://github.com/civilcoder55/incantogamus
-## Mission 2
-
-- [x] Discover Prometheus and Grafana
-
- - I discovered Prometheus, understanding its functionality and how to use it for monitoring applications. Additionally, I learned about Grafana and how to visualize the metrics collected by Prometheus.
- - I also gained knowledge on creating and using an Exporter to gather metrics from an application and expose them to Prometheus.
-
-- [x] Collect and Visualize Asterisk Metrics
-
- - I collected metrics from an Asterisk server using the Asterisk `res_prometheus` module and exposed them to Prometheus.
- - I visualized these metrics using a simple Grafana dashboard.
- - Additionally, I used `node_exporter` to collect metrics from the Asterisk server node.
-
- 
-
- 
-
- 
-- [ ] Collect K8s Cluster Metrics Using Prometheus
-- [ ] Visualize the Metrics Using Grafana
-- [ ] Create Alerts using Prometheus Alertmanager
diff --git a/content/journey/mission-2.md b/content/journey/mission-2.md
new file mode 100644
index 0000000..172dd64
--- /dev/null
+++ b/content/journey/mission-2.md
@@ -0,0 +1,43 @@
+---
+title: "My Journey: Prometheus and Grafana"
+date: 2024-08-06T19:11:50+03:00
+draft: false
+description: "Discovering Prometheus and Grafana"
+image: "/images/journey/prom.png"
+imageBig: "/images/journey/prom.webp"
+categories:
+ [
+ "journey",
+ "prometheus",
+ "grafana",
+ "monitoring",
+ "metrics",
+ "asterisk",
+ "observability",
+ "dashboard",
+ ]
+avatar: "/images/avatar.webp"
+---
+
+## Mission 2
+
+- [x] Discover Prometheus and Grafana
+
+ - I discovered Prometheus, understanding its functionality and how to use it for monitoring applications. Additionally, I learned about Grafana and how to visualize the metrics collected by Prometheus.
+ - I also gained knowledge on creating and using an Exporter to gather metrics from an application and expose them to Prometheus.
+
+- [x] Collect and Visualize Asterisk Metrics
+
+ - I collected metrics from an Asterisk server using the Asterisk `res_prometheus` module and exposed them to Prometheus.
+ - I visualized these metrics using a simple Grafana dashboard.
+ - Additionally, I used `node_exporter` to collect metrics from the Asterisk server node.
+
+ 
+
+ 
+
+ 
+
+- [ ] Collect K8s Cluster Metrics Using Prometheus
+- [ ] Visualize the Metrics Using Grafana
+- [ ] Create Alerts using Prometheus Alertmanager
diff --git a/content/journey/mission-3.md b/content/journey/mission-3.md
new file mode 100644
index 0000000..a1c1b8e
--- /dev/null
+++ b/content/journey/mission-3.md
@@ -0,0 +1,79 @@
+---
+title: "Managing authorizations in microservices."
+date: 2024-08-09T20:11:50+03:00
+draft: false
+description: "Discovering a way to manage authorizations and permissions in a microservices architecture using authorizations-as-service."
+image: "/images/journey/auth-as-service.png"
+imageBig: "/images/journey/auth-as-service.png"
+categories:
+ ["journey", "authorization", "permissions", "permify", "microservices"]
+avatar: "/images/avatar.webp"
+---
+
+## Authorizations in Microservices
+
+While developing a monolithic application, managing authorizations and permissions is a bit easier, as you can have a single point of control for all the authorizations and permissions. However, microservices have become a bit more complex.
+
+In a microservices architecture, each service has its own database and logic for handling permissions. This can lead to a lot of duplication and inconsistency in the way permissions are managed across services. also, there will be an issue of sharing the permissions across services.
+
+One way to solve this issue is to use an authorization-as-service. This means that you have a separate service that is responsible for managing all the authorizations for all the services in your architecture.
+
+
+### POC
+
+Today I will do a quick proof of concept. I will use an open source that provide this functionality, there are a lot,
+
+#### Some of Open source solutions
+- perimfy
+- openfga
+- casbin
+- topaz
+
+#### Cloud solutions
+- there are good cloud solutions like [Permit.io](https://www.permit.io)
+
+For today poc I will use [Permify](https://permify.co/).
+
+
+---
+
+1. Run the permify service on docker and expose HTTP and GRPC ports.
+
+
+---
+
+2. Created a new tenant at permify to store our policies
+
+
+---
+
+3. Created our schema, I used here the traditional RBAC model for simplicity. but in the real world and complex apps, there are a lot of models for complex use cases. Actually, Permify is considered as fine-grained access control service inspired by `Googleโs Zanzibar`.
+
+ Permify has a gread article about their solution [Here](https://docs.permify.co/permify-overview/authorization-service)
+
+
+---
+
+---
+
+4. Attached roles to our users
+
+
+---
+
+5. Created a simple nodejs services to test check user permissions using GRPC via permify sdk.
+
+
+---
+
+---
+
+6. Created a wrapper to check user permissions.
+
+
+---
+
+7. Final Test
+
+
+---
\ No newline at end of file
diff --git a/layouts/_default/_markup/render-image.html b/layouts/_default/_markup/render-image.html
index 868355d..cb92108 100644
--- a/layouts/_default/_markup/render-image.html
+++ b/layouts/_default/_markup/render-image.html
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html
index 2e4a5ab..bde7474 100644
--- a/layouts/_default/baseof.html
+++ b/layouts/_default/baseof.html
@@ -11,7 +11,7 @@
-
+