Skip to main content

Container Images Sync Client

Project description

Container Images Sync

PyPI-python3-cisctl

Github Actions for Container Images Sync

How to Use by Github Actions

    - name: Container Images Sync
      uses: x-actions/python3-cisctl@v1
      env:
        GIT_ORG: "x-mirrors"
        GIT_REPO: "gcr.io"
        GIT_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        SRC_IMAGE_LIST_URL: "https://raw.githubusercontent.com/x-mirrors/gcr.io/main/k8s.txt"
        DEST_REPO: "docker.io/gcmirrors"
        SRC_TRANSPORT: "docker"
        DEST_TRANSPORT: "docker"
        DEST_TRANSPORT_USER: "user"
        DEST_TRANSPORT_PASSWORD: "password"
        LOG_LEVEL: "DEBUG"

Environment Variables:

  • GIT_ORG: github org
  • GIT_REPO: github repo
  • GIT_TOKEN: github token
  • SRC_IMAGE_LIST_URL: SRC_IMAGE_LIST_URL, default: "https://raw.githubusercontent.com/x-mirrors/gcr.io/main/k8s.txt"
  • DEST_REPO: DEST register REPO
  • SRC_TRANSPORT: SRC TRANSPORT
  • DEST_TRANSPORT: DEST TRANSPORT
  • DEST_TRANSPORT_USER: user
  • DEST_TRANSPORT_PASSWORD: "password"
  • THREAD_POOL_NUM: sync thread pool num

Dev and Test

  • local run
# install
pip3 install -r requirements.txt
python3 setup.py install
# or
pip3 install python3-cisctl

# set env
export GIT_ORG="x-mirrors"
export GIT_REPO="gcr.io"
export GIT_TOKEN='${{ secrets.GITHUB_TOKEN }}'
export SRC_IMAGE_LIST_URL="https://raw.githubusercontent.com/x-mirrors/gcr.io/main/k8s.txt"
export DEST_REPO="docker.io/gcmirrors"
export SRC_TRANSPORT="docker"
export DEST_TRANSPORT="docker"
export DEST_TRANSPORT_USER="xianbinxie"
export DEST_TRANSPORT_PASSWORD="<passwords>"

# run sync
cisctl
  • tests
python3 -m unittest cisctl.tests.unit.test_skopeo.SkopeoTestCase.test_do_sync
  • Docker API Rate Limiting

  • X-RateLimit-Limit - The limit of requests per minute.

  • X-RateLimit-Remaining - The remaining amount of calls within the limit period.

  • X-RateLimit-Reset - The unix timestamp of when the remaining resets.

If you have hit the limit, you will receive a response status of 429 and the X-Retry-After header in the response.

The X-Retry-After header is a unix timestamp of when you can call the API again.

< x-ratelimit-limit: 180
< x-ratelimit-reset: 1646881125
< x-ratelimit-remaining: 180

ref

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

python3-cisctl-1.1.0.tar.gz (23.1 kB view details)

Uploaded Source

Built Distribution

python3_cisctl-1.1.0-py3-none-any.whl (33.3 kB view details)

Uploaded Python 3

File details

Details for the file python3-cisctl-1.1.0.tar.gz.

File metadata

  • Download URL: python3-cisctl-1.1.0.tar.gz
  • Upload date:
  • Size: 23.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for python3-cisctl-1.1.0.tar.gz
Algorithm Hash digest
SHA256 bb4d15309c5f830cfb986988beb319490e5bb496bcf7dec27b53b484132531e8
MD5 22b79d09316516f83d59bc15bf61a31a
BLAKE2b-256 00432038849d2ea0a173ef9edf0070439c100db753c4614780fdc26ec48fc7f9

See more details on using hashes here.

File details

Details for the file python3_cisctl-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for python3_cisctl-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f4c1399a9e5ec0cb873a09630feb3538ce212848e60d6b1e8825703aa415eed2
MD5 4da8931fc760ca2e2052d9893c714bb4
BLAKE2b-256 fa6af627d60dd93b011bfb1b592b1a7d73a4b60dbdb3ed1addf3faa0057bb5b2

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