@techdocs/cli 1.8.24-next.1 → 1.8.24-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/embedded-app/.config-schema.json +1205 -1037
  3. package/dist/embedded-app/index.html +1 -1
  4. package/dist/embedded-app/index.html.tmpl +1 -1
  5. package/dist/embedded-app/static/124.c9dccb21.chunk.js +6 -0
  6. package/dist/embedded-app/static/124.c9dccb21.chunk.js.map +1 -0
  7. package/dist/embedded-app/static/{2177.b7e2fc73.chunk.js → 2177.ccfa8e42.chunk.js} +2 -2
  8. package/dist/embedded-app/static/2177.ccfa8e42.chunk.js.map +1 -0
  9. package/dist/embedded-app/static/2401.73c0abd9.chunk.js +6 -0
  10. package/dist/embedded-app/static/2401.73c0abd9.chunk.js.map +1 -0
  11. package/dist/embedded-app/static/2420.f4515d6b.chunk.js +6 -0
  12. package/dist/embedded-app/static/2420.f4515d6b.chunk.js.map +1 -0
  13. package/dist/embedded-app/static/287.93e12210.chunk.js +6 -0
  14. package/dist/embedded-app/static/{124.bf989b54.chunk.js.map → 287.93e12210.chunk.js.map} +1 -1
  15. package/dist/embedded-app/static/3632.e83e9e79.chunk.js +6 -0
  16. package/dist/embedded-app/static/3632.e83e9e79.chunk.js.map +1 -0
  17. package/dist/embedded-app/static/6271.e3f614f0.chunk.js +6 -0
  18. package/dist/embedded-app/static/{8384.a571926d.chunk.js.map → 6271.e3f614f0.chunk.js.map} +1 -1
  19. package/dist/embedded-app/static/6415.dd062904.chunk.js +6 -0
  20. package/dist/embedded-app/static/6415.dd062904.chunk.js.map +1 -0
  21. package/dist/embedded-app/static/8384.34bb2920.chunk.js +6 -0
  22. package/dist/embedded-app/static/8384.34bb2920.chunk.js.map +1 -0
  23. package/dist/embedded-app/static/9652.87ca2ab5.chunk.js +6 -0
  24. package/dist/embedded-app/static/{6271.2f62fb0b.chunk.js.map → 9652.87ca2ab5.chunk.js.map} +1 -1
  25. package/dist/embedded-app/static/main.379a4fa3.js +553 -0
  26. package/dist/embedded-app/static/main.379a4fa3.js.map +1 -0
  27. package/dist/embedded-app/static/{runtime.9127f766.js → runtime.379a4fa3.js} +2 -2
  28. package/dist/embedded-app/static/{runtime.9127f766.js.map → runtime.379a4fa3.js.map} +1 -1
  29. package/dist/embedded-app/static/{vendor.9127f766.js → vendor.379a4fa3.js} +2 -2
  30. package/dist/embedded-app/static/vendor.379a4fa3.js.map +1 -0
  31. package/dist/package.json.cjs.js +1 -1
  32. package/package.json +6 -6
  33. package/dist/embedded-app/static/124.bf989b54.chunk.js +0 -6
  34. package/dist/embedded-app/static/2177.b7e2fc73.chunk.js.map +0 -1
  35. package/dist/embedded-app/static/2401.1dc679e2.chunk.js +0 -6
  36. package/dist/embedded-app/static/2401.1dc679e2.chunk.js.map +0 -1
  37. package/dist/embedded-app/static/2420.c2c4fb34.chunk.js +0 -6
  38. package/dist/embedded-app/static/2420.c2c4fb34.chunk.js.map +0 -1
  39. package/dist/embedded-app/static/287.2ab77cb3.chunk.js +0 -6
  40. package/dist/embedded-app/static/287.2ab77cb3.chunk.js.map +0 -1
  41. package/dist/embedded-app/static/3632.de80939d.chunk.js +0 -6
  42. package/dist/embedded-app/static/3632.de80939d.chunk.js.map +0 -1
  43. package/dist/embedded-app/static/6271.2f62fb0b.chunk.js +0 -6
  44. package/dist/embedded-app/static/6415.3b0fd3d0.chunk.js +0 -6
  45. package/dist/embedded-app/static/6415.3b0fd3d0.chunk.js.map +0 -1
  46. package/dist/embedded-app/static/8384.a571926d.chunk.js +0 -6
  47. package/dist/embedded-app/static/9652.62cbe616.chunk.js +0 -6
  48. package/dist/embedded-app/static/9652.62cbe616.chunk.js.map +0 -1
  49. package/dist/embedded-app/static/main.9127f766.js +0 -553
  50. package/dist/embedded-app/static/main.9127f766.js.map +0 -1
  51. package/dist/embedded-app/static/vendor.9127f766.js.map +0 -1
@@ -1077,6 +1077,21 @@
1077
1077
  "visibility": "frontend",
1078
1078
  "type": "string"
1079
1079
  },
1080
+ "display": {
1081
+ "type": "object",
1082
+ "properties": {
1083
+ "reviewer": {
1084
+ "description": "Whether to display the reviewer column in the score card table.",
1085
+ "visibility": "frontend",
1086
+ "type": "string"
1087
+ },
1088
+ "reviewDate": {
1089
+ "description": "Whether to display the review date column in the score card table.",
1090
+ "visibility": "frontend",
1091
+ "type": "string"
1092
+ }
1093
+ }
1094
+ },
1080
1095
  "wikiLinkTemplate": {
1081
1096
  "description": "The template for the link to the wiki, e.g. \"https://TBD/XXX/_wiki/wikis/XXX.wiki/{id}\"",
1082
1097
  "visibility": "frontend",
@@ -1731,272 +1746,728 @@
1731
1746
  }
1732
1747
  },
1733
1748
  {
1734
- "path": "../backend-app-api/config.d.ts",
1749
+ "path": "../../node_modules/@oriflame/backstage-plugin-score-card/node_modules/@backstage/integration/config.d.ts",
1735
1750
  "value": {
1736
1751
  "type": "object",
1737
1752
  "properties": {
1738
- "backend": {
1753
+ "integrations": {
1754
+ "description": "Configuration for integrations towards various external repository provider systems",
1755
+ "visibility": "frontend",
1739
1756
  "type": "object",
1740
1757
  "properties": {
1741
- "packages": {
1742
- "description": "Used by the feature discovery service",
1743
- "anyOf": [
1744
- {
1745
- "type": "object",
1746
- "properties": {
1747
- "include": {
1748
- "type": "array",
1749
- "items": {
1758
+ "azure": {
1759
+ "description": "Integration configuration for Azure",
1760
+ "type": "array",
1761
+ "items": {
1762
+ "type": "object",
1763
+ "properties": {
1764
+ "host": {
1765
+ "description": "The hostname of the given Azure instance",
1766
+ "visibility": "frontend",
1767
+ "type": "string"
1768
+ },
1769
+ "token": {
1770
+ "description": "Token used to authenticate requests.",
1771
+ "visibility": "secret",
1772
+ "deprecated": "Use `credentials` instead.",
1773
+ "type": "string"
1774
+ },
1775
+ "credential": {
1776
+ "description": "The credential to use for requests.\n\nIf no credential is specified anonymous access is used.",
1777
+ "deepVisibility": "secret",
1778
+ "deprecated": "Use `credentials` instead.",
1779
+ "type": "object",
1780
+ "properties": {
1781
+ "clientId": {
1750
1782
  "type": "string"
1751
- }
1752
- },
1753
- "exclude": {
1754
- "type": "array",
1755
- "items": {
1783
+ },
1784
+ "clientSecret": {
1785
+ "type": "string"
1786
+ },
1787
+ "tenantId": {
1788
+ "type": "string"
1789
+ },
1790
+ "personalAccessToken": {
1756
1791
  "type": "string"
1757
1792
  }
1758
1793
  }
1759
- }
1760
- },
1761
- {
1762
- "const": "all",
1763
- "type": "string"
1764
- }
1765
- ]
1766
- }
1767
- }
1768
- }
1769
- },
1770
- "$schema": "http://json-schema.org/draft-07/schema#"
1771
- }
1772
- },
1773
- {
1774
- "path": "../backend-defaults/config.d.ts",
1775
- "value": {
1776
- "type": "object",
1777
- "properties": {
1778
- "app": {
1779
- "type": "object",
1780
- "properties": {
1781
- "baseUrl": {
1782
- "type": "string"
1783
- }
1784
- },
1785
- "required": [
1786
- "baseUrl"
1787
- ]
1788
- },
1789
- "backend": {
1790
- "type": "object",
1791
- "properties": {
1792
- "baseUrl": {
1793
- "description": "The full base URL of the backend, as seen from the browser's point of\nview as it makes calls to the backend.",
1794
- "type": "string"
1795
- },
1796
- "listen": {
1797
- "description": "Address that the backend should listen to.",
1798
- "anyOf": [
1799
- {
1800
- "type": "object",
1801
- "properties": {
1802
- "host": {
1803
- "description": "Address of the interface that the backend should bind to.",
1804
- "type": "string"
1805
- },
1806
- "port": {
1807
- "description": "Port that the backend should listen to.",
1808
- "type": [
1809
- "string",
1810
- "number"
1811
- ]
1812
- }
1813
- }
1814
- },
1815
- {
1816
- "type": "string"
1817
- }
1818
- ]
1819
- },
1820
- "https": {
1821
- "description": "HTTPS configuration for the backend. If omitted the backend will serve HTTP.\n\nSetting this to `true` will cause self-signed certificates to be generated, which\ncan be useful for local development or other non-production scenarios.",
1822
- "anyOf": [
1823
- {
1824
- "type": "object",
1825
- "properties": {
1826
- "certificate": {
1827
- "description": "Certificate configuration",
1794
+ },
1795
+ "credentials": {
1796
+ "description": "The credentials to use for requests. If multiple credentials are specified the first one that matches the organization is used.\nIf not organization matches the first credential without an organization is used.\n\nIf no credentials are specified at all, either a default credential (for Azure DevOps) or anonymous access (for Azure DevOps Server) is used.",
1797
+ "deepVisibility": "secret",
1798
+ "type": "array",
1799
+ "items": {
1828
1800
  "type": "object",
1829
1801
  "properties": {
1830
- "cert": {
1831
- "description": "PEM encoded certificate. Use $file to load in a file",
1802
+ "clientId": {
1832
1803
  "type": "string"
1833
1804
  },
1834
- "key": {
1835
- "description": "PEM encoded certificate key. Use $file to load in a file.",
1836
- "visibility": "secret",
1805
+ "clientSecret": {
1806
+ "type": "string"
1807
+ },
1808
+ "tenantId": {
1809
+ "type": "string"
1810
+ },
1811
+ "personalAccessToken": {
1837
1812
  "type": "string"
1838
1813
  }
1839
- },
1840
- "required": [
1841
- "cert",
1842
- "key"
1843
- ]
1814
+ }
1844
1815
  }
1845
1816
  }
1846
1817
  },
1847
- {
1848
- "const": true,
1849
- "type": "boolean"
1850
- }
1851
- ]
1818
+ "required": [
1819
+ "host"
1820
+ ]
1821
+ }
1852
1822
  },
1853
- "auth": {
1854
- "description": "Options used by the default auth, httpAuth and userInfo services.",
1855
- "type": "object",
1856
- "properties": {
1857
- "dangerouslyDisableDefaultAuthPolicy": {
1858
- "description": "This disables the otherwise default auth policy, which requires all\nrequests to be authenticated with either user or service credentials.\n\nDisabling this check means that the backend will no longer block\nunauthenticated requests, but instead allow them to pass through to\nplugins.\n\nIf permissions are enabled, unauthenticated requests will be treated\nexactly as such, leaving it to the permission policy to determine what\npermissions should be allowed for an unauthenticated identity. Note\nthat this will also apply to service-to-service calls between plugins\nunless you configure credentials for service calls.",
1859
- "type": "boolean"
1823
+ "bitbucket": {
1824
+ "description": "Integration configuration for Bitbucket",
1825
+ "deprecated": "replaced by bitbucketCloud and bitbucketServer",
1826
+ "type": "array",
1827
+ "items": {
1828
+ "type": "object",
1829
+ "properties": {
1830
+ "host": {
1831
+ "description": "The hostname of the given Bitbucket instance",
1832
+ "visibility": "frontend",
1833
+ "type": "string"
1834
+ },
1835
+ "token": {
1836
+ "description": "Token used to authenticate requests.",
1837
+ "visibility": "secret",
1838
+ "type": "string"
1839
+ },
1840
+ "apiBaseUrl": {
1841
+ "description": "The base url for the Bitbucket API, for example https://api.bitbucket.org/2.0",
1842
+ "visibility": "frontend",
1843
+ "type": "string"
1844
+ },
1845
+ "username": {
1846
+ "description": "The username to use for authenticated requests.",
1847
+ "visibility": "secret",
1848
+ "type": "string"
1849
+ },
1850
+ "appPassword": {
1851
+ "description": "Bitbucket app password used to authenticate requests.",
1852
+ "visibility": "secret",
1853
+ "type": "string"
1854
+ }
1860
1855
  },
1861
- "pluginKeyStore": {
1862
- "description": "Controls how to store keys for plugin-to-plugin auth",
1863
- "anyOf": [
1864
- {
1865
- "type": "object",
1866
- "properties": {
1867
- "type": {
1868
- "type": "string",
1869
- "const": "database"
1870
- }
1871
- },
1872
- "required": [
1873
- "type"
1874
- ]
1875
- },
1876
- {
1877
- "type": "object",
1878
- "properties": {
1879
- "type": {
1880
- "type": "string",
1881
- "const": "static"
1882
- },
1883
- "static": {
1884
- "type": "object",
1885
- "properties": {
1886
- "keys": {
1887
- "description": "Must be declared at least once and the first one will be used for signing.",
1888
- "type": "array",
1889
- "items": {
1890
- "type": "object",
1891
- "properties": {
1892
- "publicKeyFile": {
1893
- "description": "Path to the public key file in the SPKI format. Should be an absolute path.",
1894
- "type": "string"
1895
- },
1896
- "privateKeyFile": {
1897
- "description": "Path to the matching private key file in the PKCS#8 format. Should be an absolute path.\n\nThe first array entry must specify a private key file, the rest must not.",
1898
- "type": "string"
1899
- },
1900
- "keyId": {
1901
- "description": "ID to uniquely identify this key within the JWK set.",
1902
- "type": "string"
1903
- },
1904
- "algorithm": {
1905
- "description": "JWS \"alg\" (Algorithm) Header Parameter value. Defaults to ES256.\nMust match the algorithm used to generate the keys in the provided files",
1906
- "type": "string"
1907
- }
1908
- },
1909
- "required": [
1910
- "keyId",
1911
- "publicKeyFile"
1912
- ]
1913
- }
1914
- }
1915
- },
1916
- "required": [
1917
- "keys"
1856
+ "required": [
1857
+ "host"
1858
+ ]
1859
+ }
1860
+ },
1861
+ "bitbucketCloud": {
1862
+ "description": "Integration configuration for Bitbucket Cloud",
1863
+ "type": "array",
1864
+ "items": {
1865
+ "type": "object",
1866
+ "properties": {
1867
+ "username": {
1868
+ "description": "The username to use for authenticated requests.",
1869
+ "visibility": "secret",
1870
+ "type": "string"
1871
+ },
1872
+ "appPassword": {
1873
+ "description": "Bitbucket Cloud app password used to authenticate requests.",
1874
+ "visibility": "secret",
1875
+ "type": "string"
1876
+ }
1877
+ },
1878
+ "required": [
1879
+ "appPassword",
1880
+ "username"
1881
+ ]
1882
+ }
1883
+ },
1884
+ "bitbucketServer": {
1885
+ "description": "Integration configuration for Bitbucket Server",
1886
+ "type": "array",
1887
+ "items": {
1888
+ "type": "object",
1889
+ "properties": {
1890
+ "host": {
1891
+ "description": "The hostname of the given Bitbucket Server instance",
1892
+ "visibility": "frontend",
1893
+ "type": "string"
1894
+ },
1895
+ "token": {
1896
+ "description": "Token used to authenticate requests.",
1897
+ "visibility": "secret",
1898
+ "type": "string"
1899
+ },
1900
+ "username": {
1901
+ "description": "Username used to authenticate requests with Basic Auth.",
1902
+ "visibility": "secret",
1903
+ "type": "string"
1904
+ },
1905
+ "password": {
1906
+ "description": "Password (or token as password) used to authenticate requests with Basic Auth.",
1907
+ "visibility": "secret",
1908
+ "type": "string"
1909
+ },
1910
+ "apiBaseUrl": {
1911
+ "description": "The base url for the Bitbucket Server API, for example https://<host>/rest/api/1.0",
1912
+ "visibility": "frontend",
1913
+ "type": "string"
1914
+ }
1915
+ },
1916
+ "required": [
1917
+ "host"
1918
+ ]
1919
+ }
1920
+ },
1921
+ "gerrit": {
1922
+ "description": "Integration configuration for Gerrit",
1923
+ "type": "array",
1924
+ "items": {
1925
+ "type": "object",
1926
+ "properties": {
1927
+ "host": {
1928
+ "description": "The hostname of the given Gerrit instance",
1929
+ "visibility": "frontend",
1930
+ "type": "string"
1931
+ },
1932
+ "baseUrl": {
1933
+ "description": "The base url for the Gerrit instance.",
1934
+ "visibility": "frontend",
1935
+ "type": "string"
1936
+ },
1937
+ "gitilesBaseUrl": {
1938
+ "description": "The gitiles base url.",
1939
+ "visibility": "frontend",
1940
+ "type": "string"
1941
+ },
1942
+ "cloneUrl": {
1943
+ "description": "The base url for cloning repos.",
1944
+ "visibility": "frontend",
1945
+ "type": "string"
1946
+ },
1947
+ "username": {
1948
+ "description": "The username to use for authenticated requests.",
1949
+ "visibility": "secret",
1950
+ "type": "string"
1951
+ },
1952
+ "password": {
1953
+ "description": "Gerrit password used to authenticate requests. This can be either a password\nor a generated access token.",
1954
+ "visibility": "secret",
1955
+ "type": "string"
1956
+ }
1957
+ },
1958
+ "required": [
1959
+ "gitilesBaseUrl",
1960
+ "host"
1961
+ ]
1962
+ }
1963
+ },
1964
+ "github": {
1965
+ "description": "Integration configuration for GitHub",
1966
+ "type": "array",
1967
+ "items": {
1968
+ "type": "object",
1969
+ "properties": {
1970
+ "host": {
1971
+ "description": "The hostname of the given GitHub instance",
1972
+ "visibility": "frontend",
1973
+ "type": "string"
1974
+ },
1975
+ "token": {
1976
+ "description": "Token used to authenticate requests.",
1977
+ "visibility": "secret",
1978
+ "type": "string"
1979
+ },
1980
+ "apiBaseUrl": {
1981
+ "description": "The base url for the GitHub API, for example https://api.github.com",
1982
+ "visibility": "frontend",
1983
+ "type": "string"
1984
+ },
1985
+ "rawBaseUrl": {
1986
+ "description": "The base url for GitHub raw resources, for example https://raw.githubusercontent.com",
1987
+ "visibility": "frontend",
1988
+ "type": "string"
1989
+ },
1990
+ "apps": {
1991
+ "description": "GitHub Apps configuration",
1992
+ "type": "array",
1993
+ "items": {
1994
+ "type": "object",
1995
+ "properties": {
1996
+ "appId": {
1997
+ "description": "The numeric GitHub App ID, string for environment variables",
1998
+ "type": [
1999
+ "string",
2000
+ "number"
1918
2001
  ]
2002
+ },
2003
+ "privateKey": {
2004
+ "description": "The private key to use for auth against the app",
2005
+ "visibility": "secret",
2006
+ "type": "string"
2007
+ },
2008
+ "webhookSecret": {
2009
+ "description": "The secret used for webhooks",
2010
+ "visibility": "secret",
2011
+ "type": "string"
2012
+ },
2013
+ "clientId": {
2014
+ "description": "The client ID to use",
2015
+ "type": "string"
2016
+ },
2017
+ "clientSecret": {
2018
+ "description": "The client secret to use",
2019
+ "visibility": "secret",
2020
+ "type": "string"
2021
+ },
2022
+ "allowedInstallationOwners": {
2023
+ "description": "List of installation owners allowed to be used by this GitHub app. The GitHub UI does not provide a way to list the installations.\nHowever you can list the installations with the GitHub API. You can find the list of installations here:\nhttps://api.github.com/app/installations\nThe relevant documentation for this is here.\nhttps://docs.github.com/en/rest/reference/apps#list-installations-for-the-authenticated-app--code-samples",
2024
+ "type": "array",
2025
+ "items": {
2026
+ "type": "string"
2027
+ }
1919
2028
  }
1920
2029
  },
1921
2030
  "required": [
1922
- "static",
1923
- "type"
2031
+ "appId",
2032
+ "clientId",
2033
+ "clientSecret",
2034
+ "privateKey",
2035
+ "webhookSecret"
1924
2036
  ]
1925
2037
  }
1926
- ]
2038
+ }
1927
2039
  },
1928
- "externalAccess": {
1929
- "description": "Configures methods of external access, ie ways for callers outside of\nthe Backstage ecosystem to get authorized for access to APIs that do\nnot permit unauthorized access.",
1930
- "type": "array",
1931
- "items": {
1932
- "anyOf": [
1933
- {
1934
- "type": "object",
1935
- "properties": {
1936
- "type": {
1937
- "description": "This is the legacy service-to-service access method, where a set\nof static keys were shared among plugins and used for symmetric\nsigning and verification. These correspond to the old\n`backend.auth.keys` set and retain their behavior for backwards\ncompatibility. Please migrate to other access methods when\npossible.\n\nCallers generate JWT tokens with the following payload:\n\n```json\n{\n \"sub\": \"backstage-plugin\",\n \"exp\": <epoch seconds one hour in the future>\n}\n```\n\nAnd sign them with HS256, using the base64 decoded secret. The\ntokens are then passed along with requests in the Authorization\nheader:\n\n```\nAuthorization: Bearer eyJhbGciOiJIUzI...\n```",
1938
- "type": "string",
1939
- "const": "legacy"
1940
- },
1941
- "options": {
1942
- "type": "object",
1943
- "properties": {
1944
- "secret": {
1945
- "description": "Any set of base64 encoded random bytes to be used as both the\nsigning and verification key. Should be sufficiently long so as\nnot to be easy to guess by brute force.\n\nCan be generated eg using\n\n```sh\nnode -p 'require(\"crypto\").randomBytes(24).toString(\"base64\")'\n```",
1946
- "visibility": "secret",
1947
- "type": "string"
1948
- },
1949
- "subject": {
1950
- "description": "Sets the subject of the principal, when matching this token.\nUseful for debugging and tracking purposes.",
1951
- "type": "string"
1952
- }
1953
- },
1954
- "required": [
1955
- "secret",
1956
- "subject"
1957
- ]
1958
- },
1959
- "accessRestrictions": {
1960
- "description": "Restricts what types of access that are permitted for this access\nmethod. If no access restrictions are given, it'll have unlimited\naccess. This access restriction applies for the framework level;\nindividual plugins may have their own access control mechanisms\non top of this.",
1961
- "type": "array",
1962
- "items": {
1963
- "type": "object",
1964
- "properties": {
1965
- "plugin": {
1966
- "description": "Permit access to make requests to this plugin.\n\nCan be further refined by setting additional fields below.",
1967
- "type": "string"
1968
- },
1969
- "permission": {
1970
- "description": "If given, this method is limited to only performing actions\nwith these named permissions in this plugin.\n\nNote that this only applies where permissions checks are\nenabled in the first place. Endpoints that are not protected by\nthe permissions system at all, are not affected by this\nsetting.",
1971
- "anyOf": [
1972
- {
1973
- "type": "array",
1974
- "items": {
1975
- "type": "string"
1976
- }
1977
- },
1978
- {
1979
- "type": "string"
1980
- }
1981
- ]
1982
- },
1983
- "permissionAttribute": {
1984
- "description": "If given, this method is limited to only performing actions\nwhose permissions have these attributes.\n\nNote that this only applies where permissions checks are\nenabled in the first place. Endpoints that are not protected by\nthe permissions system at all, are not affected by this\nsetting.",
1985
- "type": "object",
1986
- "properties": {
1987
- "action": {
1988
- "description": "One of more of 'create', 'read', 'update', or 'delete'.",
1989
- "anyOf": [
1990
- {
1991
- "type": "array",
1992
- "items": {
1993
- "type": "string"
1994
- }
1995
- },
1996
- {
1997
- "type": "string"
1998
- }
1999
- ]
2040
+ "required": [
2041
+ "host"
2042
+ ]
2043
+ }
2044
+ },
2045
+ "gitlab": {
2046
+ "description": "Integration configuration for GitLab",
2047
+ "type": "array",
2048
+ "items": {
2049
+ "type": "object",
2050
+ "properties": {
2051
+ "host": {
2052
+ "description": "The host of the target that this matches on, e.g. \"gitlab.com\".",
2053
+ "visibility": "frontend",
2054
+ "type": "string"
2055
+ },
2056
+ "apiBaseUrl": {
2057
+ "description": "The base URL of the API of this provider, e.g.\n\"https://gitlab.com/api/v4\", with no trailing slash.\n\nMay be omitted specifically for public GitLab; then it will be deduced.",
2058
+ "visibility": "frontend",
2059
+ "type": "string"
2060
+ },
2061
+ "token": {
2062
+ "description": "The authorization token to use for requests to this provider.\n\nIf no token is specified, anonymous access is used.",
2063
+ "visibility": "secret",
2064
+ "type": "string"
2065
+ },
2066
+ "baseUrl": {
2067
+ "description": "The baseUrl of this provider, e.g. \"https://gitlab.com\", which is\npassed into the GitLab client.\n\nIf no baseUrl is provided, it will default to https://${host}.",
2068
+ "visibility": "frontend",
2069
+ "type": "string"
2070
+ }
2071
+ },
2072
+ "required": [
2073
+ "host"
2074
+ ]
2075
+ }
2076
+ },
2077
+ "googleGcs": {
2078
+ "description": "Integration configuration for Google Cloud Storage",
2079
+ "type": "object",
2080
+ "properties": {
2081
+ "clientEmail": {
2082
+ "description": "Service account email used to authenticate requests.",
2083
+ "type": "string"
2084
+ },
2085
+ "privateKey": {
2086
+ "description": "Service account private key used to authenticate requests.",
2087
+ "visibility": "secret",
2088
+ "type": "string"
2089
+ }
2090
+ }
2091
+ },
2092
+ "awsS3": {
2093
+ "description": "Integration configuration for AWS S3 Service",
2094
+ "type": "array",
2095
+ "items": {
2096
+ "type": "object",
2097
+ "properties": {
2098
+ "endpoint": {
2099
+ "description": "AWS Endpoint.\nThe endpoint URI to send requests to. The default endpoint is built from the configured region.",
2100
+ "visibility": "frontend",
2101
+ "type": "string"
2102
+ },
2103
+ "s3ForcePathStyle": {
2104
+ "description": "Whether to use path style URLs when communicating with S3.\nDefaults to false.\nThis allows providers like LocalStack, Minio and Wasabi (and possibly others) to be used.",
2105
+ "visibility": "frontend",
2106
+ "type": "boolean"
2107
+ },
2108
+ "accessKeyId": {
2109
+ "description": "Account access key used to authenticate requests.",
2110
+ "type": "string"
2111
+ },
2112
+ "secretAccessKey": {
2113
+ "description": "Account secret key used to authenticate requests.",
2114
+ "visibility": "secret",
2115
+ "type": "string"
2116
+ },
2117
+ "roleArn": {
2118
+ "description": "ARN of the role to be assumed",
2119
+ "type": "string"
2120
+ },
2121
+ "externalId": {
2122
+ "description": "External ID to use when assuming role",
2123
+ "type": "string"
2124
+ }
2125
+ }
2126
+ }
2127
+ },
2128
+ "gitea": {
2129
+ "description": "Integration configuration for Gitea",
2130
+ "type": "array",
2131
+ "items": {
2132
+ "type": "object",
2133
+ "properties": {
2134
+ "host": {
2135
+ "description": "The hostname of the given Gitea instance",
2136
+ "visibility": "frontend",
2137
+ "type": "string"
2138
+ },
2139
+ "baseUrl": {
2140
+ "description": "The base url for the Gitea instance.",
2141
+ "visibility": "frontend",
2142
+ "type": "string"
2143
+ },
2144
+ "username": {
2145
+ "description": "The username to use for authenticated requests.",
2146
+ "visibility": "secret",
2147
+ "type": "string"
2148
+ },
2149
+ "password": {
2150
+ "description": "Gitea password used to authenticate requests. This can be either a password\nor a generated access token.",
2151
+ "visibility": "secret",
2152
+ "type": "string"
2153
+ }
2154
+ },
2155
+ "required": [
2156
+ "host"
2157
+ ]
2158
+ }
2159
+ },
2160
+ "harness": {
2161
+ "description": "Integration configuration for Harness Code",
2162
+ "type": "array",
2163
+ "items": {
2164
+ "type": "object",
2165
+ "properties": {
2166
+ "host": {
2167
+ "description": "The hostname of the given Harness Code instance",
2168
+ "visibility": "frontend",
2169
+ "type": "string"
2170
+ },
2171
+ "apiKey": {
2172
+ "description": "The apikey to use for authenticated requests.",
2173
+ "visibility": "secret",
2174
+ "type": "string"
2175
+ },
2176
+ "token": {
2177
+ "description": "Harness Code token used to authenticate requests. This can be either a generated access token.",
2178
+ "visibility": "secret",
2179
+ "type": "string"
2180
+ }
2181
+ },
2182
+ "required": [
2183
+ "host"
2184
+ ]
2185
+ }
2186
+ }
2187
+ }
2188
+ }
2189
+ },
2190
+ "$schema": "http://json-schema.org/draft-07/schema#"
2191
+ }
2192
+ },
2193
+ {
2194
+ "path": "../backend-app-api/config.d.ts",
2195
+ "value": {
2196
+ "type": "object",
2197
+ "properties": {
2198
+ "backend": {
2199
+ "type": "object",
2200
+ "properties": {
2201
+ "packages": {
2202
+ "description": "Used by the feature discovery service",
2203
+ "anyOf": [
2204
+ {
2205
+ "type": "object",
2206
+ "properties": {
2207
+ "include": {
2208
+ "type": "array",
2209
+ "items": {
2210
+ "type": "string"
2211
+ }
2212
+ },
2213
+ "exclude": {
2214
+ "type": "array",
2215
+ "items": {
2216
+ "type": "string"
2217
+ }
2218
+ }
2219
+ }
2220
+ },
2221
+ {
2222
+ "const": "all",
2223
+ "type": "string"
2224
+ }
2225
+ ]
2226
+ }
2227
+ }
2228
+ }
2229
+ },
2230
+ "$schema": "http://json-schema.org/draft-07/schema#"
2231
+ }
2232
+ },
2233
+ {
2234
+ "path": "../backend-defaults/config.d.ts",
2235
+ "value": {
2236
+ "type": "object",
2237
+ "properties": {
2238
+ "app": {
2239
+ "type": "object",
2240
+ "properties": {
2241
+ "baseUrl": {
2242
+ "type": "string"
2243
+ }
2244
+ },
2245
+ "required": [
2246
+ "baseUrl"
2247
+ ]
2248
+ },
2249
+ "backend": {
2250
+ "type": "object",
2251
+ "properties": {
2252
+ "baseUrl": {
2253
+ "description": "The full base URL of the backend, as seen from the browser's point of\nview as it makes calls to the backend.",
2254
+ "type": "string"
2255
+ },
2256
+ "lifecycle": {
2257
+ "type": "object",
2258
+ "properties": {
2259
+ "startupRequestPauseTimeout": {
2260
+ "description": "The maximum time that paused requests will wait for the service to start, before returning an error.\nDefaults to 5 seconds\nSupported formats:\n- A string in the format of '1d', '2 seconds' etc. as supported by the `ms`\n library.\n- A standard ISO formatted duration string, e.g. 'P2DT6H' or 'PT1M'.\n- An object with individual units (in plural) as keys, e.g. `{ days: 2, hours: 6 }`."
2261
+ },
2262
+ "serverShutdownDelay": {
2263
+ "description": "The minimum time that the HTTP server will delay the shutdown of the backend. During this delay health checks will be set to failing, allowing traffic to drain.\nDefaults to 0 seconds.\nSupported formats:\n- A string in the format of '1d', '2 seconds' etc. as supported by the `ms`\n library.\n- A standard ISO formatted duration string, e.g. 'P2DT6H' or 'PT1M'.\n- An object with individual units (in plural) as keys, e.g. `{ days: 2, hours: 6 }`."
2264
+ }
2265
+ }
2266
+ },
2267
+ "listen": {
2268
+ "description": "Address that the backend should listen to.",
2269
+ "anyOf": [
2270
+ {
2271
+ "type": "object",
2272
+ "properties": {
2273
+ "host": {
2274
+ "description": "Address of the interface that the backend should bind to.",
2275
+ "type": "string"
2276
+ },
2277
+ "port": {
2278
+ "description": "Port that the backend should listen to.",
2279
+ "type": [
2280
+ "string",
2281
+ "number"
2282
+ ]
2283
+ }
2284
+ }
2285
+ },
2286
+ {
2287
+ "type": "string"
2288
+ }
2289
+ ]
2290
+ },
2291
+ "https": {
2292
+ "description": "HTTPS configuration for the backend. If omitted the backend will serve HTTP.\n\nSetting this to `true` will cause self-signed certificates to be generated, which\ncan be useful for local development or other non-production scenarios.",
2293
+ "anyOf": [
2294
+ {
2295
+ "type": "object",
2296
+ "properties": {
2297
+ "certificate": {
2298
+ "description": "Certificate configuration",
2299
+ "type": "object",
2300
+ "properties": {
2301
+ "cert": {
2302
+ "description": "PEM encoded certificate. Use $file to load in a file",
2303
+ "type": "string"
2304
+ },
2305
+ "key": {
2306
+ "description": "PEM encoded certificate key. Use $file to load in a file.",
2307
+ "visibility": "secret",
2308
+ "type": "string"
2309
+ }
2310
+ },
2311
+ "required": [
2312
+ "cert",
2313
+ "key"
2314
+ ]
2315
+ }
2316
+ }
2317
+ },
2318
+ {
2319
+ "const": true,
2320
+ "type": "boolean"
2321
+ }
2322
+ ]
2323
+ },
2324
+ "auth": {
2325
+ "description": "Options used by the default auth, httpAuth and userInfo services.",
2326
+ "type": "object",
2327
+ "properties": {
2328
+ "dangerouslyDisableDefaultAuthPolicy": {
2329
+ "description": "This disables the otherwise default auth policy, which requires all\nrequests to be authenticated with either user or service credentials.\n\nDisabling this check means that the backend will no longer block\nunauthenticated requests, but instead allow them to pass through to\nplugins.\n\nIf permissions are enabled, unauthenticated requests will be treated\nexactly as such, leaving it to the permission policy to determine what\npermissions should be allowed for an unauthenticated identity. Note\nthat this will also apply to service-to-service calls between plugins\nunless you configure credentials for service calls.",
2330
+ "type": "boolean"
2331
+ },
2332
+ "pluginKeyStore": {
2333
+ "description": "Controls how to store keys for plugin-to-plugin auth",
2334
+ "anyOf": [
2335
+ {
2336
+ "type": "object",
2337
+ "properties": {
2338
+ "type": {
2339
+ "type": "string",
2340
+ "const": "database"
2341
+ }
2342
+ },
2343
+ "required": [
2344
+ "type"
2345
+ ]
2346
+ },
2347
+ {
2348
+ "type": "object",
2349
+ "properties": {
2350
+ "type": {
2351
+ "type": "string",
2352
+ "const": "static"
2353
+ },
2354
+ "static": {
2355
+ "type": "object",
2356
+ "properties": {
2357
+ "keys": {
2358
+ "description": "Must be declared at least once and the first one will be used for signing.",
2359
+ "type": "array",
2360
+ "items": {
2361
+ "type": "object",
2362
+ "properties": {
2363
+ "publicKeyFile": {
2364
+ "description": "Path to the public key file in the SPKI format. Should be an absolute path.",
2365
+ "type": "string"
2366
+ },
2367
+ "privateKeyFile": {
2368
+ "description": "Path to the matching private key file in the PKCS#8 format. Should be an absolute path.\n\nThe first array entry must specify a private key file, the rest must not.",
2369
+ "type": "string"
2370
+ },
2371
+ "keyId": {
2372
+ "description": "ID to uniquely identify this key within the JWK set.",
2373
+ "type": "string"
2374
+ },
2375
+ "algorithm": {
2376
+ "description": "JWS \"alg\" (Algorithm) Header Parameter value. Defaults to ES256.\nMust match the algorithm used to generate the keys in the provided files",
2377
+ "type": "string"
2378
+ }
2379
+ },
2380
+ "required": [
2381
+ "keyId",
2382
+ "publicKeyFile"
2383
+ ]
2384
+ }
2385
+ }
2386
+ },
2387
+ "required": [
2388
+ "keys"
2389
+ ]
2390
+ }
2391
+ },
2392
+ "required": [
2393
+ "static",
2394
+ "type"
2395
+ ]
2396
+ }
2397
+ ]
2398
+ },
2399
+ "externalAccess": {
2400
+ "description": "Configures methods of external access, ie ways for callers outside of\nthe Backstage ecosystem to get authorized for access to APIs that do\nnot permit unauthorized access.",
2401
+ "type": "array",
2402
+ "items": {
2403
+ "anyOf": [
2404
+ {
2405
+ "type": "object",
2406
+ "properties": {
2407
+ "type": {
2408
+ "description": "This is the legacy service-to-service access method, where a set\nof static keys were shared among plugins and used for symmetric\nsigning and verification. These correspond to the old\n`backend.auth.keys` set and retain their behavior for backwards\ncompatibility. Please migrate to other access methods when\npossible.\n\nCallers generate JWT tokens with the following payload:\n\n```json\n{\n \"sub\": \"backstage-plugin\",\n \"exp\": <epoch seconds one hour in the future>\n}\n```\n\nAnd sign them with HS256, using the base64 decoded secret. The\ntokens are then passed along with requests in the Authorization\nheader:\n\n```\nAuthorization: Bearer eyJhbGciOiJIUzI...\n```",
2409
+ "type": "string",
2410
+ "const": "legacy"
2411
+ },
2412
+ "options": {
2413
+ "type": "object",
2414
+ "properties": {
2415
+ "secret": {
2416
+ "description": "Any set of base64 encoded random bytes to be used as both the\nsigning and verification key. Should be sufficiently long so as\nnot to be easy to guess by brute force.\n\nCan be generated eg using\n\n```sh\nnode -p 'require(\"crypto\").randomBytes(24).toString(\"base64\")'\n```",
2417
+ "visibility": "secret",
2418
+ "type": "string"
2419
+ },
2420
+ "subject": {
2421
+ "description": "Sets the subject of the principal, when matching this token.\nUseful for debugging and tracking purposes.",
2422
+ "type": "string"
2423
+ }
2424
+ },
2425
+ "required": [
2426
+ "secret",
2427
+ "subject"
2428
+ ]
2429
+ },
2430
+ "accessRestrictions": {
2431
+ "description": "Restricts what types of access that are permitted for this access\nmethod. If no access restrictions are given, it'll have unlimited\naccess. This access restriction applies for the framework level;\nindividual plugins may have their own access control mechanisms\non top of this.",
2432
+ "type": "array",
2433
+ "items": {
2434
+ "type": "object",
2435
+ "properties": {
2436
+ "plugin": {
2437
+ "description": "Permit access to make requests to this plugin.\n\nCan be further refined by setting additional fields below.",
2438
+ "type": "string"
2439
+ },
2440
+ "permission": {
2441
+ "description": "If given, this method is limited to only performing actions\nwith these named permissions in this plugin.\n\nNote that this only applies where permissions checks are\nenabled in the first place. Endpoints that are not protected by\nthe permissions system at all, are not affected by this\nsetting.",
2442
+ "anyOf": [
2443
+ {
2444
+ "type": "array",
2445
+ "items": {
2446
+ "type": "string"
2447
+ }
2448
+ },
2449
+ {
2450
+ "type": "string"
2451
+ }
2452
+ ]
2453
+ },
2454
+ "permissionAttribute": {
2455
+ "description": "If given, this method is limited to only performing actions\nwhose permissions have these attributes.\n\nNote that this only applies where permissions checks are\nenabled in the first place. Endpoints that are not protected by\nthe permissions system at all, are not affected by this\nsetting.",
2456
+ "type": "object",
2457
+ "properties": {
2458
+ "action": {
2459
+ "description": "One of more of 'create', 'read', 'update', or 'delete'.",
2460
+ "anyOf": [
2461
+ {
2462
+ "type": "array",
2463
+ "items": {
2464
+ "type": "string"
2465
+ }
2466
+ },
2467
+ {
2468
+ "type": "string"
2469
+ }
2470
+ ]
2000
2471
  }
2001
2472
  }
2002
2473
  }
@@ -2537,7 +3008,20 @@
2537
3008
  "const": false,
2538
3009
  "type": "boolean"
2539
3010
  }
2540
- ]
3011
+ ]
3012
+ }
3013
+ },
3014
+ "health": {
3015
+ "description": "Options for the health check service and endpoint.",
3016
+ "type": "object",
3017
+ "properties": {
3018
+ "headers": {
3019
+ "description": "Additional headers to always include in the health check response.\n\nIt can be a good idea to set a header that uniquely identifies your service\nin a multi-service environment. This ensures that the health check that is\nconfigured for your service is actually hitting your service and not another.\n\nFor example, if using Envoy you can use the `service_name_matcher` configuration\nand set the `x-envoy-upstream-healthchecked-cluster` header to a matching value.",
3020
+ "type": "object",
3021
+ "additionalProperties": {
3022
+ "type": "string"
3023
+ }
3024
+ }
2541
3025
  }
2542
3026
  },
2543
3027
  "reading": {
@@ -3945,257 +4429,8 @@
3945
4429
  }
3946
4430
  },
3947
4431
  "required": [
3948
- "clientId",
3949
- "clientSecret"
3950
- ]
3951
- }
3952
- }
3953
- }
3954
- }
3955
- }
3956
- }
3957
- },
3958
- "$schema": "http://json-schema.org/draft-07/schema#"
3959
- }
3960
- },
3961
- {
3962
- "path": "../../plugins/auth-backend-module-microsoft-provider/config.d.ts",
3963
- "value": {
3964
- "type": "object",
3965
- "properties": {
3966
- "auth": {
3967
- "type": "object",
3968
- "properties": {
3969
- "providers": {
3970
- "type": "object",
3971
- "properties": {
3972
- "microsoft": {
3973
- "visibility": "frontend",
3974
- "type": "object",
3975
- "additionalProperties": {
3976
- "type": "object",
3977
- "properties": {
3978
- "clientId": {
3979
- "type": "string"
3980
- },
3981
- "tenantId": {
3982
- "type": "string"
3983
- },
3984
- "clientSecret": {
3985
- "visibility": "secret",
3986
- "type": "string"
3987
- },
3988
- "domainHint": {
3989
- "type": "string"
3990
- },
3991
- "callbackUrl": {
3992
- "type": "string"
3993
- },
3994
- "additionalScopes": {
3995
- "anyOf": [
3996
- {
3997
- "type": "array",
3998
- "items": {
3999
- "type": "string"
4000
- }
4001
- },
4002
- {
4003
- "type": "string"
4004
- }
4005
- ]
4006
- },
4007
- "skipUserProfile": {
4008
- "type": "boolean"
4009
- },
4010
- "signIn": {
4011
- "type": "object",
4012
- "properties": {
4013
- "resolvers": {
4014
- "type": "array",
4015
- "items": {
4016
- "anyOf": [
4017
- {
4018
- "type": "object",
4019
- "properties": {
4020
- "resolver": {
4021
- "type": "string",
4022
- "const": "emailMatchingUserEntityAnnotation"
4023
- }
4024
- },
4025
- "required": [
4026
- "resolver"
4027
- ]
4028
- },
4029
- {
4030
- "type": "object",
4031
- "properties": {
4032
- "resolver": {
4033
- "type": "string",
4034
- "const": "emailLocalPartMatchingUserEntityName"
4035
- },
4036
- "allowedDomains": {
4037
- "type": "array",
4038
- "items": {
4039
- "type": "string"
4040
- }
4041
- }
4042
- },
4043
- "required": [
4044
- "resolver"
4045
- ]
4046
- },
4047
- {
4048
- "type": "object",
4049
- "properties": {
4050
- "resolver": {
4051
- "type": "string",
4052
- "const": "emailMatchingUserEntityProfileEmail"
4053
- }
4054
- },
4055
- "required": [
4056
- "resolver"
4057
- ]
4058
- }
4059
- ]
4060
- }
4061
- }
4062
- },
4063
- "required": [
4064
- "resolvers"
4065
- ]
4066
- }
4067
- },
4068
- "required": [
4069
- "clientId",
4070
- "clientSecret",
4071
- "tenantId"
4072
- ]
4073
- }
4074
- }
4075
- }
4076
- }
4077
- }
4078
- }
4079
- },
4080
- "$schema": "http://json-schema.org/draft-07/schema#"
4081
- }
4082
- },
4083
- {
4084
- "path": "../../plugins/auth-backend-module-oauth2-provider/config.d.ts",
4085
- "value": {
4086
- "type": "object",
4087
- "properties": {
4088
- "auth": {
4089
- "type": "object",
4090
- "properties": {
4091
- "providers": {
4092
- "type": "object",
4093
- "properties": {
4094
- "oauth2": {
4095
- "visibility": "frontend",
4096
- "type": "object",
4097
- "additionalProperties": {
4098
- "type": "object",
4099
- "properties": {
4100
- "clientId": {
4101
- "type": "string"
4102
- },
4103
- "clientSecret": {
4104
- "visibility": "secret",
4105
- "type": "string"
4106
- },
4107
- "authorizationUrl": {
4108
- "type": "string"
4109
- },
4110
- "tokenUrl": {
4111
- "type": "string"
4112
- },
4113
- "scope": {
4114
- "deprecated": "use `additionalScopes` instead",
4115
- "type": "string"
4116
- },
4117
- "additionalScopes": {
4118
- "anyOf": [
4119
- {
4120
- "type": "array",
4121
- "items": {
4122
- "type": "string"
4123
- }
4124
- },
4125
- {
4126
- "type": "string"
4127
- }
4128
- ]
4129
- },
4130
- "disableRefresh": {
4131
- "type": "boolean"
4132
- },
4133
- "includeBasicAuth": {
4134
- "type": "boolean"
4135
- },
4136
- "signIn": {
4137
- "type": "object",
4138
- "properties": {
4139
- "resolvers": {
4140
- "type": "array",
4141
- "items": {
4142
- "anyOf": [
4143
- {
4144
- "type": "object",
4145
- "properties": {
4146
- "resolver": {
4147
- "type": "string",
4148
- "const": "usernameMatchingUserEntityName"
4149
- }
4150
- },
4151
- "required": [
4152
- "resolver"
4153
- ]
4154
- },
4155
- {
4156
- "type": "object",
4157
- "properties": {
4158
- "resolver": {
4159
- "type": "string",
4160
- "const": "emailLocalPartMatchingUserEntityName"
4161
- },
4162
- "allowedDomains": {
4163
- "type": "array",
4164
- "items": {
4165
- "type": "string"
4166
- }
4167
- }
4168
- },
4169
- "required": [
4170
- "resolver"
4171
- ]
4172
- },
4173
- {
4174
- "type": "object",
4175
- "properties": {
4176
- "resolver": {
4177
- "type": "string",
4178
- "const": "emailMatchingUserEntityProfileEmail"
4179
- }
4180
- },
4181
- "required": [
4182
- "resolver"
4183
- ]
4184
- }
4185
- ]
4186
- }
4187
- }
4188
- },
4189
- "required": [
4190
- "resolvers"
4191
- ]
4192
- }
4193
- },
4194
- "required": [
4195
- "authorizationUrl",
4196
- "clientId",
4197
- "clientSecret",
4198
- "tokenUrl"
4432
+ "clientId",
4433
+ "clientSecret"
4199
4434
  ]
4200
4435
  }
4201
4436
  }
@@ -4208,7 +4443,7 @@
4208
4443
  }
4209
4444
  },
4210
4445
  {
4211
- "path": "../../plugins/auth-backend-module-oidc-provider/config.d.ts",
4446
+ "path": "../../plugins/auth-backend-module-microsoft-provider/config.d.ts",
4212
4447
  "value": {
4213
4448
  "type": "object",
4214
4449
  "properties": {
@@ -4218,7 +4453,7 @@
4218
4453
  "providers": {
4219
4454
  "type": "object",
4220
4455
  "properties": {
4221
- "oidc": {
4456
+ "microsoft": {
4222
4457
  "visibility": "frontend",
4223
4458
  "type": "object",
4224
4459
  "additionalProperties": {
@@ -4227,22 +4462,19 @@
4227
4462
  "clientId": {
4228
4463
  "type": "string"
4229
4464
  },
4465
+ "tenantId": {
4466
+ "type": "string"
4467
+ },
4230
4468
  "clientSecret": {
4231
4469
  "visibility": "secret",
4232
4470
  "type": "string"
4233
4471
  },
4234
- "metadataUrl": {
4472
+ "domainHint": {
4235
4473
  "type": "string"
4236
4474
  },
4237
4475
  "callbackUrl": {
4238
4476
  "type": "string"
4239
4477
  },
4240
- "tokenEndpointAuthMethod": {
4241
- "type": "string"
4242
- },
4243
- "tokenSignedResponseAlg": {
4244
- "type": "string"
4245
- },
4246
4478
  "additionalScopes": {
4247
4479
  "anyOf": [
4248
4480
  {
@@ -4256,8 +4488,8 @@
4256
4488
  }
4257
4489
  ]
4258
4490
  },
4259
- "prompt": {
4260
- "type": "string"
4491
+ "skipUserProfile": {
4492
+ "type": "boolean"
4261
4493
  },
4262
4494
  "signIn": {
4263
4495
  "type": "object",
@@ -4266,6 +4498,18 @@
4266
4498
  "type": "array",
4267
4499
  "items": {
4268
4500
  "anyOf": [
4501
+ {
4502
+ "type": "object",
4503
+ "properties": {
4504
+ "resolver": {
4505
+ "type": "string",
4506
+ "const": "emailMatchingUserEntityAnnotation"
4507
+ }
4508
+ },
4509
+ "required": [
4510
+ "resolver"
4511
+ ]
4512
+ },
4269
4513
  {
4270
4514
  "type": "object",
4271
4515
  "properties": {
@@ -4308,7 +4552,7 @@
4308
4552
  "required": [
4309
4553
  "clientId",
4310
4554
  "clientSecret",
4311
- "metadataUrl"
4555
+ "tenantId"
4312
4556
  ]
4313
4557
  }
4314
4558
  }
@@ -4321,7 +4565,7 @@
4321
4565
  }
4322
4566
  },
4323
4567
  {
4324
- "path": "../../plugins/auth-backend-module-okta-provider/config.d.ts",
4568
+ "path": "../../plugins/auth-backend-module-oauth2-provider/config.d.ts",
4325
4569
  "value": {
4326
4570
  "type": "object",
4327
4571
  "properties": {
@@ -4331,7 +4575,7 @@
4331
4575
  "providers": {
4332
4576
  "type": "object",
4333
4577
  "properties": {
4334
- "okta": {
4578
+ "oauth2": {
4335
4579
  "visibility": "frontend",
4336
4580
  "type": "object",
4337
4581
  "additionalProperties": {
@@ -4344,16 +4588,14 @@
4344
4588
  "visibility": "secret",
4345
4589
  "type": "string"
4346
4590
  },
4347
- "audience": {
4348
- "type": "string"
4349
- },
4350
- "authServerId": {
4591
+ "authorizationUrl": {
4351
4592
  "type": "string"
4352
4593
  },
4353
- "idp": {
4594
+ "tokenUrl": {
4354
4595
  "type": "string"
4355
4596
  },
4356
- "callbackUrl": {
4597
+ "scope": {
4598
+ "deprecated": "use `additionalScopes` instead",
4357
4599
  "type": "string"
4358
4600
  },
4359
4601
  "additionalScopes": {
@@ -4369,6 +4611,12 @@
4369
4611
  }
4370
4612
  ]
4371
4613
  },
4614
+ "disableRefresh": {
4615
+ "type": "boolean"
4616
+ },
4617
+ "includeBasicAuth": {
4618
+ "type": "boolean"
4619
+ },
4372
4620
  "signIn": {
4373
4621
  "type": "object",
4374
4622
  "properties": {
@@ -4381,7 +4629,7 @@
4381
4629
  "properties": {
4382
4630
  "resolver": {
4383
4631
  "type": "string",
4384
- "const": "emailMatchingUserEntityAnnotation"
4632
+ "const": "usernameMatchingUserEntityName"
4385
4633
  }
4386
4634
  },
4387
4635
  "required": [
@@ -4428,8 +4676,10 @@
4428
4676
  }
4429
4677
  },
4430
4678
  "required": [
4679
+ "authorizationUrl",
4431
4680
  "clientId",
4432
- "clientSecret"
4681
+ "clientSecret",
4682
+ "tokenUrl"
4433
4683
  ]
4434
4684
  }
4435
4685
  }
@@ -4442,7 +4692,7 @@
4442
4692
  }
4443
4693
  },
4444
4694
  {
4445
- "path": "../../plugins/auth-backend-module-onelogin-provider/config.d.ts",
4695
+ "path": "../../plugins/auth-backend-module-oidc-provider/config.d.ts",
4446
4696
  "value": {
4447
4697
  "type": "object",
4448
4698
  "properties": {
@@ -4452,7 +4702,7 @@
4452
4702
  "providers": {
4453
4703
  "type": "object",
4454
4704
  "properties": {
4455
- "onelogin": {
4705
+ "oidc": {
4456
4706
  "visibility": "frontend",
4457
4707
  "type": "object",
4458
4708
  "additionalProperties": {
@@ -4465,12 +4715,34 @@
4465
4715
  "visibility": "secret",
4466
4716
  "type": "string"
4467
4717
  },
4468
- "issuer": {
4718
+ "metadataUrl": {
4469
4719
  "type": "string"
4470
4720
  },
4471
4721
  "callbackUrl": {
4472
4722
  "type": "string"
4473
4723
  },
4724
+ "tokenEndpointAuthMethod": {
4725
+ "type": "string"
4726
+ },
4727
+ "tokenSignedResponseAlg": {
4728
+ "type": "string"
4729
+ },
4730
+ "additionalScopes": {
4731
+ "anyOf": [
4732
+ {
4733
+ "type": "array",
4734
+ "items": {
4735
+ "type": "string"
4736
+ }
4737
+ },
4738
+ {
4739
+ "type": "string"
4740
+ }
4741
+ ]
4742
+ },
4743
+ "prompt": {
4744
+ "type": "string"
4745
+ },
4474
4746
  "signIn": {
4475
4747
  "type": "object",
4476
4748
  "properties": {
@@ -4478,18 +4750,6 @@
4478
4750
  "type": "array",
4479
4751
  "items": {
4480
4752
  "anyOf": [
4481
- {
4482
- "type": "object",
4483
- "properties": {
4484
- "resolver": {
4485
- "type": "string",
4486
- "const": "usernameMatchingUserEntityName"
4487
- }
4488
- },
4489
- "required": [
4490
- "resolver"
4491
- ]
4492
- },
4493
4753
  {
4494
4754
  "type": "object",
4495
4755
  "properties": {
@@ -4532,7 +4792,7 @@
4532
4792
  "required": [
4533
4793
  "clientId",
4534
4794
  "clientSecret",
4535
- "issuer"
4795
+ "metadataUrl"
4536
4796
  ]
4537
4797
  }
4538
4798
  }
@@ -4545,151 +4805,118 @@
4545
4805
  }
4546
4806
  },
4547
4807
  {
4548
- "path": "../../node_modules/@backstage-community/plugin-puppetdb/node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/core-components/config.d.ts",
4808
+ "path": "../../plugins/auth-backend-module-okta-provider/config.d.ts",
4549
4809
  "value": {
4550
4810
  "type": "object",
4551
4811
  "properties": {
4552
4812
  "auth": {
4553
4813
  "type": "object",
4554
4814
  "properties": {
4555
- "autologout": {
4556
- "description": "Autologout feature configuration",
4815
+ "providers": {
4557
4816
  "type": "object",
4558
4817
  "properties": {
4559
- "enabled": {
4560
- "description": "Enable or disable the autologout feature",
4561
- "visibility": "frontend",
4562
- "type": "boolean"
4563
- },
4564
- "idleTimeoutMinutes": {
4565
- "description": "Number of minutes after which the inactive user is logged out automatically.\nDefault is 60 minutes (1 hour)",
4566
- "visibility": "frontend",
4567
- "type": "number"
4568
- },
4569
- "promptBeforeIdleSeconds": {
4570
- "description": "Number of seconds before the idle timeout where the user will be asked if it's still active.\nA dialog will be shown.\nDefault is 10 seconds.\nSet to 0 seconds to disable the prompt.",
4571
- "visibility": "frontend",
4572
- "type": "number"
4573
- },
4574
- "useWorkerTimers": {
4575
- "description": "Enable/disable the usage of worker thread timers instead of main thread timers.\nDefault is true.\nIf you experience some browser incompatibility, you may try to set this to false.",
4576
- "visibility": "frontend",
4577
- "type": "boolean"
4578
- },
4579
- "logoutIfDisconnected": {
4580
- "description": "Enable/disable the automatic logout also on users that are logged in but with no Backstage tabs open.\nDefault is true.",
4818
+ "okta": {
4581
4819
  "visibility": "frontend",
4582
- "type": "boolean"
4583
- }
4584
- }
4585
- }
4586
- }
4587
- }
4588
- },
4589
- "$schema": "http://json-schema.org/draft-07/schema#"
4590
- }
4591
- },
4592
- {
4593
- "path": "../integration-aws-node/config.d.ts",
4594
- "value": {
4595
- "type": "object",
4596
- "properties": {
4597
- "aws": {
4598
- "description": "Configuration for access to AWS accounts",
4599
- "type": "object",
4600
- "properties": {
4601
- "accountDefaults": {
4602
- "description": "Defaults for retrieving AWS account credentials",
4603
- "type": "object",
4604
- "properties": {
4605
- "roleName": {
4606
- "description": "The IAM role to assume to retrieve temporary AWS credentials",
4607
- "type": "string"
4608
- },
4609
- "partition": {
4610
- "description": "The AWS partition of the IAM role, e.g. \"aws\", \"aws-cn\"",
4611
- "type": "string"
4612
- },
4613
- "region": {
4614
- "description": "The STS regional endpoint to use when retrieving temporary AWS credentials, e.g. \"ap-northeast-1\"",
4615
- "type": "string"
4616
- },
4617
- "externalId": {
4618
- "description": "The unique identifier needed to assume the role to retrieve temporary AWS credentials",
4619
- "visibility": "secret",
4620
- "type": "string"
4621
- }
4622
- }
4623
- },
4624
- "mainAccount": {
4625
- "description": "Main account to use for retrieving AWS account credentials",
4626
- "type": "object",
4627
- "properties": {
4628
- "accessKeyId": {
4629
- "description": "The access key ID for a set of static AWS credentials",
4630
- "visibility": "secret",
4631
- "type": "string"
4632
- },
4633
- "secretAccessKey": {
4634
- "description": "The secret access key for a set of static AWS credentials",
4635
- "visibility": "secret",
4636
- "type": "string"
4637
- },
4638
- "profile": {
4639
- "description": "The configuration profile from a credentials file at ~/.aws/credentials and\na configuration file at ~/.aws/config.",
4640
- "type": "string"
4641
- },
4642
- "region": {
4643
- "description": "The STS regional endpoint to use for the main account, e.g. \"ap-northeast-1\"",
4644
- "type": "string"
4645
- }
4646
- }
4647
- },
4648
- "accounts": {
4649
- "description": "Configuration for retrieving AWS accounts credentials",
4650
- "type": "array",
4651
- "items": {
4652
- "type": "object",
4653
- "properties": {
4654
- "accountId": {
4655
- "description": "The account ID of the target account that this matches on, e.g. \"123456789012\"",
4656
- "type": "string"
4657
- },
4658
- "accessKeyId": {
4659
- "description": "The access key ID for a set of static AWS credentials",
4660
- "visibility": "secret",
4661
- "type": "string"
4662
- },
4663
- "secretAccessKey": {
4664
- "description": "The secret access key for a set of static AWS credentials",
4665
- "visibility": "secret",
4666
- "type": "string"
4667
- },
4668
- "profile": {
4669
- "description": "The configuration profile from a credentials file at ~/.aws/credentials and\na configuration file at ~/.aws/config.",
4670
- "type": "string"
4671
- },
4672
- "roleName": {
4673
- "description": "The IAM role to assume to retrieve temporary AWS credentials",
4674
- "type": "string"
4675
- },
4676
- "partition": {
4677
- "description": "The AWS partition of the IAM role, e.g. \"aws\", \"aws-cn\"",
4678
- "type": "string"
4679
- },
4680
- "region": {
4681
- "description": "The STS regional endpoint to use when retrieving temporary AWS credentials, e.g. \"ap-northeast-1\"",
4682
- "type": "string"
4683
- },
4684
- "externalId": {
4685
- "description": "The unique identifier needed to assume the role to retrieve temporary AWS credentials",
4686
- "visibility": "secret",
4687
- "type": "string"
4820
+ "type": "object",
4821
+ "additionalProperties": {
4822
+ "type": "object",
4823
+ "properties": {
4824
+ "clientId": {
4825
+ "type": "string"
4826
+ },
4827
+ "clientSecret": {
4828
+ "visibility": "secret",
4829
+ "type": "string"
4830
+ },
4831
+ "audience": {
4832
+ "type": "string"
4833
+ },
4834
+ "authServerId": {
4835
+ "type": "string"
4836
+ },
4837
+ "idp": {
4838
+ "type": "string"
4839
+ },
4840
+ "callbackUrl": {
4841
+ "type": "string"
4842
+ },
4843
+ "additionalScopes": {
4844
+ "anyOf": [
4845
+ {
4846
+ "type": "array",
4847
+ "items": {
4848
+ "type": "string"
4849
+ }
4850
+ },
4851
+ {
4852
+ "type": "string"
4853
+ }
4854
+ ]
4855
+ },
4856
+ "signIn": {
4857
+ "type": "object",
4858
+ "properties": {
4859
+ "resolvers": {
4860
+ "type": "array",
4861
+ "items": {
4862
+ "anyOf": [
4863
+ {
4864
+ "type": "object",
4865
+ "properties": {
4866
+ "resolver": {
4867
+ "type": "string",
4868
+ "const": "emailMatchingUserEntityAnnotation"
4869
+ }
4870
+ },
4871
+ "required": [
4872
+ "resolver"
4873
+ ]
4874
+ },
4875
+ {
4876
+ "type": "object",
4877
+ "properties": {
4878
+ "resolver": {
4879
+ "type": "string",
4880
+ "const": "emailLocalPartMatchingUserEntityName"
4881
+ },
4882
+ "allowedDomains": {
4883
+ "type": "array",
4884
+ "items": {
4885
+ "type": "string"
4886
+ }
4887
+ }
4888
+ },
4889
+ "required": [
4890
+ "resolver"
4891
+ ]
4892
+ },
4893
+ {
4894
+ "type": "object",
4895
+ "properties": {
4896
+ "resolver": {
4897
+ "type": "string",
4898
+ "const": "emailMatchingUserEntityProfileEmail"
4899
+ }
4900
+ },
4901
+ "required": [
4902
+ "resolver"
4903
+ ]
4904
+ }
4905
+ ]
4906
+ }
4907
+ }
4908
+ },
4909
+ "required": [
4910
+ "resolvers"
4911
+ ]
4912
+ }
4913
+ },
4914
+ "required": [
4915
+ "clientId",
4916
+ "clientSecret"
4917
+ ]
4688
4918
  }
4689
- },
4690
- "required": [
4691
- "accountId"
4692
- ]
4919
+ }
4693
4920
  }
4694
4921
  }
4695
4922
  }
@@ -4699,459 +4926,400 @@
4699
4926
  }
4700
4927
  },
4701
4928
  {
4702
- "path": "../../node_modules/@backstage/backend-common/node_modules/@backstage/backend-plugin-api/config.d.ts",
4703
- "value": {
4704
- "type": "object",
4705
- "properties": {
4706
- "backend": {
4707
- "type": "object",
4708
- "properties": {
4709
- "workingDirectory": {
4710
- "description": "An absolute path to a directory that can be used as a working dir, for\nexample as scratch space for large operations.",
4711
- "type": "string"
4712
- }
4713
- }
4714
- }
4715
- },
4716
- "$schema": "http://json-schema.org/draft-07/schema#"
4717
- }
4718
- },
4719
- {
4720
- "path": "../../node_modules/@backstage/backend-common/node_modules/@backstage/integration/config.d.ts",
4929
+ "path": "../../plugins/auth-backend-module-onelogin-provider/config.d.ts",
4721
4930
  "value": {
4722
4931
  "type": "object",
4723
4932
  "properties": {
4724
- "integrations": {
4725
- "description": "Configuration for integrations towards various external repository provider systems",
4726
- "visibility": "frontend",
4933
+ "auth": {
4727
4934
  "type": "object",
4728
4935
  "properties": {
4729
- "azure": {
4730
- "description": "Integration configuration for Azure",
4731
- "type": "array",
4732
- "items": {
4733
- "type": "object",
4734
- "properties": {
4735
- "host": {
4736
- "description": "The hostname of the given Azure instance",
4737
- "visibility": "frontend",
4738
- "type": "string"
4739
- },
4740
- "token": {
4741
- "description": "Token used to authenticate requests.",
4742
- "visibility": "secret",
4743
- "deprecated": "Use `credentials` instead.",
4744
- "type": "string"
4745
- },
4746
- "credential": {
4747
- "description": "The credential to use for requests.\n\nIf no credential is specified anonymous access is used.",
4748
- "deepVisibility": "secret",
4749
- "deprecated": "Use `credentials` instead.",
4936
+ "providers": {
4937
+ "type": "object",
4938
+ "properties": {
4939
+ "onelogin": {
4940
+ "visibility": "frontend",
4941
+ "type": "object",
4942
+ "additionalProperties": {
4750
4943
  "type": "object",
4751
4944
  "properties": {
4752
4945
  "clientId": {
4753
4946
  "type": "string"
4754
4947
  },
4755
4948
  "clientSecret": {
4949
+ "visibility": "secret",
4756
4950
  "type": "string"
4757
4951
  },
4758
- "tenantId": {
4952
+ "issuer": {
4759
4953
  "type": "string"
4760
4954
  },
4761
- "personalAccessToken": {
4955
+ "callbackUrl": {
4762
4956
  "type": "string"
4763
- }
4764
- }
4765
- },
4766
- "credentials": {
4767
- "description": "The credentials to use for requests. If multiple credentials are specified the first one that matches the organization is used.\nIf not organization matches the first credential without an organization is used.\n\nIf no credentials are specified at all, either a default credential (for Azure DevOps) or anonymous access (for Azure DevOps Server) is used.",
4768
- "deepVisibility": "secret",
4769
- "type": "array",
4770
- "items": {
4771
- "type": "object",
4772
- "properties": {
4773
- "clientId": {
4774
- "type": "string"
4775
- },
4776
- "clientSecret": {
4777
- "type": "string"
4778
- },
4779
- "tenantId": {
4780
- "type": "string"
4957
+ },
4958
+ "signIn": {
4959
+ "type": "object",
4960
+ "properties": {
4961
+ "resolvers": {
4962
+ "type": "array",
4963
+ "items": {
4964
+ "anyOf": [
4965
+ {
4966
+ "type": "object",
4967
+ "properties": {
4968
+ "resolver": {
4969
+ "type": "string",
4970
+ "const": "usernameMatchingUserEntityName"
4971
+ }
4972
+ },
4973
+ "required": [
4974
+ "resolver"
4975
+ ]
4976
+ },
4977
+ {
4978
+ "type": "object",
4979
+ "properties": {
4980
+ "resolver": {
4981
+ "type": "string",
4982
+ "const": "emailLocalPartMatchingUserEntityName"
4983
+ },
4984
+ "allowedDomains": {
4985
+ "type": "array",
4986
+ "items": {
4987
+ "type": "string"
4988
+ }
4989
+ }
4990
+ },
4991
+ "required": [
4992
+ "resolver"
4993
+ ]
4994
+ },
4995
+ {
4996
+ "type": "object",
4997
+ "properties": {
4998
+ "resolver": {
4999
+ "type": "string",
5000
+ "const": "emailMatchingUserEntityProfileEmail"
5001
+ }
5002
+ },
5003
+ "required": [
5004
+ "resolver"
5005
+ ]
5006
+ }
5007
+ ]
5008
+ }
5009
+ }
4781
5010
  },
4782
- "personalAccessToken": {
4783
- "type": "string"
4784
- }
5011
+ "required": [
5012
+ "resolvers"
5013
+ ]
4785
5014
  }
4786
- }
4787
- }
4788
- },
4789
- "required": [
4790
- "host"
4791
- ]
4792
- }
4793
- },
4794
- "bitbucket": {
4795
- "description": "Integration configuration for Bitbucket",
4796
- "deprecated": "replaced by bitbucketCloud and bitbucketServer",
4797
- "type": "array",
4798
- "items": {
4799
- "type": "object",
4800
- "properties": {
4801
- "host": {
4802
- "description": "The hostname of the given Bitbucket instance",
4803
- "visibility": "frontend",
4804
- "type": "string"
4805
- },
4806
- "token": {
4807
- "description": "Token used to authenticate requests.",
4808
- "visibility": "secret",
4809
- "type": "string"
4810
- },
4811
- "apiBaseUrl": {
4812
- "description": "The base url for the Bitbucket API, for example https://api.bitbucket.org/2.0",
4813
- "visibility": "frontend",
4814
- "type": "string"
4815
- },
4816
- "username": {
4817
- "description": "The username to use for authenticated requests.",
4818
- "visibility": "secret",
4819
- "type": "string"
4820
- },
4821
- "appPassword": {
4822
- "description": "Bitbucket app password used to authenticate requests.",
4823
- "visibility": "secret",
4824
- "type": "string"
5015
+ },
5016
+ "required": [
5017
+ "clientId",
5018
+ "clientSecret",
5019
+ "issuer"
5020
+ ]
4825
5021
  }
4826
- },
4827
- "required": [
4828
- "host"
4829
- ]
5022
+ }
4830
5023
  }
4831
- },
4832
- "bitbucketCloud": {
4833
- "description": "Integration configuration for Bitbucket Cloud",
4834
- "type": "array",
4835
- "items": {
4836
- "type": "object",
4837
- "properties": {
4838
- "username": {
4839
- "description": "The username to use for authenticated requests.",
4840
- "visibility": "secret",
4841
- "type": "string"
4842
- },
4843
- "appPassword": {
4844
- "description": "Bitbucket Cloud app password used to authenticate requests.",
4845
- "visibility": "secret",
4846
- "type": "string"
4847
- }
5024
+ }
5025
+ }
5026
+ }
5027
+ },
5028
+ "$schema": "http://json-schema.org/draft-07/schema#"
5029
+ }
5030
+ },
5031
+ {
5032
+ "path": "../../node_modules/@backstage-community/plugin-puppetdb/node_modules/@backstage/plugin-catalog-react/node_modules/@backstage/core-components/config.d.ts",
5033
+ "value": {
5034
+ "type": "object",
5035
+ "properties": {
5036
+ "auth": {
5037
+ "type": "object",
5038
+ "properties": {
5039
+ "autologout": {
5040
+ "description": "Autologout feature configuration",
5041
+ "type": "object",
5042
+ "properties": {
5043
+ "enabled": {
5044
+ "description": "Enable or disable the autologout feature",
5045
+ "visibility": "frontend",
5046
+ "type": "boolean"
4848
5047
  },
4849
- "required": [
4850
- "appPassword",
4851
- "username"
4852
- ]
4853
- }
4854
- },
4855
- "bitbucketServer": {
4856
- "description": "Integration configuration for Bitbucket Server",
4857
- "type": "array",
4858
- "items": {
4859
- "type": "object",
4860
- "properties": {
4861
- "host": {
4862
- "description": "The hostname of the given Bitbucket Server instance",
4863
- "visibility": "frontend",
4864
- "type": "string"
4865
- },
4866
- "token": {
4867
- "description": "Token used to authenticate requests.",
4868
- "visibility": "secret",
4869
- "type": "string"
4870
- },
4871
- "username": {
4872
- "description": "Username used to authenticate requests with Basic Auth.",
4873
- "visibility": "secret",
4874
- "type": "string"
4875
- },
4876
- "password": {
4877
- "description": "Password (or token as password) used to authenticate requests with Basic Auth.",
4878
- "visibility": "secret",
4879
- "type": "string"
4880
- },
4881
- "apiBaseUrl": {
4882
- "description": "The base url for the Bitbucket Server API, for example https://<host>/rest/api/1.0",
4883
- "visibility": "frontend",
4884
- "type": "string"
4885
- }
5048
+ "idleTimeoutMinutes": {
5049
+ "description": "Number of minutes after which the inactive user is logged out automatically.\nDefault is 60 minutes (1 hour)",
5050
+ "visibility": "frontend",
5051
+ "type": "number"
4886
5052
  },
4887
- "required": [
4888
- "host"
4889
- ]
4890
- }
4891
- },
4892
- "gerrit": {
4893
- "description": "Integration configuration for Gerrit",
4894
- "type": "array",
4895
- "items": {
4896
- "type": "object",
4897
- "properties": {
4898
- "host": {
4899
- "description": "The hostname of the given Gerrit instance",
4900
- "visibility": "frontend",
4901
- "type": "string"
4902
- },
4903
- "baseUrl": {
4904
- "description": "The base url for the Gerrit instance.",
4905
- "visibility": "frontend",
4906
- "type": "string"
4907
- },
4908
- "gitilesBaseUrl": {
4909
- "description": "The gitiles base url.",
4910
- "visibility": "frontend",
4911
- "type": "string"
4912
- },
4913
- "cloneUrl": {
4914
- "description": "The base url for cloning repos.",
4915
- "visibility": "frontend",
4916
- "type": "string"
4917
- },
4918
- "username": {
4919
- "description": "The username to use for authenticated requests.",
4920
- "visibility": "secret",
4921
- "type": "string"
4922
- },
4923
- "password": {
4924
- "description": "Gerrit password used to authenticate requests. This can be either a password\nor a generated access token.",
4925
- "visibility": "secret",
4926
- "type": "string"
4927
- }
5053
+ "promptBeforeIdleSeconds": {
5054
+ "description": "Number of seconds before the idle timeout where the user will be asked if it's still active.\nA dialog will be shown.\nDefault is 10 seconds.\nSet to 0 seconds to disable the prompt.",
5055
+ "visibility": "frontend",
5056
+ "type": "number"
4928
5057
  },
4929
- "required": [
4930
- "gitilesBaseUrl",
4931
- "host"
4932
- ]
5058
+ "useWorkerTimers": {
5059
+ "description": "Enable/disable the usage of worker thread timers instead of main thread timers.\nDefault is true.\nIf you experience some browser incompatibility, you may try to set this to false.",
5060
+ "visibility": "frontend",
5061
+ "type": "boolean"
5062
+ },
5063
+ "logoutIfDisconnected": {
5064
+ "description": "Enable/disable the automatic logout also on users that are logged in but with no Backstage tabs open.\nDefault is true.",
5065
+ "visibility": "frontend",
5066
+ "type": "boolean"
5067
+ }
4933
5068
  }
4934
- },
4935
- "github": {
4936
- "description": "Integration configuration for GitHub",
4937
- "type": "array",
4938
- "items": {
4939
- "type": "object",
4940
- "properties": {
4941
- "host": {
4942
- "description": "The hostname of the given GitHub instance",
4943
- "visibility": "frontend",
4944
- "type": "string"
4945
- },
4946
- "token": {
4947
- "description": "Token used to authenticate requests.",
4948
- "visibility": "secret",
4949
- "type": "string"
4950
- },
4951
- "apiBaseUrl": {
4952
- "description": "The base url for the GitHub API, for example https://api.github.com",
4953
- "visibility": "frontend",
4954
- "type": "string"
4955
- },
4956
- "rawBaseUrl": {
4957
- "description": "The base url for GitHub raw resources, for example https://raw.githubusercontent.com",
4958
- "visibility": "frontend",
4959
- "type": "string"
4960
- },
4961
- "apps": {
4962
- "description": "GitHub Apps configuration",
4963
- "type": "array",
4964
- "items": {
4965
- "type": "object",
4966
- "properties": {
4967
- "appId": {
4968
- "description": "The numeric GitHub App ID, string for environment variables",
4969
- "type": [
4970
- "string",
4971
- "number"
4972
- ]
4973
- },
4974
- "privateKey": {
4975
- "description": "The private key to use for auth against the app",
4976
- "visibility": "secret",
4977
- "type": "string"
4978
- },
4979
- "webhookSecret": {
4980
- "description": "The secret used for webhooks",
4981
- "visibility": "secret",
4982
- "type": "string"
4983
- },
4984
- "clientId": {
4985
- "description": "The client ID to use",
4986
- "type": "string"
4987
- },
4988
- "clientSecret": {
4989
- "description": "The client secret to use",
4990
- "visibility": "secret",
4991
- "type": "string"
4992
- },
4993
- "allowedInstallationOwners": {
4994
- "description": "List of installation owners allowed to be used by this GitHub app. The GitHub UI does not provide a way to list the installations.\nHowever you can list the installations with the GitHub API. You can find the list of installations here:\nhttps://api.github.com/app/installations\nThe relevant documentation for this is here.\nhttps://docs.github.com/en/rest/reference/apps#list-installations-for-the-authenticated-app--code-samples",
4995
- "type": "array",
4996
- "items": {
4997
- "type": "string"
4998
- }
4999
- }
5000
- },
5001
- "required": [
5002
- "appId",
5003
- "clientId",
5004
- "clientSecret",
5005
- "privateKey",
5006
- "webhookSecret"
5007
- ]
5008
- }
5009
- }
5069
+ }
5070
+ }
5071
+ }
5072
+ },
5073
+ "$schema": "http://json-schema.org/draft-07/schema#"
5074
+ }
5075
+ },
5076
+ {
5077
+ "path": "../../node_modules/@backstage-community/plugin-puppetdb/node_modules/@backstage/plugin-permission-common/config.d.ts",
5078
+ "value": {
5079
+ "type": "object",
5080
+ "properties": {
5081
+ "permission": {
5082
+ "description": "Configuration options for Backstage permissions and authorization",
5083
+ "type": "object",
5084
+ "properties": {
5085
+ "enabled": {
5086
+ "description": "Whether authorization is enabled in Backstage. Defaults to false, which means authorization\nrequests will be automatically allowed without invoking the authorization policy.",
5087
+ "visibility": "frontend",
5088
+ "type": "boolean"
5089
+ }
5090
+ }
5091
+ }
5092
+ },
5093
+ "$schema": "http://json-schema.org/draft-07/schema#"
5094
+ }
5095
+ },
5096
+ {
5097
+ "path": "../integration-aws-node/config.d.ts",
5098
+ "value": {
5099
+ "type": "object",
5100
+ "properties": {
5101
+ "aws": {
5102
+ "description": "Configuration for access to AWS accounts",
5103
+ "type": "object",
5104
+ "properties": {
5105
+ "accountDefaults": {
5106
+ "description": "Defaults for retrieving AWS account credentials",
5107
+ "type": "object",
5108
+ "properties": {
5109
+ "roleName": {
5110
+ "description": "The IAM role to assume to retrieve temporary AWS credentials",
5111
+ "type": "string"
5010
5112
  },
5011
- "required": [
5012
- "host"
5013
- ]
5014
- }
5015
- },
5016
- "gitlab": {
5017
- "description": "Integration configuration for GitLab",
5018
- "type": "array",
5019
- "items": {
5020
- "type": "object",
5021
- "properties": {
5022
- "host": {
5023
- "description": "The host of the target that this matches on, e.g. \"gitlab.com\".",
5024
- "visibility": "frontend",
5025
- "type": "string"
5026
- },
5027
- "apiBaseUrl": {
5028
- "description": "The base URL of the API of this provider, e.g.\n\"https://gitlab.com/api/v4\", with no trailing slash.\n\nMay be omitted specifically for public GitLab; then it will be deduced.",
5029
- "visibility": "frontend",
5030
- "type": "string"
5031
- },
5032
- "token": {
5033
- "description": "The authorization token to use for requests to this provider.\n\nIf no token is specified, anonymous access is used.",
5034
- "visibility": "secret",
5035
- "type": "string"
5036
- },
5037
- "baseUrl": {
5038
- "description": "The baseUrl of this provider, e.g. \"https://gitlab.com\", which is\npassed into the GitLab client.\n\nIf no baseUrl is provided, it will default to https://${host}.",
5039
- "visibility": "frontend",
5040
- "type": "string"
5041
- }
5113
+ "partition": {
5114
+ "description": "The AWS partition of the IAM role, e.g. \"aws\", \"aws-cn\"",
5115
+ "type": "string"
5042
5116
  },
5043
- "required": [
5044
- "host"
5045
- ]
5117
+ "region": {
5118
+ "description": "The STS regional endpoint to use when retrieving temporary AWS credentials, e.g. \"ap-northeast-1\"",
5119
+ "type": "string"
5120
+ },
5121
+ "externalId": {
5122
+ "description": "The unique identifier needed to assume the role to retrieve temporary AWS credentials",
5123
+ "visibility": "secret",
5124
+ "type": "string"
5125
+ }
5046
5126
  }
5047
5127
  },
5048
- "googleGcs": {
5049
- "description": "Integration configuration for Google Cloud Storage",
5128
+ "mainAccount": {
5129
+ "description": "Main account to use for retrieving AWS account credentials",
5050
5130
  "type": "object",
5051
5131
  "properties": {
5052
- "clientEmail": {
5053
- "description": "Service account email used to authenticate requests.",
5132
+ "accessKeyId": {
5133
+ "description": "The access key ID for a set of static AWS credentials",
5134
+ "visibility": "secret",
5054
5135
  "type": "string"
5055
5136
  },
5056
- "privateKey": {
5057
- "description": "Service account private key used to authenticate requests.",
5137
+ "secretAccessKey": {
5138
+ "description": "The secret access key for a set of static AWS credentials",
5058
5139
  "visibility": "secret",
5059
5140
  "type": "string"
5141
+ },
5142
+ "profile": {
5143
+ "description": "The configuration profile from a credentials file at ~/.aws/credentials and\na configuration file at ~/.aws/config.",
5144
+ "type": "string"
5145
+ },
5146
+ "region": {
5147
+ "description": "The STS regional endpoint to use for the main account, e.g. \"ap-northeast-1\"",
5148
+ "type": "string"
5060
5149
  }
5061
5150
  }
5062
5151
  },
5063
- "awsS3": {
5064
- "description": "Integration configuration for AWS S3 Service",
5152
+ "accounts": {
5153
+ "description": "Configuration for retrieving AWS accounts credentials",
5065
5154
  "type": "array",
5066
5155
  "items": {
5067
5156
  "type": "object",
5068
5157
  "properties": {
5069
- "endpoint": {
5070
- "description": "AWS Endpoint.\nThe endpoint URI to send requests to. The default endpoint is built from the configured region.",
5071
- "visibility": "frontend",
5158
+ "accountId": {
5159
+ "description": "The account ID of the target account that this matches on, e.g. \"123456789012\"",
5072
5160
  "type": "string"
5073
5161
  },
5074
- "s3ForcePathStyle": {
5075
- "description": "Whether to use path style URLs when communicating with S3.\nDefaults to false.\nThis allows providers like LocalStack, Minio and Wasabi (and possibly others) to be used.",
5076
- "visibility": "frontend",
5077
- "type": "boolean"
5078
- },
5079
5162
  "accessKeyId": {
5080
- "description": "Account access key used to authenticate requests.",
5163
+ "description": "The access key ID for a set of static AWS credentials",
5164
+ "visibility": "secret",
5081
5165
  "type": "string"
5082
5166
  },
5083
5167
  "secretAccessKey": {
5084
- "description": "Account secret key used to authenticate requests.",
5168
+ "description": "The secret access key for a set of static AWS credentials",
5085
5169
  "visibility": "secret",
5086
5170
  "type": "string"
5087
5171
  },
5088
- "roleArn": {
5089
- "description": "ARN of the role to be assumed",
5172
+ "profile": {
5173
+ "description": "The configuration profile from a credentials file at ~/.aws/credentials and\na configuration file at ~/.aws/config.",
5090
5174
  "type": "string"
5091
5175
  },
5092
- "externalId": {
5093
- "description": "External ID to use when assuming role",
5094
- "type": "string"
5095
- }
5096
- }
5097
- }
5098
- },
5099
- "gitea": {
5100
- "description": "Integration configuration for Gitea",
5101
- "type": "array",
5102
- "items": {
5103
- "type": "object",
5104
- "properties": {
5105
- "host": {
5106
- "description": "The hostname of the given Gitea instance",
5107
- "visibility": "frontend",
5176
+ "roleName": {
5177
+ "description": "The IAM role to assume to retrieve temporary AWS credentials",
5108
5178
  "type": "string"
5109
5179
  },
5110
- "baseUrl": {
5111
- "description": "The base url for the Gitea instance.",
5112
- "visibility": "frontend",
5180
+ "partition": {
5181
+ "description": "The AWS partition of the IAM role, e.g. \"aws\", \"aws-cn\"",
5113
5182
  "type": "string"
5114
5183
  },
5115
- "username": {
5116
- "description": "The username to use for authenticated requests.",
5117
- "visibility": "secret",
5184
+ "region": {
5185
+ "description": "The STS regional endpoint to use when retrieving temporary AWS credentials, e.g. \"ap-northeast-1\"",
5118
5186
  "type": "string"
5119
5187
  },
5120
- "password": {
5121
- "description": "Gitea password used to authenticate requests. This can be either a password\nor a generated access token.",
5188
+ "externalId": {
5189
+ "description": "The unique identifier needed to assume the role to retrieve temporary AWS credentials",
5122
5190
  "visibility": "secret",
5123
5191
  "type": "string"
5124
5192
  }
5125
5193
  },
5126
5194
  "required": [
5127
- "host"
5195
+ "accountId"
5128
5196
  ]
5129
5197
  }
5198
+ }
5199
+ }
5200
+ }
5201
+ },
5202
+ "$schema": "http://json-schema.org/draft-07/schema#"
5203
+ }
5204
+ },
5205
+ {
5206
+ "path": "../../node_modules/@backstage/backend-common/node_modules/@backstage/backend-plugin-api/config.d.ts",
5207
+ "value": {
5208
+ "type": "object",
5209
+ "properties": {
5210
+ "backend": {
5211
+ "type": "object",
5212
+ "properties": {
5213
+ "workingDirectory": {
5214
+ "description": "An absolute path to a directory that can be used as a working dir, for\nexample as scratch space for large operations.",
5215
+ "type": "string"
5216
+ }
5217
+ }
5218
+ }
5219
+ },
5220
+ "$schema": "http://json-schema.org/draft-07/schema#"
5221
+ }
5222
+ },
5223
+ {
5224
+ "path": "../../node_modules/@backstage/backend-common/node_modules/@backstage/integration-aws-node/config.d.ts",
5225
+ "value": {
5226
+ "type": "object",
5227
+ "properties": {
5228
+ "aws": {
5229
+ "description": "Configuration for access to AWS accounts",
5230
+ "type": "object",
5231
+ "properties": {
5232
+ "accountDefaults": {
5233
+ "description": "Defaults for retrieving AWS account credentials",
5234
+ "type": "object",
5235
+ "properties": {
5236
+ "roleName": {
5237
+ "description": "The IAM role to assume to retrieve temporary AWS credentials",
5238
+ "type": "string"
5239
+ },
5240
+ "partition": {
5241
+ "description": "The AWS partition of the IAM role, e.g. \"aws\", \"aws-cn\"",
5242
+ "type": "string"
5243
+ },
5244
+ "region": {
5245
+ "description": "The STS regional endpoint to use when retrieving temporary AWS credentials, e.g. \"ap-northeast-1\"",
5246
+ "type": "string"
5247
+ },
5248
+ "externalId": {
5249
+ "description": "The unique identifier needed to assume the role to retrieve temporary AWS credentials",
5250
+ "visibility": "secret",
5251
+ "type": "string"
5252
+ }
5253
+ }
5130
5254
  },
5131
- "harness": {
5132
- "description": "Integration configuration for Harness Code",
5255
+ "mainAccount": {
5256
+ "description": "Main account to use for retrieving AWS account credentials",
5257
+ "type": "object",
5258
+ "properties": {
5259
+ "accessKeyId": {
5260
+ "description": "The access key ID for a set of static AWS credentials",
5261
+ "visibility": "secret",
5262
+ "type": "string"
5263
+ },
5264
+ "secretAccessKey": {
5265
+ "description": "The secret access key for a set of static AWS credentials",
5266
+ "visibility": "secret",
5267
+ "type": "string"
5268
+ },
5269
+ "profile": {
5270
+ "description": "The configuration profile from a credentials file at ~/.aws/credentials and\na configuration file at ~/.aws/config.",
5271
+ "type": "string"
5272
+ },
5273
+ "region": {
5274
+ "description": "The STS regional endpoint to use for the main account, e.g. \"ap-northeast-1\"",
5275
+ "type": "string"
5276
+ }
5277
+ }
5278
+ },
5279
+ "accounts": {
5280
+ "description": "Configuration for retrieving AWS accounts credentials",
5133
5281
  "type": "array",
5134
5282
  "items": {
5135
5283
  "type": "object",
5136
5284
  "properties": {
5137
- "host": {
5138
- "description": "The hostname of the given Harness Code instance",
5139
- "visibility": "frontend",
5285
+ "accountId": {
5286
+ "description": "The account ID of the target account that this matches on, e.g. \"123456789012\"",
5140
5287
  "type": "string"
5141
5288
  },
5142
- "apiKey": {
5143
- "description": "The apikey to use for authenticated requests.",
5289
+ "accessKeyId": {
5290
+ "description": "The access key ID for a set of static AWS credentials",
5144
5291
  "visibility": "secret",
5145
5292
  "type": "string"
5146
5293
  },
5147
- "token": {
5148
- "description": "Harness Code token used to authenticate requests. This can be either a generated access token.",
5294
+ "secretAccessKey": {
5295
+ "description": "The secret access key for a set of static AWS credentials",
5296
+ "visibility": "secret",
5297
+ "type": "string"
5298
+ },
5299
+ "profile": {
5300
+ "description": "The configuration profile from a credentials file at ~/.aws/credentials and\na configuration file at ~/.aws/config.",
5301
+ "type": "string"
5302
+ },
5303
+ "roleName": {
5304
+ "description": "The IAM role to assume to retrieve temporary AWS credentials",
5305
+ "type": "string"
5306
+ },
5307
+ "partition": {
5308
+ "description": "The AWS partition of the IAM role, e.g. \"aws\", \"aws-cn\"",
5309
+ "type": "string"
5310
+ },
5311
+ "region": {
5312
+ "description": "The STS regional endpoint to use when retrieving temporary AWS credentials, e.g. \"ap-northeast-1\"",
5313
+ "type": "string"
5314
+ },
5315
+ "externalId": {
5316
+ "description": "The unique identifier needed to assume the role to retrieve temporary AWS credentials",
5149
5317
  "visibility": "secret",
5150
5318
  "type": "string"
5151
5319
  }
5152
5320
  },
5153
5321
  "required": [
5154
- "host"
5322
+ "accountId"
5155
5323
  ]
5156
5324
  }
5157
5325
  }