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.
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
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.
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 ;)
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 }}
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.