forked from permitio/opal-helm-chart
-
Notifications
You must be signed in to change notification settings - Fork 0
/
values.schema.json
141 lines (138 loc) · 5.45 KB
/
values.schema.json
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
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://permitio.github.io/opal-helm-chart/",
"title": "OPAL Helm values",
"definitions": {
"DataSourceEntry": {
"type": "object", "title": "DataSourceEntry", "additionalProperties": true,
"properties": {
"url": {"type": "string", "title": "url source to query for data"},
"topics": {"type": "array", "title": "topics the data applies to", "items": { "type": "string" }},
"dst_path": {"type": "string", "title": "OPA data api path to store the document at"},
"data": {"type": "object", "title": "Data payload to embed within the data update (instead of having the client fetch it from the url)."},
"save_method": {"type": "string", "title": "Method used to write into OPA - PUT/PATCH"}
}
},
"ServerDataSourceConfig": {
"type": "object", "title": "ServerDataSourceConfig", "additionalProperties": false,
"properties": {
"config": {
"type": "object", "title": "DataSourceConfig", "additionalProperties": false,
"properties": {
"entries": {
"type": "array", "title": "list of data sources", "default": [],
"items": { "$ref": "#/definitions/DataSourceEntry" }
}
}
},
"external_source_url": {"type": "string", "title": "url to external data source"}
}
}
},
"type": "object", "required": ["image"],
"properties": {
"image": {
"type": "object", "title": "image", "additionalProperties": false,
"required": ["registry"],
"properties": {
"registry": { "type": "string", "default": "docker.io", "title": "docker image registry" },
"tag": { "type": "string", "title": "docker image tag" },
"pullPolicy": { "type": "string", "default": "IfNotPresent", "title": "docker image pull policy" }
}
},
"postgresImageRegistry": { "type": "string", "default": "docker.io", "title": "docker registry for postgres image of the chart" },
"server": {
"type": ["null", "object"], "additionalProperties": false, "title": "opal server settings",
"required": ["port", "policyRepoUrl", "pollingInterval", "dataConfigSources", "broadcastPgsql", "uvicornWorkers", "replicas"],
"properties": {
"enabled": {
"type": "boolean", "title": "enable server", "default": true
},
"port": {
"type": "integer", "title": "server listening port", "default": 7002
},
"policyRepoUrl": {
"type": "string", "title": "policy repo url",
"default":"https://github.com/permitio/opal-example-policy-repo"
},
"policyRepoSshKey": {
"type": ["null", "string"], "title": "policy SSH key","default": null
},
"policyRepoClonePath": {
"type": ["null", "string"], "title": "policy clone path","default": null
},
"policyRepoMainBranch": {
"type": ["null", "string"], "title": "policy main branch","default": null
},
"pollingInterval": {
"type": "integer", "title": "polling interval (sec)", "default": 30
},
"dataConfigSources": {"$ref": "#/definitions/ServerDataSourceConfig"},
"broadcastUri": {
"type": ["null", "string"], "title": "broadcast url", "default": null
},
"broadcastPgsql": {
"type": "boolean", "title": "install broadcast pgsql", "default": true
},
"broadcastReplicas": {
"type": "integer", "title": "replicas for broadcast pgsql", "default": 1
},
"uvicornWorkers": {
"type": "integer", "title": "num of uvicorn workers per pod", "default": 4
},
"replicas": {
"type": "integer", "title": "num of replicas", "default": 1
},
"extraEnv": {
"type": "object", "title": "extra environment variables list", "default": null
},
"secrets": {
"type": "array",
"title": "name of a kubernetes secret from where to fetch secret environment variables.",
"default": null,
"items": { "type": "string" }
},
"resources": {
"type": "object",
"title": "resources",
"default": null
}
}
},
"client": {
"type": ["null", "object"], "additionalProperties": false, "title": "opal client settings",
"required": ["port", "opaPort", "replicas"],
"properties": {
"enabled": {
"type": "boolean", "title": "enable client", "default": true
},
"port": {
"type": "integer", "title": "client rest port", "default": 7000
},
"opaPort": {
"type": "integer", "title": "client embedded opa port", "default": 8181
},
"replicas": {
"type": "integer", "title": "num of replicas", "default": 1
},
"extraEnv": {
"type": "object", "title": "extra environment variables list", "default": null
},
"opaStartupData": {
"type": "object", "title": "client startup data for embedded opa", "default": null
},
"secrets": {
"type": "array",
"title": "name of a kubernetes secret from where to fetch secret environment variables.",
"default": null,
"items": { "type": "string" }
},
"resources": {
"type": "object",
"title": "resources",
"default": null
}
}
}
}
}