Skip to main content

Keep your dependencies in your projects fresh and up2date

Project description

I’m Kebechet, goddess of freshness. I will keep your sources and dependencies fresh and up-to-date.

Kebechet is a SourceOps bot that automates updating dependencies of your project. Currently, it supports managing and updating Python projects based on pipenv files (Pipfile and Pipfile.lock) or requirements.txt/requirements.in files (see pip-tools - Kebechet is a replacement for it)

Configuration of Kebechet

Kebechet is configured using a simple YAML configuration file. Check documentation of managers to get all the available options.

Each configuration entry configures a manager. Please check managers and examples to get info about configuration options.

The YAML configuration file can be supplied directly as a path to a file on filesystem as well as a URL to a file - handy for managing configuration of your Kebechet deployment in a Git repository (you have to supply a URL to a raw YAML configuration file).

Managers

Kebechet consists of managers that perform certain actions.

A list of managers with their configuration (documentation lives in the manger directory) can be found in the repo.

Issues created by Kebechet

If there are any issues that have serious impact on Kebechet functionality, Kebechet will automatically open an issue in the given repository. These issues can be configuration issues of Kebechet itself or issues in manager itself.

Suppressing bot verbosity

Bot updates pull requests and issues and notifies about updates via comments (to issues or pull requests). You can suppress this behaviour by setting lable ‘silent-bot’ to issue or to a pull request. The bot will still perform updates but update comments will not be added.

This is especially helpful for example if you have failing updates of your dependency and you would like to keep the pull request opened and check for fix later. Setting ‘silent-bot’ label to the PR will suppress Kebechet to post updates and you will not retrieve spam messages anymore.

Notes

To issue an update to Git repository, Kebechet creates branches in the provided repository.

Deploying Kebechet

To deploy kebechet on OpenShift cluster. Use the following Ansible command with required parameters:

ansible-playbook \
  --extra-vars=OCP_URL=<openshift_cluster_url> \
  --extra-vars=OCP_TOKEN=<openshift_cluster_token> \
  --extra-vars=KEBECHET_INFRA_NAMESPACE=<openshift_cluster_namespace> \
  --extra-vars=KEBECHET_APPLICATION_NAMESPACE=<openshift_cluster_namespace> \
  --extra-vars=KEBECHET_CONFIGURATION_PATH=<config.yaml> \
  --extra-vars=KEBECHET_TOKEN=<oauth_token> \
  --extra-vars=KEBECHET_SSH_PRIVATE_KEY_PATH=<git_ssh_private_key_path> \
  playbooks/provision.yaml
  • KEBECHET_SSH_PRIVATE_KEY_PATH: The path where the GitHub ssh private key is stored should be provided. (Example: $HOME/.ssh/id_rsa). If the field is undefined then the script will create the ssh keys for you and then you can set up the given public key to GitHub repository.

  • KEBECHET_TOKEN: To raise a pull request bot requires user rights and premissions. The GitHub OAuth tokens are to be set for raising pull request whenever updates are encounter by the Kebechet.

  • KEBECHET_CONFIGURATION_PATH: Path to the YAML configuration file to be used for Kebechet to check for dependency updates.

  • KEBECHET_INFRA_NAMESPACE: The OpenShift namespace can be used for the infrastructural purposes, all the images stream are stored in the KEBECHET_INFRA_NAMESPACE.

  • KEBECHET_APPLICATION_NAMESPACE: The OpenShift namespace can be used for the application purposes, all the templates, builds, secrets, configmap and jobs are stored in the KEBECHET_APPLICATION_NAMESPACE.

  • OCP_URL and OCP_TOKEN: The OpenShift credentials used to login to.

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

kebechet-1.0.7.tar.gz (80.1 kB view details)

Uploaded Source

Built Distribution

kebechet-1.0.7-py3-none-any.whl (44.8 kB view details)

Uploaded Python 3

File details

Details for the file kebechet-1.0.7.tar.gz.

File metadata

  • Download URL: kebechet-1.0.7.tar.gz
  • Upload date:
  • Size: 80.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/39.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.8

File hashes

Hashes for kebechet-1.0.7.tar.gz
Algorithm Hash digest
SHA256 0b70b84a70452c87e3ac3fa6071e9c13aa68c04fbbfcf621a0ef7a9d700c7527
MD5 16d30ab83bdea22dd3243f22f81fb8d0
BLAKE2b-256 8e96d0c0f76c1568ad57350770a677ff12c8b39bb179d9a3c14c16d0f0c40cad

See more details on using hashes here.

File details

Details for the file kebechet-1.0.7-py3-none-any.whl.

File metadata

  • Download URL: kebechet-1.0.7-py3-none-any.whl
  • Upload date:
  • Size: 44.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/39.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.8

File hashes

Hashes for kebechet-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 a4b99beaa57c3664a41556936636cd80c798f084d2c90a6b40aaf4022ecc5ddc
MD5 11e1e404e2b28f61b8bca6abe0872a9c
BLAKE2b-256 907e4cf14b774c7ec4d688158e1483a5021ca382a67ef3d770588e6200e29cfe

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