A base Docker image containing common components and dependencies for Qubership Envgene images. This image is designed to be used as a foundation for build_envgene, build_pipegene, and build_effective_set_generator images.
This image provides a consistent, lightweight Alpine-based environment with:
- Python 3.12 and common Python packages for YAML processing, validation, and GitHub API integration
- Secrets management tools (SOPS, age) for decrypting credentials in CI/CD pipelines
- Utility scripts for credential decryption, CI config parsing, and certificate management
- CI-friendly layout with pre-created directories for GitHub Actions and GitLab CI
shyaml— YAML parsing for shell scriptsyamale— YAML schema validationprettytable— formatted table outputcryptography— Fernet encryption/decryptionPyYAML— YAML processingPyGithub— GitHub API client
- SOPS (v3.9.0) — Mozilla's secrets management tool
- age — encryption tool used with SOPS
| Script | Description |
|---|---|
decrypt.sh |
Decrypt credentials using Fernet or SOPS/AGE based on environment variables |
decrypt_fernet.py |
Python helper for Fernet credential decryption |
get_include_list.sh |
Parse CI config files and extract project include lists (uses shyaml) |
show_validate.py |
Display validation reports in a formatted table |
update_ca_certs.sh |
Update CA certificates for Debian, CentOS, or Alpine |
logging_functions.sh |
Shared logging utilities (log_info, log_warn, log_error) |
- Runtime: Bash, ca-certificates, cURL, jq, yq, gettext, sed, age, Git, openssh-client, ZIP, unzip, libffi, OpenSSL
- Build stage: gcc, musl-dev, libffi-dev, openssl-dev, libxml2-dev, libxslt-dev, zlib-dev (for compiling Python extensions)
FROM ghcr.io/netcracker/qubership-envgene-base-modules:latestImages are published to GitHub Container Registry:
ghcr.io/netcracker/qubership-envgene-base-modules
docker build -t qubership-envgene-base-modules .For environments with private package mirrors, uncomment the COPY build/sources.list lines in the Dockerfile and configure build/sources.list with your Alpine repository URLs.
See LICENSE for details.