[{"data":1,"prerenderedAt":978},["ShallowReactive",2],{"/en-us/blog/tags/gitops":3,"navigation-en-us":19,"banner-en-us":419,"footer-en-us":429,"GitOps-tag-posts-en-us":669},{"id":4,"title":5,"body":6,"category":6,"config":7,"content":9,"description":6,"extension":12,"meta":13,"navigation":14,"path":15,"seo":16,"slug":6,"stem":17,"testContent":6,"type":6,"__hash__":18},"blogTags/en-us/blog/tags/gitops.yml","Gitops",null,{"template":8},"BlogTag",{"tag":10,"tagSlug":11},"GitOps","gitops","yml",{},true,"/en-us/blog/tags/gitops",{},"en-us/blog/tags/gitops","brgqHPcR1HdRZOUSrtu5G6doBuLk_8I5Gh8aTkBr1Ok",{"data":20},{"logo":21,"freeTrial":26,"sales":31,"login":36,"items":41,"search":349,"minimal":380,"duo":399,"pricingDeployment":409},{"config":22},{"href":23,"dataGaName":24,"dataGaLocation":25},"/","gitlab logo","header",{"text":27,"config":28},"Get free trial",{"href":29,"dataGaName":30,"dataGaLocation":25},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":32,"config":33},"Talk to sales",{"href":34,"dataGaName":35,"dataGaLocation":25},"/sales/","sales",{"text":37,"config":38},"Sign in",{"href":39,"dataGaName":40,"dataGaLocation":25},"https://gitlab.com/users/sign_in/","sign in",[42,69,164,169,270,330],{"text":43,"config":44,"cards":46},"Platform",{"dataNavLevelOne":45},"platform",[47,53,61],{"title":43,"description":48,"link":49},"The intelligent orchestration platform for DevSecOps",{"text":50,"config":51},"Explore our Platform",{"href":52,"dataGaName":45,"dataGaLocation":25},"/platform/",{"title":54,"description":55,"link":56},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":57,"config":58},"Meet GitLab Duo",{"href":59,"dataGaName":60,"dataGaLocation":25},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":62,"description":63,"link":64},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":65,"config":66},"Learn more",{"href":67,"dataGaName":68,"dataGaLocation":25},"/why-gitlab/","why gitlab",{"text":70,"left":14,"config":71,"link":73,"lists":77,"footer":146},"Product",{"dataNavLevelOne":72},"solutions",{"text":74,"config":75},"View all Solutions",{"href":76,"dataGaName":72,"dataGaLocation":25},"/solutions/",[78,102,125],{"title":79,"description":80,"link":81,"items":86},"Automation","CI/CD and automation to accelerate deployment",{"config":82},{"icon":83,"href":84,"dataGaName":85,"dataGaLocation":25},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[87,91,94,98],{"text":88,"config":89},"CI/CD",{"href":90,"dataGaLocation":25,"dataGaName":88},"/solutions/continuous-integration/",{"text":54,"config":92},{"href":59,"dataGaLocation":25,"dataGaName":93},"gitlab duo agent platform - product menu",{"text":95,"config":96},"Source Code Management",{"href":97,"dataGaLocation":25,"dataGaName":95},"/solutions/source-code-management/",{"text":99,"config":100},"Automated Software Delivery",{"href":84,"dataGaLocation":25,"dataGaName":101},"Automated software delivery",{"title":103,"description":104,"link":105,"items":110},"Security","Deliver code faster without compromising security",{"config":106},{"href":107,"dataGaName":108,"dataGaLocation":25,"icon":109},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[111,115,120],{"text":112,"config":113},"Application Security Testing",{"href":107,"dataGaName":114,"dataGaLocation":25},"Application security testing",{"text":116,"config":117},"Software Supply Chain Security",{"href":118,"dataGaLocation":25,"dataGaName":119},"/solutions/supply-chain/","Software supply chain security",{"text":121,"config":122},"Software Compliance",{"href":123,"dataGaName":124,"dataGaLocation":25},"/solutions/software-compliance/","software compliance",{"title":126,"link":127,"items":132},"Measurement",{"config":128},{"icon":129,"href":130,"dataGaName":131,"dataGaLocation":25},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[133,137,141],{"text":134,"config":135},"Visibility & Measurement",{"href":130,"dataGaLocation":25,"dataGaName":136},"Visibility and Measurement",{"text":138,"config":139},"Value Stream Management",{"href":140,"dataGaLocation":25,"dataGaName":138},"/solutions/value-stream-management/",{"text":142,"config":143},"Analytics & Insights",{"href":144,"dataGaLocation":25,"dataGaName":145},"/solutions/analytics-and-insights/","Analytics and insights",{"title":147,"items":148},"GitLab for",[149,154,159],{"text":150,"config":151},"Enterprise",{"href":152,"dataGaLocation":25,"dataGaName":153},"/enterprise/","enterprise",{"text":155,"config":156},"Small Business",{"href":157,"dataGaLocation":25,"dataGaName":158},"/small-business/","small business",{"text":160,"config":161},"Public Sector",{"href":162,"dataGaLocation":25,"dataGaName":163},"/solutions/public-sector/","public sector",{"text":165,"config":166},"Pricing",{"href":167,"dataGaName":168,"dataGaLocation":25,"dataNavLevelOne":168},"/pricing/","pricing",{"text":170,"config":171,"link":173,"lists":177,"feature":257},"Resources",{"dataNavLevelOne":172},"resources",{"text":174,"config":175},"View all resources",{"href":176,"dataGaName":172,"dataGaLocation":25},"/resources/",[178,211,229],{"title":179,"items":180},"Getting started",[181,186,191,196,201,206],{"text":182,"config":183},"Install",{"href":184,"dataGaName":185,"dataGaLocation":25},"/install/","install",{"text":187,"config":188},"Quick start guides",{"href":189,"dataGaName":190,"dataGaLocation":25},"/get-started/","quick setup checklists",{"text":192,"config":193},"Learn",{"href":194,"dataGaLocation":25,"dataGaName":195},"https://university.gitlab.com/","learn",{"text":197,"config":198},"Product documentation",{"href":199,"dataGaName":200,"dataGaLocation":25},"https://docs.gitlab.com/","product documentation",{"text":202,"config":203},"Best practice videos",{"href":204,"dataGaName":205,"dataGaLocation":25},"/getting-started-videos/","best practice videos",{"text":207,"config":208},"Integrations",{"href":209,"dataGaName":210,"dataGaLocation":25},"/integrations/","integrations",{"title":212,"items":213},"Discover",[214,219,224],{"text":215,"config":216},"Customer success stories",{"href":217,"dataGaName":218,"dataGaLocation":25},"/customers/","customer success stories",{"text":220,"config":221},"Blog",{"href":222,"dataGaName":223,"dataGaLocation":25},"/blog/","blog",{"text":225,"config":226},"Remote",{"href":227,"dataGaName":228,"dataGaLocation":25},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":230,"items":231},"Connect",[232,237,242,247,252],{"text":233,"config":234},"GitLab Services",{"href":235,"dataGaName":236,"dataGaLocation":25},"/services/","services",{"text":238,"config":239},"Community",{"href":240,"dataGaName":241,"dataGaLocation":25},"/community/","community",{"text":243,"config":244},"Forum",{"href":245,"dataGaName":246,"dataGaLocation":25},"https://forum.gitlab.com/","forum",{"text":248,"config":249},"Events",{"href":250,"dataGaName":251,"dataGaLocation":25},"/events/","events",{"text":253,"config":254},"Partners",{"href":255,"dataGaName":256,"dataGaLocation":25},"/partners/","partners",{"backgroundColor":258,"textColor":259,"text":260,"image":261,"link":265},"#2f2a6b","#fff","Insights for the future of software development",{"altText":262,"config":263},"the source promo card",{"src":264},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":266,"config":267},"Read the latest",{"href":268,"dataGaName":269,"dataGaLocation":25},"/the-source/","the source",{"text":271,"config":272,"lists":274},"Company",{"dataNavLevelOne":273},"company",[275],{"items":276},[277,282,288,290,295,300,305,310,315,320,325],{"text":278,"config":279},"About",{"href":280,"dataGaName":281,"dataGaLocation":25},"/company/","about",{"text":283,"config":284,"footerGa":287},"Jobs",{"href":285,"dataGaName":286,"dataGaLocation":25},"/jobs/","jobs",{"dataGaName":286},{"text":248,"config":289},{"href":250,"dataGaName":251,"dataGaLocation":25},{"text":291,"config":292},"Leadership",{"href":293,"dataGaName":294,"dataGaLocation":25},"/company/team/e-group/","leadership",{"text":296,"config":297},"Team",{"href":298,"dataGaName":299,"dataGaLocation":25},"/company/team/","team",{"text":301,"config":302},"Handbook",{"href":303,"dataGaName":304,"dataGaLocation":25},"https://handbook.gitlab.com/","handbook",{"text":306,"config":307},"Investor relations",{"href":308,"dataGaName":309,"dataGaLocation":25},"https://ir.gitlab.com/","investor relations",{"text":311,"config":312},"Trust Center",{"href":313,"dataGaName":314,"dataGaLocation":25},"/security/","trust center",{"text":316,"config":317},"AI Transparency Center",{"href":318,"dataGaName":319,"dataGaLocation":25},"/ai-transparency-center/","ai transparency center",{"text":321,"config":322},"Newsletter",{"href":323,"dataGaName":324,"dataGaLocation":25},"/company/contact/#contact-forms","newsletter",{"text":326,"config":327},"Press",{"href":328,"dataGaName":329,"dataGaLocation":25},"/press/","press",{"text":331,"config":332,"lists":333},"Contact us",{"dataNavLevelOne":273},[334],{"items":335},[336,339,344],{"text":32,"config":337},{"href":34,"dataGaName":338,"dataGaLocation":25},"talk to sales",{"text":340,"config":341},"Support portal",{"href":342,"dataGaName":343,"dataGaLocation":25},"https://support.gitlab.com","support portal",{"text":345,"config":346},"Customer portal",{"href":347,"dataGaName":348,"dataGaLocation":25},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":350,"login":351,"suggestions":358},"Close",{"text":352,"link":353},"To search repositories and projects, login to",{"text":354,"config":355},"gitlab.com",{"href":39,"dataGaName":356,"dataGaLocation":357},"search login","search",{"text":359,"default":360},"Suggestions",[361,363,367,369,373,377],{"text":54,"config":362},{"href":59,"dataGaName":54,"dataGaLocation":357},{"text":364,"config":365},"Code Suggestions (AI)",{"href":366,"dataGaName":364,"dataGaLocation":357},"/solutions/code-suggestions/",{"text":88,"config":368},{"href":90,"dataGaName":88,"dataGaLocation":357},{"text":370,"config":371},"GitLab on AWS",{"href":372,"dataGaName":370,"dataGaLocation":357},"/partners/technology-partners/aws/",{"text":374,"config":375},"GitLab on Google Cloud",{"href":376,"dataGaName":374,"dataGaLocation":357},"/partners/technology-partners/google-cloud-platform/",{"text":378,"config":379},"Why GitLab?",{"href":67,"dataGaName":378,"dataGaLocation":357},{"freeTrial":381,"mobileIcon":386,"desktopIcon":391,"secondaryButton":394},{"text":382,"config":383},"Start free trial",{"href":384,"dataGaName":30,"dataGaLocation":385},"https://gitlab.com/-/trials/new/","nav",{"altText":387,"config":388},"Gitlab Icon",{"src":389,"dataGaName":390,"dataGaLocation":385},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":387,"config":392},{"src":393,"dataGaName":390,"dataGaLocation":385},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":395,"config":396},"Get Started",{"href":397,"dataGaName":398,"dataGaLocation":385},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/compare/gitlab-vs-github/","get started",{"freeTrial":400,"mobileIcon":405,"desktopIcon":407},{"text":401,"config":402},"Learn more about GitLab Duo",{"href":403,"dataGaName":404,"dataGaLocation":385},"/gitlab-duo/","gitlab duo",{"altText":387,"config":406},{"src":389,"dataGaName":390,"dataGaLocation":385},{"altText":387,"config":408},{"src":393,"dataGaName":390,"dataGaLocation":385},{"freeTrial":410,"mobileIcon":415,"desktopIcon":417},{"text":411,"config":412},"Back to pricing",{"href":167,"dataGaName":413,"dataGaLocation":385,"icon":414},"back to pricing","GoBack",{"altText":387,"config":416},{"src":389,"dataGaName":390,"dataGaLocation":385},{"altText":387,"config":418},{"src":393,"dataGaName":390,"dataGaLocation":385},{"title":420,"button":421,"config":426},"See how agentic AI transforms software delivery",{"text":422,"config":423},"Watch GitLab Transcend now",{"href":424,"dataGaName":425,"dataGaLocation":25},"/events/transcend/virtual/","transcend event",{"layout":427,"icon":428},"release","AiStar",{"data":430},{"text":431,"source":432,"edit":438,"contribute":443,"config":448,"items":453,"minimal":658},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":433,"config":434},"View page source",{"href":435,"dataGaName":436,"dataGaLocation":437},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":439,"config":440},"Edit this page",{"href":441,"dataGaName":442,"dataGaLocation":437},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":444,"config":445},"Please contribute",{"href":446,"dataGaName":447,"dataGaLocation":437},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":449,"facebook":450,"youtube":451,"linkedin":452},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[454,501,553,597,624],{"title":165,"links":455,"subMenu":470},[456,460,465],{"text":457,"config":458},"View plans",{"href":167,"dataGaName":459,"dataGaLocation":437},"view plans",{"text":461,"config":462},"Why Premium?",{"href":463,"dataGaName":464,"dataGaLocation":437},"/pricing/premium/","why premium",{"text":466,"config":467},"Why Ultimate?",{"href":468,"dataGaName":469,"dataGaLocation":437},"/pricing/ultimate/","why ultimate",[471],{"title":472,"links":473},"Contact Us",[474,477,479,481,486,491,496],{"text":475,"config":476},"Contact sales",{"href":34,"dataGaName":35,"dataGaLocation":437},{"text":340,"config":478},{"href":342,"dataGaName":343,"dataGaLocation":437},{"text":345,"config":480},{"href":347,"dataGaName":348,"dataGaLocation":437},{"text":482,"config":483},"Status",{"href":484,"dataGaName":485,"dataGaLocation":437},"https://status.gitlab.com/","status",{"text":487,"config":488},"Terms of use",{"href":489,"dataGaName":490,"dataGaLocation":437},"/terms/","terms of use",{"text":492,"config":493},"Privacy statement",{"href":494,"dataGaName":495,"dataGaLocation":437},"/privacy/","privacy statement",{"text":497,"config":498},"Cookie preferences",{"dataGaName":499,"dataGaLocation":437,"id":500,"isOneTrustButton":14},"cookie preferences","ot-sdk-btn",{"title":70,"links":502,"subMenu":511},[503,507],{"text":504,"config":505},"DevSecOps platform",{"href":52,"dataGaName":506,"dataGaLocation":437},"devsecops platform",{"text":508,"config":509},"AI-Assisted Development",{"href":403,"dataGaName":510,"dataGaLocation":437},"ai-assisted development",[512],{"title":513,"links":514},"Topics",[515,520,523,528,533,538,543,548],{"text":516,"config":517},"CICD",{"href":518,"dataGaName":519,"dataGaLocation":437},"/topics/ci-cd/","cicd",{"text":10,"config":521},{"href":522,"dataGaName":11,"dataGaLocation":437},"/topics/gitops/",{"text":524,"config":525},"DevOps",{"href":526,"dataGaName":527,"dataGaLocation":437},"/topics/devops/","devops",{"text":529,"config":530},"Version Control",{"href":531,"dataGaName":532,"dataGaLocation":437},"/topics/version-control/","version control",{"text":534,"config":535},"DevSecOps",{"href":536,"dataGaName":537,"dataGaLocation":437},"/topics/devsecops/","devsecops",{"text":539,"config":540},"Cloud Native",{"href":541,"dataGaName":542,"dataGaLocation":437},"/topics/cloud-native/","cloud native",{"text":544,"config":545},"AI for Coding",{"href":546,"dataGaName":547,"dataGaLocation":437},"/topics/devops/ai-for-coding/","ai for coding",{"text":549,"config":550},"Agentic AI",{"href":551,"dataGaName":552,"dataGaLocation":437},"/topics/agentic-ai/","agentic ai",{"title":554,"links":555},"Solutions",[556,558,560,565,569,572,576,579,581,584,587,592],{"text":112,"config":557},{"href":107,"dataGaName":112,"dataGaLocation":437},{"text":101,"config":559},{"href":84,"dataGaName":85,"dataGaLocation":437},{"text":561,"config":562},"Agile development",{"href":563,"dataGaName":564,"dataGaLocation":437},"/solutions/agile-delivery/","agile delivery",{"text":566,"config":567},"SCM",{"href":97,"dataGaName":568,"dataGaLocation":437},"source code management",{"text":516,"config":570},{"href":90,"dataGaName":571,"dataGaLocation":437},"continuous integration & delivery",{"text":573,"config":574},"Value stream management",{"href":140,"dataGaName":575,"dataGaLocation":437},"value stream management",{"text":10,"config":577},{"href":578,"dataGaName":11,"dataGaLocation":437},"/solutions/gitops/",{"text":150,"config":580},{"href":152,"dataGaName":153,"dataGaLocation":437},{"text":582,"config":583},"Small business",{"href":157,"dataGaName":158,"dataGaLocation":437},{"text":585,"config":586},"Public sector",{"href":162,"dataGaName":163,"dataGaLocation":437},{"text":588,"config":589},"Education",{"href":590,"dataGaName":591,"dataGaLocation":437},"/solutions/education/","education",{"text":593,"config":594},"Financial services",{"href":595,"dataGaName":596,"dataGaLocation":437},"/solutions/finance/","financial services",{"title":170,"links":598},[599,601,603,605,608,610,612,614,616,618,620,622],{"text":182,"config":600},{"href":184,"dataGaName":185,"dataGaLocation":437},{"text":187,"config":602},{"href":189,"dataGaName":190,"dataGaLocation":437},{"text":192,"config":604},{"href":194,"dataGaName":195,"dataGaLocation":437},{"text":197,"config":606},{"href":199,"dataGaName":607,"dataGaLocation":437},"docs",{"text":220,"config":609},{"href":222,"dataGaName":223,"dataGaLocation":437},{"text":215,"config":611},{"href":217,"dataGaName":218,"dataGaLocation":437},{"text":225,"config":613},{"href":227,"dataGaName":228,"dataGaLocation":437},{"text":233,"config":615},{"href":235,"dataGaName":236,"dataGaLocation":437},{"text":238,"config":617},{"href":240,"dataGaName":241,"dataGaLocation":437},{"text":243,"config":619},{"href":245,"dataGaName":246,"dataGaLocation":437},{"text":248,"config":621},{"href":250,"dataGaName":251,"dataGaLocation":437},{"text":253,"config":623},{"href":255,"dataGaName":256,"dataGaLocation":437},{"title":271,"links":625},[626,628,630,632,634,636,638,642,647,649,651,653],{"text":278,"config":627},{"href":280,"dataGaName":273,"dataGaLocation":437},{"text":283,"config":629},{"href":285,"dataGaName":286,"dataGaLocation":437},{"text":291,"config":631},{"href":293,"dataGaName":294,"dataGaLocation":437},{"text":296,"config":633},{"href":298,"dataGaName":299,"dataGaLocation":437},{"text":301,"config":635},{"href":303,"dataGaName":304,"dataGaLocation":437},{"text":306,"config":637},{"href":308,"dataGaName":309,"dataGaLocation":437},{"text":639,"config":640},"Sustainability",{"href":641,"dataGaName":639,"dataGaLocation":437},"/sustainability/",{"text":643,"config":644},"Diversity, inclusion and belonging (DIB)",{"href":645,"dataGaName":646,"dataGaLocation":437},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":311,"config":648},{"href":313,"dataGaName":314,"dataGaLocation":437},{"text":321,"config":650},{"href":323,"dataGaName":324,"dataGaLocation":437},{"text":326,"config":652},{"href":328,"dataGaName":329,"dataGaLocation":437},{"text":654,"config":655},"Modern Slavery Transparency Statement",{"href":656,"dataGaName":657,"dataGaLocation":437},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":659},[660,663,666],{"text":661,"config":662},"Terms",{"href":489,"dataGaName":490,"dataGaLocation":437},{"text":664,"config":665},"Cookies",{"dataGaName":499,"dataGaLocation":437,"id":500,"isOneTrustButton":14},{"text":667,"config":668},"Privacy",{"href":494,"dataGaName":495,"dataGaLocation":437},[670,681,691,702,713,723,733,742,753,762,773,781,789,798,806,814,822,832,842,851,861,870,879,888,898,909,919,929,939,949,958,968],{"content":671,"config":679},{"title":672,"heroImage":673,"category":674,"description":675,"authors":676,"date":678},"How to use OCI images as the source of truth for continuous delivery","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097601/Blog/Hero%20Images/Blog/Hero%20Images/REFERENCE%20-%20Use%20this%20page%20as%20a%20reference%20for%20thumbnail%20sizes_76Tn5jFmEHY5LFj8RdDjNY_1750097600692.png","open-source","Discover the benefits of using Open Container Initiative images as part of GitOps workflows and the many features GitLab offers to simplify deployments to Kubernetes.",[677],"Daniel Helfand","2025-02-19",{"slug":680,"externalUrl":-1},"how-to-use-oci-images-as-the-source-of-truth-for-continuous-delivery",{"content":682,"config":689},{"title":683,"heroImage":684,"category":685,"description":686,"authors":687,"date":688},"How to stream logs through the GitLab Dashboard for Kubernetes","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662245/Blog/Hero%20Images/blog-image-template-1800x945__16_.png","engineering","In GitLab 17.2, users can now view Kubernetes pod and container logs directly via the GitLab UI. This tutorial shows how to use this new feature to simplify monitoring Kubernetes infrastructure.",[677],"2024-08-19",{"slug":690,"externalUrl":-1},"how-to-stream-logs-through-the-gitlab-dashboard-for-kubernetes",{"content":692,"config":700},{"title":693,"heroImage":694,"category":685,"description":695,"authors":696,"date":699},"Quick setup of a GKE Cluster with ArgoCD pre-installed using Terraform","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749665989/Blog/Hero%20Images/AdobeStock_618473457.jpg","Use this tutorial as a great starting point to manage your cluster entirely through GitOps.",[697,698],"Noah Ing","Siddharth Mathur","2024-01-31",{"slug":701,"externalUrl":-1},"quick-setup-of-a-gke-cluster-with-argocd-pre-installed-using-terraform",{"content":703,"config":711},{"title":704,"heroImage":705,"category":706,"description":707,"authors":708,"date":710},"Removing tags from our small SaaS runner on Linux","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749669863/Blog/Hero%20Images/security-pipelines.jpg","news","With GitLab 17.0, we are removing most tags from our small SaaS runner on Linux. Find out if you are affected and the change you need to make.",[709],"Gabriel Engel","2023-08-15",{"slug":712,"externalUrl":-1},"removing-tags-from-small-saas-runner-on-linux",{"content":714,"config":721},{"title":715,"heroImage":716,"category":685,"description":717,"authors":718,"date":720},"Set up Flux for GitOps to deploy workloads on OpenShift","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682825/Blog/Hero%20Images/genericworkflow.jpg","Learn how to set up a sample project, complete a bootstrap Flux installation, and authenticate your installation with a project deploy token.",[719],"Bart Zhang","2023-07-05",{"slug":722,"externalUrl":-1},"set-up-flux-for-gitops-on-openshift",{"content":724,"config":731},{"title":725,"heroImage":726,"category":685,"description":727,"authors":728,"date":730},"GitOps with GitLab: What you need to know about the Flux CD integration","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749678356/Blog/Hero%20Images/balance-speed-security-devops.jpg","Inside the decision to integrate Flux CD with the GitLab agent for Kubernetes and what it means to you.",[729],"Viktor Nagy","2023-02-08",{"slug":732,"externalUrl":-1},"why-did-we-choose-to-integrate-fluxcd-with-gitlab",{"content":734,"config":740},{"title":735,"heroImage":736,"category":685,"description":737,"authors":738,"date":739},"Simple Kubernetes management with GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670037/Blog/Hero%20Images/auto-deploy-google-cloud.jpg","Follow our tutorial to provision a Kubernetes cluster and manage it with IAC using Terraform and Helm in 20 minutes or less.",[697],"2022-11-15",{"slug":741,"externalUrl":-1},"simple-kubernetes-management-with-gitlab",{"content":743,"config":751},{"title":744,"heroImage":745,"category":685,"description":746,"authors":747,"date":750},"How to provision dynamic review environments using merge requests and Argo CD","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681920/Blog/Hero%20Images/kubernetes.png","Here's how to use the Argo CD ApplicationSet to provision a ‘ReviewOps’ environment based on merge request changes.",[748,749],"Joe Randazzo","Madou Coulibaly","2022-08-02",{"slug":752,"externalUrl":-1},"how-to-provision-reviewops",{"content":754,"config":760},{"title":755,"heroImage":756,"category":537,"description":757,"authors":758,"date":759},"How what we learned at KubeCon EU 2022 will impact our product roadmaps","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097776/Blog/Hero%20Images/Blog/Hero%20Images/2_2.png_1750097776369.png","Platform integrations and secrets management are among our product team's primary takeaways. Find out why.",[729],"2022-05-31",{"slug":761,"externalUrl":-1},"the-kubecon-summary-from-a-product-perspective",{"content":763,"config":771},{"title":764,"heroImage":765,"category":706,"description":766,"authors":767,"date":770},"Pull-based GitOps moving to GitLab Free tier","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670178/Blog/Hero%20Images/GitLab-Ops.png","Learn how this change provides organizations increased flexibility, security, scalability, and automation in cloud-native environments.",[768,769],"Sandra Gittlen","Lauren Minning","2022-05-18",{"slug":772,"externalUrl":-1},"pull-based-kubernetes-deployments-coming-to-gitlab-free-tier",{"content":774,"config":779},{"title":775,"heroImage":765,"category":685,"description":776,"authors":777,"date":778},"The ultimate guide to GitOps with GitLab","This eight-part tutorial series demonstrates how to use GitLab as a best-in-class GitOps tool.",[729],"2022-04-07",{"slug":780,"externalUrl":-1},"the-ultimate-guide-to-gitops-with-gitlab",{"content":782,"config":787},{"title":783,"heroImage":765,"category":685,"description":784,"authors":785,"date":786},"GitOps with GitLab: Turn a GitLab agent for Kubernetes installation to manage itself","This is the eighth and last article in a series of tutorials on how to do GitOps with GitLab.",[729],"2022-03-30",{"slug":788,"externalUrl":-1},"gitops-with-gitlab-manage-the-agent",{"content":790,"config":796},{"title":791,"heroImage":792,"category":685,"description":793,"authors":794,"date":795},"GitOps with GitLab: Connecting GitLab with a Kubernetes cluster - Auto DevOps","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663397/Blog/Hero%20Images/logoforblogpost.jpg","This is the 6th article in a series of tutorials on how to do GitOps with GitLab",[729],"2022-02-08",{"slug":797,"externalUrl":-1},"gitops-with-gitlab-auto-devops",{"content":799,"config":804},{"title":800,"heroImage":792,"category":685,"description":801,"authors":802,"date":803},"GitOps with GitLab: How to tackle secrets management","In part four of our GitOps series, we learn how to manage secrets with the GitLab Agent for Kubernetes.",[729],"2021-12-02",{"slug":805,"externalUrl":-1},"gitops-with-gitlab-secrets-management",{"content":807,"config":812},{"title":808,"heroImage":792,"category":685,"description":809,"authors":810,"date":811},"GitOps with GitLab: Infrastructure provisioning with GitLab and Terraform","In part two of our GitOps series, we set up the infrastructure using GitLab and Terraform. Here's everything you need to know.",[729],"2021-11-04",{"slug":813,"externalUrl":-1},"gitops-with-gitlab-infrastructure-provisioning",{"content":815,"config":820},{"title":816,"heroImage":792,"category":685,"description":817,"authors":818,"date":819},"Here's how to do GitOps with GitLab","This is the first in a seven-part series on GitOps using GitLab's DevOps Platform.",[729],"2021-10-21",{"slug":821,"externalUrl":-1},"gitops-with-gitlab",{"content":823,"config":830},{"title":824,"heroImage":825,"category":685,"description":826,"authors":827,"date":829},"How to use Terratag to automatically manage tags and labels for your Terraform Code","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682137/Blog/Hero%20Images/blog-image.png","This blog addresses how you can do that easily and automatically when using Terraform and Terratag (an open source project by env0) on top of the Gitlab CI/CD platform.",[828],"Itzik Gan Baruch","2021-09-14",{"slug":831,"externalUrl":-1},"gitlab-together-with-terratag-open-source-to-help-you-manage-terraform-resources",{"content":833,"config":840},{"title":834,"heroImage":835,"category":537,"description":836,"authors":837,"date":839},"How to deploy the GitLab Agent for Kubernetes with limited permissions","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749668655/Blog/Hero%20Images/seabass-creatives-U3m4_cKbUfc-unsplash.jpg"," Learn how to deploy the GitLab Agent for Kubernetes with Limited Permissions.",[838],"Fernando Diaz","2021-09-10",{"slug":841,"externalUrl":-1},"setting-up-the-k-agent",{"content":843,"config":849},{"title":844,"heroImage":792,"category":685,"description":845,"authors":846,"date":848},"How to use a push-based approach for GitOps with Terraform and AWS ECS and EC2","Learn how GitLab supports agentless approach for GitOps on AWS.",[847],"Cesar Saavedra","2021-08-10",{"slug":850,"externalUrl":-1},"how-to-agentless-gitops-aws",{"content":852,"config":859},{"title":853,"heroImage":854,"category":685,"description":855,"authors":856,"date":858},"How GitLab 14 satisfies the need for speed with modern DevOps","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682089/Blog/Hero%20Images/racecar_devops.jpg","GitLab 14: Ship with velocity, ship with confidence",[857],"Parker Ennis","2021-07-29",{"slug":860,"externalUrl":-1},"velocity-with-confidence",{"content":862,"config":868},{"title":863,"heroImage":864,"category":685,"description":865,"authors":866,"date":867},"How to use a push-based approach for GitOps with GitLab scripting and variables","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682051/Blog/Hero%20Images/agentless-gitops-vars-cover-880x587.jpg","Learn how GitLab supports agentless approach for GitOps with scripting and variables.",[847],"2021-07-23",{"slug":869,"externalUrl":-1},"how-to-agentless-gitops-vars",{"content":871,"config":877},{"title":872,"heroImage":873,"category":685,"description":874,"authors":875,"date":876},"GitOps viewed as part of the Ops evolution","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682062/Blog/Hero%20Images/food-train.jpg","Examine the evolution that led to GitOps",[729],"2021-07-12",{"slug":878,"externalUrl":-1},"gitops-as-the-evolution-of-operations",{"content":880,"config":886},{"title":881,"heroImage":882,"category":685,"description":883,"authors":884,"date":885},"How to use a pull-based (agent-based) approach for GitOps","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682037/Blog/Hero%20Images/agent-based-gitops-cover-880x587.jpg","Learn how GitLab supports agent-based approach for GitOps",[847],"2021-06-23",{"slug":887,"externalUrl":-1},"how-to-use-agent-based-gitops",{"content":889,"config":896},{"title":890,"heroImage":891,"category":685,"description":892,"authors":893,"date":895},"How to get GitOps right with infrastructure as code security","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663403/Blog/Hero%20Images/gitops-partner-cover-image.jpg","Learn how the GitLab and Indeni integration makes security a core component of your GitOps workflow.",[894],"Ulrica de Fort-Menares","2021-06-10",{"slug":897,"externalUrl":-1},"how-to-get-gitops-right-with-iac-security",{"content":899,"config":907},{"title":900,"heroImage":901,"category":685,"description":902,"authors":903,"date":906},"3 Ways to approach GitOps","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749669635/Blog/Hero%20Images/gitops-cover.jpg","Learn about how GitLab users can employ GitOps to cover both Kubernetes and non-Kubernetes environments",[904,905],"Saumya Upadhyaya","Dov Hershkovitch","2021-04-27",{"slug":908,"externalUrl":-1},"gitops-done-3-ways",{"content":910,"config":917},{"title":911,"heroImage":912,"category":685,"description":913,"authors":914,"date":916},"Production-grade infrastructure, GitOps convergence, and DevSecOps in under 5 minutes","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749665839/Blog/Hero%20Images/devops.png","Unlock production-grade infrastructure and development workflows in under five minutes with Five Minute Production App: a blend of solutions offered by AWS, Hashicorp Terraform, and GitLab.",[915],"Sri Rangan","2021-02-24",{"slug":918,"externalUrl":-1},"production-grade-infra-devsecops-with-five-minute-production",{"content":920,"config":927},{"title":921,"heroImage":922,"category":923,"description":921,"authors":924,"date":926},"Being A Better Ally","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679611/Blog/Hero%20Images/cook-county-blog-unsplash.jpg","unfiltered",[925],"David O'Regan","2020-09-09",{"slug":928,"externalUrl":-1},"being-a-better-ally",{"content":930,"config":937},{"title":931,"heroImage":932,"category":923,"description":933,"authors":934,"date":936},"Using GitLab Pages to Report Local COVID-19 Rates","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681476/Blog/Hero%20Images/thisisengineering-raeng-0jTZTMyGym8-unsplash.jpg","How I used GitLab pages to publish up-to-date local infection rates.",[935],"Matt Nohr","2020-08-06",{"slug":938,"externalUrl":-1},"gitlab-pages-for-covid",{"content":940,"config":947},{"title":941,"heroImage":942,"category":923,"description":943,"authors":944,"date":946},"Administering your GitLab for Education License","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681419/Blog/Hero%20Images/servers_image.jpg","Getting ready for fall semester and wondering how to set up your GitLab License? We've got you covered!",[945],"Christina Hupy, Ph.D.","2020-07-10",{"slug":948,"externalUrl":-1},"administering-gitlab-edu",{"content":950,"config":956},{"title":951,"heroImage":952,"category":923,"description":953,"authors":954,"date":955},"Better Code Reviews GitLab Style","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663502/Blog/Hero%20Images/paperclips.jpg","Better Code Reviews - A selection of tools for your tool-belt when it comes to code reviews.",[925],"2020-06-08",{"slug":957,"externalUrl":-1},"better-code-reviews",{"content":959,"config":966},{"title":960,"heroImage":961,"category":685,"description":962,"authors":963,"date":965},"What tracking down missing TCP Keepalives taught me about Docker, Golang, and GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749680874/Blog/Hero%20Images/network.jpg","An in-depth recap of debugging a bug in the Docker client library.",[964],"Stan Hu","2019-11-15",{"slug":967,"externalUrl":-1},"tracking-down-missing-tcp-keepalives",{"content":969,"config":976},{"title":970,"heroImage":971,"category":273,"description":972,"authors":973,"date":975},"Announcing GitLab for DevSecOps","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749671668/Blog/Hero%20Images/integrated.jpg","GitLab brings development, security, and operations into a single application.",[974],"Erica Lindberg","2019-06-20",{"slug":977,"externalUrl":-1},"announcing-gitlab-devsecops",1772652085248]