{"id":1030,"date":"2025-06-02T06:00:00","date_gmt":"2025-06-02T04:00:00","guid":{"rendered":"https:\/\/ahmed-nasr.info\/?p=1030"},"modified":"2025-05-30T09:56:46","modified_gmt":"2025-05-30T07:56:46","slug":"odoo-ci-cd-gitlab","status":"publish","type":"post","link":"https:\/\/ahmed-nasr.info\/?p=1030","title":{"rendered":"Automating CI\/CD with GitLab &amp; Securing Your Internal ERP"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\" id=\"h-introduction-to-ci-cd-for-odoo-in-kubernetes\">Introduction to CI\/CD for Odoo in Kubernetes<\/h4>\n\n\n\n<p>With Odoo now deployed and running inside your Kubernetes cluster, the final step is to make your deployment lifecycle seamless, secure, and maintainable. In this post, we\u2019ll explore how to implement <strong>CI\/CD for Odoo with GitLab<\/strong>, manage access control, and build a robust backup and monitoring strategy.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\ud83e\udde0 This article is part of our <a href=\"https:\/\/ahmednasr.info\/odoo-on-premise-architecture\">On-Premise Odoo Infrastructure Series<\/a>.<\/p>\n<\/blockquote>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-why-use-ci-cd-for-odoo\">Why Use CI\/CD for Odoo?<\/h4>\n\n\n\n<p>Modern ERP environments require automation to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Support frequent and reliable updates<\/li>\n\n\n\n<li>Eliminate manual deployment errors<\/li>\n\n\n\n<li>Ensure full traceability and rollback readiness<\/li>\n<\/ul>\n\n\n\n<p>By implementing CI\/CD pipelines for Odoo, you can:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Automatically build Docker images from GitLab commits<\/li>\n\n\n\n<li>Push images to a private container registry<\/li>\n\n\n\n<li>Deploy updates to Kubernetes using Helm and GitOps principles<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-step-1-set-up-gitlab-for-odoo-automation\">Step 1: Set Up GitLab for Odoo Automation<\/h4>\n\n\n\n<p>To begin, install GitLab CE on a secure VM or container. Then:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Configure project repositories and developer access<\/li>\n\n\n\n<li>Enable the GitLab Container Registry<\/li>\n\n\n\n<li>Register GitLab Runners with Docker executor for builds<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-step-2-example-gitlab-ci-cd-pipeline-for-odoo\">Step 2: Example GitLab CI\/CD Pipeline for Odoo<\/h4>\n\n\n\n<p>Use the following <code>.gitlab-ci.yml<\/code> as a baseline:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>stages:\n  - build\n  - deploy\n\nbuild:\n  stage: build\n  script:\n    - docker build -t registry.local\/odoo:$CI_COMMIT_SHA .\n    - docker push registry.local\/odoo:$CI_COMMIT_SHA\n\ndeploy:\n  stage: deploy\n  script:\n    - helm upgrade --install odoo .\/k8s-odoo \\\n        --namespace odoo \\\n        --set image.tag=$CI_COMMIT_SHA<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\ud83d\udd27 Replace <code>registry.local<\/code> with your internal Docker registry address.<\/p>\n<\/blockquote>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-step-3-security-best-practices-for-ci-cd-and-odoo\">Step 3: Security Best Practices for CI\/CD and Odoo<\/h4>\n\n\n\n<p>To protect your infrastructure and application data:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Restrict access using firewalls and dedicated VLANs<\/li>\n\n\n\n<li>Use TLS encryption via self-signed or internal CA certificates<\/li>\n\n\n\n<li>Enforce RBAC (role-based access control) in Kubernetes<\/li>\n\n\n\n<li>Enable 2FA and audit logging in GitLab<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-step-4-monitor-odoo-using-prometheus-and-grafana\">Step 4: Monitor Odoo Using Prometheus and Grafana<\/h4>\n\n\n\n<p>Monitoring is essential for high availability. Deploy:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Prometheus + Grafana<\/strong> to track cluster and pod metrics<\/li>\n\n\n\n<li><strong>Loki<\/strong> or <strong>ELK Stack<\/strong> to centralize logs from containers<\/li>\n\n\n\n<li>Set alerting rules for memory, CPU, disk, and service failures<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-step-5-build-a-reliable-backup-strategy\">Step 5: Build a Reliable Backup Strategy<\/h4>\n\n\n\n<p>To prevent data loss and support disaster recovery:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use <strong>Velero<\/strong> to back up Kubernetes resources and persistent volumes<\/li>\n\n\n\n<li>Schedule <strong>PostgreSQL<\/strong> backups using Kubernetes cron jobs<\/li>\n\n\n\n<li>Store backups in NFS or S3-compatible storage for redundancy<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-final-thoughts-on-ci-cd-and-security-for-odoo\">Final Thoughts on CI\/CD and Security for Odoo<\/h4>\n\n\n\n<p>With this setup, you now have a complete enterprise-grade <strong>on-premise Odoo deployment<\/strong> that is:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Virtualized using <strong>Proxmox<\/strong><\/li>\n\n\n\n<li>Containerized and scalable via <strong>Kubernetes<\/strong><\/li>\n\n\n\n<li>Automated through <strong>GitLab CI\/CD<\/strong><\/li>\n\n\n\n<li>Secured and monitored for long-term reliability<\/li>\n<\/ul>\n\n\n\n<p>This end-to-end deployment ensures 24\/7 uptime, full control over your ERP data, and the agility to evolve with business needs.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\ud83d\udca1 Ready to go live? <a href=\"https:\/\/ahmednasr.info\/contact\">Contact us<\/a> to audit your deployment or <a href=\"https:\/\/github.com\/ahmednasr\/odoo-ci-cd\">download our GitLab automation templates<\/a>.<\/p>\n<\/blockquote>\n\n\n\n<p>That wraps up the core infrastructure series. Stay tuned for bonus content on BI dashboards, custom module pipelines, and multi-cluster Odoo federation.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n","protected":false},"excerpt":{"rendered":"<p>Introduction to CI\/CD for Odoo in Kubernetes With Odoo now deployed and running inside your [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1102,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[30,31],"tags":[193,171,38,198,192,194,197,185,195,186,199,200,196,165],"class_list":["post-1030","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-erp","category-odoo","tag-ci-cd-for-odoo","tag-devops-for-erp","tag-erp-automation","tag-erp-monitoring","tag-gitlab-pipelines","tag-gitops","tag-helm-deployment","tag-kubernetes-deployment","tag-odoo-ci-cd","tag-odoo-on-kubernetes","tag-postgresql-backups","tag-prometheus-grafana","tag-proxmox-odoo","tag-secure-erp"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.8 (Yoast SEO v25.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Automating CI\/CD with GitLab &amp; Securing Your Internal ERP - AHMED NASRELDIN | \u0623\u062d\u0645\u062f \u0646\u0635\u0631\u0627\u0644\u062f\u064a\u0646<\/title>\n<meta name=\"description\" content=\"Implement CI\/CD for Odoo with GitLab to automate deployments, improve security, and ensure seamless updates within Kubernetes.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ahmed-nasr.info\/?p=1030\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automating CI\/CD with GitLab &amp; Securing Your Internal ERP\" \/>\n<meta property=\"og:description\" content=\"Implement CI\/CD for Odoo with GitLab to automate deployments, improve security, and ensure seamless updates within Kubernetes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ahmed-nasr.info\/?p=1030\" \/>\n<meta property=\"og:site_name\" content=\"AHMED NASRELDIN | \u0623\u062d\u0645\u062f \u0646\u0635\u0631\u0627\u0644\u062f\u064a\u0646\" \/>\n<meta property=\"article:published_time\" content=\"2025-06-02T04:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ahmed-nasr.info\/wp-content\/uploads\/2025\/06\/ChatGPT-Image-May-30-2025-09_26_52-AM.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1536\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"admin.anm\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin.anm\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/ahmed-nasr.info\/?p=1030#article\",\"isPartOf\":{\"@id\":\"https:\/\/ahmed-nasr.info\/?p=1030\"},\"author\":{\"name\":\"admin.anm\",\"@id\":\"https:\/\/ahmed-nasr.info\/#\/schema\/person\/0febfc0570431674375c401bf0ade998\"},\"headline\":\"Automating CI\/CD with GitLab &amp; Securing Your Internal ERP\",\"datePublished\":\"2025-06-02T04:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/ahmed-nasr.info\/?p=1030\"},\"wordCount\":422,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/ahmed-nasr.info\/#\/schema\/person\/0febfc0570431674375c401bf0ade998\"},\"image\":{\"@id\":\"https:\/\/ahmed-nasr.info\/?p=1030#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ahmed-nasr.info\/wp-content\/uploads\/2025\/06\/ChatGPT-Image-May-30-2025-09_26_52-AM.png\",\"keywords\":[\"CI\/CD for Odoo\",\"DevOps for ERP\",\"ERP Automation\",\"ERP monitoring\",\"GitLab pipelines\",\"GitOps\",\"Helm deployment\",\"Kubernetes deployment\",\"Odoo CI\/CD\",\"Odoo on Kubernetes\",\"PostgreSQL backups\",\"Prometheus Grafana\",\"Proxmox Odoo\",\"Secure ERP\"],\"articleSection\":[\"ERP\",\"Odoo\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/ahmed-nasr.info\/?p=1030#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ahmed-nasr.info\/?p=1030\",\"url\":\"https:\/\/ahmed-nasr.info\/?p=1030\",\"name\":\"Automating CI\/CD with GitLab &amp; Securing Your Internal ERP - AHMED NASRELDIN | \u0623\u062d\u0645\u062f \u0646\u0635\u0631\u0627\u0644\u062f\u064a\u0646\",\"isPartOf\":{\"@id\":\"https:\/\/ahmed-nasr.info\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/ahmed-nasr.info\/?p=1030#primaryimage\"},\"image\":{\"@id\":\"https:\/\/ahmed-nasr.info\/?p=1030#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ahmed-nasr.info\/wp-content\/uploads\/2025\/06\/ChatGPT-Image-May-30-2025-09_26_52-AM.png\",\"datePublished\":\"2025-06-02T04:00:00+00:00\",\"description\":\"Implement CI\/CD for Odoo with GitLab to automate deployments, improve security, and ensure seamless updates within Kubernetes.\",\"breadcrumb\":{\"@id\":\"https:\/\/ahmed-nasr.info\/?p=1030#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ahmed-nasr.info\/?p=1030\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ahmed-nasr.info\/?p=1030#primaryimage\",\"url\":\"https:\/\/ahmed-nasr.info\/wp-content\/uploads\/2025\/06\/ChatGPT-Image-May-30-2025-09_26_52-AM.png\",\"contentUrl\":\"https:\/\/ahmed-nasr.info\/wp-content\/uploads\/2025\/06\/ChatGPT-Image-May-30-2025-09_26_52-AM.png\",\"width\":1536,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/ahmed-nasr.info\/?p=1030#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/ahmed-nasr.info\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Automating CI\/CD with GitLab &amp; Securing Your Internal ERP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/ahmed-nasr.info\/#website\",\"url\":\"https:\/\/ahmed-nasr.info\/\",\"name\":\"AHMED NASRELDIN | \u0623\u062d\u0645\u062f \u0646\u0635\u0631\u0627\u0644\u062f\u064a\u0646\",\"description\":\"Envision. Lead. Execute\",\"publisher\":{\"@id\":\"https:\/\/ahmed-nasr.info\/#\/schema\/person\/0febfc0570431674375c401bf0ade998\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/ahmed-nasr.info\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/ahmed-nasr.info\/#\/schema\/person\/0febfc0570431674375c401bf0ade998\",\"name\":\"admin.anm\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ahmed-nasr.info\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/ahmed-nasr.info\/wp-content\/uploads\/2022\/12\/MADA_IMG2018_BW.png\",\"contentUrl\":\"https:\/\/ahmed-nasr.info\/wp-content\/uploads\/2022\/12\/MADA_IMG2018_BW.png\",\"width\":1078,\"height\":990,\"caption\":\"admin.anm\"},\"logo\":{\"@id\":\"https:\/\/ahmed-nasr.info\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/ahmed-nasr.info\"],\"url\":\"https:\/\/ahmed-nasr.info\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Automating CI\/CD with GitLab &amp; Securing Your Internal ERP - AHMED NASRELDIN | \u0623\u062d\u0645\u062f \u0646\u0635\u0631\u0627\u0644\u062f\u064a\u0646","description":"Implement CI\/CD for Odoo with GitLab to automate deployments, improve security, and ensure seamless updates within Kubernetes.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ahmed-nasr.info\/?p=1030","og_locale":"en_US","og_type":"article","og_title":"Automating CI\/CD with GitLab &amp; Securing Your Internal ERP","og_description":"Implement CI\/CD for Odoo with GitLab to automate deployments, improve security, and ensure seamless updates within Kubernetes.","og_url":"https:\/\/ahmed-nasr.info\/?p=1030","og_site_name":"AHMED NASRELDIN | \u0623\u062d\u0645\u062f \u0646\u0635\u0631\u0627\u0644\u062f\u064a\u0646","article_published_time":"2025-06-02T04:00:00+00:00","og_image":[{"width":1536,"height":1024,"url":"https:\/\/ahmed-nasr.info\/wp-content\/uploads\/2025\/06\/ChatGPT-Image-May-30-2025-09_26_52-AM.png","type":"image\/png"}],"author":"admin.anm","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin.anm","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ahmed-nasr.info\/?p=1030#article","isPartOf":{"@id":"https:\/\/ahmed-nasr.info\/?p=1030"},"author":{"name":"admin.anm","@id":"https:\/\/ahmed-nasr.info\/#\/schema\/person\/0febfc0570431674375c401bf0ade998"},"headline":"Automating CI\/CD with GitLab &amp; Securing Your Internal ERP","datePublished":"2025-06-02T04:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/ahmed-nasr.info\/?p=1030"},"wordCount":422,"commentCount":0,"publisher":{"@id":"https:\/\/ahmed-nasr.info\/#\/schema\/person\/0febfc0570431674375c401bf0ade998"},"image":{"@id":"https:\/\/ahmed-nasr.info\/?p=1030#primaryimage"},"thumbnailUrl":"https:\/\/ahmed-nasr.info\/wp-content\/uploads\/2025\/06\/ChatGPT-Image-May-30-2025-09_26_52-AM.png","keywords":["CI\/CD for Odoo","DevOps for ERP","ERP Automation","ERP monitoring","GitLab pipelines","GitOps","Helm deployment","Kubernetes deployment","Odoo CI\/CD","Odoo on Kubernetes","PostgreSQL backups","Prometheus Grafana","Proxmox Odoo","Secure ERP"],"articleSection":["ERP","Odoo"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ahmed-nasr.info\/?p=1030#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ahmed-nasr.info\/?p=1030","url":"https:\/\/ahmed-nasr.info\/?p=1030","name":"Automating CI\/CD with GitLab &amp; Securing Your Internal ERP - AHMED NASRELDIN | \u0623\u062d\u0645\u062f \u0646\u0635\u0631\u0627\u0644\u062f\u064a\u0646","isPartOf":{"@id":"https:\/\/ahmed-nasr.info\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ahmed-nasr.info\/?p=1030#primaryimage"},"image":{"@id":"https:\/\/ahmed-nasr.info\/?p=1030#primaryimage"},"thumbnailUrl":"https:\/\/ahmed-nasr.info\/wp-content\/uploads\/2025\/06\/ChatGPT-Image-May-30-2025-09_26_52-AM.png","datePublished":"2025-06-02T04:00:00+00:00","description":"Implement CI\/CD for Odoo with GitLab to automate deployments, improve security, and ensure seamless updates within Kubernetes.","breadcrumb":{"@id":"https:\/\/ahmed-nasr.info\/?p=1030#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ahmed-nasr.info\/?p=1030"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ahmed-nasr.info\/?p=1030#primaryimage","url":"https:\/\/ahmed-nasr.info\/wp-content\/uploads\/2025\/06\/ChatGPT-Image-May-30-2025-09_26_52-AM.png","contentUrl":"https:\/\/ahmed-nasr.info\/wp-content\/uploads\/2025\/06\/ChatGPT-Image-May-30-2025-09_26_52-AM.png","width":1536,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/ahmed-nasr.info\/?p=1030#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ahmed-nasr.info\/"},{"@type":"ListItem","position":2,"name":"Automating CI\/CD with GitLab &amp; Securing Your Internal ERP"}]},{"@type":"WebSite","@id":"https:\/\/ahmed-nasr.info\/#website","url":"https:\/\/ahmed-nasr.info\/","name":"AHMED NASRELDIN | \u0623\u062d\u0645\u062f \u0646\u0635\u0631\u0627\u0644\u062f\u064a\u0646","description":"Envision. Lead. Execute","publisher":{"@id":"https:\/\/ahmed-nasr.info\/#\/schema\/person\/0febfc0570431674375c401bf0ade998"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ahmed-nasr.info\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/ahmed-nasr.info\/#\/schema\/person\/0febfc0570431674375c401bf0ade998","name":"admin.anm","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ahmed-nasr.info\/#\/schema\/person\/image\/","url":"https:\/\/ahmed-nasr.info\/wp-content\/uploads\/2022\/12\/MADA_IMG2018_BW.png","contentUrl":"https:\/\/ahmed-nasr.info\/wp-content\/uploads\/2022\/12\/MADA_IMG2018_BW.png","width":1078,"height":990,"caption":"admin.anm"},"logo":{"@id":"https:\/\/ahmed-nasr.info\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/ahmed-nasr.info"],"url":"https:\/\/ahmed-nasr.info\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/ahmed-nasr.info\/index.php?rest_route=\/wp\/v2\/posts\/1030","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ahmed-nasr.info\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ahmed-nasr.info\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ahmed-nasr.info\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ahmed-nasr.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1030"}],"version-history":[{"count":2,"href":"https:\/\/ahmed-nasr.info\/index.php?rest_route=\/wp\/v2\/posts\/1030\/revisions"}],"predecessor-version":[{"id":1056,"href":"https:\/\/ahmed-nasr.info\/index.php?rest_route=\/wp\/v2\/posts\/1030\/revisions\/1056"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ahmed-nasr.info\/index.php?rest_route=\/wp\/v2\/media\/1102"}],"wp:attachment":[{"href":"https:\/\/ahmed-nasr.info\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1030"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ahmed-nasr.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1030"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ahmed-nasr.info\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1030"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}