935dc696b4
This commit adds a couple of debug utilities to help us to continue slowly adding i18n support: - We've added a CONSUL_INTL_DEBUG env/cookie variable to turn off variable interpolation within the t helper so you can see which variables are being interpolated. - We've added a CONSUL_INTL_LOCALE env/cookie which currently supports two 'pseudo-locales' - la-fk (fake latin) and - (just dashes) either of which will make it easier to see what has not been localized until we can add prettier rules to prevent adding any copy into templates at all. I would guess if we ever translated the app we would use this for looking at things whilst developing also - but as yet I've not adding anything for that here seeing as we don't translate anything. Both variables are dev-time only and all code for this is removed from the production build.
65 lines
5.4 KiB
Plaintext
65 lines
5.4 KiB
Plaintext
# Debug/Engineering Utilities
|
|
|
|
The Consul UI has a set of debug/engineering utility functions that only exist in non-production environments (they are noop'ed from production builds using Ember's `runInDebug`). You can call these either straight from Web Inspectors `console`, or by using `javascript:` URLs i.e. `javascript:Routes()`.
|
|
|
|
Below is a list of the most commonly used functions as bookmarklets followed by more detailed documentation on these utilities. The bookmarklets can be added to your browser by dragging the bookmarklet link into your browsers Bookmarks Bar. Please add any new commonly used environment variables as bookmarklets here for other engineers to use.
|
|
|
|
| Link/Bookmarklet | Description |
|
|
| ---- | ----------- |
|
|
| [Print Routing DSL](javascript:Routes()) | Print out Ember's Route DSL for the application |
|
|
| [Save Current Scenario](javascript:Scenario()) | Opens a tab with links to allow you to create a bookmarklet or share a URL of your current scenario (your Consul UI relarted development/debug cookies) |
|
|
| [Enable ACLs](javascript:Scenario('CONSUL_ACLS_ENABLE=1')) | Enable ACLs |
|
|
| [Enable Nspaces](javascript:Scenario('CONSUL_NSPACES_ENABLE=1')) | Enable Namespace Support |
|
|
| [Enable Partitions](javascript:Scenario('CONSUL_PARTITIONS_ENABLE=1')) | Enable Admin Partition Support |
|
|
| [Enable SSO](javascript:Scenario('CONSUL_SSO_ENABLE=1')) | Enable SSO Support |
|
|
| [Enable Metrics](javascript:Scenario('CONSUL_METRICS_PROXY_ENABLE=1;CONSUL_METRICS_PROVIDER=prometheus')) | Enable all configuration required for viewing the full Metrics Visualization |
|
|
| [Enable Intl Debug](javascript:Scenario('CONSUL_INTL_DEBUG=1')) | Render intl interpolation variable names instead of interpolating them |
|
|
| [Intl Lorem Ipsum](javascript:Scenario('CONSUL_INTL_LOCALE=la-fk')) | Render all intl copy as lorem ipsum |
|
|
| [Intl Dashes](javascript:Scenario('CONSUL_INTL_LOCALE=-')) | Render all intl copy as `-` |
|
|
| [Toggle QUnit Display](javascript:(function()%7B(function()%7Bconst%20s%20%3D%20document.getElementById(%22ember-testing-container%22).style%3Bs.display%20%3D%20s.display%20%3D%3D%3D%20%22none%22%20%3F%20%22block%22%20%3A%20%22none%22%3B%7D)()%3B%7D)()%3B) | Toggle the QUnit display on or off during browser testing |
|
|
|
|
| Function | Arguments | Description |
|
|
| -------- | --------- | ----------- |
|
|
| `Routes(url)` | url: The url to pass the DSL to, if left `undefined` just use a blank tab | Provides a way to easily print out Embers Route DSL for the application or to pass it straight to any third party utility such as ember-diagonal |
|
|
| `Scenario(str)` | str: 'Cookie formatted' string, if left `undefined` open a new tab with a link/bookmarklet to the current Scenario | Provides a way to easily save and reload scenarios of configurations via URLs or bookmarklets |
|
|
|
|
|
|
You can also configure these manually or example using Web Inspector to set a cookie as follows:
|
|
|
|
```bash
|
|
CONSUL_ACLS_ENABLE=1
|
|
```
|
|
|
|
This will enable the ACLs login page, to which you can login with any ACL
|
|
token/secret.
|
|
|
|
| Variable | Default Value | Description |
|
|
| -------- | ------------- | ----------- |
|
|
| `CONSUL_ACLS_ENABLE` | false | Enable/disable ACLs support. |
|
|
| `CONSUL_ACLS_LEGACY` | false | Enable/disable legacy ACLs support. |
|
|
| `CONSUL_NSPACES_ENABLE` | false | Enable/disable Namespace support. |
|
|
| `CONSUL_SSO_ENABLE` | false | Enable/disable SSO support. |
|
|
| `CONSUL_OIDC_PROVIDER_URL` | undefined | Provide a OIDC provider URL for SSO. |
|
|
| `CONSUL_LATENCY` | 0 | Add a latency to network requests (milliseconds) |
|
|
| `CONSUL_METRICS_POLL_INTERVAL` | 10000 | Change the interval between requests to the metrics provider (milliseconds) |
|
|
| `CONSUL_METRICS_PROXY_ENABLE` | false | Enable/disable the metrics proxy |
|
|
| `CONSUL_METRICS_PROVIDER` | | Set the metrics provider to use for the Topology Tab |
|
|
| `CONSUL_SERVICE_DASHBOARD_URL` | | Set the template URL to use for Service Dashboard links |
|
|
| `CONSUL_UI_CONFIG` | | Set the entire `ui_config` for the UI as JSON if you don't want to use the above singular variables |
|
|
| `CONSUL_SERVICE_COUNT` | (random) | Configure the number of services that the API returns. |
|
|
| `CONSUL_NODE_COUNT` | (random) | Configure the number of nodes that the API returns. |
|
|
| `CONSUL_KV_COUNT` | (random) | Configure the number of KV entires that the API returns. |
|
|
| `CONSUL_INTENTION_COUNT` | (random) | Configure the number of intentions that the API returns. |
|
|
| `CONSUL_POLICY_COUNT` | (random) | Configure the number of policies that the API returns. |
|
|
| `CONSUL_ROLE_COUNT` | (random) | Configure the number of roles that the API returns. |
|
|
| `CONSUL_NSPACE_COUNT` | (random) | Configure the number of namespaces that the API returns. |
|
|
| `CONSUL_UPSTREAM_COUNT` | (random) | Configure the number of upstreams that the API returns. |
|
|
| `CONSUL_EXPOSED_COUNT` | (random) | Configure the number of exposed paths that the API returns. |
|
|
| `CONSUL_CHECK_COUNT` | (random) | Configure the number of health checks that the API returns. |
|
|
| `CONSUL_OIDC_PROVIDER_COUNT` | (random) | Configure the number of OIDC providers that the API returns. |
|
|
| `CONSUL_RESOURCE_<singular-resource-name>_<access-type>` | true | Configure permissions e.g `CONSUL_RESOURCE_INTENTION_WRITE=false`. |
|
|
| `DEBUG_ROUTES_ENDPOINT` | undefined | When using the window.Routes() debug utility ([see utility functions](#browser-debug-utility-functions)), use a URL to pass the route DSL to. %s in the URL will be replaced with the route DSL - http://url.com?routes=%s |
|
|
|
|
See `./mock-api` for more details.
|
|
|