# Ignition 8.3 GIT Deployment Best Practices

**URL:** <https://forum.inductiveautomation.com/t/ignition-8-3-git-deployment-best-practices/109355>\
**Category:** Ignition 8.3 Early Access\
**Created:** [August 4, 2025, 9:54pm UTC](https://forum.inductiveautomation.com/t/ignition-8-3-git-deployment-best-practices/109355 "2025-08-04T21:54:46Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![tom.l](https://avatars.discourse-cdn.com/v4/letter/t/9fc348/32.png) [@tom.l](https://forum.inductiveautomation.com/u/tom.l)\
**Post date:** [August 4, 2025, 9:54pm UTC](https://forum.inductiveautomation.com/t/ignition-8-3-git-deployment-best-practices/109355/1 "2025-08-04T21:54:46Z")

</div>

Are there any articles available to support setting up GIT version control for Ignition 8.3 projects?  
Similar to [Ignition 8 Deployment Best Practices | Inductive Automation](https://inductiveautomation.com/resources/article/ignition-8-deployment-best-practices)

Which folders would need to be tracked to capture tags, images and gateway configurations into a GIT repository?

It would be awesome if it was possible to automatically migrate binary files from projects pulled from GIT repositories, rather than having to do a gateway restore.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [August 4, 2025, 10:25pm UTC](https://forum.inductiveautomation.com/t/ignition-8-3-git-deployment-best-practices/109355/2 "2025-08-04T22:25:44Z")

</div>

You'll probably have to wait a while for complete guides to become available.

For now, I'll mention that files created in the external "resource collection" (also known as mode or just collection; roughly analogous to a "project") are guaranteed to go untouched by Ignition and will be treated as immutable. If you want to preconfigure/deploy gateways from source control, that's going to be your preferred avenue - essentially, duplicate the nested folder structure from  
`data/config/resources/core/`  
and manually repeat it in  
`data/config/resources/external/`  
for whatever resources you care about.

'Gateway configurations' is too broad - basically everything in the gateway is now captured in independent resource types, so you have to choose how selective (or not) you want to be when storing configuration to VCS. Images, for instance, are stored in `data/config/resources/core/ignition/images`.

---

<div class="post-metadata">

**Author:** ![john.maldonado](https://avatars.discourse-cdn.com/v4/letter/j/77aa72/32.png) [@john.maldonado](https://forum.inductiveautomation.com/u/john.maldonado)\
**Post date:** [August 4, 2025, 10:35pm UTC](https://forum.inductiveautomation.com/t/ignition-8-3-git-deployment-best-practices/109355/3 "2025-08-04T22:35:44Z")

</div>

Any plans for / any existing documentation of the new file structure?

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [August 4, 2025, 10:52pm UTC](https://forum.inductiveautomation.com/t/ignition-8-3-git-deployment-best-practices/109355/4 "2025-08-04T22:52:11Z")

</div>

Almost certainly, yes, but I'm not on the documentation team so I can't say authoritatively.

A quick look at the manual found:

> **[Gateway Folder Structure Reference | Ignition User Manual](https://docs.inductiveautomation.com/docs/8.3/appendix/reference-pages/gateway-folder-structure#gateway-folder-structure)**
>
> Learn more about the folder structure behind Ignition

The `resource.json` manifest file works the same for gateway/configuration resource as it does for projects:

> **[resource.json File | Ignition User Manual](https://docs.inductiveautomation.com/docs/8.3/appendix/reference-pages/resource-json-file)**
>
> This page describes the contents on resource.json files

---

<div class="post-metadata">

**Author:** ![tom.l](https://avatars.discourse-cdn.com/v4/letter/t/9fc348/32.png) [@tom.l](https://forum.inductiveautomation.com/u/tom.l)\
**Post date:** [August 4, 2025, 11:17pm UTC](https://forum.inductiveautomation.com/t/ignition-8-3-git-deployment-best-practices/109355/5 "2025-08-04T23:17:37Z")

</div>

Thanks for the quick answer! Definitely nice to see all the resources in JSON format 😄  
If we were happy tracking all the changes the gateway makes in a basic dev/production server environment, would it be safe to push/pull directly to/from the 'core' folder, or would this risk corrupting the gateway in some instances?

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [August 4, 2025, 11:39pm UTC](https://forum.inductiveautomation.com/t/ignition-8-3-git-deployment-best-practices/109355/6 "2025-08-04T23:39:42Z")

</div>

The gateway doesn't scan for changes to the resources on disk in 8.3, so you'll have to update your deployment automation/process to (for now) hit the scan config collection endpoint on our new REST API. Other than that, the only 'risk' is having written out files/folders that don't make sense to the gateway and cause issues.

---

<div class="post-metadata">

**Author:** ![kgamble](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kgamble/32/8019_2.png) [@kgamble](https://forum.inductiveautomation.com/u/kgamble)\
**Post date:** [August 9, 2025, 2:51pm UTC](https://forum.inductiveautomation.com/t/ignition-8-3-git-deployment-best-practices/109355/7 "2025-08-09T14:51:45Z")

</div>

> [@paul-griffith](#):
>
> hit the scan config collection endpoint on our new REST API.

Are these endpoints publicly documented anywhere yet? Currently mid-rebuild on Flint for 8.3, and looking to add support for the native project scan endpoint.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [August 9, 2025, 3:20pm UTC](https://forum.inductiveautomation.com/t/ignition-8-3-git-deployment-best-practices/109355/8 "2025-08-09T15:20:42Z")

</div>

I suspect right now the only documentation is at [http://localhost:8088/openapi](http://localhost:8088/openapi) or [http://localhost:8088/openapi.json](http://localhost:8088/openapi.json).

e.g. the scan endpoint is documented at [http://localhost:8088/openapi#tag/config-management/paths/\\\\\\\~1data\\\\\\\~1api\\\\\\\~1v1\\\\\\\~1scan\\\\\\\~1projects/post](http://localhost:8088/openapi#tag/config-management/paths/%5C%5C%5C%5C%5C%5C%5C~1data%5C%5C%5C%5C%5C%5C%5C~1api%5C%5C%5C%5C%5C%5C%5C~1v1%5C%5C%5C%5C%5C%5C%5C~1scan%5C%5C%5C%5C%5C%5C%5C~1projects/post)

At some point there should be a scripting interface to some/all of the REST API as well. @paul-griffith can speak to that more than I can.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [August 11, 2025, 3:23pm UTC](https://forum.inductiveautomation.com/t/ignition-8-3-git-deployment-best-practices/109355/9 "2025-08-11T15:23:00Z")

</div>

> [@Kevin.Herron](#):
>
> At some point there should be a scripting interface to some/all of the REST API as well. @paul-griffith can speak to that more than I can.

Yeah, the plan is still a "complementary" scripting API - it won't be a 1:1 copy of the REST API but will be able to express ~all the same capabilities. Timeline is no _earlier_ than 8.3.1.
