Skip to main content

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

Metadata

Release files for python3-cisctl 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for python3-cisctl 1.1.0
File Size Uploaded
python3-cisctl-1.1.0.tar.gz 23.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for python3-cisctl 1.1.0
File Interpreter ABI Platform
python3_cisctl-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 56.4 kB

Release files / python3-cisctl-1.1.0.tar.gz

Download URL python3-cisctl-1.1.0.tar.gz
Size 23.1 kB
Tags Source
SHA-256 checksum
How to use checksums
bb4d15309c5f830cfb986988beb319490e5bb496bcf7dec27b53b484132531e8
BLAKE2b-256 checksum
How to use checksums
00432038849d2ea0a173ef9edf0070439c100db753c4614780fdc26ec48fc7f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.6

Release files / python3_cisctl-1.1.0-py3-none-any.whl

Download URL python3_cisctl-1.1.0-py3-none-any.whl
Size 33.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f4c1399a9e5ec0cb873a09630feb3538ce212848e60d6b1e8825703aa415eed2
BLAKE2b-256 checksum
How to use checksums
fa6af627d60dd93b011bfb1b592b1a7d73a4b60dbdb3ed1addf3faa0057bb5b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.6

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page