## Summary
The purpose of this PR is to make the spaces plugin an optional
dependency so that it can be disabled in future offerings.
In order to achieve this we are reintroducing the following config
option to disable spaces:
```yaml
xpack.spaces.enabled: false
```
This config option is only available in development mode while we
coordinate updating the rest of our plugins.
## Scope
In order to keep the scope manageable, only the following plugins have
been updated as part of this PR:
- `x-pack/plugins/alerting`
- `x-pack/plugins/security`
- `x-pack/plugins/spaces`
The following plugins will need to be updated separately, by working
with the corresponding teams:
- `x-pack/plugins/cases`
- `x-pack/plugins/enterprise_search`
- `x-pack/plugins/fleet`
- `x-pack/plugins/infra`
- `x-pack/plugins/lens`
- `x-pack/plugins/ml`
- `x-pack/plugins/observability`
- `x-pack/plugins/osquery`
- `x-pack/plugins/synthetics`
## Screenshots
### Kibana chrome without spaces selector
<img width="1073" alt="212935199-dd3bb035-b2f5-4fb6-96e9-5d2093c7992c"
src="https://user-images.githubusercontent.com/190132/213432556-18e1c159-1fb1-4808-ad12-47814de575ed.png">
### Simplified role management screen
<img width="1136" alt="Screenshot 2023-01-19 at 11 21 03"
src="https://user-images.githubusercontent.com/190132/213432595-0ae33abb-85e7-4044-82a2-6cc44304af0e.png">
* [Archive Migration] x-pack-banners/multispace
I've the before() fn loading the new kbn archive
containing one config, for the default space.
Then, the fn creates a new space and changes the ui settings of this new space,
w/o using an archive.
* Move to enabled per:
https://github.com/elastic/kibana/pull/135783#issuecomment-1237228021
* Just run my stuff this go-round.
* Fixup.
* Drop new archive,
re-enable all tests,
skip the last test,
and add the filed bugs.
* Whoops
* Drop redundant test.
* Not sure what's what yet,
but I think perhaps an override is occuring.
* [CI] Auto-commit changed files from 'node scripts/precommit_hook.js --ref HEAD~1..HEAD --fix'
* Change value in test and config.
* Drop double quotes,
seems to have caused parsing issue.
* One more try before asking in kibana-core
* try snake case
* back to space case but
without quotes in the config
* Just to see what happens I guess.
* Merge fixups.
* Change refs of "global_banner_text" to
"global banner text"
* Stop the shell expansion
* Drop duplicate.
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
* refactor config deprecations to avoid config mutations
* remove dynamic access keys in core deprecations.
* refactor custom config deprecations to match the new signature
* improve config deprecations fixtures for nested keys
* add a test for xpack.banner config deprecations
* key --> path, add a test for invalid command
* first draft
* update plugin list
* fix tsproject
* update bundle limits file
* remove unused start dep
* adapt imports
* POC of footer banner
* update styles, mostly
* plug banner to uiSettings
* adding some unit tests
* add tests on sort_fields
* cleanup sums in sass mixins
* some self review stuff
* update generated doc
* add tests for color field
* update chrome header test snapshots
* retrieve license info from the server
* switch from uiSettings to plugin config
* update plugin list description
* update default colors
* NIT
* add markdown support
* fix banner overlap in fullscreen mode
* change banner height to 32px
* change banner's font size to 14
* delete unused uiSettings