About ECGALAXY
The purpose of the ECGALAXY project is to share generic and reusable Infrastructure as Code (IaC) components, targeting different platforms and cloud providers - in particular development environments.
As a general rule, those components are independent from each other, while the emphasis is put on continuous testing, best practices and ease of use.
The ECGALAXY project is maintained by the European Commission (EC) DIGIT DevSecOps Competency Centre (DSOCC) and receives contributions from other EC IT teams.
The code is now open source under the EUPL license and published on code.europa.eu/ecgalaxy, implementing the new Open Source Software Strategy 2020-2023 of the Commission.
Goals
The following goals are pursued:
- Provide a set of IaC components covering the needs of EC IT teams (intra/extra-muros and external providers), especially in the context of software development and deployment;
- Allow EC IT development teams to quickly provision and configure IT resources in the cloud, on premises or on end-user hardware;
- Share IaC knowledge, tooling and best practices, implementing the EC Open Source Strategy.
High-level design
Each ECGALAXY component is maintained in its own Git repository.
These components currently consist of:
- Ansible roles
- Ansible playbooks
- Terraform modules
- Infrastructure definitions
- CI/CD pipeline source code and IaC tooling
Ansible roles and playbooks are used for configuration management; Terraform modules and infrastructure definitions allow provisioning and management of IT resources.
The CI/CD pipeline source code, stored in a specific "tooling" repository, is in charge of testing and orchestrating these components.
ECGALAXY Ansible roles support multiple platforms, namely:
- RedHat Linux Enterprise 7 and 8 (+ CentOS 7)
- Amazon Linux 2
- Ubuntu Linux 18.04, 20.04 and 22.04
These Ansible roles are tested on a daily basis through the CI pipeline.
Getting started
For a quick overview of how ECGALAXY components can be used - in particular Ansible roles - an example script is provided.
For a more advanced usage, please refer to the documentation which is included in the different projects.
Contributing to ECGALAXY
See Contributing.
Contact
If you have questions or would like to contribute to ECGALAXY, please contact DIGIT-ECGALAXY@ec.europa.eu.