mirror of
https://github.com/gravitational/teleport.git
synced 2026-11-04 01:06:47 +08:00
567 lines
19 KiB
JSON
567 lines
19 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema",
|
|
"$id": "http://example.com/example.json",
|
|
"default": {},
|
|
"required": [
|
|
"image",
|
|
"imagePullSecrets",
|
|
"nameOverride",
|
|
"fullnameOverride",
|
|
"podAnnotations",
|
|
"podSecurityContext",
|
|
"securityContext",
|
|
"nodeSelector",
|
|
"tolerations",
|
|
"affinity",
|
|
"teleport",
|
|
"mailgun",
|
|
"smtp",
|
|
"delivery",
|
|
"log"
|
|
],
|
|
"properties": {
|
|
"image": {
|
|
"$id": "#/properties/image",
|
|
"type": "object",
|
|
"default": {},
|
|
"examples": [
|
|
{
|
|
"repository": "public.ecr.aws/gravitational/teleport-plugin-email",
|
|
"pullPolicy": "IfNotPresent",
|
|
"tag": ""
|
|
}
|
|
],
|
|
"required": [
|
|
"repository",
|
|
"pullPolicy",
|
|
"tag"
|
|
],
|
|
"properties": {
|
|
"repository": {
|
|
"$id": "#/properties/image/properties/repository",
|
|
"type": "string",
|
|
"default": "public.ecr.aws/gravitational/teleport-plugin-email",
|
|
"examples": [
|
|
"public.ecr.aws/gravitational/teleport-plugin-email"
|
|
]
|
|
},
|
|
"pullPolicy": {
|
|
"$id": "#/properties/image/properties/pullPolicy",
|
|
"type": "string",
|
|
"default": "IfNotPresent",
|
|
"examples": [
|
|
"IfNotPresent"
|
|
]
|
|
},
|
|
"tag": {
|
|
"$id": "#/properties/image/properties/tag",
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"imagePullSecrets": {
|
|
"$id": "#/properties/imagePullSecrets",
|
|
"type": "array",
|
|
"default": [],
|
|
"examples": [
|
|
[
|
|
{
|
|
"name": "image-pull-secrets"
|
|
}
|
|
]
|
|
],
|
|
"additionalItems": true,
|
|
"items": {
|
|
"$id": "#/properties/imagePullSecrets/items"
|
|
}
|
|
},
|
|
"nameOverride": {
|
|
"$id": "#/properties/nameOverride",
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"fullnameOverride": {
|
|
"$id": "#/properties/fullnameOverride",
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"podAnnotations": {
|
|
"$id": "#/properties/podAnnotations",
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
},
|
|
"podSecurityContext": {
|
|
"$id": "#/properties/podSecurityContext",
|
|
"type": "object",
|
|
"required": [],
|
|
"additionalProperties": true
|
|
},
|
|
"securityContext": {
|
|
"$id": "#/properties/securityContext",
|
|
"type": "object",
|
|
"properties": {
|
|
"capabilities": {
|
|
"$id": "#/properties/securityContext/properties/capabilities",
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
},
|
|
"readOnlyRootFilesystem": {
|
|
"$id": "#/properties/securityContext/properties/readOnlyRootFilesystem",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"examples": [
|
|
true
|
|
]
|
|
},
|
|
"runAsNonRoot": {
|
|
"$id": "#/properties/securityContext/properties/runAsNonRoot",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"examples": [
|
|
true
|
|
]
|
|
},
|
|
"runAsUser": {
|
|
"$id": "#/properties/securityContext/properties/runAsUser",
|
|
"type": "integer",
|
|
"default": 0,
|
|
"examples": [
|
|
1000
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"resources": {
|
|
"$id": "#/properties/resources",
|
|
"type": "object",
|
|
"default": {},
|
|
"examples": [
|
|
{
|
|
"limits": {
|
|
"cpu": "100m",
|
|
"memory": "128Mi"
|
|
},
|
|
"requests": {
|
|
"cpu": "100m",
|
|
"memory": "128Mi"
|
|
}
|
|
}
|
|
],
|
|
"properties": {
|
|
"limits": {
|
|
"$id": "#/properties/resources/properties/limits",
|
|
"type": "object",
|
|
"default": {},
|
|
"examples": [
|
|
{
|
|
"cpu": "100m",
|
|
"memory": "128Mi"
|
|
}
|
|
],
|
|
"required": [
|
|
"cpu",
|
|
"memory"
|
|
],
|
|
"properties": {
|
|
"cpu": {
|
|
"$id": "#/properties/resources/properties/limits/properties/cpu",
|
|
"type": "string",
|
|
"default": "",
|
|
"examples": [
|
|
"100m"
|
|
]
|
|
},
|
|
"memory": {
|
|
"$id": "#/properties/resources/properties/limits/properties/memory",
|
|
"type": "string",
|
|
"default": "",
|
|
"examples": [
|
|
"128Mi"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"requests": {
|
|
"$id": "#/properties/resources/properties/requests",
|
|
"type": "object",
|
|
"default": {},
|
|
"examples": [
|
|
{
|
|
"cpu": "100m",
|
|
"memory": "128Mi"
|
|
}
|
|
],
|
|
"required": [
|
|
"cpu",
|
|
"memory"
|
|
],
|
|
"properties": {
|
|
"cpu": {
|
|
"$id": "#/properties/resources/properties/requests/properties/cpu",
|
|
"type": "string",
|
|
"default": "",
|
|
"examples": [
|
|
"100m"
|
|
]
|
|
},
|
|
"memory": {
|
|
"$id": "#/properties/resources/properties/requests/properties/memory",
|
|
"type": "string",
|
|
"default": "",
|
|
"examples": [
|
|
"128Mi"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"nodeSelector": {
|
|
"$id": "#/properties/nodeSelector",
|
|
"type": "object",
|
|
"default": {},
|
|
"additionalProperties": true
|
|
},
|
|
"tolerations": {
|
|
"$id": "#/properties/tolerations",
|
|
"type": "array",
|
|
"default": [],
|
|
"additionalItems": true,
|
|
"items": {
|
|
"$id": "#/properties/tolerations/items"
|
|
}
|
|
},
|
|
"affinity": {
|
|
"$id": "#/properties/affinity",
|
|
"type": "object",
|
|
"default": {},
|
|
"additionalProperties": true
|
|
},
|
|
"volumes": {
|
|
"$id": "#/properties/volumes",
|
|
"type": "array",
|
|
"default": [],
|
|
"items": {
|
|
"$id": "#/properties/volumes/items",
|
|
"type": "object",
|
|
"additionalItems": true
|
|
}
|
|
},
|
|
"volumeMounts": {
|
|
"$id": "#/properties/volumeMounts",
|
|
"type": "array",
|
|
"default": [],
|
|
"items": {
|
|
"$id": "#/properties/volumeMounts/items",
|
|
"type": "object",
|
|
"additionalItems": true
|
|
}
|
|
},
|
|
"teleport": {
|
|
"$id": "#/properties/teleport",
|
|
"type": "object",
|
|
"default": {},
|
|
"examples": [
|
|
{
|
|
"address": "auth.example.com:3025",
|
|
"identitySecretName": "teleport-plugin-email-auth-id",
|
|
"identitySecretPath": "auth_id"
|
|
}
|
|
],
|
|
"required": [
|
|
"address",
|
|
"identitySecretName",
|
|
"identitySecretPath"
|
|
],
|
|
"properties": {
|
|
"address": {
|
|
"$id": "#/properties/teleport/properties/address",
|
|
"type": "string",
|
|
"default": "",
|
|
"examples": [
|
|
"auth.example.com:3025"
|
|
]
|
|
},
|
|
"identitySecretName": {
|
|
"$id": "#/properties/teleport/properties/identitySecretName",
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"identitySecretPath": {
|
|
"$id": "#/properties/teleport/properties/identitySecretPath",
|
|
"type": "string",
|
|
"default": "auth_id",
|
|
"examples": [
|
|
"auth_id"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"mailgun": {
|
|
"$id": "#/properties/mailgun",
|
|
"type": "object",
|
|
"default": {},
|
|
"examples": [
|
|
{
|
|
"enabled": false,
|
|
"domain": "yourdomain.mailgun.org",
|
|
"privateKey": "xoxb-fakekey62b0eac53565a38c8cc0316f6"
|
|
}
|
|
],
|
|
"required": [
|
|
"enabled",
|
|
"domain",
|
|
"privateKey"
|
|
],
|
|
"properties": {
|
|
"enabled": {
|
|
"$id": "#/properties/mailgun/properties/enabled",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"examples": [
|
|
false
|
|
]
|
|
},
|
|
"domain": {
|
|
"$id": "#/properties/mailgun/properties/domain",
|
|
"type": "string",
|
|
"default": "",
|
|
"examples": [
|
|
"yourdomain.mailgun.org"
|
|
]
|
|
},
|
|
"privateKey": {
|
|
"$id": "#/properties/mailgun/properties/privateKey",
|
|
"type": "string",
|
|
"default": "",
|
|
"examples": [
|
|
"xoxb-11xx"
|
|
]
|
|
},
|
|
"privateKeyFromSecret": {
|
|
"$id": "#/properties/mailgun/properties/privateKeyFromSecret",
|
|
"type": "string",
|
|
"default": "",
|
|
"examples": [
|
|
"my-secret-name"
|
|
]
|
|
},
|
|
"privateKeySecretPath": {
|
|
"$id": "#/properties/mailgun/properties/privateKeySecretPath",
|
|
"type": "string",
|
|
"default": "mailgunPrivateKey",
|
|
"examples": [
|
|
"my-path-in-secret"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"smtp": {
|
|
"$id": "#/properties/smtp",
|
|
"type": "object",
|
|
"default": {},
|
|
"examples": [
|
|
{
|
|
"enabled": true,
|
|
"host": "smtp.example.com",
|
|
"port": 587,
|
|
"username": "username@example.com",
|
|
"password": "",
|
|
"starttlsPolicy": "mandatory"
|
|
}
|
|
],
|
|
"required": [
|
|
"enabled",
|
|
"host",
|
|
"port",
|
|
"username"
|
|
],
|
|
"properties": {
|
|
"enabled": {
|
|
"$id": "#/properties/smtp/properties/enabled",
|
|
"type": "boolean",
|
|
"default": false,
|
|
"examples": [
|
|
true
|
|
]
|
|
},
|
|
"host": {
|
|
"$id": "#/properties/smtp/properties/host",
|
|
"type": "string",
|
|
"default": "smtp.example.com",
|
|
"examples": [
|
|
"smtp.example.com"
|
|
]
|
|
},
|
|
"port": {
|
|
"$id": "#/properties/smtp/properties/port",
|
|
"type": "integer",
|
|
"default": 587,
|
|
"examples": [
|
|
587
|
|
]
|
|
},
|
|
"username": {
|
|
"$id": "#/properties/smtp/properties/username",
|
|
"type": "string",
|
|
"default": "username@example.com",
|
|
"examples": [
|
|
"username@example.com"
|
|
]
|
|
},
|
|
"password": {
|
|
"$id": "#/properties/smtp/properties/password",
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"passwordFromSecret": {
|
|
"$id": "#/properties/smtp/properties/passwordFromSecret",
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"passwordSecretPath": {
|
|
"$id": "#/properties/smtp/properties/passwordSecretPath",
|
|
"type": "string",
|
|
"default": "smtpPassword"
|
|
},
|
|
"starttlsPolicy": {
|
|
"$id": "#/properties/smtp/properties/starttlsPolicy",
|
|
"type": "string",
|
|
"default": "mandatory"
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"delivery": {
|
|
"$id": "#/properties/delivery",
|
|
"type": "object",
|
|
"default": {},
|
|
"examples": [
|
|
{
|
|
"sender": "noreply@example.com",
|
|
"recipients": [
|
|
"all@example.com"
|
|
]
|
|
}
|
|
],
|
|
"required": [
|
|
"sender",
|
|
"recipients"
|
|
],
|
|
"properties": {
|
|
"sender": {
|
|
"$id": "#/properties/delivery/properties/sender",
|
|
"type": "string",
|
|
"default": "noreply@example.com",
|
|
"examples": [
|
|
"noreply@example.com"
|
|
]
|
|
},
|
|
"recipients": {
|
|
"$id": "#/properties/delivery/properties/recipients",
|
|
"type": "array",
|
|
"default": [],
|
|
"examples": [
|
|
[
|
|
"all@example.com"
|
|
]
|
|
],
|
|
"additionalItems": true,
|
|
"items": {
|
|
"$id": "#/properties/delivery/properties/recipients/items",
|
|
"anyOf": [
|
|
{
|
|
"$id": "#/properties/delivery/properties/recipients/items/anyOf/0",
|
|
"type": "string",
|
|
"default": "",
|
|
"examples": [
|
|
"all@example.com"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"roleToRecipients": {
|
|
"$id": "#/properties/roleToRecipients",
|
|
"type": "object",
|
|
"default": {},
|
|
"examples": [
|
|
{
|
|
"dev": [
|
|
"devs-slack-channel"
|
|
],
|
|
"*": [
|
|
"admin@email.com",
|
|
"admin-slack-channel"
|
|
]
|
|
}
|
|
],
|
|
"additionalProperties": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"examples": [
|
|
"example-slack-channel",
|
|
"user@example.com"
|
|
]
|
|
},
|
|
"minItems": 1
|
|
}
|
|
},
|
|
"secretVolumeName": {
|
|
"$id": "#/properties/secretVolumeName",
|
|
"type": "string",
|
|
"default": "password-file",
|
|
"examples": [
|
|
"my-secret-volume"
|
|
]
|
|
},
|
|
"log": {
|
|
"$id": "#/properties/log",
|
|
"type": "object",
|
|
"default": {},
|
|
"examples": [
|
|
{
|
|
"output": "stdout",
|
|
"severity": "INFO"
|
|
}
|
|
],
|
|
"required": [
|
|
"output",
|
|
"severity"
|
|
],
|
|
"properties": {
|
|
"output": {
|
|
"$id": "#/properties/log/properties/output",
|
|
"type": "string",
|
|
"default": "stdout",
|
|
"examples": [
|
|
"stdout"
|
|
]
|
|
},
|
|
"severity": {
|
|
"$id": "#/properties/log/properties/severity",
|
|
"type": "string",
|
|
"default": "INFO",
|
|
"examples": [
|
|
"INFO"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
}
|
|
},
|
|
"additionalProperties": true
|
|
}
|