How to customize
To customize Catapult for your team or organization, a separate git project needs to be created that contains all of the required files. Then users need to be pointed that project using the MAKEVAR_CATAPULT_CUSTOMIZER_REPO
variable in their personal/.makerc-personal
file. Use the Catapult Customizer repo as an example.
The structure of the customization repo is as follows:
Folders
-
certificates
- Contains the trusted certificate files that will be installed into the container. The certificate format must be base64 and the file name format must be.crt -
container
- Contains .custom_aliases file that will be copied into the container. Refer to the .default_aliases file as an example on how to create .custom_aliases. -
docker
- Contains customdocker-compose-custom.yml
to add extra environment variables/volumes/etc to the container. Refer to the default docker-compose-custom.yml & docker-compose.yml for examples. -
docker-entrypoints
- Contains custom docker-entrypoint scripts that will run inside the container duringmake start
. Refer to default entrypoint scripts for examples. The scripts are divided into two folders:first-run
andevery-run
: -
first-run
- Contains scripts that will run only once when the container is started for the first time. every-run
- Contains scripts that will run every time the container is started. Useful for an example when setting up the environment variables for each user session.
docker-entrypoints
only supports *.sh
files that get sourced by zsh
shell.
-
makefiles
- Contains custom .makerc* files specific to your organization or project. Refer to the default .makerc file for examples and the Makefile for different types of makefiles that get loaded if they exists. -
scripts
- Contains custom scripts that can be used with the project. For example withmake
commands -
start-tasks
- Contains scripts that will be run on the host during container startup. Refer to existing start-tasks for examples.
Files
-
start.yml
- In some rare cases you might want to customize the deployment tree of Catapult. For that you can create your own start.yml file and it will be used instead of the default one. Refer to the default start.yml as an example. -
autocomplete.yml
- Contains custom completion commands that can be used with thectp
command in the container. Refer to the default autocomplete.yml as an example.