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