Job Description
The following list is an analysis of tasks to be performed:
1. Initial Assessment and Planning: o Review the existing architecture of the UP and its dependencies o Identify potential challenges in dockerising the internal services and propose solutions
2. Dockerisation of VTiger CRM: o Create Docker images and configuration for the VTiger CRM, on the same version that is internally in use, ensuring it integrates with the UP's internal architecture o Prepare a data migration script that will fill any docker volumes required by the CRM
3. Dockerisation of LDAP: o Set up docker configurations for LDAP to work in an isolated environment without affecting the organisation’s production system. o Prepare any migration/initialisation scripts required
4. Dockerisation of GitLab: o Using a Gitlab docker image, ensure it integrates with UP’s internal architecture o Prepare any migration script or data initialisation script required 5. Dockerisation of Cortex and JoeSandbox: o Prepare docker setups for Cortex and JoeSandbox, ensuring full integration with the UP
6. Dockerisation of FileCloud: o Prepare docker setup for the FileCloud service, making it accessible within the local development environment
7. Creation of docker compose file: o Assemble all dockerised services into a single compose.yaml file, allowing developers to easily spin up the complete UP environment
8. Testing and validation: o Perform end-to-end testing of the dockerised environment to ensure all services work as expected and communicate effectively
9. Documentation and training: o Prepare detailed documentation on how to set up and use the dockerised environment o Provide a walkthrough or training session for the software development team on how to maintain and troubleshoot the dockerised setup
10. Final handoff and support: o Finalise the dockerised environment and hand it over to the software development team o Offer limited post-handoff support to resolve any issues during initial deployment
Qualifications
To successfully perform this service, the following key skills are expected:
* Extensive experience in docker and containerisation: Proven expertise in containerising complex applications using Docker and docker-compose, with a focus on creating self-contained environments for development and testing.
* General Development Skills, especially Python. - Excellent Documentation Skills: Ability to create clear and concise technical documentation and guides for developers to follow when setting up and maintaining the dockerised environment.
* Problem-Solving and Troubleshooting Abilities: Strong analytical and troubleshooting skills, with the ability to identify and resolve issues that may arise during the containerisation process.
* Team Collaboration: Experience working in a collaborative environment, with a focus on remote development setups, and the ability to communicate effectively with internal and external teams. The following skills are also good to have:
* Familiarity with CRM Systems (VTiger CRM Preferred - Knowledge of Directory Services (LDAP/Active Directory - Experience with GitLab - Expertise in Security Tools (Cortex and JoeSandbox) - FileCloud Experience - Experience in FastAPI
Additional Information
The purpose of this request is to hire an external software developer to support the development of the "Unified Portal" (UP), a key product of CERT-EU. The UP provides critical services to our customers, such as document sharing, credential leak information and external network scan results. The external developer's role will primarily focus on dockerising various internal dependencies of the tool, enabling a self-contained environment for remote development. This work is essential to streamline collaboration between internal and external teams, ensuring the Unified Portal continues to deliver its services effectively.