You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Add integration tests
* Move unit tests into a subdirectory named unit
* Git actions should only run unit tests, not integration tests
* Add a class for curl-like probing of user apps and associated tests.
* Add app probe method to status queue.
* Add structured well-defined types for status records, probe results and POST payload and refactor the main classes to use these types.
* Add more type hints. Remove deprecated code.
* Add app URL resolving for shiny proxy apps
* Introduce URL probing feature. Modify the status queue process logic to adhere to new rules for prelim running and deleted statuses.
* Add unit test for status queue probing logic
* Complete new logic including URL probing in the status queue process method. Correct timeouts used for k8s list_namespaced_pod when watch is False.
* Add CLI options for running the program in two additional modes: diagnostics and probetest.
* Display configuration of APP_PROBE_STATUSES at startup.
* Fix Dockerfile for base image vs curl and jq package versions.
* Rename all uses of new-status to status as this is now the new convention in StatusRecord. Rename to new-status just before sending the payload to the API as expected.
* Fix a timing issue in the status queue process method
* Add support for out of cluster URL resolution for local development. Introduce new env var PROBE_PF.
* Add a new env var TLS_SSL_VERIFICATION to control TLS or SSL verification, used by both the main program and integration tests.
Modify the `TLS_SSL_VERIFICATION` environment variable if needed to disable SSL verification or point to a self-signed cert. Options are:
54
+
```bash
55
+
- "1"/"true" = verify (default)
56
+
- "0"/"false" = do not verify (dev/self-signed)
57
+
- "/path.pem" = verify using provided CA/cert bundle
58
+
```
59
+
60
+
#### URL probing
61
+
URL probing can complement the k8s event stream to detect app status. Note that during development, if running the service outside of a cluster such as using docker compose, then URL probing may require port fowarding and extra hosts defined.
62
+
63
+
To enable URL probing, set the environment variable APP_PROBE_STATUSES to the status codes for which the probing should run.
64
+
This is currently only available for the Running and Deleted statuses.
65
+
66
+
```bash
67
+
export APP_PROBE_STATUSES=Running,Deleted
68
+
```
69
+
70
+
An environment variable APP_PROBE_APPS controls the app types that the URL probing controls. Currently only available for shiny and shiny-proxy (default).
71
+
72
+
```bash
73
+
export APP_PROBE_APPS=shiny,shiny-proxy
74
+
```
75
+
76
+
There are additional environment variables with sensible defaults that control URL resolution. See app_urls.py for more information.
77
+
78
+
#### Debug output
79
+
To retrieve additional log messages during development, set:
54
80
55
81
```bash
56
82
export DEBUG=True
@@ -64,10 +90,22 @@ Navigate to the project directory and execute the following command to run the s
If you have an existing app available fortestingin your target k8s environment, then you can use it to run additional tests using env var PROBE_RELEASE, like so:
0 commit comments