Skip to main content

Change Propagator

Project description

About Gator

Gator is short for "change propagator", and can be used to make changes across multiple Github repositories at once.

The entrypoint will be a dockerized CLI and a python package.

You will give Gator an imperative yaml spec file, and some repos to process. Gator will create PRs or Issues in Github according to the spec. The CLI will allow you to test your specs locally, making sure that the code changes look as you expect before PRs are created.

If the reusable code modifications do not suffice, you will be able to make changes to code programatically, and use Gator to automate the git aspects, and assist you with testing. An example Changeset specification will look like this:

kind: Changeset
version: v1alpha
spec:
  name: Docker image registry migration
  issue_title: Replace all usages of outdated Docker image registry URL with new URL
  issue_body: |
      # Artifactory Has Moved
      
      ... Some text to be included in the PR or issue body.
  filters:
      - kind: RegexFilter
        version: v1alpha
        spec:
          regex: 'registry.company.com'
          paths:
            - definitions/application_spec.yml
  code_changes:
      - kind: RegexReplaceCodeChange
        version: v1alpha
        spec:
          replacement_details:
            - regex: 'registry.company.com'
              replace_term: "registry.parent-company.com"
              paths:
                - definitions/application_spec.yml

Development Status

Gator has not reached Minimum Viable Product status yet, but is actively in development as of early 2022.

Contributing

If you're interested in contributing, please check out the CONTRIBUTING.md file at repo root.

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

gator-0.0.1.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

gator-0.0.1-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file gator-0.0.1.tar.gz.

File metadata

  • Download URL: gator-0.0.1.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for gator-0.0.1.tar.gz
Algorithm Hash digest
SHA256 24af47d8013887a306ceb6973772506eda1d57717f0b5302e1eede18adddcf4f
MD5 160d32675e28ca0b34171c04770cc292
BLAKE2b-256 cc2648b8a0716b11dc233e4bf5d1440ccb5b62e6cbc9b91bf1340299551a186a

See more details on using hashes here.

File details

Details for the file gator-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: gator-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 15.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for gator-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b4e35e1370160ef53886a73465d3eff246f4983054a294431ba4f68bd6160644
MD5 26395ae8f24835ab75692228e5ed44a5
BLAKE2b-256 54845b99bba5c6130cccebf962027bfb6b2985e26cad5c13dcaf2f0af50d7fb5

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 Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page