Skip to main content

Gandalf is a Configuration Management tool.

Project description

Gandalf is an open-source tool that can be used for configuration management for any use cases. This is an open-source project however, authorization rights and confidential modules belongs to the owner itself. Self written modules based on Python3 works with the tool.

PyPi Version Alt
Python Versions

gandalf-cmt release

Prerequisite:

Windows

Before using the tool, make sure to manually set environment in Windows to the path: C:/Users/$USERNAME/AppData/Local/Programs/Python/Python<latest version>/Lib/gandalf-cli. Perform this through the Windows UI. Will make this process easier and automnatic in future releases.

Linux

In the case of Linux based systems, set environment variable path and provide execution permission:

PATH=$PATH:/usr/local/Lib/gandalf-cli/
chmod 774 /usr/local/Lib/gandalf-cli/gandalf

Command usage:

gandalf --spell [yaml file]

Requirements

  • Python >= 3.9

Modules

Name Type Progress Comments
mav_bedc_cu_module Confidential Stable Used for CUCP and CUUP based deployment configuration changes in application_config.json, config.json.
mav_bedc_cu_values_yaml_files Confidential Beta Used to insert new line changes to values.yaml in CUCP and CUUP.
mav_bedc_mgmt_module Confidential Stable Used for BEDC MGMT based deployment configuration changes in application_config.json, config.json.
mav_bedc_mgmt_values_yaml_files Confidential Beta Used to insert new line changes to values.yaml in BEDC MGMT
mav_increment_pipeline_version Confidential Stable Used to incrementing PIPELINE_ID value in bulk-pipeline-trigger.json file.
mav_ndc_cms_backup Confidential Stable Used to take mCMS backup from any EKS clusters.

Module Parameters

mav_bedc_cu_module

OS Stage

Parameter Choices/Defaults Comments
required Choices: no or yes If set to no, the spell will not work and if set to yes, the spell will be triggered.
path If required was set to yes, then you will need to provide the path a value.
delete Choices: false or true If delete is set to false, then HELM delete and redeploy wont happen. If delete is set to yes, then HELM delete and redeployment will happen.
redeploy Choices: false or true If redeploy is set to false, then HELM upgrade wont happen. If redeploy is set to yes, then HELM updrade will happen.
sanity_check Choices: disabled or enabled If sanity_check flag is set to disabled, then sanity check wont run. If sanity_check flag is set to enabled, then sanity check will run.
validation_check Choices: disabled or enabled If validation_check flag is set to disabled, then validation check wont run. If validation_check flag is set to enabled, then validation check will run.
new_chart_version Provide the name of the new chart version
new_cnf_package_version Provide the name of the new cnf_package_version

Example

---

eks_level_folder_selection: all

grimoire:

  - spell: Update application_config.json and config.json
    module: mav_bedc_cu_module
    attributes:
      required: yes
      path: D:\Repo\config\prod
      delete: false
      redeploy: false
      sanity_check: disabled
      validation_check: disabled
      new_chart_version: new_helm_chart
      new_cnf_package_version: new_cnf_package.zip

mav_bedc_cu_values_yaml_files

OS Stage

Parameter Choices/Defaults Comments
required Choices: no or yes If set to no, the spell will not work and if set to yes, the spell will be triggered.
path If required was set to yes, then you will need to provide the path a value.
drop_version Provide the name of the drop.
line_number Provide the line number of the values.yaml.
change Provide the line change. Input will only accept one line at a time.

Example

---

eks_level_folder_selection: all

grimoire:

  - spell: Updating values.yaml files with latest changes
    module: mav_bedc_cu_values_yaml_files
    attributes:
      required: yes
      path: D:\Repo\config\prod
      drop_version: new_drop_version
      line_number: 142
      change: '      - destination: "10.0.0.1/0"
      
        '  

mav_bedc_mgmt_module

OS Stage

Parameter Choices/Defaults Comments
required Choices: no or yes If set to no, the spell will not work and if set to yes, the spell will be triggered.
path If required was set to yes, then you will need to provide the path a value.
release_name Provide the name of the release.
delete Choices: false or true If delete is set to false, then HELM delete and redeploy wont happen. If delete is set to yes, then HELM delete and redeployment will happen.
redeploy Choices: false or true If redeploy is set to false, then HELM upgrade wont happen. If redeploy is set to yes, then HELM updrade will happen.
validation_check Choices: disabled or enabled If sanity_check flag is set to disabled, then validation check wont run. If validation_check flag is set to enabled, then validation check will run.
new_chart_version Provide the name of the new chart version
new_cnf_package_version Provide the name of the new cnf_package_version

Example

---
eks_level_folder_selection: all

grimoire:

  - spell: Updating application_config.json for NF1
    module: mav_bedc_mgmt_module
    attributes:
      required: yes
      path: D:\Repo\config\prod
      release_name: mtcil
      delete: true
      redeploy: false
      validation_check: disabled
      new_chart_version: new_chart_03
      new_cnf_package_version: new_cnf_package_v2.zip
  
  - spell: Updating application_config.json  NF2
    module: mav_bedc_mgmt_module
    attributes:
      required: yes
      path: D:\Repo\config\prod
      release_name: admf
      delete: true
      redeploy: false
      validation_check: disabled
      new_chart_version: new_chart_03
      new_cnf_package_version: new_cnf_package_v2.zip

mav_bedc_mgmt_values_yaml_files

OS Stage

Parameter Choices/Defaults Comments
required Choices: no or yes If set to no, the spell will not work and if set to yes, the spell will be triggered.
path If required was set to yes, then you will need to provide the path a value.
drop_version Provide the name of the drop.
line_number Provide the line number of the values.yaml.
nf_type Provide the name of the NF type.
change Provide the line change. Input will only accept one line at a time.

Example

---
eks_level_folder_selection: all

grimoire:
  
  - spell: Updating values.yaml files with latest changes for NF1
    module: mav_bedc_mgmt_values_yaml_files
    attributes:
      required: yes
      path: D:\Repo\config\prod
      drop_version: drop17.8
      nf_type: nf1
      line_number: 142
      change: '      - destination: "10.0.0.1/0"
      
        '

mav_increment_pipeline_version

OS Stage

Parameter Choices/Defaults Comments
required Choices: no or yes If set to no, the spell will not work and if set to yes, the spell will be triggered.
path If required was set to yes, then you will need to provide the path a value.

Example

---

eks_level_folder_selection: all

grimoire:

  - spell: Update bulk_pipeline_trigger.json
    module: mav_increment_pipeline_version
    attributes:
      required: yes
      path: D:\Repo\config\prod

mav_ndc_cms_backup

OS Stage

Parameter Choices/Defaults Comments
required Choices: no or yes If set to no, the spell will not work and if set to yes, the spell will be triggered.
path If required was set to yes, then you will need to provide the path a value.
namespace Provide the name of the mCMS Kubernetes namespace.
nf_type Choices: cms1 or cms2 Provide the option whether it's cms1 or cms2.
s3_bucket Optional Provide the name of the AWS S3 Bucket where the backup needs to be uploaded to. If ignored, backup files wont be uploaded to any S3 bucket

Example

---

grimoire:

  - spell: Taking mCMS1 backup for EKS Cluster.
    module: mav_ndc_cms_backup
    attributes:
      required: yes
      path: C:\Users\user1\Desktop
      namespace: test-naspace
      nf_type: cms1
      s3_bucket: test-s3-bucket

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gandalf-cmt-1.2.26.tar.gz (11.6 kB view details)

Uploaded Source

File details

Details for the file gandalf-cmt-1.2.26.tar.gz.

File metadata

  • Download URL: gandalf-cmt-1.2.26.tar.gz
  • Upload date:
  • Size: 11.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.8

File hashes

Hashes for gandalf-cmt-1.2.26.tar.gz
Algorithm Hash digest
SHA256 439101225a75f142185ca52bab082b3c423712b6f393d825f8d7f294ed3103a9
MD5 5efd4538544917fe0b3fe8fe1e2c9a6e
BLAKE2b-256 5f0f583a03c5b0d484b3d3ec38af7c72fc020575fccc064c8204f59d4c3c592f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page