Skip to content

BackendBits/qubership-envgene

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1,144 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

EnvGene

License Build Status

Environment generator logo

Overview

EnvGene (Environment Generator) is git-based tool for generating and versioning Environment configs using templates. Helps manage parameters for many similar cloud Environments.

🎯 Goals

EnvGene simplifies Environment management by providing:

  • Template-based Environment Creation: Define reusable templates for your Environment types
  • Environment Inventory Management: Define and manage inventories of your Environments
  • Automated Environment Provisioning: Create Environments from inventory and versioned templates with automated pipelines
  • Configuration as Code: Store all Environment configurations in Git with full history and diff capabilities

✨ Key Features

Version Control & History

  • Git-native Versioning: Full history of Environment/parameter changes using native Git functionality
  • Configuration Comparison: Compare Environments configuration using native Git diff
  • Template Versioning: Version-controlled templates with Maven artifact management
  • Change Tracking: Track all modifications with detailed commit history

Automation & CI/CD

  • Automated Environment Creation/Update: Automation for Environment generation
  • Pipeline Integration: Integration with GitLab CI and GitHub Actions
  • Build Automation: Automated template building and artifact publishing

Security & Credentials

  • Encrypted Credentials Management: Secure credential storage in Git using encryption
  • Credential Rotation: Automated credential rotation capabilities

πŸš€ Quick Start

System Requirements

  1. GitHub account with permission to create repositories
  2. Git client installed locally

Basic Usage

  1. Init Template Repository

  2. Create Environment Template

    See the guide: Create Simple Template

  3. Init Instance Repository

    Copy the workflow files to your Instance repository on GitHub.

  4. Create Cluster

    See: Create Cluster guide

  5. Create Inventory for Environment

    See: Create Inventory guide

  6. Generate Environment

    Run the pipeline with these parameters:

    ENV_NAMES: <cluster-name>/<environment-name>
    ENV_BUILDER: true
    GENERATE_EFFECTIVE_SET: true
    GH_ADDITIONAL_PARAMS:
       SD_SOURCE_TYPE: json
       SD_DATA: <your-Solution-Descriptor-content>
    

    [!NOTE] For special instructions on the GitHub pipeline, see GH_ADDITIONAL_PARAMS docs and the pipeline description

After the pipeline finishes, the Environment configuration will be generated and committed to your instance repository:

πŸ“š Documentation

Getting Started

Core Concepts

How-To Guides

Repository Setup:

Configuration Management:

Advanced Configuration:

Advanced Features

Examples & Samples

Development

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details on:

  • Code of Conduct
  • Development setup
  • Pull request process
  • Issue reporting

πŸ“„ License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • Java 50.9%
  • Python 41.9%
  • Jinja 3.0%
  • Shell 2.5%
  • Dockerfile 1.2%
  • ANTLR 0.5%