1<!DOCTYPE html> 2<html lang="en-US" dir="ltr"> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width,initial-scale=1"> 6 <title>Atlantis Contributing Documentation | Atlantis</title> 7 <meta name="description" content="Atlantis: Terraform Pull Request Automation"> 8 <meta name="generator" content="VitePress v1.6.4"> 9 <link rel="preload stylesheet" href="/assets/style.B_qMcp4s.css" as="style"> 10 <link rel="preload stylesheet" href="/vp-icons.css" as="style"> 11 12
12<script type="module" src="/assets/app.D7KRP0Ch.js"></script>
12 13 <link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin=""> 14 <link rel="modulepreload" href="/assets/chunks/framework.CxzdoJE_.js"> 15 <link rel="modulepreload" href="/assets/chunks/theme.ZM-r8m8s.js"> 16 <link rel="modulepreload" href="/assets/chunks/katex.C5jXJg4s.js"> 17 <link rel="modulepreload" href="/assets/chunks/sizeCapture-INFHLROL.DhF7WxF_.js"> 18 <link rel="modulepreload" href="/assets/chunks/dagre-GXQ25YYZ.DSernvJh.js"> 19 <link rel="modulepreload" href="/assets/chunks/swimlanes-42K2YHIH.Wc7Mz3xm.js"> 20 <link rel="modulepreload" href="/assets/chunks/cose-bilkent-JH36ORCC.DH1QvwIq.js"> 21 <link rel="modulepreload" href="/assets/chunks/c4Diagram-7LVT6UL2.BhbipAdg.js"> 22 <link rel="modulepreload" href="/assets/chunks/flowDiagram-HODETNUW.D6ajrkOA.js"> 23 <link rel="modulepreload" href="/assets/chunks/swimlanesDiagram-VR7AAH4N.BnKcHfMz.js"> 24 <link rel="modulepreload" href="/assets/chunks/erDiagram-RLTQ6QDP.DCI0Vrcv.js"> 25 <link rel="modulepreload" href="/assets/chunks/gitGraphDiagram-WWUBYQGX.8p3U9l3U.js"> 26 <link rel="modulepreload" href="/assets/chunks/ganttDiagram-EL5Y4UJY.B3vptFTG.js"> 27 <link rel="modulepreload" href="/assets/chunks/infoDiagram-27XIBGKW.edRORZxD.js"> 28 <link rel="modulepreload" href="/assets/chunks/pieDiagram-E7YTZNPT.DJm2IHIj.js"> 29 <link rel="modulepreload" href="/assets/chunks/quadrantDiagram-AXDQQJYC.Mg46x8S3.js"> 30 <link rel="modulepreload" href="/assets/chunks/xychartDiagram-S5SC5T6Z.D3tKZZCK.js"> 31 <link rel="modulepreload" href="/assets/chunks/requirementDiagram-BXWQKSXE.DH6Lcoil.js"> 32 <link rel="modulepreload" href="/assets/chunks/sequenceDiagram-WJ2MYXX4.DBwS7-yc.js"> 33 <link rel="modulepreload" href="/assets/chunks/classDiagram-ZZMXUADV.D-wqVAZD.js"> 34 <link rel="modulepreload" href="/assets/chunks/classDiagram-v2-VYDZK3BY.D-wqVAZD.js"> 35 <link rel="modulepreload" href="/assets/chunks/stateDiagram-D77RDMKH.CHbIKklO.js"> 36 <link rel="modulepreload" href="/assets/chunks/stateDiagram-v2-MP3YSRHH.DcnVCdZ0.js"> 37 <link rel="modulepreload" href="/assets/chunks/journeyDiagram-3NMN7TZE.DNLSqh6y.js"> 38 <link rel="modulepreload" href="/assets/chunks/timeline-definition-24CTP7MA.9QQFgta2.js"> 39 <link rel="modulepreload" href="/assets/chunks/mindmap-definition-YA3MSWOX.BCfQYg8g.js"> 40 <link rel="modulepreload" href="/assets/chunks/kanban-definition-UXKFOSKX.CrfLJzF0.js"> 41 <link rel="modulepreload" href="/assets/chunks/sankeyDiagram-P5KCCOFB.tOPfhFc-.js"> 42 <link rel="modulepreload" href="/assets/chunks/diagram-Z3DM3KII.5-WYYbbF.js"> 43 <link rel="modulepreload" href="/assets/chunks/diagram-UQ7AKVKN.oIihGRiC.js"> 44 <link rel="modulepreload" href="/assets/chunks/blockDiagram-I7D4REHJ.khf_jhJt.js"> 45 <link rel="modulepreload" href="/assets/chunks/diagram-S7CK7UJ4.CZgtrvNs.js"> 46 <link rel="modulepreload" href="/assets/chunks/architectureDiagram-5GKGNRK7.D2GtH8zF.js"> 47 <link rel="modulepreload" href="/assets/chunks/diagram-VSXAHHWV.Bp3XbOZV.js"> 48 <link rel="modulepreload" href="/assets/chunks/ishikawaDiagram-5VMMS53U.BbgyVpJ7.js"> 49 <link rel="modulepreload" href="/assets/chunks/vennDiagram-4TSXK5OY.8oGKK3L7.js"> 50 <link rel="modulepreload" href="/assets/chunks/diagram-VX7I27RA.dcr_pspR.js"> 51 <link rel="modulepreload" href="/assets/chunks/wardleyDiagram-VM6X3IG4.CcomSTJP.js"> 52 <link rel="modulepreload" href="/assets/chunks/cynefinDiagram-5FMLGOSQ.DxlTXc2O.js"> 53 <link rel="modulepreload" href="/assets/chunks/railroadDiagram-O6MQD6OU.DBjZYJ6S.js"> 54 <link rel="modulepreload" href="/assets/chunks/ebnfDiagram-PWID7BFC.hHMWOBk8.js"> 55 <link rel="modulepreload" href="/assets/chunks/abnfDiagram-VCTEODGH.D-p7WIKE.js"> 56 <link rel="modulepreload" href="/assets/chunks/pegDiagram-XKGWAZYB.BEtjtMq3.js"> 57 <link rel="modulepreload" href="/assets/chunks/virtual_mermaid-config.DDnGl6nM.js"> 58 <link rel="modulepreload" href="/assets/contributing.md.10pCdMIw.lean.js"> 59 <link rel="icon" type="image/png" href="/favicon-196x196.png" sizes="196x196"> 60 <link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96"> 61 <link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32"> 62 <link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16"> 63 <link rel="icon" type="image/png" href="/favicon-128.png" sizes="128x128"> 64 <link rel="apple-touch-icon-precomposed" sizes="57x57" href="/apple-touch-icon-57x57.png"> 65 <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/apple-touch-icon-114x114.png"> 66 <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/apple-touch-icon-72x72.png"> 67 <link rel="apple-touch-icon-precomposed" sizes="144x144" href="/apple-touch-icon-144x144.png"> 68 <link rel="apple-touch-icon-precomposed" sizes="60x60" href="/apple-touch-icon-60x60.png"> 69 <link rel="apple-touch-icon-precomposed" sizes="120x120" href="/apple-touch-icon-120x120.png"> 70 <link rel="apple-touch-icon-precomposed" sizes="76x76" href="/apple-touch-icon-76x76.png"> 71 <link rel="apple-touch-icon-precomposed" sizes="152x152" href="/apple-touch-icon-152x152.png"> 72 <meta name="msapplication-TileColor" content="#FFFFFF"> 73 <meta name="msapplication-TileImage" content="/mstile-144x144.png"> 74 <meta name="msapplication-square70x70logo" content="/mstile-70x70.png"> 75 <meta name="msapplication-square150x150logo" content="/mstile-150x150.png"> 76 <meta name="msapplication-wide310x150logo" content="/mstile-310x150.png"> 77 <meta name="msapplication-square310x310logo" content="/mstile-310x310.png"> 78 <link rel="stylesheet" sizes="152x152" href="https://fonts.googleapis.com/css?family=Lato:400,900"> 79 <meta name="google-site-verification" content="kTnsDBpHqtTNY8oscYxrQeeiNml2d2z-03Ct9wqeCeE">
vendor: 68 bytes, lines 79-80
79 80 <script async src="https://www.googletagmanager.com/gtag/js?id=
80G-PGYBJTZMP2
vendor: 16 bytes, lines 80-81
80"></script> 81
81<script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag("js",new Date),gtag("config","G-PGYBJTZMP2");</script>
81 82
82<script id="restore-banner-preference">((s,t,a=!1)=>{const e=localStorage.getItem(s);(e?e!=="false"&&new Date<e:a)&&document.documentElement.classList.add(t)})("survey-banner","banner-dismissed");</script>
82 83
83<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
83 84
84<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
84 85 </head> 86 <body> 87 <div id="app"><div class="Layout" data-v-5d98c3a5><!--[--><!--]--><!--[--><span tabindex="-1" data-v-0b0ada53></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-0b0ada53>Skip to content</a><!--]--><!----><header class="VPNav" data-v-5d98c3a5 data-v-ae24b3ad><div class="VPNavBar" data-v-ae24b3ad data-v-6aa21345><div class="wrapper" data-v-6aa21345><div class="container" data-v-6aa21345><div class="title" data-v-6aa21345><div class="VPNavBarTitle has-sidebar" data-v-6aa21345 data-v-1168a8e4><a class="title" href="/" data-v-1168a8e4><!--[--><!--]--><!----><span data-v-1168a8e4>Atlantis</span><!--[--><!--]--></a></div></div><div class="content" data-v-6aa21345><div class="content-body" data-v-6aa21345><!--[--><!--]--><div class="VPNavBarSearch search" data-v-6aa21345><!--[--><!----><div id="docsearch"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-6aa21345 data-v-dc692963><span id="main-nav-aria-label" class="visually-hidden" data-v-dc692963> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>Home</span><!--]--></a><!--]--><!--[--><a class='VPLink link VPNavBarMenuLink' data-v-dc692963 data-v-e56f3d57 href='/guide' tabindex='0'><!--[--><span data-v-e56f3d57>Guide</span><!--]--></a><!--]--><!--[--><a class='VPLink link VPNavBarMenuLink' data-v-dc692963 data-v-e56f3d57 href='/docs' tabindex='0'><!--[--><span data-v-e56f3d57>Docs</span><!--]--></a><!--]--><!--[--><a class='VPLink link VPNavBarMenuLink active' data-v-dc692963 data-v-e56f3d57 href='/contributing' tabindex='0'><!--[--><span data-v-e56f3d57>Contributing</span><!--]--></a><!--]--><!--[--><a class='VPLink link VPNavBarMenuLink' data-v-dc692963 data-v-e56f3d57 href='/blog' tabindex='0'><!--[--><span data-v-e56f3d57>Blog</span><!--]--></a><!--]--><!--]--></nav><div class="VPFlyout VPNavBarTranslations translations" data-v-6aa21345 data-v-88af2de4 data-v-cf11d7a2><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="Change language" data-v-cf11d7a2><span class="text" data-v-cf11d7a2><span class="vpi-languages option-icon" data-v-cf11d7a2></span><!----><span class="vpi-chevron-down text-icon" data-v-cf11d7a2></span></span></button><div class="menu" data-v-cf11d7a2><div class="VPMenu" data-v-cf11d7a2 data-v-b98bc113><!----><!--[--><!--[--><div class="items" data-v-88af2de4><p class="title" data-v-88af2de4>English</p><!--[--><div class="VPMenuLink" data-v-88af2de4 data-v-35975db6><a class='VPLink link' data-v-35975db6 href='/es/contributing'><!--[--><span data-v-35975db6>Español</span><!--]--></a></div><!--]--></div><!--]--><!--]--></div></div></div><div class="VPNavBarAppearance appearance" data-v-6aa21345 data-v-6c893767><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-6c893767 data-v-5337faa4 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-5337faa4></span><span class="vpi-moon moon" data-v-5337faa4></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-6aa21345 data-v-0394ad82 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://slack.cncf.io/" aria-label="slack" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-slack"></span></a><a class="VPSocialLink no-icon" href="https://twitter.com/runatlantis" aria-label="twitter" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-twitter"></span></a><a class="VPSocialLink no-icon" href="https://github.com/runatlantis/atlantis" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-github"></span></a>
87<!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-6aa21345 data-v-bb2aa2f0 data-v-cf11d7a2><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-cf11d7a2><span class="vpi-more-horizontal icon" data-v-cf11d7a2></span></button><div class="menu" data-v-cf11d7a2><div class="VPMenu" data-v-cf11d7a2 data-v-b98bc113><!----><!--[--><!--[--><div class="group translations" data-v-bb2aa2f0><p class="trans-title" data-v-bb2aa2f0>English</p><!--[--><div class="VPMenuLink" data-v-bb2aa2f0 data-v-35975db6><a class='VPLink link' data-v-35975db6 href='/es/contributing'><!--[--><span data-v-35975db6>Español</span><!--]--></a></div><!--]--></div><div class="group" data-v-bb2aa2f0><div class="item appearance" data-v-bb2aa2f0><p class="label" data-v-bb2aa2f0>Appearance</p><div class="appearance-action" data-v-bb2aa2f0><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-bb2aa2f0 data-v-5337faa4 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-5337faa4></span><span class="vpi-moon moon" data-v-5337faa4></span><!--]--></span></span></button></div></div></div><div class="group" data-v-bb2aa2f0><div class="item social-links" data-v-bb2aa2f0><div class="VPSocialLinks social-links-list" data-v-bb2aa2f0 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://slack.cncf.io/" aria-label="slack" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-slack"></span></a><a class="VPSocialLink no-icon" href="https://twitter.com/runatlantis" aria-label="twitter" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-twitter"></span></a><a class="VPSocialLink no-icon" href="https://github.com/runatlantis/atlantis" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-github"></span></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-6aa21345 data-v-e5dd9c1c><span class="container" data-v-e5dd9c1c><span class="top" data-v-e5dd9c1c></span><span class="middle" data-v-e5dd9c1c></span><span class="bottom" data-v-e5dd9c1c></span></span></button></div></div></div></div><div class="divider" data-v-6aa21345><div class="divider-line" data-v-6aa21345></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-5d98c3a5 data-v-a6f0e41e><div class="container" data-v-a6f0e41e><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-a6f0e41e><span class="vpi-align-left menu-icon" data-v-a6f0e41e></span><span class="menu-text" data-v-a6f0e41e>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-a6f0e41e data-v-8a42e2b4><button data-v-8a42e2b4>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-5d98c3a5 data-v-319d5ca6><div class="curtain" data-v-319d5ca6></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-319d5ca6><span class="visually-hidden" id="sidebar-aria-label" data-v-319d5ca6> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 collapsible is-link" data-v-c40bc020 data-v-b3fd67f8><div class="item" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/guide'><!--[--><h2 class="text" data-v-b3fd67f8>Guide</h2><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/guide/test-drive'><!--[--><p class="text" data-v-b3fd67f8>Test Drive</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/guide/testing-locally'><!--[--><p class="text" data-v-b3fd67f8>Testing locally</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 collapsible collapsed is-link" data-v-c40bc020 data-v-b3fd67f8><div class="item" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs'><!--[--><h2 class="text" data-v-b3fd67f8>Docs</h2><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><section class="VPSidebarItem level-1 collapsible collapsed" data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h3 class="text" data-v-b3fd67f8>Installing Atlantis</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/installation-guide'><!--[--><p class="text" data-v-b3fd67f8>Installing Guide</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/requirements'><!--[--><p class="text" data-v-b3fd67f8>Requirements</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/access-credentials'><!--[--><p class="text" data-v-b3fd67f8>Git Host Access Credentials</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/webhook-secrets'><!--[--><p class="text" data-v-b3fd67f8>Webhook Secrets</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/deployment'><!--[--><p class="text" data-v-b3fd67f8>Deployment</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/configuring-webhooks'><!--[--><p class="text" data-v-b3fd67f8>Configuring Webhooks</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/provider-credentials'><!--[--><p class="text" data-v-b3fd67f8>Provider Credentials</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-1 collapsible collapsed" data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h3 class="text" data-v-b3fd67f8>Configuring Atlantis</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/configuring-atlantis'><!--[--><p class="text" data-v-b3fd67f8>Overview</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/server-configuration'><!--[--><p class="text" data-v-b3fd67f8>Server Configuration</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/server-side-repo-config'><!--[--><p class="text" data-v-b3fd67f8>Server Side Repo Config</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/pre-workflow-hooks'><!--[--><p class="text" data-v-b3fd67f8>Pre Workflow Hooks</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/post-workflow-hooks'><!--[--><p class="text" data-v-b3fd67f8>Post Workflow Hooks</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/policy-checking'><!--[--><p class="text" data-v-b3fd67f8>Conftest Policy Checking</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/custom-workflows'><!--[--><p class="text" data-v-b3fd67f8>Custom Workflows</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/repo-and-project-permissions'><!--[--><p class="text" data-v-b3fd67f8>Repo and Project Permissions</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/repo-level-atlantis-yaml'><!--[--><p class="text" data-v-b3fd67f8>Repo Level atlantis.yaml</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/upgrading-atlantis-yaml'><!--[--><p class="text" data-v-b3fd67f8>Upgrading atlantis.yaml</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/command-requirements'><!--[--><p class="text" data-v-b3fd67f8>Command Requirements</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/checkout-strategy'><!--[--><p class="text" data-v-b3fd67f8>Checkout Strategy</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/terraform-versions'><!--[--><p class="text" data-v-b3fd67f8>Terraform Versions</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/terraform-cloud'><!--[--><p class="text" data-v-b3fd67f8>Terraform Cloud</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/sending-notifications-via-webhooks'><!--[--><p class="text" data-v-b3fd67f8>Sending Notifications via Webhooks</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/stats'><!--[--><p class="text" data-v-b3fd67f8>Stats</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/faq'><!--[--><p class="text" data-v-b3fd67f8>FAQ</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-1 collapsible collapsed" data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h3 class="text" data-v-b3fd67f8>Using Atlantis</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/using-atlantis'><!--[--><p class="text" data-v-b3fd67f8>Overview</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/api-endpoints'><!--[--><p class="text" data-v-b3fd67f8>API endpoints</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-1 collapsible collapsed" data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h3 class="text" data-v-b3fd67f8>How Atlantis Works</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/how-atlantis-works'><!--[--><p class="text" data-v-b3fd67f8>Overview</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/locking'><!--[--><p class="text" data-v-b3fd67f8>Locking</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/autoplanning'><!--[--><p class="text" data-v-b3fd67f8>Autoplanning</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/automerging'><!--[--><p class="text" data-v-b3fd67f8>Automerging</p><!--]--></a><!----></div><!----></div><di
87v class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/security'><!--[--><p class="text" data-v-b3fd67f8>Security</p><!--]--></a><!----></div><!----></div><!--]--></div></section><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/streaming-logs'><!--[--><p class="text" data-v-b3fd67f8>Real-time Terraform Logs</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-1 collapsible collapsed" data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h3 class="text" data-v-b3fd67f8>Troubleshooting</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/docs/troubleshooting-https'><!--[--><p class="text" data-v-b3fd67f8>HTTPS, SSL, TLS</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section></div><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 collapsible is-link" data-v-c40bc020 data-v-b3fd67f8><div class="item" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/contributing'><!--[--><h2 class="text" data-v-b3fd67f8>Contributing</h2><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><section class="VPSidebarItem level-1" data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h3 class="text" data-v-b3fd67f8>Implementation Details</h3><!----></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/contributing/events-controller'><!--[--><p class="text" data-v-b3fd67f8>Events Controller</p><!--]--></a><!----></div><!----></div><!--]--></div></section><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/contributing/glossary'><!--[--><p class="text" data-v-b3fd67f8>Glossary</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 collapsible is-link" data-v-c40bc020 data-v-b3fd67f8><div class="item" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/blog'><!--[--><h2 class="text" data-v-b3fd67f8>Blog</h2><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><section class="VPSidebarItem level-1 collapsible collapsed" data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h3 class="text" data-v-b3fd67f8>2025</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/blog/2025/atlantis-on-google-cloud-run'><!--[--><p class="text" data-v-b3fd67f8>Atlantis on Google Cloud Run</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-1 collapsible collapsed" data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h3 class="text" data-v-b3fd67f8>2024</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/blog/2024/integrating-atlantis-with-opentofu'><!--[--><p class="text" data-v-b3fd67f8>Integrating Atlantis with OpenTofu</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/blog/2024/april-2024-survey-results'><!--[--><p class="text" data-v-b3fd67f8>Atlantis User Survey Results</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-1 collapsible collapsed" data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h3 class="text" data-v-b3fd67f8>2019</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/blog/2019/4-reasons-to-try-hashicorps-new-free-terraform-remote-state-storage'><!--[--><p class="text" data-v-b3fd67f8>4 Reasons To Try HashiCorp's (New) Free Terraform Remote State Storage</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-1 collapsible collapsed" data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h3 class="text" data-v-b3fd67f8>2018</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/blog/2018/joining-hashicorp'><!--[--><p class="text" data-v-b3fd67f8>I'm Joining HashiCorp!</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/blog/2018/putting-the-dev-into-devops-why-your-
87developers-should-write-terraform-too'><!--[--><p class="text" data-v-b3fd67f8>Putting The Dev Into DevOps: Why Your Developers Should Write Terraform Too</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/blog/2018/atlantis-0-4-4-now-supports-bitbucket'><!--[--><p class="text" data-v-b3fd67f8>Atlantis 0.4.4 Now Supports Bitbucket</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/blog/2018/terraform-and-the-dangers-of-applying-locally'><!--[--><p class="text" data-v-b3fd67f8>Terraform And The Dangers Of Applying Locally</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/blog/2018/hosting-our-static-site-over-ssl-with-s3-acm-cloudfront-and-terraform'><!--[--><p class="text" data-v-b3fd67f8>Hosting Our Static Site over SSL with S3, ACM, CloudFront and Terraform</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-1 collapsible collapsed" data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h3 class="text" data-v-b3fd67f8>2017</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class='VPLink link link' data-v-b3fd67f8 href='/blog/2017/introducing-atlantis'><!--[--><p class="text" data-v-b3fd67f8>Introducing Atlantis</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-5d98c3a5 data-v-1428d186><div class="VPDoc has-sidebar" data-v-1428d186 data-v-39a288b8><!--[--><!--]--><div class="container" data-v-39a288b8><!----><div class="content" data-v-39a288b8><div class="content-container" data-v-39a288b8><!--[--><!--]--><main class="main" data-v-39a288b8><div style="position:relative;" class="vp-doc _contributing" data-v-39a288b8><div><h1 id="atlantis-contributing-documentation" tabindex="-1">Atlantis Contributing Documentation <a class="header-anchor" href="#atlantis-contributing-documentation" aria-label="Permalink to "Atlantis Contributing Documentation"">â</a></h1><p>These docs are for users who want to contribute to the Atlantis project. This can vary from writing documentation, helping the community on Slack, discussing issues, or writing code.</p><div class="tip custom-block"><p class="custom-block-title">Looking to get started or use Atlantis?</p><p>If you're new, check out the <a href='/guide'>Guide</a> or the <a href='/docs'>Documentation</a>.</p></div><h2 id="next-steps" tabindex="-1">Next Steps <a class="header-anchor" href="#next-steps" aria-label="Permalink to "Next Steps"">â</a></h2><ul><li><a href='/contributing/events-controller'>Events Controller</a>  â  How do the events work?</li></ul></div></div></main><footer class="VPDocFooter" data-v-39a288b8 data-v-e257564d><!--[--><!--]--><div class="edit-info" data-v-e257564d><div class="edit-link" data-v-e257564d><a class="VPLink link vp-external-link-icon no-icon edit-link-button" href="https://github.com/runatlantis/atlantis/edit/main/runatlantis.io/contributing.md" target="_blank" rel="noreferrer" data-v-e257564d><!--[--><span class="vpi-square-pen edit-link-icon" data-v-e257564d></span> Edit this page<!--]--></a></div><div class="last-updated" data-v-e257564d><p class="VPLastUpdated" data-v-e257564d data-v-e98dd255>Last updated: <time datetime="2024-05-14T20:30:14.000Z" data-v-e98dd255></time></p></div></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-e257564d><span class="visually-hidden" id="doc-footer-aria-label" data-v-e257564d>Pager</span><div class="pager" data-v-e257564d><a class='VPLink link pager-link prev' data-v-e257564d href='/docs/troubleshooting-https'><!--[--><span class="desc" data-v-e257564d>Previous page</span><span class="title" data-v-e257564d>HTTPS, SSL, TLS</span><!--]--></a></div><div class="pager" data-v-e257564d><a class='VPLink link pager-link next' data-v-e257564d href='/contributing/events-controller'><!--[--><span class="desc" data-v-e257564d>Next page</span><span class="title" data-v-e257564d>Events Controller</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-5d98c3a5 data-v-e315a0ad><div class="container" data-v-e315a0ad><p class="message" data-v-e315a0ad>Copyright Atlantis a Series of LF Projects, LLC. For website terms of use, trademark policy and other project policies please see <a href="https://lfprojects.org/policies/">LF Projects, LLC Policies</a>.</p><!----></div></footer><!--[--><!--]--></div></div> 88
88<script>window.__VP_HASH_MAP__=JSON.parse("{\"blog.md\":\"BFs5uNzy\",\"blog_2017_introducing-atlantis.md\":\"D1-7ecM6\",\"blog_2018_atlantis-0-4-4-now-supports-bitbucket.md\":\"DzcyNlPh\",\"blog_2018_hosting-our-static-site-over-ssl-with-s3-acm-cloudfront-and-terraform.md\":\"Dcemz821\",\"blog_2018_joining-hashicorp.md\":\"CtljUvsU\",\"blog_2018_putting-the-dev-into-devops-why-your-developers-should-write-terraform-too.md\":\"Co0UZxat\",\"blog_2018_terraform-and-the-dangers-of-applying-locally.md\":\"-vRCTFbd\",\"blog_2019_4-reasons-to-try-hashicorps-new-free-terraform-remote-state-storage.md\":\"6FkrJXol\",\"blog_2024_april-2024-survey-results.md\":\"DJs1u-lO\",\"blog_2024_integrating-atlantis-with-opentofu.md\":\"zHOHa5DL\",\"blog_2025_atlantis-on-google-cloud-run.md\":\"C1Ucg7Xi\",\"contributing.md\":\"10pCdMIw\",\"contributing_events-controller.md\":\"DC7rI7AA\",\"contributing_glossary.md\":\"C72NgDE9\",\"docs.md\":\"CIgWuOpU\",\"docs_access-credentials.md\":\"Cm_iq2t5\",\"docs_api-endpoints.md\":\"CnhjuQ1Z\",\"docs_apply-requirements.md\":\"BLX4pFce\",\"docs_automerging.md\":\"Sy0aVzHc\",\"docs_autoplanning.md\":\"C2RNwbxi\",\"docs_checkout-strategy.md\":\"C6_WBvfM\",\"docs_command-requirements.md\":\"B_D8ckEq\",\"docs_configuring-atlantis.md\":\"dKrzFnu_\",\"docs_configuring-webhooks.md\":\"DtKu0BcU\",\"docs_custom-policy-checks.md\":\"1FToHWnO\",\"docs_custom-workflows.md\":\"DDhWhbaD\",\"docs_deployment.md\":\"t-tJs-_I\",\"docs_faq.md\":\"BWNE5aKG\",\"docs_how-atlantis-works.md\":\"CaBpWw_K\",\"docs_installation-guide.md\":\"DrPksgs0\",\"docs_locking.md\":\"UPvix14j\",\"docs_policy-checking.md\":\"BkgUxgDn\",\"docs_post-workflow-hooks.md\":\"qhmxnxkn\",\"docs_pre-workflow-hooks.md\":\"DArTRCCY\",\"docs_provider-credentials.md\":\"CYnyp1wz\",\"docs_repo-and-project-permissions.md\":\"BR8ZaNyh\",\"docs_repo-level-atlantis-yaml.md\":\"Dxhnswr-\",\"docs_requirements.md\":\"BkJwc67-\",\"docs_security.md\":\"D2_MFFNv\",\"docs_sending-notifications-via-webhooks.md\":\"BVnkTg2t\",\"docs_server-configuration.md\":\"Dqm5Actg\",\"docs_server-side-repo-config.md\":\"DeBf5MN6\",\"docs_stats.md\":\"D9ZBA8aT\",\"docs_streaming-logs.md\":\"Dsr_I7wt\",\"docs_terraform-cloud.md\":\"DtUvjwnb\",\"docs_terraform-versions.md\":\"CUHtEAo1\",\"docs_troubleshooting-https.md\":\"HxxDwnwi\",\"docs_upgrading-atlantis-yaml.md\":\"DyJ8LYWE\",\"docs_using-atlantis.md\":\"B1MKm8-J\",\"docs_webhook-secrets.md\":\"BIi24YzI\",\"es_blog.md\":\"BLoacZWm\",\"es_contributing.md\":\"rpQ4RbPA\",\"es_docs.md\":\"C2oo2IqE\",\"es_docs_access-credentials.md\":\"dc7l5YMw\",\"es_docs_api-endpoints.md\":\"D2zWUpll\",\"es_docs_apply-requirements.md\":\"BhDftEVS\",\"es_docs_automerging.md\":\"eoqSgUSm\",\"es_docs_autoplanning.md\":\"EEd-x7ri\",\"es_docs_checkout-strategy.md\":\"BXWRX7Nk\",\"es_docs_command-requirements.md\":\"C4R4kS0_\",\"es_docs_configuring-atlantis.md\":\"DP5mGn4s\",\"es_docs_configuring-webhooks.md\":\"Bxa5pJvr\",\"es_docs_custom-policy-checks.md\":\"DEKDxO_c\",\"es_docs_custom-workflows.md\":\"BKsYm16o\",\"es_docs_deployment.md\":\"DyOyOaDc\",\"es_docs_faq.md\":\"DDfrJIW6\",\"es_docs_how-atlantis-works.md\":\"C3jMFFwb\",\"es_docs_installation-guide.md\":\"31Hz_K6A\",\"es_docs_locking.md\":\"DIurX_Xq\",\"es_docs_policy-checking.md\":\"B1DnP3br\",\"es_docs_post-workflow-hooks.md\":\"C57wT6gE\",\"es_docs_pre-workflow-hooks.md\":\"CX_DT2yH\",\"es_docs_provider-credentials.md\":\"jmMbPksj\",\"es_docs_repo-and-project-permissions.md\":\"DvGdvahh\",\"es_docs_repo-level-atlantis-yaml.md\":\"Dq6C2I4i\",\"es_docs_requirements.md\":\"DTyPS0gT\",\"es_docs_security.md\":\"b9ggp_Od\",\"es_docs_sending-notifications-via-webhooks.md\":\"UafhY-hn\",\"es_docs_server-configuration.md\":\"BbmSPuhz\",\"es_docs_server-side-repo-config.md\":\"P7AT7wVC\",\"es_docs_stats.md\":\"sCOGQM_a\",\"es_docs_streaming-logs.md\":\"gfGrLt-D\",\"es_docs_terraform-cloud.md\":\"B9zSy_nh\",\"es_docs_terraform-versions.md\":\"Cj7UiVm1\",\"es_docs_troubleshooting-https.md\":\"B4IbtHTx\",\"es_docs_upgrading-atlantis-yaml.md\":\"iJ6tLSSS\",\"es_docs_using-atlantis.md\":\"BjaKOD3D\",\"es_docs_webhook-secrets.md\":\"C-mAs92J\",\"es_guide.md\":\"BsYW8DgL\",\"es_guide_test-drive.md\":\"DXSbxR6j\",\"es_guide_testing-locally.md\":\"CblB27am\",\"es_index.md\":\"DSpc3Nzd\",\"guide.md\":\"sT1AXvnc\",\"guide_test-drive.md\":\"Cu9rmGLT\",\"guide_testing-locally.md\":\"Pveivu9g\",\"index.md\":\"BYBCoUdm\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Atlantis\",\"description\":\"Atlantis: Terraform Pull Request Automation\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"editLink\":{\"pattern\":\"https://github.com/runatlantis/atlantis/edit/main/runatlantis.io/:path\"},\"outline\":[2,3],\"search\":{\"provider\":\"algolia\",\"options\":{\"apiKey\":\"3b733dff1539ca3a210775860301fa86\",\"indexName\":\"runatlantis\",\"appId\":\"BH4D9OD16A\",\"locales\":{\"/\":{\"placeholder\":\"Search Documentation\",\"translations\":{\"button\":{\"buttonText\":\"Search Documentation\"}}},\"/es/\":{\"placeholder\":\"Buscar en la documentación\",\"translations\":{\"button\":{\"buttonText\":\"Buscar\"}}}}}},\"socialLinks\":[{\"icon\":\"slack\",\"link\":\"https://slack.cncf.io/\"},{\"icon\":\"twitter\",\"link\":\"https://twitter.com/runatlantis\"},{\"icon\":\"github\",\"link\":\"https://github.com/runatlantis/atlantis\"}
88],\"footer\":{\"message\":\"Copyright Atlantis a Series of LF Projects, LLC. For website terms of use, trademark policy and other project policies please see <a href=\\\"https://lfprojects.org/policies/\\\">LF Projects, LLC Policies</a>.\"}},\"locales\":{\"root\":{\"label\":\"English\",\"lang\":\"en-US\",\"themeConfig\":{\"nav\":[{\"text\":\"Home\",\"link\":\"/\"},{\"text\":\"Guide\",\"link\":\"/guide\"},{\"text\":\"Docs\",\"link\":\"/docs\"},{\"text\":\"Contributing\",\"link\":\"/contributing\"},{\"text\":\"Blog\",\"link\":\"/blog\"}],\"sidebar\":[{\"text\":\"Guide\",\"link\":\"/guide\",\"collapsed\":false,\"items\":[{\"text\":\"Test Drive\",\"link\":\"/guide/test-drive\"},{\"text\":\"Testing locally\",\"link\":\"/guide/testing-locally\"}]},{\"text\":\"Docs\",\"link\":\"/docs\",\"collapsed\":true,\"items\":[{\"text\":\"Installing Atlantis\",\"collapsed\":true,\"items\":[{\"text\":\"Installing Guide\",\"link\":\"/docs/installation-guide\"},{\"text\":\"Requirements\",\"link\":\"/docs/requirements\"},{\"text\":\"Git Host Access Credentials\",\"link\":\"/docs/access-credentials\"},{\"text\":\"Webhook Secrets\",\"link\":\"/docs/webhook-secrets\"},{\"text\":\"Deployment\",\"link\":\"/docs/deployment\"},{\"text\":\"Configuring Webhooks\",\"link\":\"/docs/configuring-webhooks\"},{\"text\":\"Provider Credentials\",\"link\":\"/docs/provider-credentials\"}]},{\"text\":\"Configuring Atlantis\",\"collapsed\":true,\"items\":[{\"text\":\"Overview\",\"link\":\"/docs/configuring-atlantis\"},{\"text\":\"Server Configuration\",\"link\":\"/docs/server-configuration\"},{\"text\":\"Server Side Repo Config\",\"link\":\"/docs/server-side-repo-config\"},{\"text\":\"Pre Workflow Hooks\",\"link\":\"/docs/pre-workflow-hooks\"},{\"text\":\"Post Workflow Hooks\",\"link\":\"/docs/post-workflow-hooks\"},{\"text\":\"Conftest Policy Checking\",\"link\":\"/docs/policy-checking\"},{\"text\":\"Custom Workflows\",\"link\":\"/docs/custom-workflows\"},{\"text\":\"Repo and Project Permissions\",\"link\":\"/docs/repo-and-project-permissions\"},{\"text\":\"Repo Level atlantis.yaml\",\"link\":\"/docs/repo-level-atlantis-yaml\"},{\"text\":\"Upgrading atlantis.yaml\",\"link\":\"/docs/upgrading-atlantis-yaml\"},{\"text\":\"Command Requirements\",\"link\":\"/docs/command-requirements\"},{\"text\":\"Checkout Strategy\",\"link\":\"/docs/checkout-strategy\"},{\"text\":\"Terraform Versions\",\"link\":\"/docs/terraform-versions\"},{\"text\":\"Terraform Cloud\",\"link\":\"/docs/terraform-cloud\"},{\"text\":\"Sending Notifications via Webhooks\",\"link\":\"/docs/sending-notifications-via-webhooks\"},{\"text\":\"Stats\",\"link\":\"/docs/stats\"},{\"text\":\"FAQ\",\"link\":\"/docs/faq\"}]},{\"text\":\"Using Atlantis\",\"collapsed\":true,\"items\":[{\"text\":\"Overview\",\"link\":\"/docs/using-atlantis\"},{\"text\":\"API endpoints\",\"link\":\"/docs/api-endpoints\"}]},{\"text\":\"How Atlantis Works\",\"collapsed\":true,\"items\":[{\"text\":\"Overview\",\"link\":\"/docs/how-atlantis-works\"},{\"text\":\"Locking\",\"link\":\"/docs/locking\"},{\"text\":\"Autoplanning\",\"link\":\"/docs/autoplanning\"},{\"text\":\"Automerging\",\"link\":\"/docs/automerging\"},{\"text\":\"Security\",\"link\":\"/docs/security\"}]},{\"text\":\"Real-time Terraform Logs\",\"link\":\"/docs/streaming-logs\"},{\"text\":\"Troubleshooting\",\"collapsed\":true,\"items\":[{\"text\":\"HTTPS, SSL, TLS\",\"link\":\"/docs/troubleshooting-https\"}]}]},{\"text\":\"Contributing\",\"link\":\"/contributing\",\"collapsed\":false,\"items\":[{\"text\":\"Implementation Details\",\"items\":[{\"text\":\"Events Controller\",\"link\":\"/contributing/events-controller\"}]},{\"text\":\"Glossary\",\"link\":\"/contributing/glossary\"}]},{\"text\":\"Blog\",\"link\":\"/blog\",\"collapsed\":false,\"items\":[{\"text\":\"2025\",\"collapsed\":true,\"items\":[{\"text\":\"Atlantis on Google Cloud Run\",\"link\":\"/blog/2025/atlantis-on-google-cloud-run\"}]},{\"text\":\"2024\",\"collapsed\":true,\"items\":[{\"text\":\"Integrating Atlantis with OpenTofu\",\"link\":\"/blog/2024/integrating-atlantis-with-opentofu\"},{\"text\":\"Atlantis User Survey Results\",\"link\":\"/blog/2024/april-2024-survey-results\"}]},{\"text\":\"2019\",\"collapsed\":true,\"items\":[{\"text\":\"4 Reasons To Try HashiCorp's (New) Free Terraform Remote State Storage\",\"link\":\"/blog/2019/4-reasons-to-try-hashicorps-new-free-terraform-remote-state-storage\"}]},{\"text\":\"2018\",\"collapsed\":true,\"items\":[{\"text\":\"I'm Joining HashiCorp!\",\"link\":\"/blog/2018/joining-hashicorp\"},{\"text\":\"Putting The Dev Into DevOps: Why Your Developers Should Write Terraform Too\",\"link\":\"/blog/2018/putting-the-dev-into-devops-why-your-
88developers-should-write-terraform-too\"},{\"text\":\"Atlantis 0.4.4 Now Supports Bitbucket\",\"link\":\"/blog/2018/atlantis-0-4-4-now-supports-bitbucket\"},{\"text\":\"Terraform And The Dangers Of Applying Locally\",\"link\":\"/blog/2018/terraform-and-the-dangers-of-applying-locally\"},{\"text\":\"Hosting Our Static Site over SSL with S3, ACM, CloudFront and Terraform\",\"link\":\"/blog/2018/hosting-our-static-site-over-ssl-with-s3-acm-cloudfront-and-terraform\"}]},{\"text\":\"2017\",\"collapsed\":true,\"items\":[{\"text\":\"Introducing Atlantis\",\"link\":\"/blog/2017/introducing-atlantis\"}]}]}]}},\"es\":{\"label\":\"Español\",\"lang\":\"es-ES\",\"themeConfig\":{\"nav\":[{\"text\":\"Inicio\",\"link\":\"/es/\"},{\"text\":\"GuÃa\",\"link\":\"/es/guide\"},{\"text\":\"Documentación\",\"link\":\"/es/docs\"},{\"text\":\"Contribuir\",\"link\":\"/es/contributing\"},{\"text\":\"Blog\",\"link\":\"/es/blog\"}],\"sidebar\":[{\"text\":\"GuÃa\",\"link\":\"/es/guide\",\"collapsed\":false,\"items\":[{\"text\":\"Prueba rápida\",\"link\":\"/es/guide/test-drive\"},{\"text\":\"Pruebas en local\",\"link\":\"/es/guide/testing-locally\"}]},{\"text\":\"Documentación\",\"link\":\"/es/docs\",\"collapsed\":true,\"items\":[{\"text\":\"Instalar Atlantis\",\"collapsed\":true,\"items\":[{\"text\":\"GuÃa de instalación\",\"link\":\"/es/docs/installation-guide\"},{\"text\":\"Requisitos\",\"link\":\"/es/docs/requirements\"},{\"text\":\"Credenciales de acceso al host de Git\",\"link\":\"/es/docs/access-credentials\"},{\"text\":\"Secretos de webhook\",\"link\":\"/es/docs/webhook-secrets\"},{\"text\":\"Despliegue\",\"link\":\"/es/docs/deployment\"},{\"text\":\"Configurar webhooks\",\"link\":\"/es/docs/configuring-webhooks\"},{\"text\":\"Credenciales del proveedor\",\"link\":\"/es/docs/provider-credentials\"}]},{\"text\":\"Configurar Atlantis\",\"collapsed\":true,\"items\":[{\"text\":\"Visión general\",\"link\":\"/es/docs/configuring-atlantis\"},{\"text\":\"Configuración del servidor\",\"link\":\"/es/docs/server-configuration\"},{\"text\":\"Configuración de repositorios en el servidor\",\"link\":\"/es/docs/server-side-repo-config\"},{\"text\":\"Hooks previos al workflow\",\"link\":\"/es/docs/pre-workflow-hooks\"},{\"text\":\"Hooks posteriores al workflow\",\"link\":\"/es/docs/post-workflow-hooks\"},{\"text\":\"Comprobación de polÃticas con Conftest\",\"link\":\"/es/docs/policy-checking\"},{\"text\":\"Workflows personalizados\",\"link\":\"/es/docs/custom-workflows\"},{\"text\":\"Permisos de repositorio y proyecto\",\"link\":\"/es/docs/repo-and-project-permissions\"},{\"text\":\"atlantis.yaml a nivel de repositorio\",\"link\":\"/es/docs/repo-level-atlantis-yaml\"},{\"text\":\"Actualizar atlantis.yaml\",\"link\":\"/es/docs/upgrading-atlantis-yaml\"},{\"text\":\"Requisitos de los comandos\",\"link\":\"/es/docs/command-requirements\"},{\"text\":\"Estrategia de checkout\",\"link\":\"/es/docs/checkout-strategy\"},{\"text\":\"Versiones de Terraform\",\"link\":\"/es/docs/terraform-versions\"},{\"text\":\"Terraform Cloud\",\"link\":\"/es/docs/terraform-cloud\"},{\"text\":\"Enviar notificaciones mediante webhooks\",\"link\":\"/es/docs/sending-notifications-via-webhooks\"},{\"text\":\"EstadÃsticas\",\"link\":\"/es/docs/stats\"},{\"text\":\"Preguntas frecuentes\",\"link\":\"/es/docs/faq\"}]},{\"text\":\"Usar Atlantis\",\"collapsed\":true,\"items\":[{\"text\":\"Visión general\",\"link\":\"/es/docs/using-atlantis\"},{\"text\":\"Endpoints de la API\",\"link\":\"/es/docs/api-endpoints\"}]},{\"text\":\"Cómo funciona Atlantis\",\"collapsed\":true,\"items\":[{\"text\":\"Visión general\",\"link\":\"/es/docs/how-atlantis-works\"},{\"text\":\"Bloqueos\",\"link\":\"/es/docs/locking\"},{\"text\":\"Autoplanning\",\"link\":\"/es/docs/autoplanning\"},{\"text\":\"Automerge\",\"link\":\"/es/docs/automerging\"},{\"text\":\"Seguridad\",\"link\":\"/es/docs/security\"}]},{\"text\":\"Logs de Terraform en tiempo real\",\"link\":\"/es/docs/streaming-logs\"},{\"text\":\"Resolución de problemas\",\"collapsed\":true,\"items\":[{\"text\":\"HTTPS, SSL, TLS\",\"link\":\"/es/docs/troubleshooting-https\"}]}]},{\"text\":\"Contribuir\",\"link\":\"/es/contributing\",\"collapsed\":false,\"items\":[{\"text\":\"Detalles de implementación\",\"items\":[{\"text\":\"Controlador de eventos\",\"link\":\"/contributing/events-controller\"}]},{\"text\":\"Glosario\",\"link\":\"/contributing/glossary\"}]},{\"text\":\"Blog\",\"link\":\"/es/blog\",\"collapsed\":false,\"items\":[{\"text\":\"2025\",\"collapsed\":true,\"items\":[{\"text\":\"Atlantis en Google Cloud Run\",\"link\":\"/blog/2025/atlantis-on-google-cloud-run\"}]},{\"text\":\"2024\",\"collapsed\":true,\"items\":[{\"text\":\"Integrar Atlantis con OpenTofu\",\"link\":\"/blog/2024/integrating-atlantis-with-opentofu\"},{\"text\":\"Resultados de la encuesta de usuarios de Atlantis\",\"link\":\"/blog/2024/april-2024-survey-results\"}]},{\"text\":\"2019\",\"collapsed\":true,\"items\":[{\"text\":\"4 razones para probar el nuevo almacenamiento gratuito de estado remoto de Terraform de HashiCorp\",\"link\":\"/blog/2019/4-reasons-to-try-hashicorps-new-free-terraform-remote-state-storage\"}]},{\"text\":\"2018\",\"collapsed\":true,\"items\":[{\"text\":\"¡Me uno a HashiCorp!\",\"link\":\"/blog/2018/joining-hashicorp\"},{\"text\":\"Llevar el Dev a DevOps: por qué tus desarrolladores también deberÃan escribir Terraform\",\"link\":\"/blog/2018/putting-the-dev-into-devops-why-your-
88developers-should-write-terraform-too\"},{\"text\":\"Atlantis 0.4.4 ahora es compatible con Bitbucket\",\"link\":\"/blog/2018/atlantis-0-4-4-now-supports-bitbucket\"},{\"text\":\"Terraform y los peligros de aplicar localmente\",\"link\":\"/blog/2018/terraform-and-the-dangers-of-applying-locally\"},{\"text\":\"Alojar nuestro sitio estático sobre SSL con S3, ACM, CloudFront y Terraform\",\"link\":\"/blog/2018/hosting-our-static-site-over-ssl-with-s3-acm-cloudfront-and-terraform\"}]},{\"text\":\"2017\",\"collapsed\":true,\"items\":[{\"text\":\"Presentando Atlantis\",\"link\":\"/blog/2017/introducing-atlantis\"}]}]}],\"editLink\":{\"pattern\":\"https://github.com/runatlantis/atlantis/edit/main/runatlantis.io/:path\",\"text\":\"Editar esta página en GitHub\"},\"docFooter\":{\"prev\":\"Anterior\",\"next\":\"Siguiente\"},\"outline\":{\"level\":[2,3],\"label\":\"En esta página\"},\"lastUpdated\":{\"text\":\"Ãltima actualización\"},\"darkModeSwitchLabel\":\"Apariencia\",\"lightModeSwitchTitle\":\"Cambiar a modo claro\",\"darkModeSwitchTitle\":\"Cambiar a modo oscuro\",\"sidebarMenuLabel\":\"Menú\",\"returnToTopLabel\":\"Volver arriba\",\"langMenuLabel\":\"Cambiar idioma\",\"footer\":{\"message\":\"Copyright Atlantis a Series of LF Projects, LLC. Para los términos de uso del sitio web, la polÃtica de marcas y otras polÃticas del proyecto, consulta <a href=\\\"https://lfprojects.org/policies/\\\">LF Projects, LLC Policies</a>.\"}}}},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
88 89 90 </body> 91</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.