# \[IGN-14256\] Deployment Mode

**URL:** <https://forum.inductiveautomation.com/t/ign-14256-deployment-mode/110514>\
**Category:** Ignition 8.3 Early Access\
**Created:** [September 10, 2025, 2:45pm UTC](https://forum.inductiveautomation.com/t/ign-14256-deployment-mode/110514 "2025-09-10T14:45:51Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![marco.handle](https://avatars.discourse-cdn.com/v4/letter/m/7ab992/32.png) [@marco.handle](https://forum.inductiveautomation.com/u/marco.handle)\
**Post date:** [September 10, 2025, 2:45pm UTC](https://forum.inductiveautomation.com/t/ign-14256-deployment-mode/110514/1 "2025-09-10T14:45:51Z")

</div>

Hi everyone,

is there any way to detect via Tag or Script, in which deployment mode my gateway is running?  
I saw, that I can request this via the openApi and the /gateway-info endpoint.

For me it would be great if there is a Tag or a system function.

Thanks for helping.

---

<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:** [September 10, 2025, 3:02pm UTC](https://forum.inductiveautomation.com/t/ign-14256-deployment-mode/110514/2 "2025-09-10T15:02:41Z")

</div>

At the moment no, but if you can get yourself a `GatewayContext` then you can get the ConfigurationManager and call `ConfigurationManager::getActiveMode()`: [ConfigurationManager](https://files.inductiveautomation.com/sdk/javadoc/earlyaccess/ignition83/8.3.0-SNAPSHOT/com/inductiveautomation/ignition/gateway/config/ConfigurationManager.html#getActiveMode())

---

<div class="post-metadata">

**Author:** ![ggross](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ggross/32/12668_2.png) [@ggross](https://forum.inductiveautomation.com/u/ggross)\
**Post date:** [September 10, 2025, 3:28pm UTC](https://forum.inductiveautomation.com/t/ign-14256-deployment-mode/110514/3 "2025-09-10T15:28:11Z")

</div>

To add on to Kevin's explanation. In a Gateway context the following script should get you what you are looking for:

```python
	from com.inductiveautomation.ignition.gateway import IgnitionGateway

	context = IgnitionGateway.get()
	mode = context.getConfigurationManager().getActiveMode()
	if mode.isEmpty():
		print('No Mode Set')
	else:
		print(mode.get())

```

A system tag would be useful and a ticket has been created to add one.

Garth

edit: Changed what is returned if no mode is set to be something other than `core` which is technically incorrect.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [September 10, 2025, 3:30pm UTC](https://forum.inductiveautomation.com/t/ign-14256-deployment-mode/110514/4 "2025-09-10T15:30:56Z")

</div>

If you use my Integration Toolkit, this one-liner will do:

```python
print system.util.toolkitCtx().configurationManager.activeMode.getOrElse(None)

```

😁

_Fix with better understanding of an empty mode._

---

<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:** [September 10, 2025, 3:57pm UTC](https://forum.inductiveautomation.com/t/ign-14256-deployment-mode/110514/5 "2025-09-10T15:57:35Z")

</div>

Neither of these examples should "or else" to "core" - it's just no deployment mode.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [September 10, 2025, 3:59pm UTC](https://forum.inductiveautomation.com/t/ign-14256-deployment-mode/110514/6 "2025-09-10T15:59:56Z")

</div>

> [@Kevin.Herron](#):
>
> just no deployment mode.

Hmmm. Please elaborate, because I am now confused.

---

<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:** [September 10, 2025, 4:00pm UTC](https://forum.inductiveautomation.com/t/ign-14256-deployment-mode/110514/7 "2025-09-10T16:00:29Z")

</div>

By default you're just not in a named deployment mode.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [September 10, 2025, 4:02pm UTC](https://forum.inductiveautomation.com/t/ign-14256-deployment-mode/110514/8 "2025-09-10T16:02:30Z")

</div>

Meaning there's just no folder of config overrides to consider? That is, "no mode" =\> ordinary config, while mode "something" =\> ordinary config + "something" overrides?

_Edited to elide misuse of "core"._

---

<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:** [September 10, 2025, 4:05pm UTC](https://forum.inductiveautomation.com/t/ign-14256-deployment-mode/110514/9 "2025-09-10T16:05:30Z")

</div>

Modes and resource collections are a little muddled. When you are not in an explicitly defined/named mode, then the standard core, local, system, and platform collections are considered with nothing overriding them. But these are explicitly _not_ named modes, they are resource collections.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [September 10, 2025, 4:06pm UTC](https://forum.inductiveautomation.com/t/ign-14256-deployment-mode/110514/10 "2025-09-10T16:06:52Z")

</div>

Right, but don't those collections still apply normally in a named mode for any config that isn't present in the named mode?

---

<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:** [September 10, 2025, 4:07pm UTC](https://forum.inductiveautomation.com/t/ign-14256-deployment-mode/110514/11 "2025-09-10T16:07:07Z")

</div>

Yes

---

<div class="post-metadata">

**Author:** ![marco.handle](https://avatars.discourse-cdn.com/v4/letter/m/7ab992/32.png) [@marco.handle](https://forum.inductiveautomation.com/u/marco.handle)\
**Post date:** [September 11, 2025, 5:58am UTC](https://forum.inductiveautomation.com/t/ign-14256-deployment-mode/110514/12 "2025-09-11T05:58:16Z")

</div>

Thanks for your help.

If I need different custom config files for each mode, where should i save the config files?  
Is it a good way to save them in the config/ressources/:MODE\_NAME/ folder

---

<div class="post-metadata">

**Author:** ![hunterdg](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/hunterdg/32/67774_2.png) [@hunterdg](https://forum.inductiveautomation.com/u/hunterdg)\
**Post date:** [March 30, 2026, 5:14am UTC](https://forum.inductiveautomation.com/t/ign-14256-deployment-mode/110514/13 "2026-03-30T05:14:57Z")

</div>

any thoughts around 'default' deployment mode variable fallback for docker environments?

```python
services:
  ignition:
    image: inductiveautomation/ignition:latest
    command: >
      --
      -Dignition.config.mode=${DEPLOYMENT_MODE:-core}

```

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/e/d/ed04110ef9ec1b8e83ff38686f9d7d90bf705ed1.png)

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 30, 2026, 8:48am UTC](https://forum.inductiveautomation.com/t/ign-14256-deployment-mode/110514/14 "2026-03-30T08:48:20Z")

</div>

Your snippet shows v8.1.48. Deployment modes don't exist in v8.1.

---

<div class="post-metadata">

**Author:** ![hunterdg](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/hunterdg/32/67774_2.png) [@hunterdg](https://forum.inductiveautomation.com/u/hunterdg)\
**Post date:** [March 30, 2026, 8:54am UTC](https://forum.inductiveautomation.com/t/ign-14256-deployment-mode/110514/15 "2026-03-30T08:54:00Z")

</div>

👀
