Manifest

The main configuration of your Orca project

Every project has a configuration file, and the one from Orca is manifest.json.
This one has to exist in the root directory of your project.

Let's see what can and should be configured in our configuration.


Images and Tags

This is the most important and mandatory configuration.
You tell Orca what images exist and what tags for them should be generated.

Every image has a list of tags.
And a tag is defined as a mapping between the directory in the variants folder and the final name it should have.

In short: source_directory:target_directory



Tag Alias

The target name of tags can also be used to provide an alias.
This means you can easily set a pointer to e.g. "latest" or do anything else, just be creative.
Yes we know, that tagging of "latest" can be done in a better way, but in some cases it might be good to have that option.


Shared Assets

The basic workflow of Orca is to use all files that are in a specific variants folder and use them for the target tag that is being generated.

However, there's probably the time when you want to have a bunch of files that will be copied for all tags without putting them in each and every variant folder over and over again.

The shared assets will be automatically added to every generated Docker build context directory without any additional interaction from your side. Great right?! :)

And here's a hint: You can of course use Twig files in the shared assets to still create dynamic files for your tags - even if they are actually shared ;)


Shared Variables

Every variant can have an optional variables.json file.
But what if you want to have global variables acroll all your images and tags.

Just provide any valid JSON file as "shared variables" file.
This one will be merged with existing variant variables and can then be used by simply accessing Twig variables: {{ php.version.name }}


Plugin Directory

All the registered Twig files that can be used for inheritance have to be inside the Orca project directory.
But what if you want to share e.g. "installation templates" on your computer, or maybe 3rd party snippets for services and more?!
All templates from the provided "shared plugin directory" can also be used in your Twig files.