# Dedal

This repository provides functionalities to easily ```managed spack environments``` and ```helpers for the container image build flow```.

This library runs only on different kinds of linux distribution operating systems.

The lowest ```spack version``` compatible with this library is ```v0.23.0```.


        This repository also provied CLI interface. For more informations, after installing this library, call dedal --help.


**Setting up the needed environment variables**
    The ````<checkout path>\dedal\.env```` file contains the environment variables required for OCI registry used for caching.
    Ensure that you edit the ````<checkout path>\dedal\.env```` file to match your environment.
    The following provides an explanation of the various environment variables:


       # OCI Registry Configuration Sample for concretization caches
       # =============================
       # The following variables configure the Harbor docker OCI registry (EBRAINS) used for caching.
       
       # The hostname of the OCI registry. e.g. docker-registry.ebrains.eu
       CONCRETIZE__OCI_HOST="docker-registry.ebrains.eu"
       
       # The project name in the Docker registry.
       CONCRETIZE__OCI_PROJECT="concretize_caches"
       
       # The username used for authentication with the Docker registry.
       CONCRETIZE__OCI_USERNAME="robot$concretize-cache-test+user"
       
       # The password used for authentication with the Docker registry.
       CONCRETIZE__OCI_HOST="###ACCESS_TOKEN###"
        

       # OCI Registry Configuration Sample for binary caches
       # =============================
       # The following variables configure the Harbor docker OCI registry (EBRAINS) used for caching.
       
       # The hostname of the OCI registry. e.g. docker-registry.ebrains.eu
       BUILDCACHE_OCI_HOST="docker-registry.ebrains.eu"
       
       # The project name in the Docker registry.
       BUILDCACHE_OCI_PROJECT="binary-cache-test"
       
       # The username used for authentication with the Docker registry.
       BUILDCACHE_OCI_USERNAME="robot$binary-cache-test+user"
       
       # The password used for authentication with the Docker registry.
       BUILDCACHE_OCI_HOST="###ACCESS_TOKEN###"

For both concretization and binary caches, the cache version can be changed via the attributes ```cache_version_concretize``` and ```cache_version_build```. 
The default values are ```v1```.

![Coverage Badge](https://gitlab.ebrains.eu/ri/tech-hub/platform/esd/yashchiki/badges/koutakia/coverage.svg)