[{"data":1,"prerenderedAt":989},["ShallowReactive",2],{"/en-us/blog/tags/gitops":3,"navigation-en-us":19,"banner-en-us":430,"footer-en-us":440,"GitOps-tag-posts-en-us":680},{"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":350,"minimal":381,"duo":400,"switchNav":409,"pricingDeployment":420},{"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,271,331],{"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":262},"Resources",{"dataNavLevelOne":172},"resources",{"text":174,"config":175},"View all resources",{"href":176,"dataGaName":172,"dataGaLocation":25},"/resources/",[178,211,234],{"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,229],{"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},"The Source",{"href":227,"dataGaName":228,"dataGaLocation":25},"/the-source/","the source",{"text":230,"config":231},"Remote",{"href":232,"dataGaName":233,"dataGaLocation":25},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":235,"items":236},"Connect",[237,242,247,252,257],{"text":238,"config":239},"GitLab Services",{"href":240,"dataGaName":241,"dataGaLocation":25},"/services/","services",{"text":243,"config":244},"Community",{"href":245,"dataGaName":246,"dataGaLocation":25},"/community/","community",{"text":248,"config":249},"Forum",{"href":250,"dataGaName":251,"dataGaLocation":25},"https://forum.gitlab.com/","forum",{"text":253,"config":254},"Events",{"href":255,"dataGaName":256,"dataGaLocation":25},"/events/","events",{"text":258,"config":259},"Partners",{"href":260,"dataGaName":261,"dataGaLocation":25},"/partners/","partners",{"textColor":263,"title":264,"text":265,"link":266},"#000","What’s new in GitLab","Stay updated with our latest features and improvements.",{"text":267,"config":268},"Read the latest",{"href":269,"dataGaName":270,"dataGaLocation":25},"/releases/whats-new/","whats new",{"text":272,"config":273,"lists":275},"Company",{"dataNavLevelOne":274},"company",[276],{"items":277},[278,283,289,291,296,301,306,311,316,321,326],{"text":279,"config":280},"About",{"href":281,"dataGaName":282,"dataGaLocation":25},"/company/","about",{"text":284,"config":285,"footerGa":288},"Jobs",{"href":286,"dataGaName":287,"dataGaLocation":25},"/jobs/","jobs",{"dataGaName":287},{"text":253,"config":290},{"href":255,"dataGaName":256,"dataGaLocation":25},{"text":292,"config":293},"Leadership",{"href":294,"dataGaName":295,"dataGaLocation":25},"/company/team/e-group/","leadership",{"text":297,"config":298},"Team",{"href":299,"dataGaName":300,"dataGaLocation":25},"/company/team/","team",{"text":302,"config":303},"Handbook",{"href":304,"dataGaName":305,"dataGaLocation":25},"https://handbook.gitlab.com/","handbook",{"text":307,"config":308},"Investor relations",{"href":309,"dataGaName":310,"dataGaLocation":25},"https://ir.gitlab.com/","investor relations",{"text":312,"config":313},"Trust Center",{"href":314,"dataGaName":315,"dataGaLocation":25},"/security/","trust center",{"text":317,"config":318},"AI Transparency Center",{"href":319,"dataGaName":320,"dataGaLocation":25},"/ai-transparency-center/","ai transparency center",{"text":322,"config":323},"Newsletter",{"href":324,"dataGaName":325,"dataGaLocation":25},"/company/contact/#contact-forms","newsletter",{"text":327,"config":328},"Press",{"href":329,"dataGaName":330,"dataGaLocation":25},"/press/","press",{"text":332,"config":333,"lists":334},"Contact us",{"dataNavLevelOne":274},[335],{"items":336},[337,340,345],{"text":32,"config":338},{"href":34,"dataGaName":339,"dataGaLocation":25},"talk to sales",{"text":341,"config":342},"Support portal",{"href":343,"dataGaName":344,"dataGaLocation":25},"https://support.gitlab.com","support portal",{"text":346,"config":347},"Customer portal",{"href":348,"dataGaName":349,"dataGaLocation":25},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":351,"login":352,"suggestions":359},"Close",{"text":353,"link":354},"To search repositories and projects, login to",{"text":355,"config":356},"gitlab.com",{"href":39,"dataGaName":357,"dataGaLocation":358},"search login","search",{"text":360,"default":361},"Suggestions",[362,364,368,370,374,378],{"text":54,"config":363},{"href":59,"dataGaName":54,"dataGaLocation":358},{"text":365,"config":366},"Code Suggestions (AI)",{"href":367,"dataGaName":365,"dataGaLocation":358},"/solutions/code-suggestions/",{"text":88,"config":369},{"href":90,"dataGaName":88,"dataGaLocation":358},{"text":371,"config":372},"GitLab on AWS",{"href":373,"dataGaName":371,"dataGaLocation":358},"/partners/technology-partners/aws/",{"text":375,"config":376},"GitLab on Google Cloud",{"href":377,"dataGaName":375,"dataGaLocation":358},"/partners/technology-partners/google-cloud-platform/",{"text":379,"config":380},"Why GitLab?",{"href":67,"dataGaName":379,"dataGaLocation":358},{"freeTrial":382,"mobileIcon":387,"desktopIcon":392,"secondaryButton":395},{"text":383,"config":384},"Start free trial",{"href":385,"dataGaName":30,"dataGaLocation":386},"https://gitlab.com/-/trials/new/","nav",{"altText":388,"config":389},"Gitlab Icon",{"src":390,"dataGaName":391,"dataGaLocation":386},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":388,"config":393},{"src":394,"dataGaName":391,"dataGaLocation":386},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":396,"config":397},"Get Started",{"href":398,"dataGaName":399,"dataGaLocation":386},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":401,"mobileIcon":405,"desktopIcon":407},{"text":402,"config":403},"Learn more about GitLab Duo",{"href":59,"dataGaName":404,"dataGaLocation":386},"gitlab duo",{"altText":388,"config":406},{"src":390,"dataGaName":391,"dataGaLocation":386},{"altText":388,"config":408},{"src":394,"dataGaName":391,"dataGaLocation":386},{"button":410,"mobileIcon":415,"desktopIcon":417},{"text":411,"config":412},"/switch",{"href":413,"dataGaName":414,"dataGaLocation":386},"#contact","switch",{"altText":388,"config":416},{"src":390,"dataGaName":391,"dataGaLocation":386},{"altText":388,"config":418},{"src":419,"dataGaName":391,"dataGaLocation":386},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":421,"mobileIcon":426,"desktopIcon":428},{"text":422,"config":423},"Back to pricing",{"href":167,"dataGaName":424,"dataGaLocation":386,"icon":425},"back to pricing","GoBack",{"altText":388,"config":427},{"src":390,"dataGaName":391,"dataGaLocation":386},{"altText":388,"config":429},{"src":394,"dataGaName":391,"dataGaLocation":386},{"title":431,"button":432,"config":437},"See how agentic AI transforms software delivery",{"text":433,"config":434},"Watch GitLab Transcend now",{"href":435,"dataGaName":436,"dataGaLocation":25},"/events/transcend/virtual/","transcend event",{"layout":438,"icon":439,"disabled":14},"release","AiStar",{"data":441},{"text":442,"source":443,"edit":449,"contribute":454,"config":459,"items":464,"minimal":669},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":444,"config":445},"View page source",{"href":446,"dataGaName":447,"dataGaLocation":448},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":450,"config":451},"Edit this page",{"href":452,"dataGaName":453,"dataGaLocation":448},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":455,"config":456},"Please contribute",{"href":457,"dataGaName":458,"dataGaLocation":448},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":460,"facebook":461,"youtube":462,"linkedin":463},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[465,512,564,608,635],{"title":165,"links":466,"subMenu":481},[467,471,476],{"text":468,"config":469},"View plans",{"href":167,"dataGaName":470,"dataGaLocation":448},"view plans",{"text":472,"config":473},"Why Premium?",{"href":474,"dataGaName":475,"dataGaLocation":448},"/pricing/premium/","why premium",{"text":477,"config":478},"Why Ultimate?",{"href":479,"dataGaName":480,"dataGaLocation":448},"/pricing/ultimate/","why ultimate",[482],{"title":483,"links":484},"Contact Us",[485,488,490,492,497,502,507],{"text":486,"config":487},"Contact sales",{"href":34,"dataGaName":35,"dataGaLocation":448},{"text":341,"config":489},{"href":343,"dataGaName":344,"dataGaLocation":448},{"text":346,"config":491},{"href":348,"dataGaName":349,"dataGaLocation":448},{"text":493,"config":494},"Status",{"href":495,"dataGaName":496,"dataGaLocation":448},"https://status.gitlab.com/","status",{"text":498,"config":499},"Terms of use",{"href":500,"dataGaName":501,"dataGaLocation":448},"/terms/","terms of use",{"text":503,"config":504},"Privacy statement",{"href":505,"dataGaName":506,"dataGaLocation":448},"/privacy/","privacy statement",{"text":508,"config":509},"Cookie preferences",{"dataGaName":510,"dataGaLocation":448,"id":511,"isOneTrustButton":14},"cookie preferences","ot-sdk-btn",{"title":70,"links":513,"subMenu":522},[514,518],{"text":515,"config":516},"DevSecOps platform",{"href":52,"dataGaName":517,"dataGaLocation":448},"devsecops platform",{"text":519,"config":520},"AI-Assisted Development",{"href":59,"dataGaName":521,"dataGaLocation":448},"ai-assisted development",[523],{"title":524,"links":525},"Topics",[526,531,534,539,544,549,554,559],{"text":527,"config":528},"CICD",{"href":529,"dataGaName":530,"dataGaLocation":448},"/topics/ci-cd/","cicd",{"text":10,"config":532},{"href":533,"dataGaName":11,"dataGaLocation":448},"/topics/gitops/",{"text":535,"config":536},"DevOps",{"href":537,"dataGaName":538,"dataGaLocation":448},"/topics/devops/","devops",{"text":540,"config":541},"Version Control",{"href":542,"dataGaName":543,"dataGaLocation":448},"/topics/version-control/","version control",{"text":545,"config":546},"DevSecOps",{"href":547,"dataGaName":548,"dataGaLocation":448},"/topics/devsecops/","devsecops",{"text":550,"config":551},"Cloud Native",{"href":552,"dataGaName":553,"dataGaLocation":448},"/topics/cloud-native/","cloud native",{"text":555,"config":556},"AI for Coding",{"href":557,"dataGaName":558,"dataGaLocation":448},"/topics/devops/ai-for-coding/","ai for coding",{"text":560,"config":561},"Agentic AI",{"href":562,"dataGaName":563,"dataGaLocation":448},"/topics/agentic-ai/","agentic ai",{"title":565,"links":566},"Solutions",[567,569,571,576,580,583,587,590,592,595,598,603],{"text":112,"config":568},{"href":107,"dataGaName":112,"dataGaLocation":448},{"text":101,"config":570},{"href":84,"dataGaName":85,"dataGaLocation":448},{"text":572,"config":573},"Agile development",{"href":574,"dataGaName":575,"dataGaLocation":448},"/solutions/agile-delivery/","agile delivery",{"text":577,"config":578},"SCM",{"href":97,"dataGaName":579,"dataGaLocation":448},"source code management",{"text":527,"config":581},{"href":90,"dataGaName":582,"dataGaLocation":448},"continuous integration & delivery",{"text":584,"config":585},"Value stream management",{"href":140,"dataGaName":586,"dataGaLocation":448},"value stream management",{"text":10,"config":588},{"href":589,"dataGaName":11,"dataGaLocation":448},"/solutions/gitops/",{"text":150,"config":591},{"href":152,"dataGaName":153,"dataGaLocation":448},{"text":593,"config":594},"Small business",{"href":157,"dataGaName":158,"dataGaLocation":448},{"text":596,"config":597},"Public sector",{"href":162,"dataGaName":163,"dataGaLocation":448},{"text":599,"config":600},"Education",{"href":601,"dataGaName":602,"dataGaLocation":448},"/solutions/education/","education",{"text":604,"config":605},"Financial services",{"href":606,"dataGaName":607,"dataGaLocation":448},"/solutions/finance/","financial services",{"title":170,"links":609},[610,612,614,616,619,621,623,625,627,629,631,633],{"text":182,"config":611},{"href":184,"dataGaName":185,"dataGaLocation":448},{"text":187,"config":613},{"href":189,"dataGaName":190,"dataGaLocation":448},{"text":192,"config":615},{"href":194,"dataGaName":195,"dataGaLocation":448},{"text":197,"config":617},{"href":199,"dataGaName":618,"dataGaLocation":448},"docs",{"text":220,"config":620},{"href":222,"dataGaName":223,"dataGaLocation":448},{"text":215,"config":622},{"href":217,"dataGaName":218,"dataGaLocation":448},{"text":230,"config":624},{"href":232,"dataGaName":233,"dataGaLocation":448},{"text":238,"config":626},{"href":240,"dataGaName":241,"dataGaLocation":448},{"text":243,"config":628},{"href":245,"dataGaName":246,"dataGaLocation":448},{"text":248,"config":630},{"href":250,"dataGaName":251,"dataGaLocation":448},{"text":253,"config":632},{"href":255,"dataGaName":256,"dataGaLocation":448},{"text":258,"config":634},{"href":260,"dataGaName":261,"dataGaLocation":448},{"title":272,"links":636},[637,639,641,643,645,647,649,653,658,660,662,664],{"text":279,"config":638},{"href":281,"dataGaName":274,"dataGaLocation":448},{"text":284,"config":640},{"href":286,"dataGaName":287,"dataGaLocation":448},{"text":292,"config":642},{"href":294,"dataGaName":295,"dataGaLocation":448},{"text":297,"config":644},{"href":299,"dataGaName":300,"dataGaLocation":448},{"text":302,"config":646},{"href":304,"dataGaName":305,"dataGaLocation":448},{"text":307,"config":648},{"href":309,"dataGaName":310,"dataGaLocation":448},{"text":650,"config":651},"Sustainability",{"href":652,"dataGaName":650,"dataGaLocation":448},"/sustainability/",{"text":654,"config":655},"Diversity, inclusion and belonging (DIB)",{"href":656,"dataGaName":657,"dataGaLocation":448},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":312,"config":659},{"href":314,"dataGaName":315,"dataGaLocation":448},{"text":322,"config":661},{"href":324,"dataGaName":325,"dataGaLocation":448},{"text":327,"config":663},{"href":329,"dataGaName":330,"dataGaLocation":448},{"text":665,"config":666},"Modern Slavery Transparency Statement",{"href":667,"dataGaName":668,"dataGaLocation":448},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":670},[671,674,677],{"text":672,"config":673},"Terms",{"href":500,"dataGaName":501,"dataGaLocation":448},{"text":675,"config":676},"Cookies",{"dataGaName":510,"dataGaLocation":448,"id":511,"isOneTrustButton":14},{"text":678,"config":679},"Privacy",{"href":505,"dataGaName":506,"dataGaLocation":448},[681,692,702,713,724,734,744,753,764,773,784,792,800,809,817,825,833,843,853,862,872,881,890,899,909,920,930,940,950,960,969,979],{"content":682,"config":690},{"title":683,"heroImage":684,"category":685,"description":686,"authors":687,"date":689},"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.",[688],"Daniel Helfand","2025-02-19",{"slug":691,"externalUrl":-1},"how-to-use-oci-images-as-the-source-of-truth-for-continuous-delivery",{"content":693,"config":700},{"title":694,"heroImage":695,"category":696,"description":697,"authors":698,"date":699},"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.",[688],"2024-08-19",{"slug":701,"externalUrl":-1},"how-to-stream-logs-through-the-gitlab-dashboard-for-kubernetes",{"content":703,"config":711},{"title":704,"heroImage":705,"category":696,"description":706,"authors":707,"date":710},"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.",[708,709],"Noah Ing","Siddharth Mathur","2024-01-31",{"slug":712,"externalUrl":-1},"quick-setup-of-a-gke-cluster-with-argocd-pre-installed-using-terraform",{"content":714,"config":722},{"title":715,"heroImage":716,"category":717,"description":718,"authors":719,"date":721},"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.",[720],"Gabriel Engel","2023-08-15",{"slug":723,"externalUrl":-1},"removing-tags-from-small-saas-runner-on-linux",{"content":725,"config":732},{"title":726,"heroImage":727,"category":696,"description":728,"authors":729,"date":731},"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.",[730],"Bart Zhang","2023-07-05",{"slug":733,"externalUrl":-1},"set-up-flux-for-gitops-on-openshift",{"content":735,"config":742},{"title":736,"heroImage":737,"category":696,"description":738,"authors":739,"date":741},"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.",[740],"Viktor Nagy","2023-02-08",{"slug":743,"externalUrl":-1},"why-did-we-choose-to-integrate-fluxcd-with-gitlab",{"content":745,"config":751},{"title":746,"heroImage":747,"category":696,"description":748,"authors":749,"date":750},"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.",[708],"2022-11-15",{"slug":752,"externalUrl":-1},"simple-kubernetes-management-with-gitlab",{"content":754,"config":762},{"title":755,"heroImage":756,"category":696,"description":757,"authors":758,"date":761},"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.",[759,760],"Joe Randazzo","Madou Coulibaly","2022-08-02",{"slug":763,"externalUrl":-1},"how-to-provision-reviewops",{"content":765,"config":771},{"title":766,"heroImage":767,"category":548,"description":768,"authors":769,"date":770},"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.",[740],"2022-05-31",{"slug":772,"externalUrl":-1},"the-kubecon-summary-from-a-product-perspective",{"content":774,"config":782},{"title":775,"heroImage":776,"category":717,"description":777,"authors":778,"date":781},"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.",[779,780],"Sandra Gittlen","Lauren Minning","2022-05-18",{"slug":783,"externalUrl":-1},"pull-based-kubernetes-deployments-coming-to-gitlab-free-tier",{"content":785,"config":790},{"title":786,"heroImage":776,"category":696,"description":787,"authors":788,"date":789},"The ultimate guide to GitOps with GitLab","This eight-part tutorial series demonstrates how to use GitLab as a best-in-class GitOps tool.",[740],"2022-04-07",{"slug":791,"externalUrl":-1},"the-ultimate-guide-to-gitops-with-gitlab",{"content":793,"config":798},{"title":794,"heroImage":776,"category":696,"description":795,"authors":796,"date":797},"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.",[740],"2022-03-30",{"slug":799,"externalUrl":-1},"gitops-with-gitlab-manage-the-agent",{"content":801,"config":807},{"title":802,"heroImage":803,"category":696,"description":804,"authors":805,"date":806},"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",[740],"2022-02-08",{"slug":808,"externalUrl":-1},"gitops-with-gitlab-auto-devops",{"content":810,"config":815},{"title":811,"heroImage":803,"category":696,"description":812,"authors":813,"date":814},"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.",[740],"2021-12-02",{"slug":816,"externalUrl":-1},"gitops-with-gitlab-secrets-management",{"content":818,"config":823},{"title":819,"heroImage":803,"category":696,"description":820,"authors":821,"date":822},"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.",[740],"2021-11-04",{"slug":824,"externalUrl":-1},"gitops-with-gitlab-infrastructure-provisioning",{"content":826,"config":831},{"title":827,"heroImage":803,"category":696,"description":828,"authors":829,"date":830},"Here's how to do GitOps with GitLab","This is the first in a seven-part series on GitOps using GitLab's DevOps Platform.",[740],"2021-10-21",{"slug":832,"externalUrl":-1},"gitops-with-gitlab",{"content":834,"config":841},{"title":835,"heroImage":836,"category":696,"description":837,"authors":838,"date":840},"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.",[839],"Itzik Gan Baruch","2021-09-14",{"slug":842,"externalUrl":-1},"gitlab-together-with-terratag-open-source-to-help-you-manage-terraform-resources",{"content":844,"config":851},{"title":845,"heroImage":846,"category":548,"description":847,"authors":848,"date":850},"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.",[849],"Fernando Diaz","2021-09-10",{"slug":852,"externalUrl":-1},"setting-up-the-k-agent",{"content":854,"config":860},{"title":855,"heroImage":803,"category":696,"description":856,"authors":857,"date":859},"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.",[858],"Cesar Saavedra","2021-08-10",{"slug":861,"externalUrl":-1},"how-to-agentless-gitops-aws",{"content":863,"config":870},{"title":864,"heroImage":865,"category":696,"description":866,"authors":867,"date":869},"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",[868],"Parker Ennis","2021-07-29",{"slug":871,"externalUrl":-1},"velocity-with-confidence",{"content":873,"config":879},{"title":874,"heroImage":875,"category":696,"description":876,"authors":877,"date":878},"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.",[858],"2021-07-23",{"slug":880,"externalUrl":-1},"how-to-agentless-gitops-vars",{"content":882,"config":888},{"title":883,"heroImage":884,"category":696,"description":885,"authors":886,"date":887},"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",[740],"2021-07-12",{"slug":889,"externalUrl":-1},"gitops-as-the-evolution-of-operations",{"content":891,"config":897},{"title":892,"heroImage":893,"category":696,"description":894,"authors":895,"date":896},"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",[858],"2021-06-23",{"slug":898,"externalUrl":-1},"how-to-use-agent-based-gitops",{"content":900,"config":907},{"title":901,"heroImage":902,"category":696,"description":903,"authors":904,"date":906},"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.",[905],"Ulrica de Fort-Menares","2021-06-10",{"slug":908,"externalUrl":-1},"how-to-get-gitops-right-with-iac-security",{"content":910,"config":918},{"title":911,"heroImage":912,"category":696,"description":913,"authors":914,"date":917},"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",[915,916],"Saumya Upadhyaya","Dov Hershkovitch","2021-04-27",{"slug":919,"externalUrl":-1},"gitops-done-3-ways",{"content":921,"config":928},{"title":922,"heroImage":923,"category":696,"description":924,"authors":925,"date":927},"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.",[926],"Sri Rangan","2021-02-24",{"slug":929,"externalUrl":-1},"production-grade-infra-devsecops-with-five-minute-production",{"content":931,"config":938},{"title":932,"heroImage":933,"category":934,"description":932,"authors":935,"date":937},"Being A Better Ally","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679611/Blog/Hero%20Images/cook-county-blog-unsplash.jpg","unfiltered",[936],"David O'Regan","2020-09-09",{"slug":939,"externalUrl":-1},"being-a-better-ally",{"content":941,"config":948},{"title":942,"heroImage":943,"category":934,"description":944,"authors":945,"date":947},"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.",[946],"Matt Nohr","2020-08-06",{"slug":949,"externalUrl":-1},"gitlab-pages-for-covid",{"content":951,"config":958},{"title":952,"heroImage":953,"category":934,"description":954,"authors":955,"date":957},"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!",[956],"Christina Hupy, Ph.D.","2020-07-10",{"slug":959,"externalUrl":-1},"administering-gitlab-edu",{"content":961,"config":967},{"title":962,"heroImage":963,"category":934,"description":964,"authors":965,"date":966},"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.",[936],"2020-06-08",{"slug":968,"externalUrl":-1},"better-code-reviews",{"content":970,"config":977},{"title":971,"heroImage":972,"category":696,"description":973,"authors":974,"date":976},"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.",[975],"Stan Hu","2019-11-15",{"slug":978,"externalUrl":-1},"tracking-down-missing-tcp-keepalives",{"content":980,"config":987},{"title":981,"heroImage":982,"category":274,"description":983,"authors":984,"date":986},"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.",[985],"Erica Lindberg","2019-06-20",{"slug":988,"externalUrl":-1},"announcing-gitlab-devsecops",1777493625424]