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: docs/Advanced.md
+45Lines changed: 45 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -49,3 +49,48 @@ This will define how many requests (`average`) over given time (`period`) can be
49
49
For the example above - an average of 5 requests every 3 seconds is allowed with busts of up to 10 requests.
50
50
51
51
For more information, see [Traefik rate-limiting docs](https://docs.traefik.io/configuration/commons/#rate-limiting).
52
+
53
+
## Secrets
54
+
55
+
Exoframe allows you to create server-side secret values that can be used during service deployments.
56
+
To use secrets you first need to create one. This can be done by running:
57
+
58
+
```
59
+
$ exoframe secret new
60
+
```
61
+
62
+
Once you specify the name and value, Exoframe server will create new secret _for your current user_.
63
+
After creation the secret can be used in `exoframe.json` config file by using secret name and prefixing it with `@`, like so (in this example the secret was name `my-secret`):
64
+
65
+
```json
66
+
"env": {
67
+
"SECRET_KEY": "@my-secret"
68
+
},
69
+
```
70
+
71
+
Current caveats:
72
+
73
+
- Currently secrets only work for environment variables
74
+
- Currently secrets work only for normal deployments (any template or recipe that uses `startFromParams` won't have secrets expanded)
75
+
76
+
## Accessing Exoframe data from within the deployed application
77
+
78
+
Exoframe provides a set of environment variables that are set on each deployment to allow getting project info and settings.
79
+
Currently those are:
80
+
81
+
```bash
82
+
# owner of current deployment
83
+
EXOFRAME_USER=admin
84
+
# project of current deployment
85
+
EXOFRAME_PROJECT=projectName
86
+
# full deployment ID
87
+
EXOFRAME_DEPLOYMENT=exo-admin-deployName-ID
88
+
# host used to expose current deployment (if any)
89
+
EXOFRAME_HOST=exo-admin-deployName-ID.baseDomain
90
+
```
91
+
92
+
## Plugins
93
+
94
+
Exoframe-Server supports extension of core features using plugins.
95
+
Plugins are installed and loaded automatically once corresponding config is added to [server configuration](ServerConfiguration.md).
96
+
Refer to specific plugins docs to see how to configure them.
@@ -135,6 +162,10 @@ Currently it contains list of endpoint URLs with associated usernames and authen
135
162
endpoint: 'http://localhost:8080'# your endpoint URL, defaults to localhost
136
163
```
137
164
165
+
## SSH key auth
166
+
167
+
The SSK key needs to be RSA and in PEM format. To ensure your key is generated in a format that works you can generate with this command: `ssh-keygen -t rsa -b 4096 -C "[email protected]" -m 'PEM'`. This follows the [GitHub Instructions](https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/) with an additional flag ensuring it is the right format.
168
+
138
169
## Deployment tokens
139
170
140
171
Sometimes you might need to deploy things from environments that don't have your private key (e.g. CI/CD services).
# whether Exoframe server whould be running in swarm mode, default "false"
47
46
swarm: false
47
+
48
+
# plugins config
49
+
plugins:
50
+
# list of plugins that has to be installed and loaded by exoframe-server on startup
51
+
install: ['exoframe-plugin-swarm']
52
+
# specific plugin config (see plugins docs to know what property they use)
53
+
swarm:
54
+
enabled: true
48
55
```
49
56
50
-
_Warning:_ Most changes to config are applied immediately. With exception of Letsencrypt config. If you are enabling letsencrypt after Traefik instance has been started, you'll need to remove Traefik and then restart Exoframe server for changes to take effect.
57
+
_Warning:_ Most changes to config are applied immediately. With exception of Letsencrypt config and Plugins config.
58
+
If you are enabling letsencrypt after Traefik instance has been started, you'll need to remove Traefik and then restart Exoframe server for changes to take effect.
59
+
If you are adding plugins after server has been started, you'll need to restart the server so that it can install and load newly added plugins.
0 commit comments