Skip to content

Commit 7761e92

Browse files
authored
dynamic system controller (#289)
* dynamic system controller
1 parent 2952a20 commit 7761e92

3 files changed

Lines changed: 87 additions & 0 deletions

File tree

input/system-cli/site-configuration.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,19 @@ skupper site create docker-site -p docker -n docker-ns
7474
This runs a container to support site, link and service operations.
7575
This feature is not available on Linux local system sites (systemd).
7676

77+
**Optional:** Enable the Dynamic System Controller to automatically process YAML resources and commands:
78+
```bash
79+
export SKUPPER_SYSTEM_RELOAD_TYPE=auto
80+
skupper system install
81+
```
82+
Alternatively, you can enable this feature with:
83+
```bash
84+
skupper system install --reload-type auto
85+
```
86+
With this feature enabled, you can create sites, links, connectors and listeners without needing a system reload to apply your configuration.
87+
88+
**Note:** When the dynamic system controller is enabled, the `skupper system start`, `skupper system reload`, and `skupper system stop` commands are not needed as configuration changes are automatically applied.
89+
7790
3. Create a site:
7891

7992
```bash
@@ -145,6 +158,15 @@ To support this, Skupper allows you create a `.tar.gz` file with all the require
145158
This runs a container to support site, link and service operations.
146159
This feature is not available on Linux local system sites (systemd).
147160

161+
**Optional:** Enable the Dynamic System Controller to automatically process YAML resources:
162+
```bash
163+
export SKUPPER_SYSTEM_RELOAD_TYPE=auto
164+
skupper system install
165+
```
166+
With this feature enabled, you can create sites, links, connectors and listeners without needing a system reload to apply your configuration.
167+
168+
**Note:** When the dynamic system controller is enabled, the `skupper system start`, `skupper system reload`, and `skupper system stop` commands are not needed as configuration changes are automatically applied.
169+
148170
3. Create a site:
149171

150172
```bash

input/system-yaml/site-configuration.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,13 @@ There are many options to consider when creating sites using YAML, see [YAML Ref
3939
Skupper attempts to process any files in the `local` directory.
4040
Typically, you create all resources you require for a site before running `skupper system setup`.
4141

42+
**Optional:** Enable the Dynamic System Controller to automatically process YAML resources:
43+
```bash
44+
export SKUPPER_SYSTEM_RELOAD_TYPE=auto
45+
skupper system install
46+
```
47+
With this feature enabled, you can create sites, links, connectors and listeners without needing a system reload to apply your configuration.
48+
4249
3. Check the status of the site:
4350
```bash
4451
skupper site status

input/troubleshooting/index.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,3 +178,61 @@ The following issues and workarounds might help you debug simple scenarios when
178178
```
179179
there is already a site created for this namespace
180180
```
181+
182+
<a id="dynamic-system-controller"></a>
183+
## Troubleshooting the Dynamic System Controller
184+
<!--PROCEDURE-->
185+
186+
The Dynamic System Controller feature (available on Docker and Podman platforms only) enables automatic processing of YAML resources when `--reload-type=auto` is enabled during installation.
187+
188+
Use this section to diagnose issues when resources are not being automatically detected or processed.
189+
190+
By default, the reload type is set to `manual`, meaning resources must be processed by using `skupper system start` and `skupper system reload` for subsequent changes.
191+
192+
**Procedure**
193+
194+
1. Verify the controller is configured for auto-reload:
195+
196+
Check the system controller container logs:
197+
```bash
198+
podman logs <username>-skupper-controller
199+
# or
200+
docker logs <username>-skupper-controller
201+
```
202+
203+
Look for the configuration line:
204+
```
205+
INFO System Reload: type=auto
206+
```
207+
208+
2. Monitor resource detection:
209+
210+
When the controller detects a new resource file, it logs:
211+
```
212+
Resource has been created: backend.yaml
213+
```
214+
215+
If you don't see this message after copying a YAML file to the `/input/resources` directory, check:
216+
- The file is in the correct directory for the namespace
217+
- The file has valid YAML syntax
218+
- The file has correct permissions
219+
220+
3. Verify resource processing:
221+
222+
Check that files copied to the `/input/resources` directory appear in the `/runtime/resources` directory after processing.
223+
224+
Check the status of resources using the CLI:
225+
```bash
226+
skupper connector status
227+
skupper listener status
228+
skupper link status
229+
```
230+
231+
4. Review controller logs for errors:
232+
233+
Look for processing errors or validation failures:
234+
```bash
235+
podman logs <username>-skupper-controller | grep -i error
236+
# or
237+
docker logs <username>-skupper-controller | grep -i error
238+
```

0 commit comments

Comments
 (0)