{"id":4317,"date":"2026-10-27T17:25:00","date_gmt":"2026-10-27T17:25:00","guid":{"rendered":"https:\/\/www.devopstrainer.in\/blog\/?p=4317"},"modified":"2026-10-27T17:25:00","modified_gmt":"2026-10-27T17:25:00","slug":"gitlabops-team-quarter-training-story","status":"publish","type":"post","link":"https:\/\/www.devopstrainer.in\/blog\/gitlabops-team-quarter-training-story\/","title":{"rendered":"One Team&#8217;s GitLabOps Quarter: A Training Story"},"content":{"rendered":"<p>Kestrel Freight is not a real company, which is precisely why it can tell the truth. Composite it from the dozen platform teams I have trained and you get the same picture every time: eleven engineers, one self-managed GitLab estate, four product lines sharing a runner pool, and a deploy story told with wide eyes. I worked with them for one quarter as their trainer, and because the Atlas now gives this scope a name \u2014 GitLabOps, a coinage of the Atlas rather than anything official \u2014 the syllabus finally had a spine. What follows is the quarter as I would teach it, with the names changed and the numbers kept honest. Trainers get one advantage operators lack: we see a dozen estates a year, so the patterns repeat early for us. Kestrel is every one of those estates, compressed into one calendar for the sake of the lesson.<\/p>\n<h2>The Team and the Mess They Started With<\/h2>\n<p>The baseline audit found everything a trainer hopes to find, because every finding is a lesson with the wrapping still on. One privileged Docker-in-Docker pool served every product line. Cloud credentials from a 2023 migration sat in CI variables. Two product lines&#8217; pipelines inherited overlapping includes, so a template edit in one repo broke three repos the same morning. Deploys to production needed &#8220;a nod from someone senior&#8221;, which was not a control but a rumour. And the platform version had drifted five minors behind because upgrades were scheduled &#8220;when things are quiet&#8221; \u2014 a season that, in freight logistics as in software, never actually arrives. The audit took two days. Writing it plainly took longer than fixing half of it.<\/p>\n<h2>The Quarter, Month by Month<\/h2>\n<h3>Month one: inventory and trust<\/h3>\n<p>We began by drawing the four loops on the whiteboard \u2014 configuration, scheduling, delivery, platform \u2014 and mapping every pipeline, runner, token and environment onto them. Then came the fleet split: runners for protected branches moved to their own tier, build environments became ephemeral, and the runners doing protected-branch work were set to retire after a single job. The shell executor option was removed entirely for anything built from outside code. Nothing about this was clever; all of it was drawn on the whiteboard before it was done in the console, which is exactly why it survived contact with real deadlines.<\/p>\n<h3>Month two: identity and guardrails<\/h3>\n<p>The 2023 credentials were revoked on a Tuesday and replaced by short-lived OIDC tokens issued fresh for each job, with the signing-grade credential reserved for the deploy job and nothing else. Production was marked protected, deployment runs to the same target were serialised, superseded deploy jobs learned to reject themselves, and the production container tag was locked to maintainers. Images began shipping with signatures that the pull-side controller verifies before anything rolls out, which quietly ended the ancient argument about whose job verification was \u2014 the machine now has the job. The team&#8217;s own phrase for the feeling was &#8220;the corridor got narrower&#8221; \u2014 approvals became structure instead of seniority. Two engineers who had bristled at the change in week five were defending it to a visitor by week nine, which is the timeline most cultural change actually follows.<\/p>\n<h3>Month three: rhythm and proof<\/h3>\n<p>Three artefacts went up on the wall that week:<\/p>\n<ul>\n<li>The upgrade calendar, pinned beside the on-call rota.<\/li>\n<li>The fleet zoning map \u2014 which runners may touch protected work.<\/li>\n<li>The quarterly drill card: kill a runner, duplicate an include, roll back.<\/li>\n<\/ul>\n<p>The calendar set a steady cadence, an upgrade every month or so, stopping at the midway versions the vendor flags as non-negotiable, letting background migrations complete before each hop, and a standing rule that the version gap never exceeds two minors. Meanwhile the dashboards that a good <a href=\"https:\/\/www.devopstrainer.in\/blog\/monitoring-and-observability-training-complete-curriculum-guide\/\">monitoring and observability curriculum<\/a> teaches teams to assemble went live, and the team rehearsed a bad Friday on purpose \u2014 a killed runner, a duplicated include, a forced rollback \u2014 because failure, rehearsed under supervision, is the cheapest trainer available anywhere.<\/p>\n<h2>What the GitLabOps Numbers Said at the End<\/h2>\n<p>Ninety days later the gauges told the story without adjectives. Pull-request feedback settled under the fifteen-minute mark at the 95th percentile. Queue time stopped appearing in standup conversation because it stayed below two minutes; nobody celebrated a dashboard, they just stopped telling war stories about it. The success rate crossed ninety percent and, more tellingly, stayed there through two release trains. Nobody could deploy production except through the gate, and the first upgrade executed inside its calendar slot with the ceremony of a payroll run. For trainers planning a production-readiness module, the Kestrel arc maps neatly onto the sequence described in our guide to the <a href=\"https:\/\/www.devopstrainer.in\/blog\/cloudops-trainer-for-production-readiness-a-complete-guide\/\">CloudOps trainer&#8217;s part in production readiness<\/a>, with platform work as the concrete substrate underneath.<\/p>\n<h2>Lessons a GitLabOps Class Should Steal<\/h2>\n<p>Draw the loops before you touch the tools, because teams cannot steer what they cannot name \u2014 and half of Kestrel&#8217;s early confusion was simply four problems wearing one costume. Change identity before architecture, since every later control assumes the tokens are short-lived. Put the calendar on the wall, because rhythm is the one control that survives the trainer&#8217;s departure; tools get renegotiated, calendars just get obeyed. And let the numbers close the quarter, because a trainer who cannot show the after-picture is only telling stories \u2014 the same evidence-first habit we advocate when <a href=\"https:\/\/www.devopstrainer.in\/blog\/teaching-failure-how-to-build-incident-response-and-resilience-into-devops-training\/\">teaching failure and resilience into the programme itself<\/a>, applied one layer down. If you teach platform teams, steal the sequence wholesale; if you are on a team like Kestrel, hand this piece to whoever owns the budget. The definitions and playbooks this syllabus condenses live in <a href=\"https:\/\/www.xopsschool.com\/gitlabops\/\">the Atlas&#8217;s GitLabOps entry<\/a>, and a good class reads it the way Kestrel did: not as documentation, but as the answer key to a quarter they have just lived through.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A fictional-but-faithful account of one platform team&#8217;s ninety days learning GitLabOps: the mess, the calendar, the controls, and the numbers after.<\/p>\n","protected":false},"author":9,"featured_media":4318,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1995],"tags":[],"class_list":["post-4317","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops-training"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>One Team&#039;s GitLabOps Quarter: A Training Story - DevOps | SRE | DevSecOps<\/title>\n<meta name=\"description\" content=\"A trainer&#039;s narrative case study of a GitLabOps quarter: fleet trust, OIDC identity, deployment guardrails, upgrade rhythm and the metrics that proved it.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.devopstrainer.in\/blog\/gitlabops-team-quarter-training-story\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"One Team&#039;s GitLabOps Quarter: A Training Story - DevOps | SRE | DevSecOps\" \/>\n<meta property=\"og:description\" content=\"A trainer&#039;s narrative case study of a GitLabOps quarter: fleet trust, OIDC identity, deployment guardrails, upgrade rhythm and the metrics that proved it.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.devopstrainer.in\/blog\/gitlabops-team-quarter-training-story\/\" \/>\n<meta property=\"og:site_name\" content=\"DevOps | SRE | DevSecOps\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-27T17:25:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.devopstrainer.in\/blog\/wp-content\/uploads\/2026\/10\/b2a-banner-2310645-banner.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Neha Sandhu\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Neha Sandhu\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.devopstrainer.in\\\/blog\\\/gitlabops-team-quarter-training-story\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.devopstrainer.in\\\/blog\\\/gitlabops-team-quarter-training-story\\\/\"},\"author\":{\"name\":\"Neha Sandhu\",\"@id\":\"https:\\\/\\\/www.devopstrainer.in\\\/blog\\\/#\\\/schema\\\/person\\\/fa5f00c15574ee67d720e086a29661e2\"},\"headline\":\"One Team&#8217;s GitLabOps Quarter: A Training Story\",\"datePublished\":\"2026-10-27T17:25:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.devopstrainer.in\\\/blog\\\/gitlabops-team-quarter-training-story\\\/\"},\"wordCount\":968,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.devopstrainer.in\\\/blog\\\/gitlabops-team-quarter-training-story\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.devopstrainer.in\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/b2a-banner-2310645-banner.png\",\"articleSection\":[\"DevOps Training\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.devopstrainer.in\\\/blog\\\/gitlabops-team-quarter-training-story\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.devopstrainer.in\\\/blog\\\/gitlabops-team-quarter-training-story\\\/\",\"url\":\"https:\\\/\\\/www.devopstrainer.in\\\/blog\\\/gitlabops-team-quarter-training-story\\\/\",\"name\":\"One Team's GitLabOps Quarter: A Training Story - DevOps | SRE | DevSecOps\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.devopstrainer.in\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.devopstrainer.in\\\/blog\\\/gitlabops-team-quarter-training-story\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.devopstrainer.in\\\/blog\\\/gitlabops-team-quarter-training-story\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.devopstrainer.in\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/b2a-banner-2310645-banner.png\",\"datePublished\":\"2026-10-27T17:25:00+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.devopstrainer.in\\\/blog\\\/#\\\/schema\\\/person\\\/fa5f00c15574ee67d720e086a29661e2\"},\"description\":\"A trainer's narrative case study of a GitLabOps quarter: fleet trust, OIDC identity, deployment guardrails, upgrade rhythm and the metrics that proved it.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.devopstrainer.in\\\/blog\\\/gitlabops-team-quarter-training-story\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.devopstrainer.in\\\/blog\\\/gitlabops-team-quarter-training-story\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.devopstrainer.in\\\/blog\\\/gitlabops-team-quarter-training-story\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.devopstrainer.in\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/b2a-banner-2310645-banner.png\",\"contentUrl\":\"https:\\\/\\\/www.devopstrainer.in\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/b2a-banner-2310645-banner.png\",\"width\":1200,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.devopstrainer.in\\\/blog\\\/gitlabops-team-quarter-training-story\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.devopstrainer.in\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"One Team&#8217;s GitLabOps Quarter: A Training Story\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.devopstrainer.in\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.devopstrainer.in\\\/blog\\\/\",\"name\":\"DevOps | SRE | DevSecOps\",\"description\":\"Automation means Cost, Quality, Time\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.devopstrainer.in\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.devopstrainer.in\\\/blog\\\/#\\\/schema\\\/person\\\/fa5f00c15574ee67d720e086a29661e2\",\"name\":\"Neha Sandhu\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b440fd5d96c8b4aae3288f95abb30dcd3ebf5aa1dea8310d5c30e7dad5bbfca6?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b440fd5d96c8b4aae3288f95abb30dcd3ebf5aa1dea8310d5c30e7dad5bbfca6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b440fd5d96c8b4aae3288f95abb30dcd3ebf5aa1dea8310d5c30e7dad5bbfca6?s=96&d=mm&r=g\",\"caption\":\"Neha Sandhu\"},\"url\":\"https:\\\/\\\/www.devopstrainer.in\\\/blog\\\/author\\\/neha-sandhu\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"One Team's GitLabOps Quarter: A Training Story - DevOps | SRE | DevSecOps","description":"A trainer's narrative case study of a GitLabOps quarter: fleet trust, OIDC identity, deployment guardrails, upgrade rhythm and the metrics that proved it.","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:\/\/www.devopstrainer.in\/blog\/gitlabops-team-quarter-training-story\/","og_locale":"en_US","og_type":"article","og_title":"One Team's GitLabOps Quarter: A Training Story - DevOps | SRE | DevSecOps","og_description":"A trainer's narrative case study of a GitLabOps quarter: fleet trust, OIDC identity, deployment guardrails, upgrade rhythm and the metrics that proved it.","og_url":"https:\/\/www.devopstrainer.in\/blog\/gitlabops-team-quarter-training-story\/","og_site_name":"DevOps | SRE | DevSecOps","article_published_time":"2026-10-27T17:25:00+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.devopstrainer.in\/blog\/wp-content\/uploads\/2026\/10\/b2a-banner-2310645-banner.png","type":"image\/png"}],"author":"Neha Sandhu","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Neha Sandhu","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.devopstrainer.in\/blog\/gitlabops-team-quarter-training-story\/#article","isPartOf":{"@id":"https:\/\/www.devopstrainer.in\/blog\/gitlabops-team-quarter-training-story\/"},"author":{"name":"Neha Sandhu","@id":"https:\/\/www.devopstrainer.in\/blog\/#\/schema\/person\/fa5f00c15574ee67d720e086a29661e2"},"headline":"One Team&#8217;s GitLabOps Quarter: A Training Story","datePublished":"2026-10-27T17:25:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.devopstrainer.in\/blog\/gitlabops-team-quarter-training-story\/"},"wordCount":968,"commentCount":0,"image":{"@id":"https:\/\/www.devopstrainer.in\/blog\/gitlabops-team-quarter-training-story\/#primaryimage"},"thumbnailUrl":"https:\/\/www.devopstrainer.in\/blog\/wp-content\/uploads\/2026\/10\/b2a-banner-2310645-banner.png","articleSection":["DevOps Training"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.devopstrainer.in\/blog\/gitlabops-team-quarter-training-story\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.devopstrainer.in\/blog\/gitlabops-team-quarter-training-story\/","url":"https:\/\/www.devopstrainer.in\/blog\/gitlabops-team-quarter-training-story\/","name":"One Team's GitLabOps Quarter: A Training Story - DevOps | SRE | DevSecOps","isPartOf":{"@id":"https:\/\/www.devopstrainer.in\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.devopstrainer.in\/blog\/gitlabops-team-quarter-training-story\/#primaryimage"},"image":{"@id":"https:\/\/www.devopstrainer.in\/blog\/gitlabops-team-quarter-training-story\/#primaryimage"},"thumbnailUrl":"https:\/\/www.devopstrainer.in\/blog\/wp-content\/uploads\/2026\/10\/b2a-banner-2310645-banner.png","datePublished":"2026-10-27T17:25:00+00:00","author":{"@id":"https:\/\/www.devopstrainer.in\/blog\/#\/schema\/person\/fa5f00c15574ee67d720e086a29661e2"},"description":"A trainer's narrative case study of a GitLabOps quarter: fleet trust, OIDC identity, deployment guardrails, upgrade rhythm and the metrics that proved it.","breadcrumb":{"@id":"https:\/\/www.devopstrainer.in\/blog\/gitlabops-team-quarter-training-story\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.devopstrainer.in\/blog\/gitlabops-team-quarter-training-story\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.devopstrainer.in\/blog\/gitlabops-team-quarter-training-story\/#primaryimage","url":"https:\/\/www.devopstrainer.in\/blog\/wp-content\/uploads\/2026\/10\/b2a-banner-2310645-banner.png","contentUrl":"https:\/\/www.devopstrainer.in\/blog\/wp-content\/uploads\/2026\/10\/b2a-banner-2310645-banner.png","width":1200,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.devopstrainer.in\/blog\/gitlabops-team-quarter-training-story\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.devopstrainer.in\/blog\/"},{"@type":"ListItem","position":2,"name":"One Team&#8217;s GitLabOps Quarter: A Training Story"}]},{"@type":"WebSite","@id":"https:\/\/www.devopstrainer.in\/blog\/#website","url":"https:\/\/www.devopstrainer.in\/blog\/","name":"DevOps | SRE | DevSecOps","description":"Automation means Cost, Quality, Time","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.devopstrainer.in\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.devopstrainer.in\/blog\/#\/schema\/person\/fa5f00c15574ee67d720e086a29661e2","name":"Neha Sandhu","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/b440fd5d96c8b4aae3288f95abb30dcd3ebf5aa1dea8310d5c30e7dad5bbfca6?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/b440fd5d96c8b4aae3288f95abb30dcd3ebf5aa1dea8310d5c30e7dad5bbfca6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b440fd5d96c8b4aae3288f95abb30dcd3ebf5aa1dea8310d5c30e7dad5bbfca6?s=96&d=mm&r=g","caption":"Neha Sandhu"},"url":"https:\/\/www.devopstrainer.in\/blog\/author\/neha-sandhu\/"}]}},"_links":{"self":[{"href":"https:\/\/www.devopstrainer.in\/blog\/wp-json\/wp\/v2\/posts\/4317","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopstrainer.in\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopstrainer.in\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopstrainer.in\/blog\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopstrainer.in\/blog\/wp-json\/wp\/v2\/comments?post=4317"}],"version-history":[{"count":1,"href":"https:\/\/www.devopstrainer.in\/blog\/wp-json\/wp\/v2\/posts\/4317\/revisions"}],"predecessor-version":[{"id":4329,"href":"https:\/\/www.devopstrainer.in\/blog\/wp-json\/wp\/v2\/posts\/4317\/revisions\/4329"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devopstrainer.in\/blog\/wp-json\/wp\/v2\/media\/4318"}],"wp:attachment":[{"href":"https:\/\/www.devopstrainer.in\/blog\/wp-json\/wp\/v2\/media?parent=4317"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopstrainer.in\/blog\/wp-json\/wp\/v2\/categories?post=4317"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopstrainer.in\/blog\/wp-json\/wp\/v2\/tags?post=4317"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}