feat: refactor deployment config (#6347)

This commit is contained in:
Ammar Bandukwala
2023-03-07 15:10:01 -06:00
committed by GitHub
parent bb0a996fc2
commit 3b73321a6c
102 changed files with 5643 additions and 6682 deletions

679
coderd/apidoc/docs.go generated
View File

@ -5307,6 +5307,177 @@ const docTemplate = `{
}
}
},
"clibase.Annotations": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"clibase.Group": {
"type": "object",
"properties": {
"children": {
"type": "array",
"items": {
"$ref": "#/definitions/clibase.Group"
}
},
"description": {
"type": "string"
},
"name": {
"type": "string"
},
"parent": {
"$ref": "#/definitions/clibase.Group"
}
}
},
"clibase.HostPort": {
"type": "object",
"properties": {
"host": {
"type": "string"
},
"port": {
"type": "string"
}
}
},
"clibase.Option": {
"type": "object",
"properties": {
"annotations": {
"description": "Annotations enable extensions to clibase higher up in the stack. It's useful for\nhelp formatting and documentation generation.",
"allOf": [
{
"$ref": "#/definitions/clibase.Annotations"
}
]
},
"default": {
"description": "Default is parsed into Value if set.",
"type": "string"
},
"description": {
"type": "string"
},
"env": {
"description": "Env is the environment variable used to configure this option. If unset,\nenvironment configuring is disabled.",
"type": "string"
},
"flag": {
"description": "Flag is the long name of the flag used to configure this option. If unset,\nflag configuring is disabled.",
"type": "string"
},
"flag_shorthand": {
"description": "FlagShorthand is the one-character shorthand for the flag. If unset, no\nshorthand is used.",
"type": "string"
},
"group": {
"description": "Group is a group hierarchy that helps organize this option in help, configs\nand other documentation.",
"allOf": [
{
"$ref": "#/definitions/clibase.Group"
}
]
},
"hidden": {
"type": "boolean"
},
"name": {
"type": "string"
},
"use_instead": {
"description": "UseInstead is a list of options that should be used instead of this one.\nThe field is used to generate a deprecation warning.",
"type": "array",
"items": {
"$ref": "#/definitions/clibase.Option"
}
},
"value": {
"description": "Value includes the types listed in values.go."
},
"yaml": {
"description": "YAML is the YAML key used to configure this option. If unset, YAML\nconfiguring is disabled.",
"type": "string"
}
}
},
"clibase.Struct-array_codersdk_GitAuthConfig": {
"type": "object",
"properties": {
"value": {
"type": "array",
"items": {
"$ref": "#/definitions/codersdk.GitAuthConfig"
}
}
}
},
"clibase.Struct-array_codersdk_LinkConfig": {
"type": "object",
"properties": {
"value": {
"type": "array",
"items": {
"$ref": "#/definitions/codersdk.LinkConfig"
}
}
}
},
"clibase.URL": {
"type": "object",
"properties": {
"forceQuery": {
"description": "append a query ('?') even if RawQuery is empty",
"type": "boolean"
},
"fragment": {
"description": "fragment for references, without '#'",
"type": "string"
},
"host": {
"description": "host or host:port",
"type": "string"
},
"omitHost": {
"description": "do not emit empty host (authority)",
"type": "boolean"
},
"opaque": {
"description": "encoded opaque data",
"type": "string"
},
"path": {
"description": "path (relative paths may omit leading slash)",
"type": "string"
},
"rawFragment": {
"description": "encoded fragment hint (see EscapedFragment method)",
"type": "string"
},
"rawPath": {
"description": "encoded path hint (see EscapedPath method)",
"type": "string"
},
"rawQuery": {
"description": "encoded query values, without '?'",
"type": "string"
},
"scheme": {
"type": "string"
},
"user": {
"description": "username and password information",
"allOf": [
{
"$ref": "#/definitions/url.Userinfo"
}
]
}
}
},
"coderd.SCIMUser": {
"type": "object",
"properties": {
@ -6203,10 +6374,10 @@ const docTemplate = `{
"type": "object",
"properties": {
"path": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"type": "string"
},
"url": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"type": "string"
}
}
},
@ -6225,22 +6396,25 @@ const docTemplate = `{
"type": "object",
"properties": {
"enable": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
"type": "boolean"
},
"region_code": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"type": "string"
},
"region_id": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-int"
"type": "integer"
},
"region_name": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"type": "string"
},
"relay_url": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"$ref": "#/definitions/clibase.URL"
},
"stun_addresses": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-array_string"
"type": "array",
"items": {
"type": "string"
}
}
}
},
@ -6248,44 +6422,72 @@ const docTemplate = `{
"type": "object",
"properties": {
"allow_path_app_sharing": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
"type": "boolean"
},
"allow_path_app_site_owner_access": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
"type": "boolean"
}
}
},
"codersdk.DeploymentConfig": {
"type": "object",
"properties": {
"config": {
"$ref": "#/definitions/codersdk.DeploymentValues"
},
"options": {
"type": "array",
"items": {
"$ref": "#/definitions/clibase.Option"
}
}
}
},
"codersdk.DeploymentDAUsResponse": {
"type": "object",
"properties": {
"entries": {
"type": "array",
"items": {
"$ref": "#/definitions/codersdk.DAUEntry"
}
}
}
},
"codersdk.DeploymentValues": {
"type": "object",
"properties": {
"access_url": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"$ref": "#/definitions/clibase.URL"
},
"address": {
"description": "DEPRECATED: Use HTTPAddress or TLS.Address instead.",
"allOf": [
{
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"$ref": "#/definitions/clibase.HostPort"
}
]
},
"agent_fallback_troubleshooting_url": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"$ref": "#/definitions/clibase.URL"
},
"agent_stat_refresh_interval": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-time_Duration"
"type": "integer"
},
"audit_logging": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
"type": "boolean"
},
"autobuild_poll_interval": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-time_Duration"
"type": "integer"
},
"browser_only": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
"type": "boolean"
},
"cache_directory": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"type": "string"
},
"config": {
"type": "string"
},
"dangerous": {
"$ref": "#/definitions/codersdk.DangerousConfig"
@ -6294,45 +6496,41 @@ const docTemplate = `{
"$ref": "#/definitions/codersdk.DERP"
},
"disable_password_auth": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
"type": "boolean"
},
"disable_path_apps": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
"type": "boolean"
},
"disable_session_expiry_refresh": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
},
"experimental": {
"description": "DEPRECATED: Use Experiments instead.",
"allOf": [
{
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
}
]
"type": "boolean"
},
"experiments": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-array_string"
"type": "array",
"items": {
"type": "string"
}
},
"gitauth": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-array_codersdk_GitAuthConfig"
"git_auth": {
"$ref": "#/definitions/clibase.Struct-array_codersdk_GitAuthConfig"
},
"http_address": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"description": "HTTPAddress is a string because it may be set to zero to disable.",
"type": "string"
},
"in_memory_database": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
"type": "boolean"
},
"logging": {
"$ref": "#/definitions/codersdk.LoggingConfig"
},
"max_session_expiry": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-time_Duration"
"type": "integer"
},
"max_token_lifetime": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-time_Duration"
"type": "integer"
},
"metrics_cache_refresh_interval": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-time_Duration"
"type": "integer"
},
"oauth2": {
"$ref": "#/definitions/codersdk.OAuth2Config"
@ -6341,7 +6539,7 @@ const docTemplate = `{
"$ref": "#/definitions/codersdk.OIDCConfig"
},
"pg_connection_url": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"type": "string"
},
"pprof": {
"$ref": "#/definitions/codersdk.PprofConfig"
@ -6353,31 +6551,40 @@ const docTemplate = `{
"$ref": "#/definitions/codersdk.ProvisionerConfig"
},
"proxy_trusted_headers": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-array_string"
"type": "array",
"items": {
"type": "string"
}
},
"proxy_trusted_origins": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-array_string"
"type": "array",
"items": {
"type": "string"
}
},
"rate_limit": {
"$ref": "#/definitions/codersdk.RateLimitConfig"
},
"redirect_to_access_url": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
"type": "boolean"
},
"scim_api_key": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"type": "string"
},
"secure_auth_cookie": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
"type": "boolean"
},
"ssh_keygen_algorithm": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"type": "string"
},
"strict_transport_security": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-int"
"type": "integer"
},
"strict_transport_security_options": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-array_string"
"type": "array",
"items": {
"type": "string"
}
},
"support": {
"$ref": "#/definitions/codersdk.SupportConfig"
@ -6395,263 +6602,16 @@ const docTemplate = `{
"$ref": "#/definitions/codersdk.TraceConfig"
},
"update_check": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
"type": "boolean"
},
"verbose": {
"type": "boolean"
},
"wildcard_access_url": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
}
}
},
"codersdk.DeploymentConfigField-array_codersdk_GitAuthConfig": {
"type": "object",
"properties": {
"default": {
"type": "array",
"items": {
"$ref": "#/definitions/codersdk.GitAuthConfig"
}
"$ref": "#/definitions/clibase.URL"
},
"enterprise": {
"write_config": {
"type": "boolean"
},
"flag": {
"type": "string"
},
"hidden": {
"type": "boolean"
},
"name": {
"type": "string"
},
"secret": {
"type": "boolean"
},
"shorthand": {
"type": "string"
},
"usage": {
"type": "string"
},
"value": {
"type": "array",
"items": {
"$ref": "#/definitions/codersdk.GitAuthConfig"
}
}
}
},
"codersdk.DeploymentConfigField-array_codersdk_LinkConfig": {
"type": "object",
"properties": {
"default": {
"type": "array",
"items": {
"$ref": "#/definitions/codersdk.LinkConfig"
}
},
"enterprise": {
"type": "boolean"
},
"flag": {
"type": "string"
},
"hidden": {
"type": "boolean"
},
"name": {
"type": "string"
},
"secret": {
"type": "boolean"
},
"shorthand": {
"type": "string"
},
"usage": {
"type": "string"
},
"value": {
"type": "array",
"items": {
"$ref": "#/definitions/codersdk.LinkConfig"
}
}
}
},
"codersdk.DeploymentConfigField-array_string": {
"type": "object",
"properties": {
"default": {
"type": "array",
"items": {
"type": "string"
}
},
"enterprise": {
"type": "boolean"
},
"flag": {
"type": "string"
},
"hidden": {
"type": "boolean"
},
"name": {
"type": "string"
},
"secret": {
"type": "boolean"
},
"shorthand": {
"type": "string"
},
"usage": {
"type": "string"
},
"value": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"codersdk.DeploymentConfigField-bool": {
"type": "object",
"properties": {
"default": {
"type": "boolean"
},
"enterprise": {
"type": "boolean"
},
"flag": {
"type": "string"
},
"hidden": {
"type": "boolean"
},
"name": {
"type": "string"
},
"secret": {
"type": "boolean"
},
"shorthand": {
"type": "string"
},
"usage": {
"type": "string"
},
"value": {
"type": "boolean"
}
}
},
"codersdk.DeploymentConfigField-int": {
"type": "object",
"properties": {
"default": {
"type": "integer"
},
"enterprise": {
"type": "boolean"
},
"flag": {
"type": "string"
},
"hidden": {
"type": "boolean"
},
"name": {
"type": "string"
},
"secret": {
"type": "boolean"
},
"shorthand": {
"type": "string"
},
"usage": {
"type": "string"
},
"value": {
"type": "integer"
}
}
},
"codersdk.DeploymentConfigField-string": {
"type": "object",
"properties": {
"default": {
"type": "string"
},
"enterprise": {
"type": "boolean"
},
"flag": {
"type": "string"
},
"hidden": {
"type": "boolean"
},
"name": {
"type": "string"
},
"secret": {
"type": "boolean"
},
"shorthand": {
"type": "string"
},
"usage": {
"type": "string"
},
"value": {
"type": "string"
}
}
},
"codersdk.DeploymentConfigField-time_Duration": {
"type": "object",
"properties": {
"default": {
"type": "integer"
},
"enterprise": {
"type": "boolean"
},
"flag": {
"type": "string"
},
"hidden": {
"type": "boolean"
},
"name": {
"type": "string"
},
"secret": {
"type": "boolean"
},
"shorthand": {
"type": "string"
},
"usage": {
"type": "string"
},
"value": {
"type": "integer"
}
}
},
"codersdk.DeploymentDAUsResponse": {
"type": "object",
"properties": {
"entries": {
"type": "array",
"items": {
"$ref": "#/definitions/codersdk.DAUEntry"
}
}
}
},
@ -6677,10 +6637,6 @@ const docTemplate = `{
"type": "string"
}
},
"experimental": {
"description": "DEPRECATED: use Experiments instead.",
"type": "boolean"
},
"features": {
"type": "object",
"additionalProperties": {
@ -6936,13 +6892,13 @@ const docTemplate = `{
"type": "object",
"properties": {
"human": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"type": "string"
},
"json": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"type": "string"
},
"stackdriver": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"type": "string"
}
}
},
@ -7000,25 +6956,31 @@ const docTemplate = `{
"type": "object",
"properties": {
"allow_everyone": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
"type": "boolean"
},
"allow_signups": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
"type": "boolean"
},
"allowed_orgs": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-array_string"
"type": "array",
"items": {
"type": "string"
}
},
"allowed_teams": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-array_string"
"type": "array",
"items": {
"type": "string"
}
},
"client_id": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"type": "string"
},
"client_secret": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"type": "string"
},
"enterprise_base_url": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"type": "string"
}
}
},
@ -7040,34 +7002,40 @@ const docTemplate = `{
"type": "object",
"properties": {
"allow_signups": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
"type": "boolean"
},
"client_id": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"type": "string"
},
"client_secret": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"type": "string"
},
"email_domain": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-array_string"
"type": "array",
"items": {
"type": "string"
}
},
"icon_url": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"$ref": "#/definitions/clibase.URL"
},
"ignore_email_verified": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
"type": "boolean"
},
"issuer_url": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"type": "string"
},
"scopes": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-array_string"
"type": "array",
"items": {
"type": "string"
}
},
"sign_in_text": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"type": "string"
},
"username_field": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"type": "string"
}
}
},
@ -7305,10 +7273,10 @@ const docTemplate = `{
"type": "object",
"properties": {
"address": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"$ref": "#/definitions/clibase.HostPort"
},
"enable": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
"type": "boolean"
}
}
},
@ -7316,10 +7284,10 @@ const docTemplate = `{
"type": "object",
"properties": {
"address": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"$ref": "#/definitions/clibase.HostPort"
},
"enable": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
"type": "boolean"
}
}
},
@ -7327,16 +7295,16 @@ const docTemplate = `{
"type": "object",
"properties": {
"daemon_poll_interval": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-time_Duration"
"type": "integer"
},
"daemon_poll_jitter": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-time_Duration"
"type": "integer"
},
"daemons": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-int"
"type": "integer"
},
"force_cancel_interval": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-time_Duration"
"type": "integer"
}
}
},
@ -7512,10 +7480,10 @@ const docTemplate = `{
"type": "object",
"properties": {
"api": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-int"
"type": "integer"
},
"disable_all": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
"type": "boolean"
}
}
},
@ -7628,7 +7596,7 @@ const docTemplate = `{
"type": "object",
"properties": {
"links": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-array_codersdk_LinkConfig"
"$ref": "#/definitions/clibase.Struct-array_codersdk_LinkConfig"
}
}
},
@ -7636,7 +7604,7 @@ const docTemplate = `{
"type": "object",
"properties": {
"enable": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
"type": "boolean"
}
}
},
@ -7644,34 +7612,40 @@ const docTemplate = `{
"type": "object",
"properties": {
"address": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"$ref": "#/definitions/clibase.HostPort"
},
"cert_file": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-array_string"
"type": "array",
"items": {
"type": "string"
}
},
"client_auth": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"type": "string"
},
"client_ca_file": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"type": "string"
},
"client_cert_file": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"type": "string"
},
"client_key_file": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"type": "string"
},
"enable": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
"type": "boolean"
},
"key_file": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-array_string"
"type": "array",
"items": {
"type": "string"
}
},
"min_version": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"type": "string"
},
"redirect_http": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
"type": "boolean"
}
}
},
@ -7679,13 +7653,13 @@ const docTemplate = `{
"type": "object",
"properties": {
"enable": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
"type": "boolean"
},
"trace": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
"type": "boolean"
},
"url": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"$ref": "#/definitions/clibase.URL"
}
}
},
@ -8054,13 +8028,13 @@ const docTemplate = `{
"type": "object",
"properties": {
"capture_logs": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
"type": "boolean"
},
"enable": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-bool"
"type": "boolean"
},
"honeycomb_api_key": {
"$ref": "#/definitions/codersdk.DeploymentConfigField-string"
"type": "string"
}
}
},
@ -9077,6 +9051,9 @@ const docTemplate = `{
"type": "string"
}
}
},
"url.Userinfo": {
"type": "object"
}
},
"securityDefinitions": {