Stratos can be customized in a number of ways. Colors and fonts can be updated to add unique branding, additional menu items can be added in a number of places, custom EULAs can be used, new Stratos Jetstream (backend) endpoints, and much more.
For those with existing customization migrating to 4.0 please see our upgrade guide.
In order to customize Stratos, you will need to fork the Stratos GitHub repository and apply customizations in your fork. Our aim is to minimize any merge conflicts that might occur when re-basing your fork with the upstream Stratos repository.
Frontend customizations are placed in angular packages in the folder named
src/frontend/packages. In the future you will be able to host these packages in npm and bring them into Stratos in the usual npm dependency way. There are no additional processes or build steps required for Stratos to then integrate these packages. All steps will be automatically applied under the hood during
npm install and when
ng serve runs.
Information on custom theming can be found in the theming page.
Information on additional functionality can be found in the extensions page.
Jetstream customizations are written in go and can be added in
src/jetstream/plugins. In the future we hope to combine this work with the frontend changes, such that all functionality for
a feature can be applied to Stratos in a similar way.
More information can be found in the custom plugins page.
To run Stratos with these customizations
- Include the example packages (by default these are excluded). Do this by...
- Creating the file
stratos.yamlin the root of the repo
- Adding the following content to
stratos.yamlpackages:include:- '@stratosui/core'- '@stratosui/shared'- '@stratosui/store'- '@stratosui/cloud-foundry'- '@stratosui/cf-autoscaler'- '@stratosui/theme'- '@example/extensions'- '@example/theme'
- Creating the file
- Run Stratos the usual way, for more information see the Developer Guide.
To run Stratos with these customizations simply start the console the usual way from that repo, for more information see the Developer Guide.