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
Copy file name to clipboardExpand all lines: README.md
+66-56Lines changed: 66 additions & 56 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,21 +19,29 @@ therefore be automated.
19
19
The ShinyProxy operator for Kubernetes is able to manage multiple ShinyProxy
20
20
instances and their configuration.
21
21
22
-
### example
23
-
24
-
Assume we have some ShinyProxy configuration `config1` which contains
25
-
one app called `app1`. When the operator starts working, it checks whether a ShinyProxy instance exists with that configuration.
26
-
If not, it starts a ShinyProxy instance and all other required configuration. Users can now start using `app1` on this instance.
27
-
28
-
Some time later, the need for a second app arises.
29
-
Therefore the administrator adapts the configuration of ShinyProxy to
30
-
include a second app `app2`.
31
-
32
-
However, some users are still using `app1` on the old instance.
33
-
These apps may have some state, which should not be lost. Therefore, the operator starts a second ShinyProxy instance using configuration `config2`. The operator ensures that users which are currently using the first instance, stay on that instance.
34
-
35
-
All other users are forwarded to the new server and can use the new application. Nevertheless, users using an old
36
-
instance can choose to use the new instance, by clicking a button in the user interface. The operator stops the old instance once it has no apps running.
22
+
### Example
23
+
24
+
Assume we have some ShinyProxy configuration `config1` which contains one app
25
+
called `app1`. When the operator starts working, it checks whether a ShinyProxy
26
+
instance exists with that configuration. If not, it starts a ShinyProxy instance
27
+
and all other required configuration. Users can now start using `app1` on this
28
+
instance.
29
+
30
+
Some time later, the need for a second app arises. Therefore, the administrator
31
+
adapts the configuration of ShinyProxy to include a second app `app2`.
32
+
33
+
However, some users are still using `app1` on the old instance. These apps may
34
+
have some state, which should not be lost. Therefore, the operator starts a
35
+
second ShinyProxy instance using configuration `config2`. The operator does not
36
+
modify the original ShinyProxy server, therefore the existing apps continue to
37
+
work (even if they are using Websocket connections).
38
+
39
+
All new HTTP (and Websocket) connections are forwarded to the new server, i.e.
40
+
any new connection is handled by the new server. Therefore, if users go to the
41
+
main ShinyProxy page, they will see that a new app is available. Every user (
42
+
also those still using the old application) can start the new app. The operator
43
+
stops and removes the old server as soon as it has finished handling any
44
+
existing (Websocket) connections.
37
45
38
46
## Building from source
39
47
@@ -48,8 +56,9 @@ The build will result in a single `.jar` file:
48
56
49
57
## Running
50
58
51
-
The operator should be run in Kubernetes using the [docker image](https://hub.docker.com/r/openanalytics/shinyproxy-operator).
52
-
It can run in either `clustered` scope or `namespaced` mode. In the former the
59
+
The operator should be run in Kubernetes using
60
+
the [docker image](https://hub.docker.com/r/openanalytics/shinyproxy-operator).
61
+
It can run in either `clustered` or `namespaced` mode. In the former the
53
62
operator looks for ShinyProxy instances in all namespaces while in the latter it
54
63
only manages ShinyProxy instances in its own namespace.
55
64
@@ -66,8 +75,6 @@ start with the `SPO` prefix, meaning **S**hiny**P**roxy**O**perator.
66
75
-`SPO_MODE`: can either be `namespaced` or `clustered` (default). This
67
76
specifies whether the operator should only look in its own namespace for
68
77
ShinyProxy configurations or in all namespaces.
69
-
-`SPO_DISABLE_SECURE_COOKIES`: when set to any value, this disables the
70
-
`secure` flag on all cookies used by the Operator.
71
78
-`SPO_PROBE_INITIAL_DELAY`: specifies the initial delay of the Readiness and
72
79
Liveness probes. This is useful when the used Kubernetes version does not
73
80
support startup probes.
@@ -77,7 +84,8 @@ start with the `SPO` prefix, meaning **S**hiny**P**roxy**O**perator.
77
84
-`SPO_PROBE_TIMEOUT`: specifies the timeout in seconds of the Readiness and
78
85
Liveness probes. This is useful when the used Kubernetes version does not
79
86
support startup probes.
80
-
-`SPO_STARTUP_PROBE_INITIAL_DELAY`: specifies the initial delay of the StartUp probe. By default, this is 60 seconds.
87
+
-`SPO_STARTUP_PROBE_INITIAL_DELAY`: specifies the initial delay of the StartUp
88
+
probe. By default, this is 60 seconds.
81
89
-`SPO_LOG_LEVEL`: configures the log level of the operator, may be one of the
82
90
following:
83
91
-`OFF`: disables logging
@@ -105,22 +113,20 @@ ShinyProxy and the operator for the best experience.
105
113
106
114
| ShinyProxy Version | Minimum operator version | Maximum operator version (inclusive) |
0 commit comments