File tree Expand file tree Collapse file tree 2 files changed +108
-1
lines changed Expand file tree Collapse file tree 2 files changed +108
-1
lines changed Original file line number Diff line number Diff line change @@ -22,7 +22,7 @@ make install
22
22
23
23
## Configuration
24
24
25
- Configuration is defined in the ` config.json ` . Properties are explained below. All paths are relative to the ` resources ` directory
25
+ Configuration is defined in the ` config.json ` . Properties are explained below. Full paths must be provided
26
26
27
27
- ` CAPrivateKey ` - Name of the CA private key. The key must be unencrypted - a future enhancement will allow encrypted keys
28
28
- ` CAPublicKey ` - Name of the CA public key.
@@ -32,6 +32,12 @@ Configuration is defined in the `config.json`. Properties are explained below. A
32
32
- ` db.password ` - Password of the DB user
33
33
- ` db.connection ` - Connection URL for the DB. For sqlite3 this is a file path
34
34
- ` db.dbName ` - Name of the DB
35
+ - ` tls.local ` - When set to ` true ` the server will generate a local TLS certificate. When ` false ` the server will generate a Let's Encrypt cert
36
+ - ` tls.certDir ` - Directory in which the generated certificate will be generated
37
+ - ` tls.certDomains ` - A list of domains to be included in the certificate.
38
+ - ` tls.certEmail ` - Needed when generating a certificate with let's encrypt
39
+ - ` tls.dnsProvider ` - Only ` cloudflare ` is supported at the moment. A future release will open up support for other providers
40
+ - ` tls.dnsAPIToken ` - The zone API token from cloudflare
35
41
36
42
## Goals
37
43
Original file line number Diff line number Diff line change
1
+ swagger : " 2.0"
2
+ info :
3
+ title : SSH-Sentinel
4
+ description : Sentinel API
5
+ version : 1.0.0
6
+ host : localhost:443
7
+ consumes :
8
+ - application/json
9
+ produces :
10
+ - application/json
11
+ - text/plain
12
+ schemes :
13
+ - https
14
+ basePath : /
15
+
16
+ definitions :
17
+ KeySignRequest :
18
+ type : object
19
+ description : A signing request
20
+ properties :
21
+ username :
22
+ type : string
23
+ example : testUser-1
24
+ description : The client username ( with the service )
25
+ api_key :
26
+ type : string
27
+ pattern : [a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}
28
+ example : c7ce5f4a-ae6b-4232-a458-62855d0b9f29
29
+ description : The API Key provided by the service at registration
30
+ principals :
31
+ type : array
32
+ description : A list of usernames to be included with the certificate. Usernames are with the target services
33
+ key :
34
+ type : string
35
+ description : The public key to sign
36
+ KeySignResponse :
37
+ type : object
38
+ description : A signing response
39
+ properties :
40
+ success :
41
+ type : boolean
42
+ description : Indicates if the the request was a success
43
+ example : false
44
+ message :
45
+ type : string
46
+ description : Any message / info returned by the server ( e.g. an error message )
47
+ example : " Authentication failure"
48
+ signedKey :
49
+ type : string
50
+ description : The signed key / certificate
51
+ notBefore :
52
+ type : integer
53
+ description : UNIX Epoch of the certificate start time
54
+ example : 1666793056
55
+ notAfter :
56
+ type : integer
57
+ description : UNIX Epoch of the certificate end time
58
+ example : 1666793056
59
+ Pong :
60
+ type : string
61
+
62
+
63
+
64
+ paths :
65
+ /ping :
66
+ get :
67
+ summary : A Ping test
68
+ produces :
69
+ - text/plain
70
+ security : []
71
+ responses :
72
+ 200 :
73
+ description : A successful response
74
+ schema :
75
+ $ref : " #/definitions/Pong"
76
+ headers :
77
+ content-type :
78
+ type : string
79
+ x-example : text/plain; charset=utf-8
80
+ /ssh :
81
+ post :
82
+ summary : Performs signing
83
+ produces :
84
+ - application/json
85
+ security : []
86
+ parameters :
87
+ - name : Request body
88
+ in : body
89
+ required : true
90
+ schema :
91
+ $ref : " #/definitions/KeySignRequest"
92
+ responses :
93
+ 200 :
94
+ description : Successful request
95
+ schema :
96
+ $ref : " #/definitions/KeySignResponse"
97
+ 401 :
98
+ description : Unauthorized
99
+ schema :
100
+ $ref : " #/definitions/KeySignResponse"
101
+
You can’t perform that action at this time.
0 commit comments