-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathkerbecs.yaml
More file actions
192 lines (168 loc) · 3.54 KB
/
Copy pathkerbecs.yaml
File metadata and controls
192 lines (168 loc) · 3.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
gateway:
name: sentinel-gateway
version: 0.1.0
env: ${ENV:DEV}
timeouts:
dial: 5s
headers: 30s
idle: 50s
overall: 0
listeners:
gateway:
port: "10310"
cors:
enabled: true
allowed_origins: ["*"]
allow_credentials: false
admin:
port: "10300"
auth:
type: basic
username: ${KERBECS_USER:admin}
password: ${KERBECS_PASSWORD:admin}
providers:
static:
watch: false
upstreams:
core:
name: sentinel-core
version: 0.1.0
instances:
- http://core:9999
oauth:
name: sentinel-oauth
version: 0.1.0
instances:
- http://oauth:9997
discord:
name: sentinel-discord
version: 0.1.0
instances:
- http://discord:9998
saml:
name: sentinel-saml
version: 0.1.0
instances:
- http://saml:9996
google:
name: sentinel-google
version: 0.1.0
instances:
- http://google:9995
web:
name: sentinel-web
version: 0.1.0
instances:
- http://web:5173
routes:
- name: core-internal
match:
path: /api/core/*
upstream: core
rewrite:
strip_prefix: /api
envelope: passthrough
- name: core-users
match:
path: /api/users/*
upstream: core
rewrite:
strip_prefix: /api
envelope: passthrough
- name: core-applications
match:
path: /api/applications/*
upstream: core
rewrite:
strip_prefix: /api
envelope: passthrough
- name: core-groups
match:
path: /api/groups/*
upstream: core
rewrite:
strip_prefix: /api
envelope: passthrough
- name: core-entities
match:
path: /api/entities/*
upstream: core
rewrite:
strip_prefix: /api
envelope: passthrough
- name: core-service-accounts
match:
path: /api/service-accounts/*
upstream: core
rewrite:
strip_prefix: /api
envelope: passthrough
- name: core-analytics
match:
path: /api/analytics/*
upstream: core
rewrite:
strip_prefix: /api
envelope: passthrough
- name: oauth
match:
path: /api/oauth/*
upstream: oauth
rewrite:
strip_prefix: /api
envelope: passthrough
- name: auth
match:
path: /api/auth/*
upstream: oauth
rewrite:
strip_prefix: /api
envelope: passthrough
- name: discord
match:
path: /api/discord/*
upstream: discord
rewrite:
strip_prefix: /api
envelope: passthrough
- name: google
match:
path: /api/google/*
upstream: google
rewrite:
strip_prefix: /api
envelope: passthrough
# SAML consent endpoints — the SPA calls these through the /api prefix.
- name: saml
match:
path: /api/saml/*
upstream: saml
rewrite:
strip_prefix: /api
envelope: passthrough
# OIDC discovery must live at the issuer root (no /api prefix), so route it
# straight to oauth without stripping anything.
- name: well-known
match:
path: /.well-known/*
upstream: oauth
envelope: passthrough
# SAML IdP metadata and SSO endpoint live at the issuer root (no /api prefix)
# so the URLs published in metadata are clean and stable. The SPA-served
# /saml/authorize consent page is NOT listed here, so it falls through to the
# web frontend below.
- name: saml-metadata
match:
path: /saml/metadata
upstream: saml
envelope: passthrough
- name: saml-sso
match:
path: /saml/sso
upstream: saml
envelope: passthrough
- name: web-frontend
match:
path: /*
upstream: web
envelope: passthrough