Skip to main content

Provides deployment status details for any Kubernetes pod

Project description

Kubernetes Deployment Status

Retrieves commit details from a GitHub API endpoint, deployment timestamp from Kubernetes API.

It encapsulates methods to interact with the APIs, handle retries, and extract relevant data from the API response.

Most of the data is memoized as well to avoid unnecessary API calls.

Installation

pip install k8s-deployment-status

Package dependencies(auto-install):

  • kubernetes
  • requests

Usage

To use the package follow these steps,

Kubernetes Environment Variables

Set necessary environment variables like so in your Kubernetes yaml file.

    env:
    - name: GITHUB_OWNER
      value: "organisation/owner-name"
    - name: GITHUB_REPO
      value: "repo-name"
    - name: GITHUB_DEPLOYMENT_BRANCH
      value: "main"
    - name: GITHUB_API_PAGE_SIZE
      value: "5"
    - name: GITHUB_API_MAXIMUM_RETRIES
      value: "3"

All available options are mentioned above. GITHUB_OWNER, GITHUB_REPO are required.

Feel free to check config.py for default values per variable.

Import and Actual usage

Import package and respective class in the respective module

from k8s_deployment_status import DeploymentStatus

@app.route('/api/ros/v1/deployment_status', methods=['GET'])
    def deployment_status():
        deployment_status_data = DeploymentStatus().get()
        return jsonify(deployment_status_data)

Response Data

The output object should look like so,

{
    "branch": "main",
    "commit_merged": "Thu, 15 Jun 2023 14:38:16 UTC",
    "commit_msg": "Add redis as required dependency",
    "commit_sha": "9c2ee47951a8d25c7aa1402998344c5470956eb7",
    "deployed_at": "Thu, 15 Jun 2023 18:59:25 UTC"
}

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

k8s_deployment_status-0.0.6.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

k8s_deployment_status-0.0.6-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file k8s_deployment_status-0.0.6.tar.gz.

File metadata

  • Download URL: k8s_deployment_status-0.0.6.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for k8s_deployment_status-0.0.6.tar.gz
Algorithm Hash digest
SHA256 ff28479596e2ce066c0f26310388ecbd3a241d1d3365a62ed6b47baa212cd08a
MD5 6cc377fccf86e770f9e5b08f1e03f0e0
BLAKE2b-256 eacd5f6b168bf20787b6a22d3e008d56991646dcbc43927b2e71da95be9a13d1

See more details on using hashes here.

File details

Details for the file k8s_deployment_status-0.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for k8s_deployment_status-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 57a2747e425a6c46367feb384ad16e4bd7fda7e33da90c73abae2f9364df4ba6
MD5 0efdf1501bd33f8377a0eff685a98f80
BLAKE2b-256 57242ee966b8a7c0f46473a718ec62d09d139c20a021c6edd765102d1333dca3

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