├── .github └── workflows │ └── pythonpublish.yml ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── Makefile ├── README.md ├── api_1.2 ├── Makefile ├── README.md ├── containerd │ ├── __init__.py │ ├── events │ │ ├── __init__.py │ │ ├── container_pb2.py │ │ ├── container_pb2_grpc.py │ │ ├── content_pb2.py │ │ ├── content_pb2_grpc.py │ │ ├── image_pb2.py │ │ ├── image_pb2_grpc.py │ │ ├── namespace_pb2.py │ │ ├── namespace_pb2_grpc.py │ │ ├── snapshot_pb2.py │ │ ├── snapshot_pb2_grpc.py │ │ ├── task_pb2.py │ │ └── task_pb2_grpc.py │ ├── protobuf │ │ ├── __init__.py │ │ └── plugin │ │ │ ├── __init__.py │ │ │ ├── fieldpath_pb2.py │ │ │ └── fieldpath_pb2_grpc.py │ ├── services │ │ ├── __init__.py │ │ ├── containers │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── containers_pb2.py │ │ │ │ └── containers_pb2_grpc.py │ │ ├── content │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── content_pb2.py │ │ │ │ └── content_pb2_grpc.py │ │ ├── diff │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── diff_pb2.py │ │ │ │ └── diff_pb2_grpc.py │ │ ├── events │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── events_pb2.py │ │ │ │ └── events_pb2_grpc.py │ │ ├── images │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── images_pb2.py │ │ │ │ └── images_pb2_grpc.py │ │ ├── introspection │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── introspection_pb2.py │ │ │ │ └── introspection_pb2_grpc.py │ │ ├── leases │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── leases_pb2.py │ │ │ │ └── leases_pb2_grpc.py │ │ ├── namespaces │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── namespace_pb2.py │ │ │ │ └── namespace_pb2_grpc.py │ │ ├── snapshots │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── snapshots_pb2.py │ │ │ │ └── snapshots_pb2_grpc.py │ │ ├── tasks │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── tasks_pb2.py │ │ │ │ └── tasks_pb2_grpc.py │ │ └── version │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ ├── __init__.py │ │ │ ├── version_pb2.py │ │ │ └── version_pb2_grpc.py │ ├── types │ │ ├── __init__.py │ │ ├── descriptor_pb2.py │ │ ├── descriptor_pb2_grpc.py │ │ ├── metrics_pb2.py │ │ ├── metrics_pb2_grpc.py │ │ ├── mount_pb2.py │ │ ├── mount_pb2_grpc.py │ │ ├── platform_pb2.py │ │ ├── platform_pb2_grpc.py │ │ └── task │ │ │ ├── __init__.py │ │ │ ├── task_pb2.py │ │ │ └── task_pb2_grpc.py │ └── vendor │ │ ├── __init__.py │ │ └── gogoproto │ │ ├── __init__.py │ │ ├── gogo_pb2.py │ │ └── gogo_pb2_grpc.py ├── setup.py └── version ├── api_1.3 ├── Makefile ├── README.md ├── containerd │ ├── __init__.py │ ├── events │ │ ├── __init__.py │ │ ├── container_pb2.py │ │ ├── container_pb2_grpc.py │ │ ├── content_pb2.py │ │ ├── content_pb2_grpc.py │ │ ├── image_pb2.py │ │ ├── image_pb2_grpc.py │ │ ├── namespace_pb2.py │ │ ├── namespace_pb2_grpc.py │ │ ├── snapshot_pb2.py │ │ ├── snapshot_pb2_grpc.py │ │ ├── task_pb2.py │ │ └── task_pb2_grpc.py │ ├── protobuf │ │ ├── __init__.py │ │ └── plugin │ │ │ ├── __init__.py │ │ │ ├── fieldpath_pb2.py │ │ │ └── fieldpath_pb2_grpc.py │ ├── services │ │ ├── __init__.py │ │ ├── containers │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── containers_pb2.py │ │ │ │ └── containers_pb2_grpc.py │ │ ├── content │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── content_pb2.py │ │ │ │ └── content_pb2_grpc.py │ │ ├── diff │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── diff_pb2.py │ │ │ │ └── diff_pb2_grpc.py │ │ ├── events │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── events_pb2.py │ │ │ │ └── events_pb2_grpc.py │ │ ├── images │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── images_pb2.py │ │ │ │ └── images_pb2_grpc.py │ │ ├── introspection │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── introspection_pb2.py │ │ │ │ └── introspection_pb2_grpc.py │ │ ├── leases │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── leases_pb2.py │ │ │ │ └── leases_pb2_grpc.py │ │ ├── namespaces │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── namespace_pb2.py │ │ │ │ └── namespace_pb2_grpc.py │ │ ├── snapshots │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── snapshots_pb2.py │ │ │ │ └── snapshots_pb2_grpc.py │ │ ├── tasks │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── tasks_pb2.py │ │ │ │ └── tasks_pb2_grpc.py │ │ ├── ttrpc │ │ │ ├── __init__.py │ │ │ └── events │ │ │ │ ├── __init__.py │ │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── events_pb2.py │ │ │ │ └── events_pb2_grpc.py │ │ └── version │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ ├── __init__.py │ │ │ ├── version_pb2.py │ │ │ └── version_pb2_grpc.py │ ├── types │ │ ├── __init__.py │ │ ├── descriptor_pb2.py │ │ ├── descriptor_pb2_grpc.py │ │ ├── metrics_pb2.py │ │ ├── metrics_pb2_grpc.py │ │ ├── mount_pb2.py │ │ ├── mount_pb2_grpc.py │ │ ├── platform_pb2.py │ │ ├── platform_pb2_grpc.py │ │ └── task │ │ │ ├── __init__.py │ │ │ ├── task_pb2.py │ │ │ └── task_pb2_grpc.py │ └── vendor │ │ ├── __init__.py │ │ └── gogoproto │ │ ├── __init__.py │ │ ├── gogo_pb2.py │ │ └── gogo_pb2_grpc.py ├── setup.py └── version ├── api_1.4 ├── Makefile ├── README.md ├── containerd │ ├── __init__.py │ ├── events │ │ ├── __init__.py │ │ ├── container_pb2.py │ │ ├── container_pb2_grpc.py │ │ ├── content_pb2.py │ │ ├── content_pb2_grpc.py │ │ ├── image_pb2.py │ │ ├── image_pb2_grpc.py │ │ ├── namespace_pb2.py │ │ ├── namespace_pb2_grpc.py │ │ ├── snapshot_pb2.py │ │ ├── snapshot_pb2_grpc.py │ │ ├── task_pb2.py │ │ └── task_pb2_grpc.py │ ├── protobuf │ │ ├── __init__.py │ │ └── plugin │ │ │ ├── __init__.py │ │ │ ├── fieldpath_pb2.py │ │ │ └── fieldpath_pb2_grpc.py │ ├── services │ │ ├── __init__.py │ │ ├── containers │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── containers_pb2.py │ │ │ │ └── containers_pb2_grpc.py │ │ ├── content │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── content_pb2.py │ │ │ │ └── content_pb2_grpc.py │ │ ├── diff │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── diff_pb2.py │ │ │ │ └── diff_pb2_grpc.py │ │ ├── events │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── events_pb2.py │ │ │ │ └── events_pb2_grpc.py │ │ ├── images │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── images_pb2.py │ │ │ │ └── images_pb2_grpc.py │ │ ├── introspection │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── introspection_pb2.py │ │ │ │ └── introspection_pb2_grpc.py │ │ ├── leases │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── leases_pb2.py │ │ │ │ └── leases_pb2_grpc.py │ │ ├── namespaces │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── namespace_pb2.py │ │ │ │ └── namespace_pb2_grpc.py │ │ ├── snapshots │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── snapshots_pb2.py │ │ │ │ └── snapshots_pb2_grpc.py │ │ ├── tasks │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── tasks_pb2.py │ │ │ │ └── tasks_pb2_grpc.py │ │ ├── ttrpc │ │ │ ├── __init__.py │ │ │ └── events │ │ │ │ ├── __init__.py │ │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── events_pb2.py │ │ │ │ └── events_pb2_grpc.py │ │ └── version │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ ├── __init__.py │ │ │ ├── version_pb2.py │ │ │ └── version_pb2_grpc.py │ ├── types │ │ ├── __init__.py │ │ ├── descriptor_pb2.py │ │ ├── descriptor_pb2_grpc.py │ │ ├── metrics_pb2.py │ │ ├── metrics_pb2_grpc.py │ │ ├── mount_pb2.py │ │ ├── mount_pb2_grpc.py │ │ ├── platform_pb2.py │ │ ├── platform_pb2_grpc.py │ │ └── task │ │ │ ├── __init__.py │ │ │ ├── task_pb2.py │ │ │ └── task_pb2_grpc.py │ └── vendor │ │ ├── __init__.py │ │ └── gogoproto │ │ ├── __init__.py │ │ ├── gogo_pb2.py │ │ └── gogo_pb2_grpc.py ├── setup.py └── version ├── api_1.5 ├── Makefile ├── README.md ├── containerd │ ├── __init__.py │ ├── events │ │ ├── __init__.py │ │ ├── container_pb2.py │ │ ├── container_pb2_grpc.py │ │ ├── content_pb2.py │ │ ├── content_pb2_grpc.py │ │ ├── image_pb2.py │ │ ├── image_pb2_grpc.py │ │ ├── namespace_pb2.py │ │ ├── namespace_pb2_grpc.py │ │ ├── snapshot_pb2.py │ │ ├── snapshot_pb2_grpc.py │ │ ├── task_pb2.py │ │ └── task_pb2_grpc.py │ ├── protobuf │ │ ├── __init__.py │ │ └── plugin │ │ │ ├── __init__.py │ │ │ ├── fieldpath_pb2.py │ │ │ └── fieldpath_pb2_grpc.py │ ├── services │ │ ├── __init__.py │ │ ├── containers │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── containers_pb2.py │ │ │ │ └── containers_pb2_grpc.py │ │ ├── content │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── content_pb2.py │ │ │ │ └── content_pb2_grpc.py │ │ ├── diff │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── diff_pb2.py │ │ │ │ └── diff_pb2_grpc.py │ │ ├── events │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── events_pb2.py │ │ │ │ └── events_pb2_grpc.py │ │ ├── images │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── images_pb2.py │ │ │ │ └── images_pb2_grpc.py │ │ ├── introspection │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── introspection_pb2.py │ │ │ │ └── introspection_pb2_grpc.py │ │ ├── leases │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── leases_pb2.py │ │ │ │ └── leases_pb2_grpc.py │ │ ├── namespaces │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── namespace_pb2.py │ │ │ │ └── namespace_pb2_grpc.py │ │ ├── snapshots │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── snapshots_pb2.py │ │ │ │ └── snapshots_pb2_grpc.py │ │ ├── tasks │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── tasks_pb2.py │ │ │ │ └── tasks_pb2_grpc.py │ │ ├── ttrpc │ │ │ ├── __init__.py │ │ │ └── events │ │ │ │ ├── __init__.py │ │ │ │ └── v1 │ │ │ │ ├── __init__.py │ │ │ │ ├── events_pb2.py │ │ │ │ └── events_pb2_grpc.py │ │ └── version │ │ │ ├── __init__.py │ │ │ └── v1 │ │ │ ├── __init__.py │ │ │ ├── version_pb2.py │ │ │ └── version_pb2_grpc.py │ ├── types │ │ ├── __init__.py │ │ ├── descriptor_pb2.py │ │ ├── descriptor_pb2_grpc.py │ │ ├── metrics_pb2.py │ │ ├── metrics_pb2_grpc.py │ │ ├── mount_pb2.py │ │ ├── mount_pb2_grpc.py │ │ ├── platform_pb2.py │ │ ├── platform_pb2_grpc.py │ │ └── task │ │ │ ├── __init__.py │ │ │ ├── task_pb2.py │ │ │ └── task_pb2_grpc.py │ └── vendor │ │ ├── __init__.py │ │ └── gogoproto │ │ ├── __init__.py │ │ ├── gogo_pb2.py │ │ └── gogo_pb2_grpc.py ├── setup.py └── version ├── examples ├── README.md ├── lsctr.py └── watchctr.py ├── infra ├── Makefile └── docker │ ├── Makefile │ └── tests │ ├── Dockerfile.in │ └── Makefile ├── resources ├── api_Makefile ├── containerd │ ├── __init__.py.in │ └── services │ │ └── events │ │ └── v1 │ │ └── __init__.py └── setup.py ├── script └── genpb2.sh └── tests ├── Makefile ├── conftest.py ├── containerd_mock.py ├── test_containers.py ├── test_namespaces.py └── test_tasks.py /.github/workflows/pythonpublish.yml: -------------------------------------------------------------------------------- 1 | name: Upload Python Package 2 | 3 | on: 4 | workflow_dispatch: 5 | inputs: 6 | version: 7 | description: "Version of the release, only the number in the form '1.4'." 8 | required: true 9 | release: 10 | types: [created] 11 | 12 | jobs: 13 | deploy: 14 | runs-on: ubuntu-latest 15 | steps: 16 | - uses: actions/checkout@v1 17 | - name: Set up Python 18 | uses: actions/setup-python@v1 19 | with: 20 | python-version: '3.x' 21 | - name: Install dependencies 22 | env: 23 | INPUT_VERSION: ${{ github.event.inputs.version }} 24 | run: | 25 | if [[ "${GITHUB_EVENT_NAME}" == "workflow_dispatch" ]] ; then \ 26 | RELEASE_VERSION="${INPUT_VERSION}" ; \ 27 | elif [[ "${GITHUB_EVENT_NAME}" == "release" ]] ; then \ 28 | RELEASE_VERSION="$(echo ${GITHUB_REF##refs/tags/v} | sed 's/\([[:digit:]]\+\.[[:digit:]]\+\)\.[[:digit:]]\+/\1/g')" ; \ 29 | else \ 30 | echo "Unexpected workflow hook! ${GITHUB_EVENT_NAME}" ; \ 31 | exit 1 ; \ 32 | fi 33 | python -m pip install --upgrade pip 34 | ( cd api_${RELEASE_VERSION} ; pip install setuptools wheel twine ) 35 | - name: Build and publish 36 | env: 37 | TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} 38 | TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} 39 | INPUT_VERSION: ${{ github.event.inputs.version }} 40 | run: | 41 | if [[ "${GITHUB_EVENT_NAME}" == "workflow_dispatch" ]] ; then \ 42 | RELEASE_VERSION="${INPUT_VERSION}" ; \ 43 | elif [[ "${GITHUB_EVENT_NAME}" == "release" ]] ; then \ 44 | RELEASE_VERSION="$(echo ${GITHUB_REF##refs/tags/v} | sed 's/\([[:digit:]]\+\.[[:digit:]]\+\)\.[[:digit:]]\+/\1/g')" ; \ 45 | else \ 46 | echo "Unexpected workflow hook! ${GITHUB_EVENT_NAME}" ; \ 47 | exit 1 ; \ 48 | fi 49 | ( cd api_${RELEASE_VERSION} ; python setup.py sdist bdist_wheel ) 50 | ( cd api_${RELEASE_VERSION} ; twine upload dist/* ) 51 | 52 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__ 2 | **/*.egg-info 3 | **/build/* 4 | **/dist/* 5 | tmp/* 6 | temp/* 7 | script/docker/tests/Dockerfile 8 | script/docker/build/Dockerfile 9 | packages 10 | 11 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Version 1.0 (2019-12-11) 2 | 3 | First release 4 | 5 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | PYTHON_VERSION?=3.7 2 | IMG_NAME_PR?=docker.pkg.github.com/silvanoc/pycontainerd 3 | SUBDIRS=script tests infra 4 | SUPPORTED_APIS=1.2 1.3 1.4 1.5 5 | API_DIRS=$(addprefix api_,$(SUPPORTED_APIS)) 6 | 7 | export 8 | 9 | .PHONY: all 10 | all: packages 11 | 12 | .PHONY: stubs 13 | stubs: 14 | @ for api in $(SUPPORTED_APIS); do $(MAKE) api_$$api ; done 15 | 16 | api_%: script/genpb2.sh resources/containerd/__init__.py.in resources/containerd/services/events/v1/__init__.py 17 | ./script/genpb2.sh -a $* 18 | cp resources/api_Makefile $@/Makefile 19 | 20 | regenerate_%: 21 | bash -x ./script/genpb2.sh -n -a $* 22 | cp resources/api_Makefile api_$*/Makefile 23 | 24 | .PHONY: packages test docker-test 25 | packages: $(API_DIRS) 26 | @ for api in $(API_DIRS) ; do $(MAKE) -C $$api dist ; done 27 | mkdir -p $@ 28 | @ for api in $(API_DIRS) ; do cp $$api/dist/* $@ ; done 29 | 30 | test: 31 | $(MAKE) -C tests test 32 | 33 | prepare: 34 | for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir $@ ; done 35 | 36 | docker-test: package prepare 37 | $(MAKE) -C tests $@ 38 | 39 | push-docker: 40 | $(MAKE) -C infra/docker push 41 | 42 | .PHONY: clean clobber 43 | clean: 44 | - for api in $(API_DIRS) ; do $(MAKE) -C $$api $@ ; done 45 | - for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir $@ ; done 46 | - rm -r build containerd.egg-info dist 47 | 48 | clobber: clean 49 | - for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir $@ ; done 50 | - for api in $(API_DIRS) ; do rm -r $$api ; done 51 | 52 | -------------------------------------------------------------------------------- /api_1.2/Makefile: -------------------------------------------------------------------------------- 1 | PKG = $(shell find dist -name "containerd-*-py3-none-any.whl") 2 | 3 | all: dist 4 | 5 | build: containerd 6 | python3 ./setup.py build 7 | 8 | dist: build 9 | python3 ./setup.py bdist_wheel 10 | 11 | .PHONY: install test-install 12 | install: $(PKG) 13 | sudo pip3 install $< 14 | 15 | test-install: $(PKG) 16 | pip3 install $< 17 | 18 | .PHONY: uninstall dev_install dev_uninstall 19 | uninstall: 20 | sudo pip3 uninstall --yes containerd 21 | 22 | dev_install: 23 | sudo pip3 install --editable . 24 | 25 | dev_uninstall: 26 | sudo rm /usr/local/lib/python3.7/dist-packages/containerd.egg-link 27 | sudo sed -i '/.*\/pycontainerd/d' /usr/local/lib/python3.7/dist-packages/easy-install.pth 28 | sudo find containerd -uid 0 -exec rm {} \; 29 | 30 | .PHONY: clean clobber 31 | clean: 32 | - rm -r build containerd.egg-info dist 33 | 34 | clobber: clean 35 | - rm -r containerd 36 | 37 | -------------------------------------------------------------------------------- /api_1.2/containerd/__init__.py: -------------------------------------------------------------------------------- 1 | # library/package semantic version 2 | __api_version__ = '1.2' 3 | __generation__ = 2 4 | -------------------------------------------------------------------------------- /api_1.2/containerd/events/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/events/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/events/container_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.2/containerd/events/content_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: containerd/events/content.proto 4 | """Generated protocol buffer code.""" 5 | from google.protobuf import descriptor as _descriptor 6 | from google.protobuf import message as _message 7 | from google.protobuf import reflection as _reflection 8 | from google.protobuf import symbol_database as _symbol_database 9 | # @@protoc_insertion_point(imports) 10 | 11 | _sym_db = _symbol_database.Default() 12 | 13 | 14 | from containerd.vendor.gogoproto import gogo_pb2 as containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2 15 | from containerd.protobuf.plugin import fieldpath_pb2 as containerd_dot_protobuf_dot_plugin_dot_fieldpath__pb2 16 | 17 | 18 | DESCRIPTOR = _descriptor.FileDescriptor( 19 | name='containerd/events/content.proto', 20 | package='containerd.events', 21 | syntax='proto3', 22 | serialized_options=b'Z2github.com/containerd/containerd/api/events;events\240\364\036\001', 23 | create_key=_descriptor._internal_create_key, 24 | serialized_pb=b'\n\x1f\x63ontainerd/events/content.proto\x12\x11\x63ontainerd.events\x1a&containerd/vendor/gogoproto/gogo.proto\x1a*containerd/protobuf/plugin/fieldpath.proto\"S\n\rContentDelete\x12\x42\n\x06\x64igest\x18\x01 \x01(\tB2\xda\xde\x1f*github.com/opencontainers/go-digest.Digest\xc8\xde\x1f\x00\x42\x38Z2github.com/containerd/containerd/api/events;events\xa0\xf4\x1e\x01X\x00X\x01\x62\x06proto3' 25 | , 26 | dependencies=[containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2.DESCRIPTOR,containerd_dot_protobuf_dot_plugin_dot_fieldpath__pb2.DESCRIPTOR,]) 27 | 28 | 29 | 30 | 31 | _CONTENTDELETE = _descriptor.Descriptor( 32 | name='ContentDelete', 33 | full_name='containerd.events.ContentDelete', 34 | filename=None, 35 | file=DESCRIPTOR, 36 | containing_type=None, 37 | create_key=_descriptor._internal_create_key, 38 | fields=[ 39 | _descriptor.FieldDescriptor( 40 | name='digest', full_name='containerd.events.ContentDelete.digest', index=0, 41 | number=1, type=9, cpp_type=9, label=1, 42 | has_default_value=False, default_value=b"".decode('utf-8'), 43 | message_type=None, enum_type=None, containing_type=None, 44 | is_extension=False, extension_scope=None, 45 | serialized_options=b'\332\336\037*github.com/opencontainers/go-digest.Digest\310\336\037\000', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 46 | ], 47 | extensions=[ 48 | ], 49 | nested_types=[], 50 | enum_types=[ 51 | ], 52 | serialized_options=None, 53 | is_extendable=False, 54 | syntax='proto3', 55 | extension_ranges=[], 56 | oneofs=[ 57 | ], 58 | serialized_start=138, 59 | serialized_end=221, 60 | ) 61 | 62 | DESCRIPTOR.message_types_by_name['ContentDelete'] = _CONTENTDELETE 63 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 64 | 65 | ContentDelete = _reflection.GeneratedProtocolMessageType('ContentDelete', (_message.Message,), { 66 | 'DESCRIPTOR' : _CONTENTDELETE, 67 | '__module__' : 'containerd.events.content_pb2' 68 | # @@protoc_insertion_point(class_scope:containerd.events.ContentDelete) 69 | }) 70 | _sym_db.RegisterMessage(ContentDelete) 71 | 72 | 73 | DESCRIPTOR._options = None 74 | _CONTENTDELETE.fields_by_name['digest']._options = None 75 | # @@protoc_insertion_point(module_scope) 76 | -------------------------------------------------------------------------------- /api_1.2/containerd/events/content_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.2/containerd/events/image_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.2/containerd/events/namespace_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.2/containerd/events/snapshot_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.2/containerd/events/task_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.2/containerd/protobuf/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/protobuf/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/protobuf/plugin/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/protobuf/plugin/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/protobuf/plugin/fieldpath_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: containerd/protobuf/plugin/fieldpath.proto 4 | """Generated protocol buffer code.""" 5 | from google.protobuf import descriptor as _descriptor 6 | from google.protobuf import message as _message 7 | from google.protobuf import reflection as _reflection 8 | from google.protobuf import symbol_database as _symbol_database 9 | # @@protoc_insertion_point(imports) 10 | 11 | _sym_db = _symbol_database.Default() 12 | 13 | 14 | from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 15 | 16 | 17 | DESCRIPTOR = _descriptor.FileDescriptor( 18 | name='containerd/protobuf/plugin/fieldpath.proto', 19 | package='containerd.plugin', 20 | syntax='proto2', 21 | serialized_options=None, 22 | create_key=_descriptor._internal_create_key, 23 | serialized_pb=b'\n*containerd/protobuf/plugin/fieldpath.proto\x12\x11\x63ontainerd.plugin\x1a google/protobuf/descriptor.proto:5\n\rfieldpath_all\x12\x1c.google.protobuf.FileOptions\x18\xc4\xee\x03 \x01(\x08:4\n\tfieldpath\x12\x1f.google.protobuf.MessageOptions\x18\x90\xf7\x03 \x01(\x08' 24 | , 25 | dependencies=[google_dot_protobuf_dot_descriptor__pb2.DESCRIPTOR,]) 26 | 27 | 28 | FIELDPATH_ALL_FIELD_NUMBER = 63300 29 | fieldpath_all = _descriptor.FieldDescriptor( 30 | name='fieldpath_all', full_name='containerd.plugin.fieldpath_all', index=0, 31 | number=63300, type=8, cpp_type=7, label=1, 32 | has_default_value=False, default_value=False, 33 | message_type=None, enum_type=None, containing_type=None, 34 | is_extension=True, extension_scope=None, 35 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key) 36 | FIELDPATH_FIELD_NUMBER = 64400 37 | fieldpath = _descriptor.FieldDescriptor( 38 | name='fieldpath', full_name='containerd.plugin.fieldpath', index=1, 39 | number=64400, type=8, cpp_type=7, label=1, 40 | has_default_value=False, default_value=False, 41 | message_type=None, enum_type=None, containing_type=None, 42 | is_extension=True, extension_scope=None, 43 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key) 44 | 45 | DESCRIPTOR.extensions_by_name['fieldpath_all'] = fieldpath_all 46 | DESCRIPTOR.extensions_by_name['fieldpath'] = fieldpath 47 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 48 | 49 | google_dot_protobuf_dot_descriptor__pb2.FileOptions.RegisterExtension(fieldpath_all) 50 | google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(fieldpath) 51 | 52 | # @@protoc_insertion_point(module_scope) 53 | -------------------------------------------------------------------------------- /api_1.2/containerd/protobuf/plugin/fieldpath_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.2/containerd/services/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/services/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/services/containers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/services/containers/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/services/containers/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/services/containers/v1/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/services/content/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/services/content/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/services/content/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/services/content/v1/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/services/diff/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/services/diff/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/services/diff/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/services/diff/v1/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/services/diff/v1/diff_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | from containerd.services.diff.v1 import diff_pb2 as containerd_dot_services_dot_diff_dot_v1_dot_diff__pb2 6 | 7 | 8 | class DiffStub(object): 9 | """Diff service creates and applies diffs 10 | """ 11 | 12 | def __init__(self, channel): 13 | """Constructor. 14 | 15 | Args: 16 | channel: A grpc.Channel. 17 | """ 18 | self.Apply = channel.unary_unary( 19 | '/containerd.services.diff.v1.Diff/Apply', 20 | request_serializer=containerd_dot_services_dot_diff_dot_v1_dot_diff__pb2.ApplyRequest.SerializeToString, 21 | response_deserializer=containerd_dot_services_dot_diff_dot_v1_dot_diff__pb2.ApplyResponse.FromString, 22 | ) 23 | self.Diff = channel.unary_unary( 24 | '/containerd.services.diff.v1.Diff/Diff', 25 | request_serializer=containerd_dot_services_dot_diff_dot_v1_dot_diff__pb2.DiffRequest.SerializeToString, 26 | response_deserializer=containerd_dot_services_dot_diff_dot_v1_dot_diff__pb2.DiffResponse.FromString, 27 | ) 28 | 29 | 30 | class DiffServicer(object): 31 | """Diff service creates and applies diffs 32 | """ 33 | 34 | def Apply(self, request, context): 35 | """Apply applies the content associated with the provided digests onto 36 | the provided mounts. Archive content will be extracted and 37 | decompressed if necessary. 38 | """ 39 | context.set_code(grpc.StatusCode.UNIMPLEMENTED) 40 | context.set_details('Method not implemented!') 41 | raise NotImplementedError('Method not implemented!') 42 | 43 | def Diff(self, request, context): 44 | """Diff creates a diff between the given mounts and uploads the result 45 | to the content store. 46 | """ 47 | context.set_code(grpc.StatusCode.UNIMPLEMENTED) 48 | context.set_details('Method not implemented!') 49 | raise NotImplementedError('Method not implemented!') 50 | 51 | 52 | def add_DiffServicer_to_server(servicer, server): 53 | rpc_method_handlers = { 54 | 'Apply': grpc.unary_unary_rpc_method_handler( 55 | servicer.Apply, 56 | request_deserializer=containerd_dot_services_dot_diff_dot_v1_dot_diff__pb2.ApplyRequest.FromString, 57 | response_serializer=containerd_dot_services_dot_diff_dot_v1_dot_diff__pb2.ApplyResponse.SerializeToString, 58 | ), 59 | 'Diff': grpc.unary_unary_rpc_method_handler( 60 | servicer.Diff, 61 | request_deserializer=containerd_dot_services_dot_diff_dot_v1_dot_diff__pb2.DiffRequest.FromString, 62 | response_serializer=containerd_dot_services_dot_diff_dot_v1_dot_diff__pb2.DiffResponse.SerializeToString, 63 | ), 64 | } 65 | generic_handler = grpc.method_handlers_generic_handler( 66 | 'containerd.services.diff.v1.Diff', rpc_method_handlers) 67 | server.add_generic_rpc_handlers((generic_handler,)) 68 | 69 | 70 | # This class is part of an EXPERIMENTAL API. 71 | class Diff(object): 72 | """Diff service creates and applies diffs 73 | """ 74 | 75 | @staticmethod 76 | def Apply(request, 77 | target, 78 | options=(), 79 | channel_credentials=None, 80 | call_credentials=None, 81 | insecure=False, 82 | compression=None, 83 | wait_for_ready=None, 84 | timeout=None, 85 | metadata=None): 86 | return grpc.experimental.unary_unary(request, target, '/containerd.services.diff.v1.Diff/Apply', 87 | containerd_dot_services_dot_diff_dot_v1_dot_diff__pb2.ApplyRequest.SerializeToString, 88 | containerd_dot_services_dot_diff_dot_v1_dot_diff__pb2.ApplyResponse.FromString, 89 | options, channel_credentials, 90 | insecure, call_credentials, compression, wait_for_ready, timeout, metadata) 91 | 92 | @staticmethod 93 | def Diff(request, 94 | target, 95 | options=(), 96 | channel_credentials=None, 97 | call_credentials=None, 98 | insecure=False, 99 | compression=None, 100 | wait_for_ready=None, 101 | timeout=None, 102 | metadata=None): 103 | return grpc.experimental.unary_unary(request, target, '/containerd.services.diff.v1.Diff/Diff', 104 | containerd_dot_services_dot_diff_dot_v1_dot_diff__pb2.DiffRequest.SerializeToString, 105 | containerd_dot_services_dot_diff_dot_v1_dot_diff__pb2.DiffResponse.FromString, 106 | options, channel_credentials, 107 | insecure, call_credentials, compression, wait_for_ready, timeout, metadata) 108 | -------------------------------------------------------------------------------- /api_1.2/containerd/services/events/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/services/events/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/services/events/v1/__init__.py: -------------------------------------------------------------------------------- 1 | import importlib 2 | import google.protobuf.symbol_database 3 | # use "from ... import ... as ..." instead of "import ... as ..." for backwards 4 | # compatibility with Python 3.6-, see also https://stackoverflow.com/a/24968941 5 | from containerd.services.events.v1 import events_pb2 as eventsv1 6 | 7 | # Loads all containerd.events.xxx modules, so they will register their message 8 | # classes with their corresponding type URLs. Only then we can then later look 9 | # them up from protobuf's default symbol database. Please note that this here 10 | # is the only place where we pull in modules when loading a package, and on 11 | # purpose: this allows users to unwrap all existing events from their 12 | # envelopes when watching events without having to import all necessary 13 | # containerd.event.xxx modules explicitly by themselves. 14 | for evmod in ('container', 'content', 'image', 'namespace', 'snapshot', 'task'): 15 | importlib.import_module("containerd.events.{}_pb2".format(evmod)) 16 | sdb = google.protobuf.symbol_database.Default() 17 | 18 | # Returns the event message object from inside an event envelope. 19 | def unwrap(envelope): 20 | if not isinstance(envelope, eventsv1.Envelope): 21 | raise TypeError('requires an object of class Envelope, not ' + type(envelope).__name__) 22 | try: 23 | return sdb.GetSymbol(envelope.event.type_url).FromString(envelope.event.value) 24 | except KeyError: 25 | # Keep silent if the event message inside the envelope cannot be 26 | # unwrapped, because the event's type_url is unknown to us. Then 27 | # simply return None. 28 | pass 29 | return None 30 | -------------------------------------------------------------------------------- /api_1.2/containerd/services/images/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/services/images/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/services/images/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/services/images/v1/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/services/introspection/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/services/introspection/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/services/introspection/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/services/introspection/v1/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/services/introspection/v1/introspection_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | from containerd.services.introspection.v1 import introspection_pb2 as containerd_dot_services_dot_introspection_dot_v1_dot_introspection__pb2 6 | 7 | 8 | class IntrospectionStub(object): 9 | """Missing associated documentation comment in .proto file.""" 10 | 11 | def __init__(self, channel): 12 | """Constructor. 13 | 14 | Args: 15 | channel: A grpc.Channel. 16 | """ 17 | self.Plugins = channel.unary_unary( 18 | '/containerd.services.introspection.v1.Introspection/Plugins', 19 | request_serializer=containerd_dot_services_dot_introspection_dot_v1_dot_introspection__pb2.PluginsRequest.SerializeToString, 20 | response_deserializer=containerd_dot_services_dot_introspection_dot_v1_dot_introspection__pb2.PluginsResponse.FromString, 21 | ) 22 | 23 | 24 | class IntrospectionServicer(object): 25 | """Missing associated documentation comment in .proto file.""" 26 | 27 | def Plugins(self, request, context): 28 | """Plugins returns a list of plugins in containerd. 29 | 30 | Clients can use this to detect features and capabilities when using 31 | containerd. 32 | """ 33 | context.set_code(grpc.StatusCode.UNIMPLEMENTED) 34 | context.set_details('Method not implemented!') 35 | raise NotImplementedError('Method not implemented!') 36 | 37 | 38 | def add_IntrospectionServicer_to_server(servicer, server): 39 | rpc_method_handlers = { 40 | 'Plugins': grpc.unary_unary_rpc_method_handler( 41 | servicer.Plugins, 42 | request_deserializer=containerd_dot_services_dot_introspection_dot_v1_dot_introspection__pb2.PluginsRequest.FromString, 43 | response_serializer=containerd_dot_services_dot_introspection_dot_v1_dot_introspection__pb2.PluginsResponse.SerializeToString, 44 | ), 45 | } 46 | generic_handler = grpc.method_handlers_generic_handler( 47 | 'containerd.services.introspection.v1.Introspection', rpc_method_handlers) 48 | server.add_generic_rpc_handlers((generic_handler,)) 49 | 50 | 51 | # This class is part of an EXPERIMENTAL API. 52 | class Introspection(object): 53 | """Missing associated documentation comment in .proto file.""" 54 | 55 | @staticmethod 56 | def Plugins(request, 57 | target, 58 | options=(), 59 | channel_credentials=None, 60 | call_credentials=None, 61 | insecure=False, 62 | compression=None, 63 | wait_for_ready=None, 64 | timeout=None, 65 | metadata=None): 66 | return grpc.experimental.unary_unary(request, target, '/containerd.services.introspection.v1.Introspection/Plugins', 67 | containerd_dot_services_dot_introspection_dot_v1_dot_introspection__pb2.PluginsRequest.SerializeToString, 68 | containerd_dot_services_dot_introspection_dot_v1_dot_introspection__pb2.PluginsResponse.FromString, 69 | options, channel_credentials, 70 | insecure, call_credentials, compression, wait_for_ready, timeout, metadata) 71 | -------------------------------------------------------------------------------- /api_1.2/containerd/services/leases/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/services/leases/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/services/leases/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/services/leases/v1/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/services/namespaces/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/services/namespaces/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/services/namespaces/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/services/namespaces/v1/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/services/snapshots/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/services/snapshots/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/services/snapshots/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/services/snapshots/v1/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/services/tasks/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/services/tasks/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/services/tasks/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/services/tasks/v1/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/services/version/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/services/version/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/services/version/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/services/version/v1/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/services/version/v1/version_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: containerd/services/version/v1/version.proto 4 | """Generated protocol buffer code.""" 5 | from google.protobuf import descriptor as _descriptor 6 | from google.protobuf import message as _message 7 | from google.protobuf import reflection as _reflection 8 | from google.protobuf import symbol_database as _symbol_database 9 | # @@protoc_insertion_point(imports) 10 | 11 | _sym_db = _symbol_database.Default() 12 | 13 | 14 | from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 15 | from containerd.vendor.gogoproto import gogo_pb2 as containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2 16 | 17 | 18 | DESCRIPTOR = _descriptor.FileDescriptor( 19 | name='containerd/services/version/v1/version.proto', 20 | package='containerd.services.version.v1', 21 | syntax='proto3', 22 | serialized_options=b'Z@github.com/containerd/containerd/api/services/version/v1;version', 23 | create_key=_descriptor._internal_create_key, 24 | serialized_pb=b'\n,containerd/services/version/v1/version.proto\x12\x1e\x63ontainerd.services.version.v1\x1a\x1bgoogle/protobuf/empty.proto\x1a&containerd/vendor/gogoproto/gogo.proto\"4\n\x0fVersionResponse\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x10\n\x08revision\x18\x02 \x01(\t2]\n\x07Version\x12R\n\x07Version\x12\x16.google.protobuf.Empty\x1a/.containerd.services.version.v1.VersionResponseBBZ@github.com/containerd/containerd/api/services/version/v1;versionX\x01\x62\x06proto3' 25 | , 26 | dependencies=[google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2.DESCRIPTOR,]) 27 | 28 | 29 | 30 | 31 | _VERSIONRESPONSE = _descriptor.Descriptor( 32 | name='VersionResponse', 33 | full_name='containerd.services.version.v1.VersionResponse', 34 | filename=None, 35 | file=DESCRIPTOR, 36 | containing_type=None, 37 | create_key=_descriptor._internal_create_key, 38 | fields=[ 39 | _descriptor.FieldDescriptor( 40 | name='version', full_name='containerd.services.version.v1.VersionResponse.version', index=0, 41 | number=1, type=9, cpp_type=9, label=1, 42 | has_default_value=False, default_value=b"".decode('utf-8'), 43 | message_type=None, enum_type=None, containing_type=None, 44 | is_extension=False, extension_scope=None, 45 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 46 | _descriptor.FieldDescriptor( 47 | name='revision', full_name='containerd.services.version.v1.VersionResponse.revision', index=1, 48 | number=2, type=9, cpp_type=9, label=1, 49 | has_default_value=False, default_value=b"".decode('utf-8'), 50 | message_type=None, enum_type=None, containing_type=None, 51 | is_extension=False, extension_scope=None, 52 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 53 | ], 54 | extensions=[ 55 | ], 56 | nested_types=[], 57 | enum_types=[ 58 | ], 59 | serialized_options=None, 60 | is_extendable=False, 61 | syntax='proto3', 62 | extension_ranges=[], 63 | oneofs=[ 64 | ], 65 | serialized_start=149, 66 | serialized_end=201, 67 | ) 68 | 69 | DESCRIPTOR.message_types_by_name['VersionResponse'] = _VERSIONRESPONSE 70 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 71 | 72 | VersionResponse = _reflection.GeneratedProtocolMessageType('VersionResponse', (_message.Message,), { 73 | 'DESCRIPTOR' : _VERSIONRESPONSE, 74 | '__module__' : 'containerd.services.version.v1.version_pb2' 75 | # @@protoc_insertion_point(class_scope:containerd.services.version.v1.VersionResponse) 76 | }) 77 | _sym_db.RegisterMessage(VersionResponse) 78 | 79 | 80 | DESCRIPTOR._options = None 81 | 82 | _VERSION = _descriptor.ServiceDescriptor( 83 | name='Version', 84 | full_name='containerd.services.version.v1.Version', 85 | file=DESCRIPTOR, 86 | index=0, 87 | serialized_options=None, 88 | create_key=_descriptor._internal_create_key, 89 | serialized_start=203, 90 | serialized_end=296, 91 | methods=[ 92 | _descriptor.MethodDescriptor( 93 | name='Version', 94 | full_name='containerd.services.version.v1.Version.Version', 95 | index=0, 96 | containing_service=None, 97 | input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, 98 | output_type=_VERSIONRESPONSE, 99 | serialized_options=None, 100 | create_key=_descriptor._internal_create_key, 101 | ), 102 | ]) 103 | _sym_db.RegisterServiceDescriptor(_VERSION) 104 | 105 | DESCRIPTOR.services_by_name['Version'] = _VERSION 106 | 107 | # @@protoc_insertion_point(module_scope) 108 | -------------------------------------------------------------------------------- /api_1.2/containerd/services/version/v1/version_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | from containerd.services.version.v1 import version_pb2 as containerd_dot_services_dot_version_dot_v1_dot_version__pb2 6 | from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 7 | 8 | 9 | class VersionStub(object): 10 | """Missing associated documentation comment in .proto file.""" 11 | 12 | def __init__(self, channel): 13 | """Constructor. 14 | 15 | Args: 16 | channel: A grpc.Channel. 17 | """ 18 | self.Version = channel.unary_unary( 19 | '/containerd.services.version.v1.Version/Version', 20 | request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, 21 | response_deserializer=containerd_dot_services_dot_version_dot_v1_dot_version__pb2.VersionResponse.FromString, 22 | ) 23 | 24 | 25 | class VersionServicer(object): 26 | """Missing associated documentation comment in .proto file.""" 27 | 28 | def Version(self, request, context): 29 | """Missing associated documentation comment in .proto file.""" 30 | context.set_code(grpc.StatusCode.UNIMPLEMENTED) 31 | context.set_details('Method not implemented!') 32 | raise NotImplementedError('Method not implemented!') 33 | 34 | 35 | def add_VersionServicer_to_server(servicer, server): 36 | rpc_method_handlers = { 37 | 'Version': grpc.unary_unary_rpc_method_handler( 38 | servicer.Version, 39 | request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, 40 | response_serializer=containerd_dot_services_dot_version_dot_v1_dot_version__pb2.VersionResponse.SerializeToString, 41 | ), 42 | } 43 | generic_handler = grpc.method_handlers_generic_handler( 44 | 'containerd.services.version.v1.Version', rpc_method_handlers) 45 | server.add_generic_rpc_handlers((generic_handler,)) 46 | 47 | 48 | # This class is part of an EXPERIMENTAL API. 49 | class Version(object): 50 | """Missing associated documentation comment in .proto file.""" 51 | 52 | @staticmethod 53 | def Version(request, 54 | target, 55 | options=(), 56 | channel_credentials=None, 57 | call_credentials=None, 58 | insecure=False, 59 | compression=None, 60 | wait_for_ready=None, 61 | timeout=None, 62 | metadata=None): 63 | return grpc.experimental.unary_unary(request, target, '/containerd.services.version.v1.Version/Version', 64 | google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, 65 | containerd_dot_services_dot_version_dot_v1_dot_version__pb2.VersionResponse.FromString, 66 | options, channel_credentials, 67 | insecure, call_credentials, compression, wait_for_ready, timeout, metadata) 68 | -------------------------------------------------------------------------------- /api_1.2/containerd/types/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/types/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/types/descriptor_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: containerd/types/descriptor.proto 4 | """Generated protocol buffer code.""" 5 | from google.protobuf import descriptor as _descriptor 6 | from google.protobuf import message as _message 7 | from google.protobuf import reflection as _reflection 8 | from google.protobuf import symbol_database as _symbol_database 9 | # @@protoc_insertion_point(imports) 10 | 11 | _sym_db = _symbol_database.Default() 12 | 13 | 14 | from containerd.vendor.gogoproto import gogo_pb2 as containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2 15 | 16 | 17 | DESCRIPTOR = _descriptor.FileDescriptor( 18 | name='containerd/types/descriptor.proto', 19 | package='containerd.types', 20 | syntax='proto3', 21 | serialized_options=b'Z0github.com/containerd/containerd/api/types;types', 22 | create_key=_descriptor._internal_create_key, 23 | serialized_pb=b'\n!containerd/types/descriptor.proto\x12\x10\x63ontainerd.types\x1a&containerd/vendor/gogoproto/gogo.proto\"r\n\nDescriptor\x12\x12\n\nmedia_type\x18\x01 \x01(\t\x12\x42\n\x06\x64igest\x18\x02 \x01(\tB2\xda\xde\x1f*github.com/opencontainers/go-digest.Digest\xc8\xde\x1f\x00\x12\x0c\n\x04size\x18\x03 \x01(\x03\x42\x32Z0github.com/containerd/containerd/api/types;typesX\x00\x62\x06proto3' 24 | , 25 | dependencies=[containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2.DESCRIPTOR,]) 26 | 27 | 28 | 29 | 30 | _DESCRIPTOR = _descriptor.Descriptor( 31 | name='Descriptor', 32 | full_name='containerd.types.Descriptor', 33 | filename=None, 34 | file=DESCRIPTOR, 35 | containing_type=None, 36 | create_key=_descriptor._internal_create_key, 37 | fields=[ 38 | _descriptor.FieldDescriptor( 39 | name='media_type', full_name='containerd.types.Descriptor.media_type', index=0, 40 | number=1, type=9, cpp_type=9, label=1, 41 | has_default_value=False, default_value=b"".decode('utf-8'), 42 | message_type=None, enum_type=None, containing_type=None, 43 | is_extension=False, extension_scope=None, 44 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 45 | _descriptor.FieldDescriptor( 46 | name='digest', full_name='containerd.types.Descriptor.digest', index=1, 47 | number=2, type=9, cpp_type=9, label=1, 48 | has_default_value=False, default_value=b"".decode('utf-8'), 49 | message_type=None, enum_type=None, containing_type=None, 50 | is_extension=False, extension_scope=None, 51 | serialized_options=b'\332\336\037*github.com/opencontainers/go-digest.Digest\310\336\037\000', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 52 | _descriptor.FieldDescriptor( 53 | name='size', full_name='containerd.types.Descriptor.size', index=2, 54 | number=3, type=3, cpp_type=2, label=1, 55 | has_default_value=False, default_value=0, 56 | message_type=None, enum_type=None, containing_type=None, 57 | is_extension=False, extension_scope=None, 58 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 59 | ], 60 | extensions=[ 61 | ], 62 | nested_types=[], 63 | enum_types=[ 64 | ], 65 | serialized_options=None, 66 | is_extendable=False, 67 | syntax='proto3', 68 | extension_ranges=[], 69 | oneofs=[ 70 | ], 71 | serialized_start=95, 72 | serialized_end=209, 73 | ) 74 | 75 | DESCRIPTOR.message_types_by_name['Descriptor'] = _DESCRIPTOR 76 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 77 | 78 | Descriptor = _reflection.GeneratedProtocolMessageType('Descriptor', (_message.Message,), { 79 | 'DESCRIPTOR' : _DESCRIPTOR, 80 | '__module__' : 'containerd.types.descriptor_pb2' 81 | # @@protoc_insertion_point(class_scope:containerd.types.Descriptor) 82 | }) 83 | _sym_db.RegisterMessage(Descriptor) 84 | 85 | 86 | DESCRIPTOR._options = None 87 | _DESCRIPTOR.fields_by_name['digest']._options = None 88 | # @@protoc_insertion_point(module_scope) 89 | -------------------------------------------------------------------------------- /api_1.2/containerd/types/descriptor_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.2/containerd/types/metrics_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: containerd/types/metrics.proto 4 | """Generated protocol buffer code.""" 5 | from google.protobuf import descriptor as _descriptor 6 | from google.protobuf import message as _message 7 | from google.protobuf import reflection as _reflection 8 | from google.protobuf import symbol_database as _symbol_database 9 | # @@protoc_insertion_point(imports) 10 | 11 | _sym_db = _symbol_database.Default() 12 | 13 | 14 | from containerd.vendor.gogoproto import gogo_pb2 as containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2 15 | from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 16 | from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 17 | 18 | 19 | DESCRIPTOR = _descriptor.FileDescriptor( 20 | name='containerd/types/metrics.proto', 21 | package='containerd.types', 22 | syntax='proto3', 23 | serialized_options=b'Z0github.com/containerd/containerd/api/types;types', 24 | create_key=_descriptor._internal_create_key, 25 | serialized_pb=b'\n\x1e\x63ontainerd/types/metrics.proto\x12\x10\x63ontainerd.types\x1a&containerd/vendor/gogoproto/gogo.proto\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"q\n\x06Metric\x12\x37\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\x90\xdf\x1f\x01\xc8\xde\x1f\x00\x12\n\n\x02id\x18\x02 \x01(\t\x12\"\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyB2Z0github.com/containerd/containerd/api/types;typesX\x00\x62\x06proto3' 26 | , 27 | dependencies=[containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2.DESCRIPTOR,google_dot_protobuf_dot_any__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,]) 28 | 29 | 30 | 31 | 32 | _METRIC = _descriptor.Descriptor( 33 | name='Metric', 34 | full_name='containerd.types.Metric', 35 | filename=None, 36 | file=DESCRIPTOR, 37 | containing_type=None, 38 | create_key=_descriptor._internal_create_key, 39 | fields=[ 40 | _descriptor.FieldDescriptor( 41 | name='timestamp', full_name='containerd.types.Metric.timestamp', index=0, 42 | number=1, type=11, cpp_type=10, label=1, 43 | has_default_value=False, default_value=None, 44 | message_type=None, enum_type=None, containing_type=None, 45 | is_extension=False, extension_scope=None, 46 | serialized_options=b'\220\337\037\001\310\336\037\000', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 47 | _descriptor.FieldDescriptor( 48 | name='id', full_name='containerd.types.Metric.id', index=1, 49 | number=2, type=9, cpp_type=9, label=1, 50 | has_default_value=False, default_value=b"".decode('utf-8'), 51 | message_type=None, enum_type=None, containing_type=None, 52 | is_extension=False, extension_scope=None, 53 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 54 | _descriptor.FieldDescriptor( 55 | name='data', full_name='containerd.types.Metric.data', index=2, 56 | number=3, type=11, cpp_type=10, label=1, 57 | has_default_value=False, default_value=None, 58 | message_type=None, enum_type=None, containing_type=None, 59 | is_extension=False, extension_scope=None, 60 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 61 | ], 62 | extensions=[ 63 | ], 64 | nested_types=[], 65 | enum_types=[ 66 | ], 67 | serialized_options=None, 68 | is_extendable=False, 69 | syntax='proto3', 70 | extension_ranges=[], 71 | oneofs=[ 72 | ], 73 | serialized_start=152, 74 | serialized_end=265, 75 | ) 76 | 77 | _METRIC.fields_by_name['timestamp'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP 78 | _METRIC.fields_by_name['data'].message_type = google_dot_protobuf_dot_any__pb2._ANY 79 | DESCRIPTOR.message_types_by_name['Metric'] = _METRIC 80 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 81 | 82 | Metric = _reflection.GeneratedProtocolMessageType('Metric', (_message.Message,), { 83 | 'DESCRIPTOR' : _METRIC, 84 | '__module__' : 'containerd.types.metrics_pb2' 85 | # @@protoc_insertion_point(class_scope:containerd.types.Metric) 86 | }) 87 | _sym_db.RegisterMessage(Metric) 88 | 89 | 90 | DESCRIPTOR._options = None 91 | _METRIC.fields_by_name['timestamp']._options = None 92 | # @@protoc_insertion_point(module_scope) 93 | -------------------------------------------------------------------------------- /api_1.2/containerd/types/metrics_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.2/containerd/types/mount_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: containerd/types/mount.proto 4 | """Generated protocol buffer code.""" 5 | from google.protobuf import descriptor as _descriptor 6 | from google.protobuf import message as _message 7 | from google.protobuf import reflection as _reflection 8 | from google.protobuf import symbol_database as _symbol_database 9 | # @@protoc_insertion_point(imports) 10 | 11 | _sym_db = _symbol_database.Default() 12 | 13 | 14 | from containerd.vendor.gogoproto import gogo_pb2 as containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2 15 | 16 | 17 | DESCRIPTOR = _descriptor.FileDescriptor( 18 | name='containerd/types/mount.proto', 19 | package='containerd.types', 20 | syntax='proto3', 21 | serialized_options=b'Z0github.com/containerd/containerd/api/types;types', 22 | create_key=_descriptor._internal_create_key, 23 | serialized_pb=b'\n\x1c\x63ontainerd/types/mount.proto\x12\x10\x63ontainerd.types\x1a&containerd/vendor/gogoproto/gogo.proto\"F\n\x05Mount\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\x12\x0e\n\x06target\x18\x03 \x01(\t\x12\x0f\n\x07options\x18\x04 \x03(\tB2Z0github.com/containerd/containerd/api/types;typesX\x00\x62\x06proto3' 24 | , 25 | dependencies=[containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2.DESCRIPTOR,]) 26 | 27 | 28 | 29 | 30 | _MOUNT = _descriptor.Descriptor( 31 | name='Mount', 32 | full_name='containerd.types.Mount', 33 | filename=None, 34 | file=DESCRIPTOR, 35 | containing_type=None, 36 | create_key=_descriptor._internal_create_key, 37 | fields=[ 38 | _descriptor.FieldDescriptor( 39 | name='type', full_name='containerd.types.Mount.type', index=0, 40 | number=1, type=9, cpp_type=9, label=1, 41 | has_default_value=False, default_value=b"".decode('utf-8'), 42 | message_type=None, enum_type=None, containing_type=None, 43 | is_extension=False, extension_scope=None, 44 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 45 | _descriptor.FieldDescriptor( 46 | name='source', full_name='containerd.types.Mount.source', index=1, 47 | number=2, type=9, cpp_type=9, label=1, 48 | has_default_value=False, default_value=b"".decode('utf-8'), 49 | message_type=None, enum_type=None, containing_type=None, 50 | is_extension=False, extension_scope=None, 51 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 52 | _descriptor.FieldDescriptor( 53 | name='target', full_name='containerd.types.Mount.target', index=2, 54 | number=3, type=9, cpp_type=9, label=1, 55 | has_default_value=False, default_value=b"".decode('utf-8'), 56 | message_type=None, enum_type=None, containing_type=None, 57 | is_extension=False, extension_scope=None, 58 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 59 | _descriptor.FieldDescriptor( 60 | name='options', full_name='containerd.types.Mount.options', index=3, 61 | number=4, type=9, cpp_type=9, label=3, 62 | has_default_value=False, default_value=[], 63 | message_type=None, enum_type=None, containing_type=None, 64 | is_extension=False, extension_scope=None, 65 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 66 | ], 67 | extensions=[ 68 | ], 69 | nested_types=[], 70 | enum_types=[ 71 | ], 72 | serialized_options=None, 73 | is_extendable=False, 74 | syntax='proto3', 75 | extension_ranges=[], 76 | oneofs=[ 77 | ], 78 | serialized_start=90, 79 | serialized_end=160, 80 | ) 81 | 82 | DESCRIPTOR.message_types_by_name['Mount'] = _MOUNT 83 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 84 | 85 | Mount = _reflection.GeneratedProtocolMessageType('Mount', (_message.Message,), { 86 | 'DESCRIPTOR' : _MOUNT, 87 | '__module__' : 'containerd.types.mount_pb2' 88 | # @@protoc_insertion_point(class_scope:containerd.types.Mount) 89 | }) 90 | _sym_db.RegisterMessage(Mount) 91 | 92 | 93 | DESCRIPTOR._options = None 94 | # @@protoc_insertion_point(module_scope) 95 | -------------------------------------------------------------------------------- /api_1.2/containerd/types/mount_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.2/containerd/types/platform_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: containerd/types/platform.proto 4 | """Generated protocol buffer code.""" 5 | from google.protobuf import descriptor as _descriptor 6 | from google.protobuf import message as _message 7 | from google.protobuf import reflection as _reflection 8 | from google.protobuf import symbol_database as _symbol_database 9 | # @@protoc_insertion_point(imports) 10 | 11 | _sym_db = _symbol_database.Default() 12 | 13 | 14 | from containerd.vendor.gogoproto import gogo_pb2 as containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2 15 | 16 | 17 | DESCRIPTOR = _descriptor.FileDescriptor( 18 | name='containerd/types/platform.proto', 19 | package='containerd.types', 20 | syntax='proto3', 21 | serialized_options=b'Z0github.com/containerd/containerd/api/types;types', 22 | create_key=_descriptor._internal_create_key, 23 | serialized_pb=b'\n\x1f\x63ontainerd/types/platform.proto\x12\x10\x63ontainerd.types\x1a&containerd/vendor/gogoproto/gogo.proto\"E\n\x08Platform\x12\x12\n\x02os\x18\x01 \x01(\tB\x06\xe2\xde\x1f\x02OS\x12\x14\n\x0c\x61rchitecture\x18\x02 \x01(\t\x12\x0f\n\x07variant\x18\x03 \x01(\tB2Z0github.com/containerd/containerd/api/types;typesX\x00\x62\x06proto3' 24 | , 25 | dependencies=[containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2.DESCRIPTOR,]) 26 | 27 | 28 | 29 | 30 | _PLATFORM = _descriptor.Descriptor( 31 | name='Platform', 32 | full_name='containerd.types.Platform', 33 | filename=None, 34 | file=DESCRIPTOR, 35 | containing_type=None, 36 | create_key=_descriptor._internal_create_key, 37 | fields=[ 38 | _descriptor.FieldDescriptor( 39 | name='os', full_name='containerd.types.Platform.os', index=0, 40 | number=1, type=9, cpp_type=9, label=1, 41 | has_default_value=False, default_value=b"".decode('utf-8'), 42 | message_type=None, enum_type=None, containing_type=None, 43 | is_extension=False, extension_scope=None, 44 | serialized_options=b'\342\336\037\002OS', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 45 | _descriptor.FieldDescriptor( 46 | name='architecture', full_name='containerd.types.Platform.architecture', index=1, 47 | number=2, type=9, cpp_type=9, label=1, 48 | has_default_value=False, default_value=b"".decode('utf-8'), 49 | message_type=None, enum_type=None, containing_type=None, 50 | is_extension=False, extension_scope=None, 51 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 52 | _descriptor.FieldDescriptor( 53 | name='variant', full_name='containerd.types.Platform.variant', index=2, 54 | number=3, type=9, cpp_type=9, label=1, 55 | has_default_value=False, default_value=b"".decode('utf-8'), 56 | message_type=None, enum_type=None, containing_type=None, 57 | is_extension=False, extension_scope=None, 58 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 59 | ], 60 | extensions=[ 61 | ], 62 | nested_types=[], 63 | enum_types=[ 64 | ], 65 | serialized_options=None, 66 | is_extendable=False, 67 | syntax='proto3', 68 | extension_ranges=[], 69 | oneofs=[ 70 | ], 71 | serialized_start=93, 72 | serialized_end=162, 73 | ) 74 | 75 | DESCRIPTOR.message_types_by_name['Platform'] = _PLATFORM 76 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 77 | 78 | Platform = _reflection.GeneratedProtocolMessageType('Platform', (_message.Message,), { 79 | 'DESCRIPTOR' : _PLATFORM, 80 | '__module__' : 'containerd.types.platform_pb2' 81 | # @@protoc_insertion_point(class_scope:containerd.types.Platform) 82 | }) 83 | _sym_db.RegisterMessage(Platform) 84 | 85 | 86 | DESCRIPTOR._options = None 87 | _PLATFORM.fields_by_name['os']._options = None 88 | # @@protoc_insertion_point(module_scope) 89 | -------------------------------------------------------------------------------- /api_1.2/containerd/types/platform_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.2/containerd/types/task/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/types/task/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/types/task/task_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.2/containerd/vendor/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/vendor/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/vendor/gogoproto/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.2/containerd/vendor/gogoproto/__init__.py -------------------------------------------------------------------------------- /api_1.2/containerd/vendor/gogoproto/gogo_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.2/setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | from setuptools import setup, find_packages 4 | from containerd import __api_version__, __generation__ 5 | import os 6 | 7 | with open(os.path.join( 8 | os.path.abspath(os.path.dirname(__file__)), 9 | 'README.md' 10 | )) as f: 11 | ldesc = f.read() 12 | 13 | setup( 14 | name='containerd', 15 | version='%s.%d' % (__api_version__, __generation__) , 16 | description='containerd API for Python', 17 | long_description=ldesc, 18 | long_description_content_type='text/markdown', 19 | classifiers=[ 20 | 'Development Status :: 4 - Beta', 21 | 'Operating System :: POSIX :: Linux', 22 | 'Programming Language :: Python :: 3.6', 23 | 'Programming Language :: Python :: 3 :: Only', 24 | 'License :: OSI Approved :: Apache Software License', 25 | 'Topic :: Software Development :: Libraries', 26 | 'Topic :: System :: Clustering', 27 | 'Topic :: Utilities' 28 | ], 29 | license='Apache-2.0', 30 | author='Silvano Cirujano Cuesta', 31 | author_email='silvano.cirujano-cuesta@siemens.com', 32 | url='https://github.com/siemens/pycontainerd', 33 | packages=find_packages(exclude=["tests"]), 34 | install_requires=[ 35 | 'grpcio', 36 | 'protobuf>=3.13.0' 37 | ] 38 | ) 39 | -------------------------------------------------------------------------------- /api_1.2/version: -------------------------------------------------------------------------------- 1 | # library/package semantic version 2 | __api_version__ = '1.2' 3 | __generation__ = 2 4 | -------------------------------------------------------------------------------- /api_1.3/Makefile: -------------------------------------------------------------------------------- 1 | PKG = $(shell find dist -name "containerd-*-py3-none-any.whl") 2 | 3 | all: dist 4 | 5 | build: containerd 6 | python3 ./setup.py build 7 | 8 | dist: build 9 | python3 ./setup.py bdist_wheel 10 | 11 | .PHONY: install test-install 12 | install: $(PKG) 13 | sudo pip3 install $< 14 | 15 | test-install: $(PKG) 16 | pip3 install $< 17 | 18 | .PHONY: uninstall dev_install dev_uninstall 19 | uninstall: 20 | sudo pip3 uninstall --yes containerd 21 | 22 | dev_install: 23 | sudo pip3 install --editable . 24 | 25 | dev_uninstall: 26 | sudo rm /usr/local/lib/python3.7/dist-packages/containerd.egg-link 27 | sudo sed -i '/.*\/pycontainerd/d' /usr/local/lib/python3.7/dist-packages/easy-install.pth 28 | sudo find containerd -uid 0 -exec rm {} \; 29 | 30 | .PHONY: clean clobber 31 | clean: 32 | - rm -r build containerd.egg-info dist 33 | 34 | clobber: clean 35 | - rm -r containerd 36 | 37 | -------------------------------------------------------------------------------- /api_1.3/containerd/__init__.py: -------------------------------------------------------------------------------- 1 | # library/package semantic version 2 | __api_version__ = '1.3' 3 | __generation__ = 2 4 | -------------------------------------------------------------------------------- /api_1.3/containerd/events/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/events/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/events/container_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.3/containerd/events/content_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: containerd/events/content.proto 4 | """Generated protocol buffer code.""" 5 | from google.protobuf import descriptor as _descriptor 6 | from google.protobuf import message as _message 7 | from google.protobuf import reflection as _reflection 8 | from google.protobuf import symbol_database as _symbol_database 9 | # @@protoc_insertion_point(imports) 10 | 11 | _sym_db = _symbol_database.Default() 12 | 13 | 14 | from containerd.vendor.gogoproto import gogo_pb2 as containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2 15 | from containerd.protobuf.plugin import fieldpath_pb2 as containerd_dot_protobuf_dot_plugin_dot_fieldpath__pb2 16 | 17 | 18 | DESCRIPTOR = _descriptor.FileDescriptor( 19 | name='containerd/events/content.proto', 20 | package='containerd.events', 21 | syntax='proto3', 22 | serialized_options=b'Z2github.com/containerd/containerd/api/events;events\240\364\036\001', 23 | create_key=_descriptor._internal_create_key, 24 | serialized_pb=b'\n\x1f\x63ontainerd/events/content.proto\x12\x11\x63ontainerd.events\x1a&containerd/vendor/gogoproto/gogo.proto\x1a*containerd/protobuf/plugin/fieldpath.proto\"S\n\rContentDelete\x12\x42\n\x06\x64igest\x18\x01 \x01(\tB2\xda\xde\x1f*github.com/opencontainers/go-digest.Digest\xc8\xde\x1f\x00\x42\x38Z2github.com/containerd/containerd/api/events;events\xa0\xf4\x1e\x01X\x00X\x01\x62\x06proto3' 25 | , 26 | dependencies=[containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2.DESCRIPTOR,containerd_dot_protobuf_dot_plugin_dot_fieldpath__pb2.DESCRIPTOR,]) 27 | 28 | 29 | 30 | 31 | _CONTENTDELETE = _descriptor.Descriptor( 32 | name='ContentDelete', 33 | full_name='containerd.events.ContentDelete', 34 | filename=None, 35 | file=DESCRIPTOR, 36 | containing_type=None, 37 | create_key=_descriptor._internal_create_key, 38 | fields=[ 39 | _descriptor.FieldDescriptor( 40 | name='digest', full_name='containerd.events.ContentDelete.digest', index=0, 41 | number=1, type=9, cpp_type=9, label=1, 42 | has_default_value=False, default_value=b"".decode('utf-8'), 43 | message_type=None, enum_type=None, containing_type=None, 44 | is_extension=False, extension_scope=None, 45 | serialized_options=b'\332\336\037*github.com/opencontainers/go-digest.Digest\310\336\037\000', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 46 | ], 47 | extensions=[ 48 | ], 49 | nested_types=[], 50 | enum_types=[ 51 | ], 52 | serialized_options=None, 53 | is_extendable=False, 54 | syntax='proto3', 55 | extension_ranges=[], 56 | oneofs=[ 57 | ], 58 | serialized_start=138, 59 | serialized_end=221, 60 | ) 61 | 62 | DESCRIPTOR.message_types_by_name['ContentDelete'] = _CONTENTDELETE 63 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 64 | 65 | ContentDelete = _reflection.GeneratedProtocolMessageType('ContentDelete', (_message.Message,), { 66 | 'DESCRIPTOR' : _CONTENTDELETE, 67 | '__module__' : 'containerd.events.content_pb2' 68 | # @@protoc_insertion_point(class_scope:containerd.events.ContentDelete) 69 | }) 70 | _sym_db.RegisterMessage(ContentDelete) 71 | 72 | 73 | DESCRIPTOR._options = None 74 | _CONTENTDELETE.fields_by_name['digest']._options = None 75 | # @@protoc_insertion_point(module_scope) 76 | -------------------------------------------------------------------------------- /api_1.3/containerd/events/content_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.3/containerd/events/image_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.3/containerd/events/namespace_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.3/containerd/events/snapshot_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.3/containerd/events/task_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.3/containerd/protobuf/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/protobuf/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/protobuf/plugin/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/protobuf/plugin/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/protobuf/plugin/fieldpath_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: containerd/protobuf/plugin/fieldpath.proto 4 | """Generated protocol buffer code.""" 5 | from google.protobuf import descriptor as _descriptor 6 | from google.protobuf import message as _message 7 | from google.protobuf import reflection as _reflection 8 | from google.protobuf import symbol_database as _symbol_database 9 | # @@protoc_insertion_point(imports) 10 | 11 | _sym_db = _symbol_database.Default() 12 | 13 | 14 | from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 15 | 16 | 17 | DESCRIPTOR = _descriptor.FileDescriptor( 18 | name='containerd/protobuf/plugin/fieldpath.proto', 19 | package='containerd.plugin', 20 | syntax='proto2', 21 | serialized_options=None, 22 | create_key=_descriptor._internal_create_key, 23 | serialized_pb=b'\n*containerd/protobuf/plugin/fieldpath.proto\x12\x11\x63ontainerd.plugin\x1a google/protobuf/descriptor.proto:5\n\rfieldpath_all\x12\x1c.google.protobuf.FileOptions\x18\xc4\xee\x03 \x01(\x08:4\n\tfieldpath\x12\x1f.google.protobuf.MessageOptions\x18\x90\xf7\x03 \x01(\x08' 24 | , 25 | dependencies=[google_dot_protobuf_dot_descriptor__pb2.DESCRIPTOR,]) 26 | 27 | 28 | FIELDPATH_ALL_FIELD_NUMBER = 63300 29 | fieldpath_all = _descriptor.FieldDescriptor( 30 | name='fieldpath_all', full_name='containerd.plugin.fieldpath_all', index=0, 31 | number=63300, type=8, cpp_type=7, label=1, 32 | has_default_value=False, default_value=False, 33 | message_type=None, enum_type=None, containing_type=None, 34 | is_extension=True, extension_scope=None, 35 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key) 36 | FIELDPATH_FIELD_NUMBER = 64400 37 | fieldpath = _descriptor.FieldDescriptor( 38 | name='fieldpath', full_name='containerd.plugin.fieldpath', index=1, 39 | number=64400, type=8, cpp_type=7, label=1, 40 | has_default_value=False, default_value=False, 41 | message_type=None, enum_type=None, containing_type=None, 42 | is_extension=True, extension_scope=None, 43 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key) 44 | 45 | DESCRIPTOR.extensions_by_name['fieldpath_all'] = fieldpath_all 46 | DESCRIPTOR.extensions_by_name['fieldpath'] = fieldpath 47 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 48 | 49 | google_dot_protobuf_dot_descriptor__pb2.FileOptions.RegisterExtension(fieldpath_all) 50 | google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(fieldpath) 51 | 52 | # @@protoc_insertion_point(module_scope) 53 | -------------------------------------------------------------------------------- /api_1.3/containerd/protobuf/plugin/fieldpath_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.3/containerd/services/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/services/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/services/containers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/services/containers/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/services/containers/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/services/containers/v1/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/services/content/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/services/content/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/services/content/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/services/content/v1/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/services/diff/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/services/diff/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/services/diff/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/services/diff/v1/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/services/events/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/services/events/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/services/events/v1/__init__.py: -------------------------------------------------------------------------------- 1 | import importlib 2 | import google.protobuf.symbol_database 3 | # use "from ... import ... as ..." instead of "import ... as ..." for backwards 4 | # compatibility with Python 3.6-, see also https://stackoverflow.com/a/24968941 5 | from containerd.services.events.v1 import events_pb2 as eventsv1 6 | 7 | # Loads all containerd.events.xxx modules, so they will register their message 8 | # classes with their corresponding type URLs. Only then we can then later look 9 | # them up from protobuf's default symbol database. Please note that this here 10 | # is the only place where we pull in modules when loading a package, and on 11 | # purpose: this allows users to unwrap all existing events from their 12 | # envelopes when watching events without having to import all necessary 13 | # containerd.event.xxx modules explicitly by themselves. 14 | for evmod in ('container', 'content', 'image', 'namespace', 'snapshot', 'task'): 15 | importlib.import_module("containerd.events.{}_pb2".format(evmod)) 16 | sdb = google.protobuf.symbol_database.Default() 17 | 18 | # Returns the event message object from inside an event envelope. 19 | def unwrap(envelope): 20 | if not isinstance(envelope, eventsv1.Envelope): 21 | raise TypeError('requires an object of class Envelope, not ' + type(envelope).__name__) 22 | try: 23 | return sdb.GetSymbol(envelope.event.type_url).FromString(envelope.event.value) 24 | except KeyError: 25 | # Keep silent if the event message inside the envelope cannot be 26 | # unwrapped, because the event's type_url is unknown to us. Then 27 | # simply return None. 28 | pass 29 | return None 30 | -------------------------------------------------------------------------------- /api_1.3/containerd/services/images/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/services/images/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/services/images/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/services/images/v1/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/services/introspection/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/services/introspection/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/services/introspection/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/services/introspection/v1/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/services/leases/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/services/leases/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/services/leases/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/services/leases/v1/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/services/namespaces/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/services/namespaces/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/services/namespaces/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/services/namespaces/v1/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/services/snapshots/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/services/snapshots/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/services/snapshots/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/services/snapshots/v1/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/services/tasks/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/services/tasks/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/services/tasks/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/services/tasks/v1/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/services/ttrpc/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/services/ttrpc/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/services/ttrpc/events/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/services/ttrpc/events/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/services/ttrpc/events/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/services/ttrpc/events/v1/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/services/ttrpc/events/v1/events_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | from containerd.services.ttrpc.events.v1 import events_pb2 as containerd_dot_services_dot_ttrpc_dot_events_dot_v1_dot_events__pb2 6 | from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 7 | 8 | 9 | class EventsStub(object): 10 | """Missing associated documentation comment in .proto file.""" 11 | 12 | def __init__(self, channel): 13 | """Constructor. 14 | 15 | Args: 16 | channel: A grpc.Channel. 17 | """ 18 | self.Forward = channel.unary_unary( 19 | '/containerd.services.events.ttrpc.v1.Events/Forward', 20 | request_serializer=containerd_dot_services_dot_ttrpc_dot_events_dot_v1_dot_events__pb2.ForwardRequest.SerializeToString, 21 | response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, 22 | ) 23 | 24 | 25 | class EventsServicer(object): 26 | """Missing associated documentation comment in .proto file.""" 27 | 28 | def Forward(self, request, context): 29 | """Forward sends an event that has already been packaged into an envelope 30 | with a timestamp and namespace. 31 | 32 | This is useful if earlier timestamping is required or when forwarding on 33 | behalf of another component, namespace or publisher. 34 | """ 35 | context.set_code(grpc.StatusCode.UNIMPLEMENTED) 36 | context.set_details('Method not implemented!') 37 | raise NotImplementedError('Method not implemented!') 38 | 39 | 40 | def add_EventsServicer_to_server(servicer, server): 41 | rpc_method_handlers = { 42 | 'Forward': grpc.unary_unary_rpc_method_handler( 43 | servicer.Forward, 44 | request_deserializer=containerd_dot_services_dot_ttrpc_dot_events_dot_v1_dot_events__pb2.ForwardRequest.FromString, 45 | response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, 46 | ), 47 | } 48 | generic_handler = grpc.method_handlers_generic_handler( 49 | 'containerd.services.events.ttrpc.v1.Events', rpc_method_handlers) 50 | server.add_generic_rpc_handlers((generic_handler,)) 51 | 52 | 53 | # This class is part of an EXPERIMENTAL API. 54 | class Events(object): 55 | """Missing associated documentation comment in .proto file.""" 56 | 57 | @staticmethod 58 | def Forward(request, 59 | target, 60 | options=(), 61 | channel_credentials=None, 62 | call_credentials=None, 63 | insecure=False, 64 | compression=None, 65 | wait_for_ready=None, 66 | timeout=None, 67 | metadata=None): 68 | return grpc.experimental.unary_unary(request, target, '/containerd.services.events.ttrpc.v1.Events/Forward', 69 | containerd_dot_services_dot_ttrpc_dot_events_dot_v1_dot_events__pb2.ForwardRequest.SerializeToString, 70 | google_dot_protobuf_dot_empty__pb2.Empty.FromString, 71 | options, channel_credentials, 72 | insecure, call_credentials, compression, wait_for_ready, timeout, metadata) 73 | -------------------------------------------------------------------------------- /api_1.3/containerd/services/version/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/services/version/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/services/version/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/services/version/v1/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/services/version/v1/version_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: containerd/services/version/v1/version.proto 4 | """Generated protocol buffer code.""" 5 | from google.protobuf import descriptor as _descriptor 6 | from google.protobuf import message as _message 7 | from google.protobuf import reflection as _reflection 8 | from google.protobuf import symbol_database as _symbol_database 9 | # @@protoc_insertion_point(imports) 10 | 11 | _sym_db = _symbol_database.Default() 12 | 13 | 14 | from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 15 | from containerd.vendor.gogoproto import gogo_pb2 as containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2 16 | 17 | 18 | DESCRIPTOR = _descriptor.FileDescriptor( 19 | name='containerd/services/version/v1/version.proto', 20 | package='containerd.services.version.v1', 21 | syntax='proto3', 22 | serialized_options=b'Z@github.com/containerd/containerd/api/services/version/v1;version', 23 | create_key=_descriptor._internal_create_key, 24 | serialized_pb=b'\n,containerd/services/version/v1/version.proto\x12\x1e\x63ontainerd.services.version.v1\x1a\x1bgoogle/protobuf/empty.proto\x1a&containerd/vendor/gogoproto/gogo.proto\"4\n\x0fVersionResponse\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x10\n\x08revision\x18\x02 \x01(\t2]\n\x07Version\x12R\n\x07Version\x12\x16.google.protobuf.Empty\x1a/.containerd.services.version.v1.VersionResponseBBZ@github.com/containerd/containerd/api/services/version/v1;versionX\x01\x62\x06proto3' 25 | , 26 | dependencies=[google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2.DESCRIPTOR,]) 27 | 28 | 29 | 30 | 31 | _VERSIONRESPONSE = _descriptor.Descriptor( 32 | name='VersionResponse', 33 | full_name='containerd.services.version.v1.VersionResponse', 34 | filename=None, 35 | file=DESCRIPTOR, 36 | containing_type=None, 37 | create_key=_descriptor._internal_create_key, 38 | fields=[ 39 | _descriptor.FieldDescriptor( 40 | name='version', full_name='containerd.services.version.v1.VersionResponse.version', index=0, 41 | number=1, type=9, cpp_type=9, label=1, 42 | has_default_value=False, default_value=b"".decode('utf-8'), 43 | message_type=None, enum_type=None, containing_type=None, 44 | is_extension=False, extension_scope=None, 45 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 46 | _descriptor.FieldDescriptor( 47 | name='revision', full_name='containerd.services.version.v1.VersionResponse.revision', index=1, 48 | number=2, type=9, cpp_type=9, label=1, 49 | has_default_value=False, default_value=b"".decode('utf-8'), 50 | message_type=None, enum_type=None, containing_type=None, 51 | is_extension=False, extension_scope=None, 52 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 53 | ], 54 | extensions=[ 55 | ], 56 | nested_types=[], 57 | enum_types=[ 58 | ], 59 | serialized_options=None, 60 | is_extendable=False, 61 | syntax='proto3', 62 | extension_ranges=[], 63 | oneofs=[ 64 | ], 65 | serialized_start=149, 66 | serialized_end=201, 67 | ) 68 | 69 | DESCRIPTOR.message_types_by_name['VersionResponse'] = _VERSIONRESPONSE 70 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 71 | 72 | VersionResponse = _reflection.GeneratedProtocolMessageType('VersionResponse', (_message.Message,), { 73 | 'DESCRIPTOR' : _VERSIONRESPONSE, 74 | '__module__' : 'containerd.services.version.v1.version_pb2' 75 | # @@protoc_insertion_point(class_scope:containerd.services.version.v1.VersionResponse) 76 | }) 77 | _sym_db.RegisterMessage(VersionResponse) 78 | 79 | 80 | DESCRIPTOR._options = None 81 | 82 | _VERSION = _descriptor.ServiceDescriptor( 83 | name='Version', 84 | full_name='containerd.services.version.v1.Version', 85 | file=DESCRIPTOR, 86 | index=0, 87 | serialized_options=None, 88 | create_key=_descriptor._internal_create_key, 89 | serialized_start=203, 90 | serialized_end=296, 91 | methods=[ 92 | _descriptor.MethodDescriptor( 93 | name='Version', 94 | full_name='containerd.services.version.v1.Version.Version', 95 | index=0, 96 | containing_service=None, 97 | input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, 98 | output_type=_VERSIONRESPONSE, 99 | serialized_options=None, 100 | create_key=_descriptor._internal_create_key, 101 | ), 102 | ]) 103 | _sym_db.RegisterServiceDescriptor(_VERSION) 104 | 105 | DESCRIPTOR.services_by_name['Version'] = _VERSION 106 | 107 | # @@protoc_insertion_point(module_scope) 108 | -------------------------------------------------------------------------------- /api_1.3/containerd/services/version/v1/version_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | from containerd.services.version.v1 import version_pb2 as containerd_dot_services_dot_version_dot_v1_dot_version__pb2 6 | from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 7 | 8 | 9 | class VersionStub(object): 10 | """Missing associated documentation comment in .proto file.""" 11 | 12 | def __init__(self, channel): 13 | """Constructor. 14 | 15 | Args: 16 | channel: A grpc.Channel. 17 | """ 18 | self.Version = channel.unary_unary( 19 | '/containerd.services.version.v1.Version/Version', 20 | request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, 21 | response_deserializer=containerd_dot_services_dot_version_dot_v1_dot_version__pb2.VersionResponse.FromString, 22 | ) 23 | 24 | 25 | class VersionServicer(object): 26 | """Missing associated documentation comment in .proto file.""" 27 | 28 | def Version(self, request, context): 29 | """Missing associated documentation comment in .proto file.""" 30 | context.set_code(grpc.StatusCode.UNIMPLEMENTED) 31 | context.set_details('Method not implemented!') 32 | raise NotImplementedError('Method not implemented!') 33 | 34 | 35 | def add_VersionServicer_to_server(servicer, server): 36 | rpc_method_handlers = { 37 | 'Version': grpc.unary_unary_rpc_method_handler( 38 | servicer.Version, 39 | request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, 40 | response_serializer=containerd_dot_services_dot_version_dot_v1_dot_version__pb2.VersionResponse.SerializeToString, 41 | ), 42 | } 43 | generic_handler = grpc.method_handlers_generic_handler( 44 | 'containerd.services.version.v1.Version', rpc_method_handlers) 45 | server.add_generic_rpc_handlers((generic_handler,)) 46 | 47 | 48 | # This class is part of an EXPERIMENTAL API. 49 | class Version(object): 50 | """Missing associated documentation comment in .proto file.""" 51 | 52 | @staticmethod 53 | def Version(request, 54 | target, 55 | options=(), 56 | channel_credentials=None, 57 | call_credentials=None, 58 | insecure=False, 59 | compression=None, 60 | wait_for_ready=None, 61 | timeout=None, 62 | metadata=None): 63 | return grpc.experimental.unary_unary(request, target, '/containerd.services.version.v1.Version/Version', 64 | google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, 65 | containerd_dot_services_dot_version_dot_v1_dot_version__pb2.VersionResponse.FromString, 66 | options, channel_credentials, 67 | insecure, call_credentials, compression, wait_for_ready, timeout, metadata) 68 | -------------------------------------------------------------------------------- /api_1.3/containerd/types/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/types/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/types/descriptor_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.3/containerd/types/metrics_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: containerd/types/metrics.proto 4 | """Generated protocol buffer code.""" 5 | from google.protobuf import descriptor as _descriptor 6 | from google.protobuf import message as _message 7 | from google.protobuf import reflection as _reflection 8 | from google.protobuf import symbol_database as _symbol_database 9 | # @@protoc_insertion_point(imports) 10 | 11 | _sym_db = _symbol_database.Default() 12 | 13 | 14 | from containerd.vendor.gogoproto import gogo_pb2 as containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2 15 | from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 16 | from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 17 | 18 | 19 | DESCRIPTOR = _descriptor.FileDescriptor( 20 | name='containerd/types/metrics.proto', 21 | package='containerd.types', 22 | syntax='proto3', 23 | serialized_options=b'Z0github.com/containerd/containerd/api/types;types', 24 | create_key=_descriptor._internal_create_key, 25 | serialized_pb=b'\n\x1e\x63ontainerd/types/metrics.proto\x12\x10\x63ontainerd.types\x1a&containerd/vendor/gogoproto/gogo.proto\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"q\n\x06Metric\x12\x37\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\x90\xdf\x1f\x01\xc8\xde\x1f\x00\x12\n\n\x02id\x18\x02 \x01(\t\x12\"\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyB2Z0github.com/containerd/containerd/api/types;typesX\x00\x62\x06proto3' 26 | , 27 | dependencies=[containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2.DESCRIPTOR,google_dot_protobuf_dot_any__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,]) 28 | 29 | 30 | 31 | 32 | _METRIC = _descriptor.Descriptor( 33 | name='Metric', 34 | full_name='containerd.types.Metric', 35 | filename=None, 36 | file=DESCRIPTOR, 37 | containing_type=None, 38 | create_key=_descriptor._internal_create_key, 39 | fields=[ 40 | _descriptor.FieldDescriptor( 41 | name='timestamp', full_name='containerd.types.Metric.timestamp', index=0, 42 | number=1, type=11, cpp_type=10, label=1, 43 | has_default_value=False, default_value=None, 44 | message_type=None, enum_type=None, containing_type=None, 45 | is_extension=False, extension_scope=None, 46 | serialized_options=b'\220\337\037\001\310\336\037\000', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 47 | _descriptor.FieldDescriptor( 48 | name='id', full_name='containerd.types.Metric.id', index=1, 49 | number=2, type=9, cpp_type=9, label=1, 50 | has_default_value=False, default_value=b"".decode('utf-8'), 51 | message_type=None, enum_type=None, containing_type=None, 52 | is_extension=False, extension_scope=None, 53 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 54 | _descriptor.FieldDescriptor( 55 | name='data', full_name='containerd.types.Metric.data', index=2, 56 | number=3, type=11, cpp_type=10, label=1, 57 | has_default_value=False, default_value=None, 58 | message_type=None, enum_type=None, containing_type=None, 59 | is_extension=False, extension_scope=None, 60 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 61 | ], 62 | extensions=[ 63 | ], 64 | nested_types=[], 65 | enum_types=[ 66 | ], 67 | serialized_options=None, 68 | is_extendable=False, 69 | syntax='proto3', 70 | extension_ranges=[], 71 | oneofs=[ 72 | ], 73 | serialized_start=152, 74 | serialized_end=265, 75 | ) 76 | 77 | _METRIC.fields_by_name['timestamp'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP 78 | _METRIC.fields_by_name['data'].message_type = google_dot_protobuf_dot_any__pb2._ANY 79 | DESCRIPTOR.message_types_by_name['Metric'] = _METRIC 80 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 81 | 82 | Metric = _reflection.GeneratedProtocolMessageType('Metric', (_message.Message,), { 83 | 'DESCRIPTOR' : _METRIC, 84 | '__module__' : 'containerd.types.metrics_pb2' 85 | # @@protoc_insertion_point(class_scope:containerd.types.Metric) 86 | }) 87 | _sym_db.RegisterMessage(Metric) 88 | 89 | 90 | DESCRIPTOR._options = None 91 | _METRIC.fields_by_name['timestamp']._options = None 92 | # @@protoc_insertion_point(module_scope) 93 | -------------------------------------------------------------------------------- /api_1.3/containerd/types/metrics_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.3/containerd/types/mount_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: containerd/types/mount.proto 4 | """Generated protocol buffer code.""" 5 | from google.protobuf import descriptor as _descriptor 6 | from google.protobuf import message as _message 7 | from google.protobuf import reflection as _reflection 8 | from google.protobuf import symbol_database as _symbol_database 9 | # @@protoc_insertion_point(imports) 10 | 11 | _sym_db = _symbol_database.Default() 12 | 13 | 14 | from containerd.vendor.gogoproto import gogo_pb2 as containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2 15 | 16 | 17 | DESCRIPTOR = _descriptor.FileDescriptor( 18 | name='containerd/types/mount.proto', 19 | package='containerd.types', 20 | syntax='proto3', 21 | serialized_options=b'Z0github.com/containerd/containerd/api/types;types', 22 | create_key=_descriptor._internal_create_key, 23 | serialized_pb=b'\n\x1c\x63ontainerd/types/mount.proto\x12\x10\x63ontainerd.types\x1a&containerd/vendor/gogoproto/gogo.proto\"F\n\x05Mount\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\x12\x0e\n\x06target\x18\x03 \x01(\t\x12\x0f\n\x07options\x18\x04 \x03(\tB2Z0github.com/containerd/containerd/api/types;typesX\x00\x62\x06proto3' 24 | , 25 | dependencies=[containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2.DESCRIPTOR,]) 26 | 27 | 28 | 29 | 30 | _MOUNT = _descriptor.Descriptor( 31 | name='Mount', 32 | full_name='containerd.types.Mount', 33 | filename=None, 34 | file=DESCRIPTOR, 35 | containing_type=None, 36 | create_key=_descriptor._internal_create_key, 37 | fields=[ 38 | _descriptor.FieldDescriptor( 39 | name='type', full_name='containerd.types.Mount.type', index=0, 40 | number=1, type=9, cpp_type=9, label=1, 41 | has_default_value=False, default_value=b"".decode('utf-8'), 42 | message_type=None, enum_type=None, containing_type=None, 43 | is_extension=False, extension_scope=None, 44 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 45 | _descriptor.FieldDescriptor( 46 | name='source', full_name='containerd.types.Mount.source', index=1, 47 | number=2, type=9, cpp_type=9, label=1, 48 | has_default_value=False, default_value=b"".decode('utf-8'), 49 | message_type=None, enum_type=None, containing_type=None, 50 | is_extension=False, extension_scope=None, 51 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 52 | _descriptor.FieldDescriptor( 53 | name='target', full_name='containerd.types.Mount.target', index=2, 54 | number=3, type=9, cpp_type=9, label=1, 55 | has_default_value=False, default_value=b"".decode('utf-8'), 56 | message_type=None, enum_type=None, containing_type=None, 57 | is_extension=False, extension_scope=None, 58 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 59 | _descriptor.FieldDescriptor( 60 | name='options', full_name='containerd.types.Mount.options', index=3, 61 | number=4, type=9, cpp_type=9, label=3, 62 | has_default_value=False, default_value=[], 63 | message_type=None, enum_type=None, containing_type=None, 64 | is_extension=False, extension_scope=None, 65 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 66 | ], 67 | extensions=[ 68 | ], 69 | nested_types=[], 70 | enum_types=[ 71 | ], 72 | serialized_options=None, 73 | is_extendable=False, 74 | syntax='proto3', 75 | extension_ranges=[], 76 | oneofs=[ 77 | ], 78 | serialized_start=90, 79 | serialized_end=160, 80 | ) 81 | 82 | DESCRIPTOR.message_types_by_name['Mount'] = _MOUNT 83 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 84 | 85 | Mount = _reflection.GeneratedProtocolMessageType('Mount', (_message.Message,), { 86 | 'DESCRIPTOR' : _MOUNT, 87 | '__module__' : 'containerd.types.mount_pb2' 88 | # @@protoc_insertion_point(class_scope:containerd.types.Mount) 89 | }) 90 | _sym_db.RegisterMessage(Mount) 91 | 92 | 93 | DESCRIPTOR._options = None 94 | # @@protoc_insertion_point(module_scope) 95 | -------------------------------------------------------------------------------- /api_1.3/containerd/types/mount_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.3/containerd/types/platform_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: containerd/types/platform.proto 4 | """Generated protocol buffer code.""" 5 | from google.protobuf import descriptor as _descriptor 6 | from google.protobuf import message as _message 7 | from google.protobuf import reflection as _reflection 8 | from google.protobuf import symbol_database as _symbol_database 9 | # @@protoc_insertion_point(imports) 10 | 11 | _sym_db = _symbol_database.Default() 12 | 13 | 14 | from containerd.vendor.gogoproto import gogo_pb2 as containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2 15 | 16 | 17 | DESCRIPTOR = _descriptor.FileDescriptor( 18 | name='containerd/types/platform.proto', 19 | package='containerd.types', 20 | syntax='proto3', 21 | serialized_options=b'Z0github.com/containerd/containerd/api/types;types', 22 | create_key=_descriptor._internal_create_key, 23 | serialized_pb=b'\n\x1f\x63ontainerd/types/platform.proto\x12\x10\x63ontainerd.types\x1a&containerd/vendor/gogoproto/gogo.proto\"E\n\x08Platform\x12\x12\n\x02os\x18\x01 \x01(\tB\x06\xe2\xde\x1f\x02OS\x12\x14\n\x0c\x61rchitecture\x18\x02 \x01(\t\x12\x0f\n\x07variant\x18\x03 \x01(\tB2Z0github.com/containerd/containerd/api/types;typesX\x00\x62\x06proto3' 24 | , 25 | dependencies=[containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2.DESCRIPTOR,]) 26 | 27 | 28 | 29 | 30 | _PLATFORM = _descriptor.Descriptor( 31 | name='Platform', 32 | full_name='containerd.types.Platform', 33 | filename=None, 34 | file=DESCRIPTOR, 35 | containing_type=None, 36 | create_key=_descriptor._internal_create_key, 37 | fields=[ 38 | _descriptor.FieldDescriptor( 39 | name='os', full_name='containerd.types.Platform.os', index=0, 40 | number=1, type=9, cpp_type=9, label=1, 41 | has_default_value=False, default_value=b"".decode('utf-8'), 42 | message_type=None, enum_type=None, containing_type=None, 43 | is_extension=False, extension_scope=None, 44 | serialized_options=b'\342\336\037\002OS', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 45 | _descriptor.FieldDescriptor( 46 | name='architecture', full_name='containerd.types.Platform.architecture', index=1, 47 | number=2, type=9, cpp_type=9, label=1, 48 | has_default_value=False, default_value=b"".decode('utf-8'), 49 | message_type=None, enum_type=None, containing_type=None, 50 | is_extension=False, extension_scope=None, 51 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 52 | _descriptor.FieldDescriptor( 53 | name='variant', full_name='containerd.types.Platform.variant', index=2, 54 | number=3, type=9, cpp_type=9, label=1, 55 | has_default_value=False, default_value=b"".decode('utf-8'), 56 | message_type=None, enum_type=None, containing_type=None, 57 | is_extension=False, extension_scope=None, 58 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 59 | ], 60 | extensions=[ 61 | ], 62 | nested_types=[], 63 | enum_types=[ 64 | ], 65 | serialized_options=None, 66 | is_extendable=False, 67 | syntax='proto3', 68 | extension_ranges=[], 69 | oneofs=[ 70 | ], 71 | serialized_start=93, 72 | serialized_end=162, 73 | ) 74 | 75 | DESCRIPTOR.message_types_by_name['Platform'] = _PLATFORM 76 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 77 | 78 | Platform = _reflection.GeneratedProtocolMessageType('Platform', (_message.Message,), { 79 | 'DESCRIPTOR' : _PLATFORM, 80 | '__module__' : 'containerd.types.platform_pb2' 81 | # @@protoc_insertion_point(class_scope:containerd.types.Platform) 82 | }) 83 | _sym_db.RegisterMessage(Platform) 84 | 85 | 86 | DESCRIPTOR._options = None 87 | _PLATFORM.fields_by_name['os']._options = None 88 | # @@protoc_insertion_point(module_scope) 89 | -------------------------------------------------------------------------------- /api_1.3/containerd/types/platform_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.3/containerd/types/task/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/types/task/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/types/task/task_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.3/containerd/vendor/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/vendor/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/vendor/gogoproto/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.3/containerd/vendor/gogoproto/__init__.py -------------------------------------------------------------------------------- /api_1.3/containerd/vendor/gogoproto/gogo_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.3/setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | from setuptools import setup, find_packages 4 | from containerd import __api_version__, __generation__ 5 | import os 6 | 7 | with open(os.path.join( 8 | os.path.abspath(os.path.dirname(__file__)), 9 | 'README.md' 10 | )) as f: 11 | ldesc = f.read() 12 | 13 | setup( 14 | name='containerd', 15 | version='%s.%d' % (__api_version__, __generation__) , 16 | description='containerd API for Python', 17 | long_description=ldesc, 18 | long_description_content_type='text/markdown', 19 | classifiers=[ 20 | 'Development Status :: 4 - Beta', 21 | 'Operating System :: POSIX :: Linux', 22 | 'Programming Language :: Python :: 3.6', 23 | 'Programming Language :: Python :: 3 :: Only', 24 | 'License :: OSI Approved :: Apache Software License', 25 | 'Topic :: Software Development :: Libraries', 26 | 'Topic :: System :: Clustering', 27 | 'Topic :: Utilities' 28 | ], 29 | license='Apache-2.0', 30 | author='Silvano Cirujano Cuesta', 31 | author_email='silvano.cirujano-cuesta@siemens.com', 32 | url='https://github.com/siemens/pycontainerd', 33 | packages=find_packages(exclude=["tests"]), 34 | install_requires=[ 35 | 'grpcio', 36 | 'protobuf>=3.13.0' 37 | ] 38 | ) 39 | -------------------------------------------------------------------------------- /api_1.3/version: -------------------------------------------------------------------------------- 1 | # library/package semantic version 2 | __api_version__ = '1.3' 3 | __generation__ = 2 4 | -------------------------------------------------------------------------------- /api_1.4/Makefile: -------------------------------------------------------------------------------- 1 | PKG = $(shell find dist -name "containerd-*-py3-none-any.whl") 2 | 3 | all: dist 4 | 5 | build: containerd 6 | python3 ./setup.py build 7 | 8 | dist: build 9 | python3 ./setup.py bdist_wheel 10 | 11 | .PHONY: install test-install 12 | install: $(PKG) 13 | sudo pip3 install $< 14 | 15 | test-install: $(PKG) 16 | pip3 install $< 17 | 18 | .PHONY: uninstall dev_install dev_uninstall 19 | uninstall: 20 | sudo pip3 uninstall --yes containerd 21 | 22 | dev_install: 23 | sudo pip3 install --editable . 24 | 25 | dev_uninstall: 26 | sudo rm /usr/local/lib/python3.7/dist-packages/containerd.egg-link 27 | sudo sed -i '/.*\/pycontainerd/d' /usr/local/lib/python3.7/dist-packages/easy-install.pth 28 | sudo find containerd -uid 0 -exec rm {} \; 29 | 30 | .PHONY: clean clobber 31 | clean: 32 | - rm -r build containerd.egg-info dist 33 | 34 | clobber: clean 35 | - rm -r containerd 36 | 37 | -------------------------------------------------------------------------------- /api_1.4/containerd/__init__.py: -------------------------------------------------------------------------------- 1 | # library/package semantic version 2 | __api_version__ = '1.4' 3 | __generation__ = 2 4 | -------------------------------------------------------------------------------- /api_1.4/containerd/events/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/events/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/events/container_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.4/containerd/events/content_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: containerd/events/content.proto 4 | """Generated protocol buffer code.""" 5 | from google.protobuf import descriptor as _descriptor 6 | from google.protobuf import message as _message 7 | from google.protobuf import reflection as _reflection 8 | from google.protobuf import symbol_database as _symbol_database 9 | # @@protoc_insertion_point(imports) 10 | 11 | _sym_db = _symbol_database.Default() 12 | 13 | 14 | from containerd.vendor.gogoproto import gogo_pb2 as containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2 15 | from containerd.protobuf.plugin import fieldpath_pb2 as containerd_dot_protobuf_dot_plugin_dot_fieldpath__pb2 16 | 17 | 18 | DESCRIPTOR = _descriptor.FileDescriptor( 19 | name='containerd/events/content.proto', 20 | package='containerd.events', 21 | syntax='proto3', 22 | serialized_options=b'Z2github.com/containerd/containerd/api/events;events\240\364\036\001', 23 | create_key=_descriptor._internal_create_key, 24 | serialized_pb=b'\n\x1f\x63ontainerd/events/content.proto\x12\x11\x63ontainerd.events\x1a&containerd/vendor/gogoproto/gogo.proto\x1a*containerd/protobuf/plugin/fieldpath.proto\"S\n\rContentDelete\x12\x42\n\x06\x64igest\x18\x01 \x01(\tB2\xda\xde\x1f*github.com/opencontainers/go-digest.Digest\xc8\xde\x1f\x00\x42\x38Z2github.com/containerd/containerd/api/events;events\xa0\xf4\x1e\x01X\x00X\x01\x62\x06proto3' 25 | , 26 | dependencies=[containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2.DESCRIPTOR,containerd_dot_protobuf_dot_plugin_dot_fieldpath__pb2.DESCRIPTOR,]) 27 | 28 | 29 | 30 | 31 | _CONTENTDELETE = _descriptor.Descriptor( 32 | name='ContentDelete', 33 | full_name='containerd.events.ContentDelete', 34 | filename=None, 35 | file=DESCRIPTOR, 36 | containing_type=None, 37 | create_key=_descriptor._internal_create_key, 38 | fields=[ 39 | _descriptor.FieldDescriptor( 40 | name='digest', full_name='containerd.events.ContentDelete.digest', index=0, 41 | number=1, type=9, cpp_type=9, label=1, 42 | has_default_value=False, default_value=b"".decode('utf-8'), 43 | message_type=None, enum_type=None, containing_type=None, 44 | is_extension=False, extension_scope=None, 45 | serialized_options=b'\332\336\037*github.com/opencontainers/go-digest.Digest\310\336\037\000', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 46 | ], 47 | extensions=[ 48 | ], 49 | nested_types=[], 50 | enum_types=[ 51 | ], 52 | serialized_options=None, 53 | is_extendable=False, 54 | syntax='proto3', 55 | extension_ranges=[], 56 | oneofs=[ 57 | ], 58 | serialized_start=138, 59 | serialized_end=221, 60 | ) 61 | 62 | DESCRIPTOR.message_types_by_name['ContentDelete'] = _CONTENTDELETE 63 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 64 | 65 | ContentDelete = _reflection.GeneratedProtocolMessageType('ContentDelete', (_message.Message,), { 66 | 'DESCRIPTOR' : _CONTENTDELETE, 67 | '__module__' : 'containerd.events.content_pb2' 68 | # @@protoc_insertion_point(class_scope:containerd.events.ContentDelete) 69 | }) 70 | _sym_db.RegisterMessage(ContentDelete) 71 | 72 | 73 | DESCRIPTOR._options = None 74 | _CONTENTDELETE.fields_by_name['digest']._options = None 75 | # @@protoc_insertion_point(module_scope) 76 | -------------------------------------------------------------------------------- /api_1.4/containerd/events/content_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.4/containerd/events/image_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.4/containerd/events/namespace_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.4/containerd/events/snapshot_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.4/containerd/events/task_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.4/containerd/protobuf/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/protobuf/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/protobuf/plugin/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/protobuf/plugin/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/protobuf/plugin/fieldpath_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: containerd/protobuf/plugin/fieldpath.proto 4 | """Generated protocol buffer code.""" 5 | from google.protobuf import descriptor as _descriptor 6 | from google.protobuf import message as _message 7 | from google.protobuf import reflection as _reflection 8 | from google.protobuf import symbol_database as _symbol_database 9 | # @@protoc_insertion_point(imports) 10 | 11 | _sym_db = _symbol_database.Default() 12 | 13 | 14 | from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 15 | 16 | 17 | DESCRIPTOR = _descriptor.FileDescriptor( 18 | name='containerd/protobuf/plugin/fieldpath.proto', 19 | package='containerd.plugin', 20 | syntax='proto2', 21 | serialized_options=None, 22 | create_key=_descriptor._internal_create_key, 23 | serialized_pb=b'\n*containerd/protobuf/plugin/fieldpath.proto\x12\x11\x63ontainerd.plugin\x1a google/protobuf/descriptor.proto:5\n\rfieldpath_all\x12\x1c.google.protobuf.FileOptions\x18\xc4\xee\x03 \x01(\x08:4\n\tfieldpath\x12\x1f.google.protobuf.MessageOptions\x18\x90\xf7\x03 \x01(\x08' 24 | , 25 | dependencies=[google_dot_protobuf_dot_descriptor__pb2.DESCRIPTOR,]) 26 | 27 | 28 | FIELDPATH_ALL_FIELD_NUMBER = 63300 29 | fieldpath_all = _descriptor.FieldDescriptor( 30 | name='fieldpath_all', full_name='containerd.plugin.fieldpath_all', index=0, 31 | number=63300, type=8, cpp_type=7, label=1, 32 | has_default_value=False, default_value=False, 33 | message_type=None, enum_type=None, containing_type=None, 34 | is_extension=True, extension_scope=None, 35 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key) 36 | FIELDPATH_FIELD_NUMBER = 64400 37 | fieldpath = _descriptor.FieldDescriptor( 38 | name='fieldpath', full_name='containerd.plugin.fieldpath', index=1, 39 | number=64400, type=8, cpp_type=7, label=1, 40 | has_default_value=False, default_value=False, 41 | message_type=None, enum_type=None, containing_type=None, 42 | is_extension=True, extension_scope=None, 43 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key) 44 | 45 | DESCRIPTOR.extensions_by_name['fieldpath_all'] = fieldpath_all 46 | DESCRIPTOR.extensions_by_name['fieldpath'] = fieldpath 47 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 48 | 49 | google_dot_protobuf_dot_descriptor__pb2.FileOptions.RegisterExtension(fieldpath_all) 50 | google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(fieldpath) 51 | 52 | # @@protoc_insertion_point(module_scope) 53 | -------------------------------------------------------------------------------- /api_1.4/containerd/protobuf/plugin/fieldpath_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.4/containerd/services/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/services/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/services/containers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/services/containers/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/services/containers/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/services/containers/v1/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/services/content/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/services/content/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/services/content/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/services/content/v1/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/services/diff/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/services/diff/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/services/diff/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/services/diff/v1/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/services/events/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/services/events/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/services/events/v1/__init__.py: -------------------------------------------------------------------------------- 1 | import importlib 2 | import google.protobuf.symbol_database 3 | # use "from ... import ... as ..." instead of "import ... as ..." for backwards 4 | # compatibility with Python 3.6-, see also https://stackoverflow.com/a/24968941 5 | from containerd.services.events.v1 import events_pb2 as eventsv1 6 | 7 | # Loads all containerd.events.xxx modules, so they will register their message 8 | # classes with their corresponding type URLs. Only then we can then later look 9 | # them up from protobuf's default symbol database. Please note that this here 10 | # is the only place where we pull in modules when loading a package, and on 11 | # purpose: this allows users to unwrap all existing events from their 12 | # envelopes when watching events without having to import all necessary 13 | # containerd.event.xxx modules explicitly by themselves. 14 | for evmod in ('container', 'content', 'image', 'namespace', 'snapshot', 'task'): 15 | importlib.import_module("containerd.events.{}_pb2".format(evmod)) 16 | sdb = google.protobuf.symbol_database.Default() 17 | 18 | # Returns the event message object from inside an event envelope. 19 | def unwrap(envelope): 20 | if not isinstance(envelope, eventsv1.Envelope): 21 | raise TypeError('requires an object of class Envelope, not ' + type(envelope).__name__) 22 | try: 23 | return sdb.GetSymbol(envelope.event.type_url).FromString(envelope.event.value) 24 | except KeyError: 25 | # Keep silent if the event message inside the envelope cannot be 26 | # unwrapped, because the event's type_url is unknown to us. Then 27 | # simply return None. 28 | pass 29 | return None 30 | -------------------------------------------------------------------------------- /api_1.4/containerd/services/images/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/services/images/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/services/images/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/services/images/v1/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/services/introspection/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/services/introspection/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/services/introspection/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/services/introspection/v1/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/services/leases/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/services/leases/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/services/leases/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/services/leases/v1/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/services/namespaces/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/services/namespaces/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/services/namespaces/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/services/namespaces/v1/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/services/snapshots/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/services/snapshots/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/services/snapshots/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/services/snapshots/v1/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/services/tasks/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/services/tasks/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/services/tasks/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/services/tasks/v1/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/services/ttrpc/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/services/ttrpc/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/services/ttrpc/events/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/services/ttrpc/events/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/services/ttrpc/events/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/services/ttrpc/events/v1/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/services/ttrpc/events/v1/events_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | from containerd.services.ttrpc.events.v1 import events_pb2 as containerd_dot_services_dot_ttrpc_dot_events_dot_v1_dot_events__pb2 6 | from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 7 | 8 | 9 | class EventsStub(object): 10 | """Missing associated documentation comment in .proto file.""" 11 | 12 | def __init__(self, channel): 13 | """Constructor. 14 | 15 | Args: 16 | channel: A grpc.Channel. 17 | """ 18 | self.Forward = channel.unary_unary( 19 | '/containerd.services.events.ttrpc.v1.Events/Forward', 20 | request_serializer=containerd_dot_services_dot_ttrpc_dot_events_dot_v1_dot_events__pb2.ForwardRequest.SerializeToString, 21 | response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, 22 | ) 23 | 24 | 25 | class EventsServicer(object): 26 | """Missing associated documentation comment in .proto file.""" 27 | 28 | def Forward(self, request, context): 29 | """Forward sends an event that has already been packaged into an envelope 30 | with a timestamp and namespace. 31 | 32 | This is useful if earlier timestamping is required or when forwarding on 33 | behalf of another component, namespace or publisher. 34 | """ 35 | context.set_code(grpc.StatusCode.UNIMPLEMENTED) 36 | context.set_details('Method not implemented!') 37 | raise NotImplementedError('Method not implemented!') 38 | 39 | 40 | def add_EventsServicer_to_server(servicer, server): 41 | rpc_method_handlers = { 42 | 'Forward': grpc.unary_unary_rpc_method_handler( 43 | servicer.Forward, 44 | request_deserializer=containerd_dot_services_dot_ttrpc_dot_events_dot_v1_dot_events__pb2.ForwardRequest.FromString, 45 | response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, 46 | ), 47 | } 48 | generic_handler = grpc.method_handlers_generic_handler( 49 | 'containerd.services.events.ttrpc.v1.Events', rpc_method_handlers) 50 | server.add_generic_rpc_handlers((generic_handler,)) 51 | 52 | 53 | # This class is part of an EXPERIMENTAL API. 54 | class Events(object): 55 | """Missing associated documentation comment in .proto file.""" 56 | 57 | @staticmethod 58 | def Forward(request, 59 | target, 60 | options=(), 61 | channel_credentials=None, 62 | call_credentials=None, 63 | insecure=False, 64 | compression=None, 65 | wait_for_ready=None, 66 | timeout=None, 67 | metadata=None): 68 | return grpc.experimental.unary_unary(request, target, '/containerd.services.events.ttrpc.v1.Events/Forward', 69 | containerd_dot_services_dot_ttrpc_dot_events_dot_v1_dot_events__pb2.ForwardRequest.SerializeToString, 70 | google_dot_protobuf_dot_empty__pb2.Empty.FromString, 71 | options, channel_credentials, 72 | insecure, call_credentials, compression, wait_for_ready, timeout, metadata) 73 | -------------------------------------------------------------------------------- /api_1.4/containerd/services/version/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/services/version/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/services/version/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/services/version/v1/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/services/version/v1/version_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: containerd/services/version/v1/version.proto 4 | """Generated protocol buffer code.""" 5 | from google.protobuf import descriptor as _descriptor 6 | from google.protobuf import message as _message 7 | from google.protobuf import reflection as _reflection 8 | from google.protobuf import symbol_database as _symbol_database 9 | # @@protoc_insertion_point(imports) 10 | 11 | _sym_db = _symbol_database.Default() 12 | 13 | 14 | from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 15 | from containerd.vendor.gogoproto import gogo_pb2 as containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2 16 | 17 | 18 | DESCRIPTOR = _descriptor.FileDescriptor( 19 | name='containerd/services/version/v1/version.proto', 20 | package='containerd.services.version.v1', 21 | syntax='proto3', 22 | serialized_options=b'Z@github.com/containerd/containerd/api/services/version/v1;version', 23 | create_key=_descriptor._internal_create_key, 24 | serialized_pb=b'\n,containerd/services/version/v1/version.proto\x12\x1e\x63ontainerd.services.version.v1\x1a\x1bgoogle/protobuf/empty.proto\x1a&containerd/vendor/gogoproto/gogo.proto\"4\n\x0fVersionResponse\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x10\n\x08revision\x18\x02 \x01(\t2]\n\x07Version\x12R\n\x07Version\x12\x16.google.protobuf.Empty\x1a/.containerd.services.version.v1.VersionResponseBBZ@github.com/containerd/containerd/api/services/version/v1;versionX\x01\x62\x06proto3' 25 | , 26 | dependencies=[google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2.DESCRIPTOR,]) 27 | 28 | 29 | 30 | 31 | _VERSIONRESPONSE = _descriptor.Descriptor( 32 | name='VersionResponse', 33 | full_name='containerd.services.version.v1.VersionResponse', 34 | filename=None, 35 | file=DESCRIPTOR, 36 | containing_type=None, 37 | create_key=_descriptor._internal_create_key, 38 | fields=[ 39 | _descriptor.FieldDescriptor( 40 | name='version', full_name='containerd.services.version.v1.VersionResponse.version', index=0, 41 | number=1, type=9, cpp_type=9, label=1, 42 | has_default_value=False, default_value=b"".decode('utf-8'), 43 | message_type=None, enum_type=None, containing_type=None, 44 | is_extension=False, extension_scope=None, 45 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 46 | _descriptor.FieldDescriptor( 47 | name='revision', full_name='containerd.services.version.v1.VersionResponse.revision', index=1, 48 | number=2, type=9, cpp_type=9, label=1, 49 | has_default_value=False, default_value=b"".decode('utf-8'), 50 | message_type=None, enum_type=None, containing_type=None, 51 | is_extension=False, extension_scope=None, 52 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 53 | ], 54 | extensions=[ 55 | ], 56 | nested_types=[], 57 | enum_types=[ 58 | ], 59 | serialized_options=None, 60 | is_extendable=False, 61 | syntax='proto3', 62 | extension_ranges=[], 63 | oneofs=[ 64 | ], 65 | serialized_start=149, 66 | serialized_end=201, 67 | ) 68 | 69 | DESCRIPTOR.message_types_by_name['VersionResponse'] = _VERSIONRESPONSE 70 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 71 | 72 | VersionResponse = _reflection.GeneratedProtocolMessageType('VersionResponse', (_message.Message,), { 73 | 'DESCRIPTOR' : _VERSIONRESPONSE, 74 | '__module__' : 'containerd.services.version.v1.version_pb2' 75 | # @@protoc_insertion_point(class_scope:containerd.services.version.v1.VersionResponse) 76 | }) 77 | _sym_db.RegisterMessage(VersionResponse) 78 | 79 | 80 | DESCRIPTOR._options = None 81 | 82 | _VERSION = _descriptor.ServiceDescriptor( 83 | name='Version', 84 | full_name='containerd.services.version.v1.Version', 85 | file=DESCRIPTOR, 86 | index=0, 87 | serialized_options=None, 88 | create_key=_descriptor._internal_create_key, 89 | serialized_start=203, 90 | serialized_end=296, 91 | methods=[ 92 | _descriptor.MethodDescriptor( 93 | name='Version', 94 | full_name='containerd.services.version.v1.Version.Version', 95 | index=0, 96 | containing_service=None, 97 | input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, 98 | output_type=_VERSIONRESPONSE, 99 | serialized_options=None, 100 | create_key=_descriptor._internal_create_key, 101 | ), 102 | ]) 103 | _sym_db.RegisterServiceDescriptor(_VERSION) 104 | 105 | DESCRIPTOR.services_by_name['Version'] = _VERSION 106 | 107 | # @@protoc_insertion_point(module_scope) 108 | -------------------------------------------------------------------------------- /api_1.4/containerd/services/version/v1/version_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | from containerd.services.version.v1 import version_pb2 as containerd_dot_services_dot_version_dot_v1_dot_version__pb2 6 | from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 7 | 8 | 9 | class VersionStub(object): 10 | """Missing associated documentation comment in .proto file.""" 11 | 12 | def __init__(self, channel): 13 | """Constructor. 14 | 15 | Args: 16 | channel: A grpc.Channel. 17 | """ 18 | self.Version = channel.unary_unary( 19 | '/containerd.services.version.v1.Version/Version', 20 | request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, 21 | response_deserializer=containerd_dot_services_dot_version_dot_v1_dot_version__pb2.VersionResponse.FromString, 22 | ) 23 | 24 | 25 | class VersionServicer(object): 26 | """Missing associated documentation comment in .proto file.""" 27 | 28 | def Version(self, request, context): 29 | """Missing associated documentation comment in .proto file.""" 30 | context.set_code(grpc.StatusCode.UNIMPLEMENTED) 31 | context.set_details('Method not implemented!') 32 | raise NotImplementedError('Method not implemented!') 33 | 34 | 35 | def add_VersionServicer_to_server(servicer, server): 36 | rpc_method_handlers = { 37 | 'Version': grpc.unary_unary_rpc_method_handler( 38 | servicer.Version, 39 | request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, 40 | response_serializer=containerd_dot_services_dot_version_dot_v1_dot_version__pb2.VersionResponse.SerializeToString, 41 | ), 42 | } 43 | generic_handler = grpc.method_handlers_generic_handler( 44 | 'containerd.services.version.v1.Version', rpc_method_handlers) 45 | server.add_generic_rpc_handlers((generic_handler,)) 46 | 47 | 48 | # This class is part of an EXPERIMENTAL API. 49 | class Version(object): 50 | """Missing associated documentation comment in .proto file.""" 51 | 52 | @staticmethod 53 | def Version(request, 54 | target, 55 | options=(), 56 | channel_credentials=None, 57 | call_credentials=None, 58 | insecure=False, 59 | compression=None, 60 | wait_for_ready=None, 61 | timeout=None, 62 | metadata=None): 63 | return grpc.experimental.unary_unary(request, target, '/containerd.services.version.v1.Version/Version', 64 | google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, 65 | containerd_dot_services_dot_version_dot_v1_dot_version__pb2.VersionResponse.FromString, 66 | options, channel_credentials, 67 | insecure, call_credentials, compression, wait_for_ready, timeout, metadata) 68 | -------------------------------------------------------------------------------- /api_1.4/containerd/types/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/types/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/types/descriptor_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.4/containerd/types/metrics_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: containerd/types/metrics.proto 4 | """Generated protocol buffer code.""" 5 | from google.protobuf import descriptor as _descriptor 6 | from google.protobuf import message as _message 7 | from google.protobuf import reflection as _reflection 8 | from google.protobuf import symbol_database as _symbol_database 9 | # @@protoc_insertion_point(imports) 10 | 11 | _sym_db = _symbol_database.Default() 12 | 13 | 14 | from containerd.vendor.gogoproto import gogo_pb2 as containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2 15 | from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 16 | from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 17 | 18 | 19 | DESCRIPTOR = _descriptor.FileDescriptor( 20 | name='containerd/types/metrics.proto', 21 | package='containerd.types', 22 | syntax='proto3', 23 | serialized_options=b'Z0github.com/containerd/containerd/api/types;types', 24 | create_key=_descriptor._internal_create_key, 25 | serialized_pb=b'\n\x1e\x63ontainerd/types/metrics.proto\x12\x10\x63ontainerd.types\x1a&containerd/vendor/gogoproto/gogo.proto\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"q\n\x06Metric\x12\x37\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\x90\xdf\x1f\x01\xc8\xde\x1f\x00\x12\n\n\x02id\x18\x02 \x01(\t\x12\"\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyB2Z0github.com/containerd/containerd/api/types;typesX\x00\x62\x06proto3' 26 | , 27 | dependencies=[containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2.DESCRIPTOR,google_dot_protobuf_dot_any__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,]) 28 | 29 | 30 | 31 | 32 | _METRIC = _descriptor.Descriptor( 33 | name='Metric', 34 | full_name='containerd.types.Metric', 35 | filename=None, 36 | file=DESCRIPTOR, 37 | containing_type=None, 38 | create_key=_descriptor._internal_create_key, 39 | fields=[ 40 | _descriptor.FieldDescriptor( 41 | name='timestamp', full_name='containerd.types.Metric.timestamp', index=0, 42 | number=1, type=11, cpp_type=10, label=1, 43 | has_default_value=False, default_value=None, 44 | message_type=None, enum_type=None, containing_type=None, 45 | is_extension=False, extension_scope=None, 46 | serialized_options=b'\220\337\037\001\310\336\037\000', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 47 | _descriptor.FieldDescriptor( 48 | name='id', full_name='containerd.types.Metric.id', index=1, 49 | number=2, type=9, cpp_type=9, label=1, 50 | has_default_value=False, default_value=b"".decode('utf-8'), 51 | message_type=None, enum_type=None, containing_type=None, 52 | is_extension=False, extension_scope=None, 53 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 54 | _descriptor.FieldDescriptor( 55 | name='data', full_name='containerd.types.Metric.data', index=2, 56 | number=3, type=11, cpp_type=10, label=1, 57 | has_default_value=False, default_value=None, 58 | message_type=None, enum_type=None, containing_type=None, 59 | is_extension=False, extension_scope=None, 60 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 61 | ], 62 | extensions=[ 63 | ], 64 | nested_types=[], 65 | enum_types=[ 66 | ], 67 | serialized_options=None, 68 | is_extendable=False, 69 | syntax='proto3', 70 | extension_ranges=[], 71 | oneofs=[ 72 | ], 73 | serialized_start=152, 74 | serialized_end=265, 75 | ) 76 | 77 | _METRIC.fields_by_name['timestamp'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP 78 | _METRIC.fields_by_name['data'].message_type = google_dot_protobuf_dot_any__pb2._ANY 79 | DESCRIPTOR.message_types_by_name['Metric'] = _METRIC 80 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 81 | 82 | Metric = _reflection.GeneratedProtocolMessageType('Metric', (_message.Message,), { 83 | 'DESCRIPTOR' : _METRIC, 84 | '__module__' : 'containerd.types.metrics_pb2' 85 | # @@protoc_insertion_point(class_scope:containerd.types.Metric) 86 | }) 87 | _sym_db.RegisterMessage(Metric) 88 | 89 | 90 | DESCRIPTOR._options = None 91 | _METRIC.fields_by_name['timestamp']._options = None 92 | # @@protoc_insertion_point(module_scope) 93 | -------------------------------------------------------------------------------- /api_1.4/containerd/types/metrics_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.4/containerd/types/mount_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: containerd/types/mount.proto 4 | """Generated protocol buffer code.""" 5 | from google.protobuf import descriptor as _descriptor 6 | from google.protobuf import message as _message 7 | from google.protobuf import reflection as _reflection 8 | from google.protobuf import symbol_database as _symbol_database 9 | # @@protoc_insertion_point(imports) 10 | 11 | _sym_db = _symbol_database.Default() 12 | 13 | 14 | from containerd.vendor.gogoproto import gogo_pb2 as containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2 15 | 16 | 17 | DESCRIPTOR = _descriptor.FileDescriptor( 18 | name='containerd/types/mount.proto', 19 | package='containerd.types', 20 | syntax='proto3', 21 | serialized_options=b'Z0github.com/containerd/containerd/api/types;types', 22 | create_key=_descriptor._internal_create_key, 23 | serialized_pb=b'\n\x1c\x63ontainerd/types/mount.proto\x12\x10\x63ontainerd.types\x1a&containerd/vendor/gogoproto/gogo.proto\"F\n\x05Mount\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\x12\x0e\n\x06target\x18\x03 \x01(\t\x12\x0f\n\x07options\x18\x04 \x03(\tB2Z0github.com/containerd/containerd/api/types;typesX\x00\x62\x06proto3' 24 | , 25 | dependencies=[containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2.DESCRIPTOR,]) 26 | 27 | 28 | 29 | 30 | _MOUNT = _descriptor.Descriptor( 31 | name='Mount', 32 | full_name='containerd.types.Mount', 33 | filename=None, 34 | file=DESCRIPTOR, 35 | containing_type=None, 36 | create_key=_descriptor._internal_create_key, 37 | fields=[ 38 | _descriptor.FieldDescriptor( 39 | name='type', full_name='containerd.types.Mount.type', index=0, 40 | number=1, type=9, cpp_type=9, label=1, 41 | has_default_value=False, default_value=b"".decode('utf-8'), 42 | message_type=None, enum_type=None, containing_type=None, 43 | is_extension=False, extension_scope=None, 44 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 45 | _descriptor.FieldDescriptor( 46 | name='source', full_name='containerd.types.Mount.source', index=1, 47 | number=2, type=9, cpp_type=9, label=1, 48 | has_default_value=False, default_value=b"".decode('utf-8'), 49 | message_type=None, enum_type=None, containing_type=None, 50 | is_extension=False, extension_scope=None, 51 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 52 | _descriptor.FieldDescriptor( 53 | name='target', full_name='containerd.types.Mount.target', index=2, 54 | number=3, type=9, cpp_type=9, label=1, 55 | has_default_value=False, default_value=b"".decode('utf-8'), 56 | message_type=None, enum_type=None, containing_type=None, 57 | is_extension=False, extension_scope=None, 58 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 59 | _descriptor.FieldDescriptor( 60 | name='options', full_name='containerd.types.Mount.options', index=3, 61 | number=4, type=9, cpp_type=9, label=3, 62 | has_default_value=False, default_value=[], 63 | message_type=None, enum_type=None, containing_type=None, 64 | is_extension=False, extension_scope=None, 65 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 66 | ], 67 | extensions=[ 68 | ], 69 | nested_types=[], 70 | enum_types=[ 71 | ], 72 | serialized_options=None, 73 | is_extendable=False, 74 | syntax='proto3', 75 | extension_ranges=[], 76 | oneofs=[ 77 | ], 78 | serialized_start=90, 79 | serialized_end=160, 80 | ) 81 | 82 | DESCRIPTOR.message_types_by_name['Mount'] = _MOUNT 83 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 84 | 85 | Mount = _reflection.GeneratedProtocolMessageType('Mount', (_message.Message,), { 86 | 'DESCRIPTOR' : _MOUNT, 87 | '__module__' : 'containerd.types.mount_pb2' 88 | # @@protoc_insertion_point(class_scope:containerd.types.Mount) 89 | }) 90 | _sym_db.RegisterMessage(Mount) 91 | 92 | 93 | DESCRIPTOR._options = None 94 | # @@protoc_insertion_point(module_scope) 95 | -------------------------------------------------------------------------------- /api_1.4/containerd/types/mount_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.4/containerd/types/platform_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: containerd/types/platform.proto 4 | """Generated protocol buffer code.""" 5 | from google.protobuf import descriptor as _descriptor 6 | from google.protobuf import message as _message 7 | from google.protobuf import reflection as _reflection 8 | from google.protobuf import symbol_database as _symbol_database 9 | # @@protoc_insertion_point(imports) 10 | 11 | _sym_db = _symbol_database.Default() 12 | 13 | 14 | from containerd.vendor.gogoproto import gogo_pb2 as containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2 15 | 16 | 17 | DESCRIPTOR = _descriptor.FileDescriptor( 18 | name='containerd/types/platform.proto', 19 | package='containerd.types', 20 | syntax='proto3', 21 | serialized_options=b'Z0github.com/containerd/containerd/api/types;types', 22 | create_key=_descriptor._internal_create_key, 23 | serialized_pb=b'\n\x1f\x63ontainerd/types/platform.proto\x12\x10\x63ontainerd.types\x1a&containerd/vendor/gogoproto/gogo.proto\"E\n\x08Platform\x12\x12\n\x02os\x18\x01 \x01(\tB\x06\xe2\xde\x1f\x02OS\x12\x14\n\x0c\x61rchitecture\x18\x02 \x01(\t\x12\x0f\n\x07variant\x18\x03 \x01(\tB2Z0github.com/containerd/containerd/api/types;typesX\x00\x62\x06proto3' 24 | , 25 | dependencies=[containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2.DESCRIPTOR,]) 26 | 27 | 28 | 29 | 30 | _PLATFORM = _descriptor.Descriptor( 31 | name='Platform', 32 | full_name='containerd.types.Platform', 33 | filename=None, 34 | file=DESCRIPTOR, 35 | containing_type=None, 36 | create_key=_descriptor._internal_create_key, 37 | fields=[ 38 | _descriptor.FieldDescriptor( 39 | name='os', full_name='containerd.types.Platform.os', index=0, 40 | number=1, type=9, cpp_type=9, label=1, 41 | has_default_value=False, default_value=b"".decode('utf-8'), 42 | message_type=None, enum_type=None, containing_type=None, 43 | is_extension=False, extension_scope=None, 44 | serialized_options=b'\342\336\037\002OS', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 45 | _descriptor.FieldDescriptor( 46 | name='architecture', full_name='containerd.types.Platform.architecture', index=1, 47 | number=2, type=9, cpp_type=9, label=1, 48 | has_default_value=False, default_value=b"".decode('utf-8'), 49 | message_type=None, enum_type=None, containing_type=None, 50 | is_extension=False, extension_scope=None, 51 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 52 | _descriptor.FieldDescriptor( 53 | name='variant', full_name='containerd.types.Platform.variant', index=2, 54 | number=3, type=9, cpp_type=9, label=1, 55 | has_default_value=False, default_value=b"".decode('utf-8'), 56 | message_type=None, enum_type=None, containing_type=None, 57 | is_extension=False, extension_scope=None, 58 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 59 | ], 60 | extensions=[ 61 | ], 62 | nested_types=[], 63 | enum_types=[ 64 | ], 65 | serialized_options=None, 66 | is_extendable=False, 67 | syntax='proto3', 68 | extension_ranges=[], 69 | oneofs=[ 70 | ], 71 | serialized_start=93, 72 | serialized_end=162, 73 | ) 74 | 75 | DESCRIPTOR.message_types_by_name['Platform'] = _PLATFORM 76 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 77 | 78 | Platform = _reflection.GeneratedProtocolMessageType('Platform', (_message.Message,), { 79 | 'DESCRIPTOR' : _PLATFORM, 80 | '__module__' : 'containerd.types.platform_pb2' 81 | # @@protoc_insertion_point(class_scope:containerd.types.Platform) 82 | }) 83 | _sym_db.RegisterMessage(Platform) 84 | 85 | 86 | DESCRIPTOR._options = None 87 | _PLATFORM.fields_by_name['os']._options = None 88 | # @@protoc_insertion_point(module_scope) 89 | -------------------------------------------------------------------------------- /api_1.4/containerd/types/platform_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.4/containerd/types/task/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/types/task/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/types/task/task_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.4/containerd/vendor/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/vendor/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/vendor/gogoproto/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.4/containerd/vendor/gogoproto/__init__.py -------------------------------------------------------------------------------- /api_1.4/containerd/vendor/gogoproto/gogo_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.4/setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | from setuptools import setup, find_packages 4 | from containerd import __api_version__, __generation__ 5 | import os 6 | 7 | with open(os.path.join( 8 | os.path.abspath(os.path.dirname(__file__)), 9 | 'README.md' 10 | )) as f: 11 | ldesc = f.read() 12 | 13 | setup( 14 | name='containerd', 15 | version='%s.%d' % (__api_version__, __generation__) , 16 | description='containerd API for Python', 17 | long_description=ldesc, 18 | long_description_content_type='text/markdown', 19 | classifiers=[ 20 | 'Development Status :: 4 - Beta', 21 | 'Operating System :: POSIX :: Linux', 22 | 'Programming Language :: Python :: 3.6', 23 | 'Programming Language :: Python :: 3 :: Only', 24 | 'License :: OSI Approved :: Apache Software License', 25 | 'Topic :: Software Development :: Libraries', 26 | 'Topic :: System :: Clustering', 27 | 'Topic :: Utilities' 28 | ], 29 | license='Apache-2.0', 30 | author='Silvano Cirujano Cuesta', 31 | author_email='silvano.cirujano-cuesta@siemens.com', 32 | url='https://github.com/siemens/pycontainerd', 33 | packages=find_packages(exclude=["tests"]), 34 | install_requires=[ 35 | 'grpcio', 36 | 'protobuf>=3.13.0' 37 | ] 38 | ) 39 | -------------------------------------------------------------------------------- /api_1.4/version: -------------------------------------------------------------------------------- 1 | # library/package semantic version 2 | __api_version__ = '1.4' 3 | __generation__ = 2 4 | -------------------------------------------------------------------------------- /api_1.5/Makefile: -------------------------------------------------------------------------------- 1 | PKG = $(shell find dist -name "containerd-*-py3-none-any.whl") 2 | 3 | all: dist 4 | 5 | build: containerd 6 | python3 ./setup.py build 7 | 8 | dist: build 9 | python3 ./setup.py bdist_wheel 10 | 11 | .PHONY: install test-install 12 | install: $(PKG) 13 | sudo pip3 install $< 14 | 15 | test-install: $(PKG) 16 | pip3 install $< 17 | 18 | .PHONY: uninstall dev_install dev_uninstall 19 | uninstall: 20 | sudo pip3 uninstall --yes containerd 21 | 22 | dev_install: 23 | sudo pip3 install --editable . 24 | 25 | dev_uninstall: 26 | sudo rm /usr/local/lib/python3.7/dist-packages/containerd.egg-link 27 | sudo sed -i '/.*\/pycontainerd/d' /usr/local/lib/python3.7/dist-packages/easy-install.pth 28 | sudo find containerd -uid 0 -exec rm {} \; 29 | 30 | .PHONY: clean clobber 31 | clean: 32 | - rm -r build containerd.egg-info dist 33 | 34 | clobber: clean 35 | - rm -r containerd 36 | 37 | -------------------------------------------------------------------------------- /api_1.5/containerd/__init__.py: -------------------------------------------------------------------------------- 1 | # library/package semantic version 2 | __api_version__ = '1.5' 3 | __generation__ = 3 4 | -------------------------------------------------------------------------------- /api_1.5/containerd/events/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/events/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/events/container_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.5/containerd/events/content_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: containerd/events/content.proto 4 | """Generated protocol buffer code.""" 5 | from google.protobuf import descriptor as _descriptor 6 | from google.protobuf import message as _message 7 | from google.protobuf import reflection as _reflection 8 | from google.protobuf import symbol_database as _symbol_database 9 | # @@protoc_insertion_point(imports) 10 | 11 | _sym_db = _symbol_database.Default() 12 | 13 | 14 | from containerd.vendor.gogoproto import gogo_pb2 as containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2 15 | from containerd.protobuf.plugin import fieldpath_pb2 as containerd_dot_protobuf_dot_plugin_dot_fieldpath__pb2 16 | 17 | 18 | DESCRIPTOR = _descriptor.FileDescriptor( 19 | name='containerd/events/content.proto', 20 | package='containerd.events', 21 | syntax='proto3', 22 | serialized_options=b'Z2github.com/containerd/containerd/api/events;events\240\364\036\001', 23 | create_key=_descriptor._internal_create_key, 24 | serialized_pb=b'\n\x1f\x63ontainerd/events/content.proto\x12\x11\x63ontainerd.events\x1a&containerd/vendor/gogoproto/gogo.proto\x1a*containerd/protobuf/plugin/fieldpath.proto\"S\n\rContentDelete\x12\x42\n\x06\x64igest\x18\x01 \x01(\tB2\xda\xde\x1f*github.com/opencontainers/go-digest.Digest\xc8\xde\x1f\x00\x42\x38Z2github.com/containerd/containerd/api/events;events\xa0\xf4\x1e\x01X\x00X\x01\x62\x06proto3' 25 | , 26 | dependencies=[containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2.DESCRIPTOR,containerd_dot_protobuf_dot_plugin_dot_fieldpath__pb2.DESCRIPTOR,]) 27 | 28 | 29 | 30 | 31 | _CONTENTDELETE = _descriptor.Descriptor( 32 | name='ContentDelete', 33 | full_name='containerd.events.ContentDelete', 34 | filename=None, 35 | file=DESCRIPTOR, 36 | containing_type=None, 37 | create_key=_descriptor._internal_create_key, 38 | fields=[ 39 | _descriptor.FieldDescriptor( 40 | name='digest', full_name='containerd.events.ContentDelete.digest', index=0, 41 | number=1, type=9, cpp_type=9, label=1, 42 | has_default_value=False, default_value=b"".decode('utf-8'), 43 | message_type=None, enum_type=None, containing_type=None, 44 | is_extension=False, extension_scope=None, 45 | serialized_options=b'\332\336\037*github.com/opencontainers/go-digest.Digest\310\336\037\000', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 46 | ], 47 | extensions=[ 48 | ], 49 | nested_types=[], 50 | enum_types=[ 51 | ], 52 | serialized_options=None, 53 | is_extendable=False, 54 | syntax='proto3', 55 | extension_ranges=[], 56 | oneofs=[ 57 | ], 58 | serialized_start=138, 59 | serialized_end=221, 60 | ) 61 | 62 | DESCRIPTOR.message_types_by_name['ContentDelete'] = _CONTENTDELETE 63 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 64 | 65 | ContentDelete = _reflection.GeneratedProtocolMessageType('ContentDelete', (_message.Message,), { 66 | 'DESCRIPTOR' : _CONTENTDELETE, 67 | '__module__' : 'containerd.events.content_pb2' 68 | # @@protoc_insertion_point(class_scope:containerd.events.ContentDelete) 69 | }) 70 | _sym_db.RegisterMessage(ContentDelete) 71 | 72 | 73 | DESCRIPTOR._options = None 74 | _CONTENTDELETE.fields_by_name['digest']._options = None 75 | # @@protoc_insertion_point(module_scope) 76 | -------------------------------------------------------------------------------- /api_1.5/containerd/events/content_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.5/containerd/events/image_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.5/containerd/events/namespace_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.5/containerd/events/snapshot_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.5/containerd/events/task_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.5/containerd/protobuf/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/protobuf/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/protobuf/plugin/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/protobuf/plugin/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/protobuf/plugin/fieldpath_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: containerd/protobuf/plugin/fieldpath.proto 4 | """Generated protocol buffer code.""" 5 | from google.protobuf import descriptor as _descriptor 6 | from google.protobuf import message as _message 7 | from google.protobuf import reflection as _reflection 8 | from google.protobuf import symbol_database as _symbol_database 9 | # @@protoc_insertion_point(imports) 10 | 11 | _sym_db = _symbol_database.Default() 12 | 13 | 14 | from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 15 | 16 | 17 | DESCRIPTOR = _descriptor.FileDescriptor( 18 | name='containerd/protobuf/plugin/fieldpath.proto', 19 | package='containerd.plugin', 20 | syntax='proto2', 21 | serialized_options=None, 22 | create_key=_descriptor._internal_create_key, 23 | serialized_pb=b'\n*containerd/protobuf/plugin/fieldpath.proto\x12\x11\x63ontainerd.plugin\x1a google/protobuf/descriptor.proto:5\n\rfieldpath_all\x12\x1c.google.protobuf.FileOptions\x18\xc4\xee\x03 \x01(\x08:4\n\tfieldpath\x12\x1f.google.protobuf.MessageOptions\x18\x90\xf7\x03 \x01(\x08' 24 | , 25 | dependencies=[google_dot_protobuf_dot_descriptor__pb2.DESCRIPTOR,]) 26 | 27 | 28 | FIELDPATH_ALL_FIELD_NUMBER = 63300 29 | fieldpath_all = _descriptor.FieldDescriptor( 30 | name='fieldpath_all', full_name='containerd.plugin.fieldpath_all', index=0, 31 | number=63300, type=8, cpp_type=7, label=1, 32 | has_default_value=False, default_value=False, 33 | message_type=None, enum_type=None, containing_type=None, 34 | is_extension=True, extension_scope=None, 35 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key) 36 | FIELDPATH_FIELD_NUMBER = 64400 37 | fieldpath = _descriptor.FieldDescriptor( 38 | name='fieldpath', full_name='containerd.plugin.fieldpath', index=1, 39 | number=64400, type=8, cpp_type=7, label=1, 40 | has_default_value=False, default_value=False, 41 | message_type=None, enum_type=None, containing_type=None, 42 | is_extension=True, extension_scope=None, 43 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key) 44 | 45 | DESCRIPTOR.extensions_by_name['fieldpath_all'] = fieldpath_all 46 | DESCRIPTOR.extensions_by_name['fieldpath'] = fieldpath 47 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 48 | 49 | google_dot_protobuf_dot_descriptor__pb2.FileOptions.RegisterExtension(fieldpath_all) 50 | google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(fieldpath) 51 | 52 | # @@protoc_insertion_point(module_scope) 53 | -------------------------------------------------------------------------------- /api_1.5/containerd/protobuf/plugin/fieldpath_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.5/containerd/services/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/services/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/services/containers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/services/containers/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/services/containers/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/services/containers/v1/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/services/content/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/services/content/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/services/content/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/services/content/v1/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/services/diff/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/services/diff/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/services/diff/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/services/diff/v1/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/services/events/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/services/events/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/services/events/v1/__init__.py: -------------------------------------------------------------------------------- 1 | import importlib 2 | import google.protobuf.symbol_database 3 | # use "from ... import ... as ..." instead of "import ... as ..." for backwards 4 | # compatibility with Python 3.6-, see also https://stackoverflow.com/a/24968941 5 | from containerd.services.events.v1 import events_pb2 as eventsv1 6 | 7 | # Loads all containerd.events.xxx modules, so they will register their message 8 | # classes with their corresponding type URLs. Only then we can then later look 9 | # them up from protobuf's default symbol database. Please note that this here 10 | # is the only place where we pull in modules when loading a package, and on 11 | # purpose: this allows users to unwrap all existing events from their 12 | # envelopes when watching events without having to import all necessary 13 | # containerd.event.xxx modules explicitly by themselves. 14 | for evmod in ('container', 'content', 'image', 'namespace', 'snapshot', 'task'): 15 | importlib.import_module("containerd.events.{}_pb2".format(evmod)) 16 | sdb = google.protobuf.symbol_database.Default() 17 | 18 | # Returns the event message object from inside an event envelope. 19 | def unwrap(envelope): 20 | if not isinstance(envelope, eventsv1.Envelope): 21 | raise TypeError('requires an object of class Envelope, not ' + type(envelope).__name__) 22 | try: 23 | return sdb.GetSymbol(envelope.event.type_url).FromString(envelope.event.value) 24 | except KeyError: 25 | # Keep silent if the event message inside the envelope cannot be 26 | # unwrapped, because the event's type_url is unknown to us. Then 27 | # simply return None. 28 | pass 29 | return None 30 | -------------------------------------------------------------------------------- /api_1.5/containerd/services/images/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/services/images/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/services/images/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/services/images/v1/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/services/introspection/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/services/introspection/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/services/introspection/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/services/introspection/v1/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/services/leases/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/services/leases/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/services/leases/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/services/leases/v1/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/services/namespaces/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/services/namespaces/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/services/namespaces/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/services/namespaces/v1/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/services/snapshots/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/services/snapshots/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/services/snapshots/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/services/snapshots/v1/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/services/tasks/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/services/tasks/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/services/tasks/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/services/tasks/v1/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/services/ttrpc/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/services/ttrpc/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/services/ttrpc/events/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/services/ttrpc/events/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/services/ttrpc/events/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/services/ttrpc/events/v1/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/services/ttrpc/events/v1/events_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | from containerd.services.ttrpc.events.v1 import events_pb2 as containerd_dot_services_dot_ttrpc_dot_events_dot_v1_dot_events__pb2 6 | from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 7 | 8 | 9 | class EventsStub(object): 10 | """Missing associated documentation comment in .proto file.""" 11 | 12 | def __init__(self, channel): 13 | """Constructor. 14 | 15 | Args: 16 | channel: A grpc.Channel. 17 | """ 18 | self.Forward = channel.unary_unary( 19 | '/containerd.services.events.ttrpc.v1.Events/Forward', 20 | request_serializer=containerd_dot_services_dot_ttrpc_dot_events_dot_v1_dot_events__pb2.ForwardRequest.SerializeToString, 21 | response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, 22 | ) 23 | 24 | 25 | class EventsServicer(object): 26 | """Missing associated documentation comment in .proto file.""" 27 | 28 | def Forward(self, request, context): 29 | """Forward sends an event that has already been packaged into an envelope 30 | with a timestamp and namespace. 31 | 32 | This is useful if earlier timestamping is required or when forwarding on 33 | behalf of another component, namespace or publisher. 34 | """ 35 | context.set_code(grpc.StatusCode.UNIMPLEMENTED) 36 | context.set_details('Method not implemented!') 37 | raise NotImplementedError('Method not implemented!') 38 | 39 | 40 | def add_EventsServicer_to_server(servicer, server): 41 | rpc_method_handlers = { 42 | 'Forward': grpc.unary_unary_rpc_method_handler( 43 | servicer.Forward, 44 | request_deserializer=containerd_dot_services_dot_ttrpc_dot_events_dot_v1_dot_events__pb2.ForwardRequest.FromString, 45 | response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, 46 | ), 47 | } 48 | generic_handler = grpc.method_handlers_generic_handler( 49 | 'containerd.services.events.ttrpc.v1.Events', rpc_method_handlers) 50 | server.add_generic_rpc_handlers((generic_handler,)) 51 | 52 | 53 | # This class is part of an EXPERIMENTAL API. 54 | class Events(object): 55 | """Missing associated documentation comment in .proto file.""" 56 | 57 | @staticmethod 58 | def Forward(request, 59 | target, 60 | options=(), 61 | channel_credentials=None, 62 | call_credentials=None, 63 | insecure=False, 64 | compression=None, 65 | wait_for_ready=None, 66 | timeout=None, 67 | metadata=None): 68 | return grpc.experimental.unary_unary(request, target, '/containerd.services.events.ttrpc.v1.Events/Forward', 69 | containerd_dot_services_dot_ttrpc_dot_events_dot_v1_dot_events__pb2.ForwardRequest.SerializeToString, 70 | google_dot_protobuf_dot_empty__pb2.Empty.FromString, 71 | options, channel_credentials, 72 | insecure, call_credentials, compression, wait_for_ready, timeout, metadata) 73 | -------------------------------------------------------------------------------- /api_1.5/containerd/services/version/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/services/version/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/services/version/v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/services/version/v1/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/services/version/v1/version_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: containerd/services/version/v1/version.proto 4 | """Generated protocol buffer code.""" 5 | from google.protobuf import descriptor as _descriptor 6 | from google.protobuf import message as _message 7 | from google.protobuf import reflection as _reflection 8 | from google.protobuf import symbol_database as _symbol_database 9 | # @@protoc_insertion_point(imports) 10 | 11 | _sym_db = _symbol_database.Default() 12 | 13 | 14 | from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 15 | from containerd.vendor.gogoproto import gogo_pb2 as containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2 16 | 17 | 18 | DESCRIPTOR = _descriptor.FileDescriptor( 19 | name='containerd/services/version/v1/version.proto', 20 | package='containerd.services.version.v1', 21 | syntax='proto3', 22 | serialized_options=b'Z@github.com/containerd/containerd/api/services/version/v1;version', 23 | create_key=_descriptor._internal_create_key, 24 | serialized_pb=b'\n,containerd/services/version/v1/version.proto\x12\x1e\x63ontainerd.services.version.v1\x1a\x1bgoogle/protobuf/empty.proto\x1a&containerd/vendor/gogoproto/gogo.proto\"4\n\x0fVersionResponse\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x10\n\x08revision\x18\x02 \x01(\t2]\n\x07Version\x12R\n\x07Version\x12\x16.google.protobuf.Empty\x1a/.containerd.services.version.v1.VersionResponseBBZ@github.com/containerd/containerd/api/services/version/v1;versionX\x01\x62\x06proto3' 25 | , 26 | dependencies=[google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2.DESCRIPTOR,]) 27 | 28 | 29 | 30 | 31 | _VERSIONRESPONSE = _descriptor.Descriptor( 32 | name='VersionResponse', 33 | full_name='containerd.services.version.v1.VersionResponse', 34 | filename=None, 35 | file=DESCRIPTOR, 36 | containing_type=None, 37 | create_key=_descriptor._internal_create_key, 38 | fields=[ 39 | _descriptor.FieldDescriptor( 40 | name='version', full_name='containerd.services.version.v1.VersionResponse.version', index=0, 41 | number=1, type=9, cpp_type=9, label=1, 42 | has_default_value=False, default_value=b"".decode('utf-8'), 43 | message_type=None, enum_type=None, containing_type=None, 44 | is_extension=False, extension_scope=None, 45 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 46 | _descriptor.FieldDescriptor( 47 | name='revision', full_name='containerd.services.version.v1.VersionResponse.revision', index=1, 48 | number=2, type=9, cpp_type=9, label=1, 49 | has_default_value=False, default_value=b"".decode('utf-8'), 50 | message_type=None, enum_type=None, containing_type=None, 51 | is_extension=False, extension_scope=None, 52 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 53 | ], 54 | extensions=[ 55 | ], 56 | nested_types=[], 57 | enum_types=[ 58 | ], 59 | serialized_options=None, 60 | is_extendable=False, 61 | syntax='proto3', 62 | extension_ranges=[], 63 | oneofs=[ 64 | ], 65 | serialized_start=149, 66 | serialized_end=201, 67 | ) 68 | 69 | DESCRIPTOR.message_types_by_name['VersionResponse'] = _VERSIONRESPONSE 70 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 71 | 72 | VersionResponse = _reflection.GeneratedProtocolMessageType('VersionResponse', (_message.Message,), { 73 | 'DESCRIPTOR' : _VERSIONRESPONSE, 74 | '__module__' : 'containerd.services.version.v1.version_pb2' 75 | # @@protoc_insertion_point(class_scope:containerd.services.version.v1.VersionResponse) 76 | }) 77 | _sym_db.RegisterMessage(VersionResponse) 78 | 79 | 80 | DESCRIPTOR._options = None 81 | 82 | _VERSION = _descriptor.ServiceDescriptor( 83 | name='Version', 84 | full_name='containerd.services.version.v1.Version', 85 | file=DESCRIPTOR, 86 | index=0, 87 | serialized_options=None, 88 | create_key=_descriptor._internal_create_key, 89 | serialized_start=203, 90 | serialized_end=296, 91 | methods=[ 92 | _descriptor.MethodDescriptor( 93 | name='Version', 94 | full_name='containerd.services.version.v1.Version.Version', 95 | index=0, 96 | containing_service=None, 97 | input_type=google_dot_protobuf_dot_empty__pb2._EMPTY, 98 | output_type=_VERSIONRESPONSE, 99 | serialized_options=None, 100 | create_key=_descriptor._internal_create_key, 101 | ), 102 | ]) 103 | _sym_db.RegisterServiceDescriptor(_VERSION) 104 | 105 | DESCRIPTOR.services_by_name['Version'] = _VERSION 106 | 107 | # @@protoc_insertion_point(module_scope) 108 | -------------------------------------------------------------------------------- /api_1.5/containerd/services/version/v1/version_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | from containerd.services.version.v1 import version_pb2 as containerd_dot_services_dot_version_dot_v1_dot_version__pb2 6 | from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 7 | 8 | 9 | class VersionStub(object): 10 | """Missing associated documentation comment in .proto file.""" 11 | 12 | def __init__(self, channel): 13 | """Constructor. 14 | 15 | Args: 16 | channel: A grpc.Channel. 17 | """ 18 | self.Version = channel.unary_unary( 19 | '/containerd.services.version.v1.Version/Version', 20 | request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, 21 | response_deserializer=containerd_dot_services_dot_version_dot_v1_dot_version__pb2.VersionResponse.FromString, 22 | ) 23 | 24 | 25 | class VersionServicer(object): 26 | """Missing associated documentation comment in .proto file.""" 27 | 28 | def Version(self, request, context): 29 | """Missing associated documentation comment in .proto file.""" 30 | context.set_code(grpc.StatusCode.UNIMPLEMENTED) 31 | context.set_details('Method not implemented!') 32 | raise NotImplementedError('Method not implemented!') 33 | 34 | 35 | def add_VersionServicer_to_server(servicer, server): 36 | rpc_method_handlers = { 37 | 'Version': grpc.unary_unary_rpc_method_handler( 38 | servicer.Version, 39 | request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, 40 | response_serializer=containerd_dot_services_dot_version_dot_v1_dot_version__pb2.VersionResponse.SerializeToString, 41 | ), 42 | } 43 | generic_handler = grpc.method_handlers_generic_handler( 44 | 'containerd.services.version.v1.Version', rpc_method_handlers) 45 | server.add_generic_rpc_handlers((generic_handler,)) 46 | 47 | 48 | # This class is part of an EXPERIMENTAL API. 49 | class Version(object): 50 | """Missing associated documentation comment in .proto file.""" 51 | 52 | @staticmethod 53 | def Version(request, 54 | target, 55 | options=(), 56 | channel_credentials=None, 57 | call_credentials=None, 58 | insecure=False, 59 | compression=None, 60 | wait_for_ready=None, 61 | timeout=None, 62 | metadata=None): 63 | return grpc.experimental.unary_unary(request, target, '/containerd.services.version.v1.Version/Version', 64 | google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, 65 | containerd_dot_services_dot_version_dot_v1_dot_version__pb2.VersionResponse.FromString, 66 | options, channel_credentials, 67 | insecure, call_credentials, compression, wait_for_ready, timeout, metadata) 68 | -------------------------------------------------------------------------------- /api_1.5/containerd/types/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/types/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/types/descriptor_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.5/containerd/types/metrics_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: containerd/types/metrics.proto 4 | """Generated protocol buffer code.""" 5 | from google.protobuf import descriptor as _descriptor 6 | from google.protobuf import message as _message 7 | from google.protobuf import reflection as _reflection 8 | from google.protobuf import symbol_database as _symbol_database 9 | # @@protoc_insertion_point(imports) 10 | 11 | _sym_db = _symbol_database.Default() 12 | 13 | 14 | from containerd.vendor.gogoproto import gogo_pb2 as containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2 15 | from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 16 | from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 17 | 18 | 19 | DESCRIPTOR = _descriptor.FileDescriptor( 20 | name='containerd/types/metrics.proto', 21 | package='containerd.types', 22 | syntax='proto3', 23 | serialized_options=b'Z0github.com/containerd/containerd/api/types;types', 24 | create_key=_descriptor._internal_create_key, 25 | serialized_pb=b'\n\x1e\x63ontainerd/types/metrics.proto\x12\x10\x63ontainerd.types\x1a&containerd/vendor/gogoproto/gogo.proto\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"q\n\x06Metric\x12\x37\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\x90\xdf\x1f\x01\xc8\xde\x1f\x00\x12\n\n\x02id\x18\x02 \x01(\t\x12\"\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x14.google.protobuf.AnyB2Z0github.com/containerd/containerd/api/types;typesX\x00\x62\x06proto3' 26 | , 27 | dependencies=[containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2.DESCRIPTOR,google_dot_protobuf_dot_any__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,]) 28 | 29 | 30 | 31 | 32 | _METRIC = _descriptor.Descriptor( 33 | name='Metric', 34 | full_name='containerd.types.Metric', 35 | filename=None, 36 | file=DESCRIPTOR, 37 | containing_type=None, 38 | create_key=_descriptor._internal_create_key, 39 | fields=[ 40 | _descriptor.FieldDescriptor( 41 | name='timestamp', full_name='containerd.types.Metric.timestamp', index=0, 42 | number=1, type=11, cpp_type=10, label=1, 43 | has_default_value=False, default_value=None, 44 | message_type=None, enum_type=None, containing_type=None, 45 | is_extension=False, extension_scope=None, 46 | serialized_options=b'\220\337\037\001\310\336\037\000', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 47 | _descriptor.FieldDescriptor( 48 | name='id', full_name='containerd.types.Metric.id', index=1, 49 | number=2, type=9, cpp_type=9, label=1, 50 | has_default_value=False, default_value=b"".decode('utf-8'), 51 | message_type=None, enum_type=None, containing_type=None, 52 | is_extension=False, extension_scope=None, 53 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 54 | _descriptor.FieldDescriptor( 55 | name='data', full_name='containerd.types.Metric.data', index=2, 56 | number=3, type=11, cpp_type=10, label=1, 57 | has_default_value=False, default_value=None, 58 | message_type=None, enum_type=None, containing_type=None, 59 | is_extension=False, extension_scope=None, 60 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 61 | ], 62 | extensions=[ 63 | ], 64 | nested_types=[], 65 | enum_types=[ 66 | ], 67 | serialized_options=None, 68 | is_extendable=False, 69 | syntax='proto3', 70 | extension_ranges=[], 71 | oneofs=[ 72 | ], 73 | serialized_start=152, 74 | serialized_end=265, 75 | ) 76 | 77 | _METRIC.fields_by_name['timestamp'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP 78 | _METRIC.fields_by_name['data'].message_type = google_dot_protobuf_dot_any__pb2._ANY 79 | DESCRIPTOR.message_types_by_name['Metric'] = _METRIC 80 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 81 | 82 | Metric = _reflection.GeneratedProtocolMessageType('Metric', (_message.Message,), { 83 | 'DESCRIPTOR' : _METRIC, 84 | '__module__' : 'containerd.types.metrics_pb2' 85 | # @@protoc_insertion_point(class_scope:containerd.types.Metric) 86 | }) 87 | _sym_db.RegisterMessage(Metric) 88 | 89 | 90 | DESCRIPTOR._options = None 91 | _METRIC.fields_by_name['timestamp']._options = None 92 | # @@protoc_insertion_point(module_scope) 93 | -------------------------------------------------------------------------------- /api_1.5/containerd/types/metrics_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.5/containerd/types/mount_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: containerd/types/mount.proto 4 | """Generated protocol buffer code.""" 5 | from google.protobuf import descriptor as _descriptor 6 | from google.protobuf import message as _message 7 | from google.protobuf import reflection as _reflection 8 | from google.protobuf import symbol_database as _symbol_database 9 | # @@protoc_insertion_point(imports) 10 | 11 | _sym_db = _symbol_database.Default() 12 | 13 | 14 | from containerd.vendor.gogoproto import gogo_pb2 as containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2 15 | 16 | 17 | DESCRIPTOR = _descriptor.FileDescriptor( 18 | name='containerd/types/mount.proto', 19 | package='containerd.types', 20 | syntax='proto3', 21 | serialized_options=b'Z0github.com/containerd/containerd/api/types;types', 22 | create_key=_descriptor._internal_create_key, 23 | serialized_pb=b'\n\x1c\x63ontainerd/types/mount.proto\x12\x10\x63ontainerd.types\x1a&containerd/vendor/gogoproto/gogo.proto\"F\n\x05Mount\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\x12\x0e\n\x06target\x18\x03 \x01(\t\x12\x0f\n\x07options\x18\x04 \x03(\tB2Z0github.com/containerd/containerd/api/types;typesX\x00\x62\x06proto3' 24 | , 25 | dependencies=[containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2.DESCRIPTOR,]) 26 | 27 | 28 | 29 | 30 | _MOUNT = _descriptor.Descriptor( 31 | name='Mount', 32 | full_name='containerd.types.Mount', 33 | filename=None, 34 | file=DESCRIPTOR, 35 | containing_type=None, 36 | create_key=_descriptor._internal_create_key, 37 | fields=[ 38 | _descriptor.FieldDescriptor( 39 | name='type', full_name='containerd.types.Mount.type', index=0, 40 | number=1, type=9, cpp_type=9, label=1, 41 | has_default_value=False, default_value=b"".decode('utf-8'), 42 | message_type=None, enum_type=None, containing_type=None, 43 | is_extension=False, extension_scope=None, 44 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 45 | _descriptor.FieldDescriptor( 46 | name='source', full_name='containerd.types.Mount.source', index=1, 47 | number=2, type=9, cpp_type=9, label=1, 48 | has_default_value=False, default_value=b"".decode('utf-8'), 49 | message_type=None, enum_type=None, containing_type=None, 50 | is_extension=False, extension_scope=None, 51 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 52 | _descriptor.FieldDescriptor( 53 | name='target', full_name='containerd.types.Mount.target', index=2, 54 | number=3, type=9, cpp_type=9, label=1, 55 | has_default_value=False, default_value=b"".decode('utf-8'), 56 | message_type=None, enum_type=None, containing_type=None, 57 | is_extension=False, extension_scope=None, 58 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 59 | _descriptor.FieldDescriptor( 60 | name='options', full_name='containerd.types.Mount.options', index=3, 61 | number=4, type=9, cpp_type=9, label=3, 62 | has_default_value=False, default_value=[], 63 | message_type=None, enum_type=None, containing_type=None, 64 | is_extension=False, extension_scope=None, 65 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 66 | ], 67 | extensions=[ 68 | ], 69 | nested_types=[], 70 | enum_types=[ 71 | ], 72 | serialized_options=None, 73 | is_extendable=False, 74 | syntax='proto3', 75 | extension_ranges=[], 76 | oneofs=[ 77 | ], 78 | serialized_start=90, 79 | serialized_end=160, 80 | ) 81 | 82 | DESCRIPTOR.message_types_by_name['Mount'] = _MOUNT 83 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 84 | 85 | Mount = _reflection.GeneratedProtocolMessageType('Mount', (_message.Message,), { 86 | 'DESCRIPTOR' : _MOUNT, 87 | '__module__' : 'containerd.types.mount_pb2' 88 | # @@protoc_insertion_point(class_scope:containerd.types.Mount) 89 | }) 90 | _sym_db.RegisterMessage(Mount) 91 | 92 | 93 | DESCRIPTOR._options = None 94 | # @@protoc_insertion_point(module_scope) 95 | -------------------------------------------------------------------------------- /api_1.5/containerd/types/mount_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.5/containerd/types/platform_pb2.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by the protocol buffer compiler. DO NOT EDIT! 3 | # source: containerd/types/platform.proto 4 | """Generated protocol buffer code.""" 5 | from google.protobuf import descriptor as _descriptor 6 | from google.protobuf import message as _message 7 | from google.protobuf import reflection as _reflection 8 | from google.protobuf import symbol_database as _symbol_database 9 | # @@protoc_insertion_point(imports) 10 | 11 | _sym_db = _symbol_database.Default() 12 | 13 | 14 | from containerd.vendor.gogoproto import gogo_pb2 as containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2 15 | 16 | 17 | DESCRIPTOR = _descriptor.FileDescriptor( 18 | name='containerd/types/platform.proto', 19 | package='containerd.types', 20 | syntax='proto3', 21 | serialized_options=b'Z0github.com/containerd/containerd/api/types;types', 22 | create_key=_descriptor._internal_create_key, 23 | serialized_pb=b'\n\x1f\x63ontainerd/types/platform.proto\x12\x10\x63ontainerd.types\x1a&containerd/vendor/gogoproto/gogo.proto\"E\n\x08Platform\x12\x12\n\x02os\x18\x01 \x01(\tB\x06\xe2\xde\x1f\x02OS\x12\x14\n\x0c\x61rchitecture\x18\x02 \x01(\t\x12\x0f\n\x07variant\x18\x03 \x01(\tB2Z0github.com/containerd/containerd/api/types;typesX\x00\x62\x06proto3' 24 | , 25 | dependencies=[containerd_dot_vendor_dot_gogoproto_dot_gogo__pb2.DESCRIPTOR,]) 26 | 27 | 28 | 29 | 30 | _PLATFORM = _descriptor.Descriptor( 31 | name='Platform', 32 | full_name='containerd.types.Platform', 33 | filename=None, 34 | file=DESCRIPTOR, 35 | containing_type=None, 36 | create_key=_descriptor._internal_create_key, 37 | fields=[ 38 | _descriptor.FieldDescriptor( 39 | name='os', full_name='containerd.types.Platform.os', index=0, 40 | number=1, type=9, cpp_type=9, label=1, 41 | has_default_value=False, default_value=b"".decode('utf-8'), 42 | message_type=None, enum_type=None, containing_type=None, 43 | is_extension=False, extension_scope=None, 44 | serialized_options=b'\342\336\037\002OS', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 45 | _descriptor.FieldDescriptor( 46 | name='architecture', full_name='containerd.types.Platform.architecture', index=1, 47 | number=2, type=9, cpp_type=9, label=1, 48 | has_default_value=False, default_value=b"".decode('utf-8'), 49 | message_type=None, enum_type=None, containing_type=None, 50 | is_extension=False, extension_scope=None, 51 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 52 | _descriptor.FieldDescriptor( 53 | name='variant', full_name='containerd.types.Platform.variant', index=2, 54 | number=3, type=9, cpp_type=9, label=1, 55 | has_default_value=False, default_value=b"".decode('utf-8'), 56 | message_type=None, enum_type=None, containing_type=None, 57 | is_extension=False, extension_scope=None, 58 | serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), 59 | ], 60 | extensions=[ 61 | ], 62 | nested_types=[], 63 | enum_types=[ 64 | ], 65 | serialized_options=None, 66 | is_extendable=False, 67 | syntax='proto3', 68 | extension_ranges=[], 69 | oneofs=[ 70 | ], 71 | serialized_start=93, 72 | serialized_end=162, 73 | ) 74 | 75 | DESCRIPTOR.message_types_by_name['Platform'] = _PLATFORM 76 | _sym_db.RegisterFileDescriptor(DESCRIPTOR) 77 | 78 | Platform = _reflection.GeneratedProtocolMessageType('Platform', (_message.Message,), { 79 | 'DESCRIPTOR' : _PLATFORM, 80 | '__module__' : 'containerd.types.platform_pb2' 81 | # @@protoc_insertion_point(class_scope:containerd.types.Platform) 82 | }) 83 | _sym_db.RegisterMessage(Platform) 84 | 85 | 86 | DESCRIPTOR._options = None 87 | _PLATFORM.fields_by_name['os']._options = None 88 | # @@protoc_insertion_point(module_scope) 89 | -------------------------------------------------------------------------------- /api_1.5/containerd/types/platform_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.5/containerd/types/task/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/types/task/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/types/task/task_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.5/containerd/vendor/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/vendor/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/vendor/gogoproto/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/siemens/pycontainerd/060f93fbde77436d1e1ee22ba1141a537bd7e8d9/api_1.5/containerd/vendor/gogoproto/__init__.py -------------------------------------------------------------------------------- /api_1.5/containerd/vendor/gogoproto/gogo_pb2_grpc.py: -------------------------------------------------------------------------------- 1 | # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! 2 | """Client and server classes corresponding to protobuf-defined services.""" 3 | import grpc 4 | 5 | -------------------------------------------------------------------------------- /api_1.5/setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | from setuptools import setup, find_packages 4 | from containerd import __api_version__, __generation__ 5 | import os 6 | 7 | with open(os.path.join( 8 | os.path.abspath(os.path.dirname(__file__)), 9 | 'README.md' 10 | )) as f: 11 | ldesc = f.read() 12 | 13 | setup( 14 | name='containerd', 15 | version='%s.%d' % (__api_version__, __generation__) , 16 | description='containerd API for Python', 17 | long_description=ldesc, 18 | long_description_content_type='text/markdown', 19 | classifiers=[ 20 | 'Development Status :: 4 - Beta', 21 | 'Operating System :: POSIX :: Linux', 22 | 'Programming Language :: Python :: 3.6', 23 | 'Programming Language :: Python :: 3 :: Only', 24 | 'License :: OSI Approved :: Apache Software License', 25 | 'Topic :: Software Development :: Libraries', 26 | 'Topic :: System :: Clustering', 27 | 'Topic :: Utilities' 28 | ], 29 | license='Apache-2.0', 30 | author='Silvano Cirujano Cuesta', 31 | author_email='silvano.cirujano-cuesta@siemens.com', 32 | url='https://github.com/siemens/pycontainerd', 33 | packages=find_packages(exclude=["tests"]), 34 | install_requires=[ 35 | 'grpcio', 36 | 'protobuf>=3.13.0' 37 | ] 38 | ) 39 | -------------------------------------------------------------------------------- /api_1.5/version: -------------------------------------------------------------------------------- 1 | # library/package semantic version 2 | __api_version__ = '1.5' 3 | __generation__ = 3 4 | -------------------------------------------------------------------------------- /examples/README.md: -------------------------------------------------------------------------------- 1 | # Examples 2 | 3 | The examples in this directory have to be run as root in order to be able to 4 | successfully connect to the local `containerd` instance. 5 | 6 | - `lsctr.py` lists all containers in all `containerd` namespaces. It's kind of 7 | `ctr c ls` on drugs, automatically discovering all namespaces and then listing 8 | containers in each one. 9 | 10 | - `watchctr.py` waits for `containerd` events, such as creating or deleting 11 | containers and tasks, et cetera, and prints them to the console as they 12 | happen. 13 | -------------------------------------------------------------------------------- /examples/watchctr.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # 3 | # Copyright 2019 Siemens AG 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | # SPDX-License-Identifier: Apache-2.0 18 | #------------ 19 | # 20 | # watchctr -- watches containerd events in all containerd namespaces. 21 | 22 | import grpc 23 | 24 | from containerd.services.events.v1 import unwrap, events_pb2, events_pb2_grpc 25 | from google.protobuf import any_pb2 26 | 27 | import argparse 28 | 29 | def watchctr(args): 30 | # Connect to containerd using the well-known containerd.sock and location. 31 | # Please note that this does not really connect yet, but just jots down the 32 | # grpc server address and the connect will only happen later when the first 33 | # service is to be called. 34 | with grpc.insecure_channel(args.containerd_address) as channel: 35 | print("waiting for events...") 36 | eventsv1 = events_pb2_grpc.EventsStub(channel) 37 | for ev in eventsv1.Subscribe(events_pb2.SubscribeRequest()): 38 | print('🖄 event type:', ev.event.type_url) 39 | print('⬚ namespace:', ev.namespace) 40 | print(unwrap(ev)) 41 | 42 | def main(): 43 | from containerd import __api_version__ 44 | 45 | parser = argparse.ArgumentParser( 46 | prog='watchctr', 47 | description='watch containerd events in all namespaces', 48 | formatter_class=argparse.ArgumentDefaultsHelpFormatter 49 | ) 50 | parser.add_argument( 51 | '--version', 52 | action='version', 53 | version='%(prog)s ' + __api_version__, 54 | help='show version information and exit' 55 | ) 56 | parser.add_argument( 57 | '--address', '-a', 58 | dest='containerd_address', type=str, metavar='A', 59 | default='unix:///run/containerd/containerd.sock', 60 | help='address for containerd\'s GRPC server' 61 | ) 62 | 63 | args = parser.parse_args() 64 | watchctr(args) 65 | 66 | if __name__ == '__main__': 67 | main() 68 | -------------------------------------------------------------------------------- /infra/Makefile: -------------------------------------------------------------------------------- 1 | VERSION?=1.2.0 2 | PYTHON_VERSION?=3.7 3 | SUBDIRS=docker 4 | 5 | export 6 | 7 | prepare clobber clean: 8 | for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir $@ ; done 9 | 10 | -------------------------------------------------------------------------------- /infra/docker/Makefile: -------------------------------------------------------------------------------- 1 | VERSION?=1.2.1 2 | PYTHON_VERSION?=3.7 3 | SUBDIRS=tests build 4 | 5 | export 6 | 7 | push prepare clobber clean: 8 | for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir $@ ; done 9 | 10 | -------------------------------------------------------------------------------- /infra/docker/tests/Dockerfile.in: -------------------------------------------------------------------------------- 1 | FROM python:${PYTHON_VERSION} 2 | 3 | RUN pip3 install --no-cache-dir pytest 4 | RUN pip3 install --no-cache-dir protobuf 5 | RUN pip3 install --no-cache-dir grpcio 6 | RUN mkdir -p /run/user/1000 7 | 8 | VOLUME ["/pycontainerd", "/tests"] 9 | 10 | WORKDIR /tests 11 | 12 | -------------------------------------------------------------------------------- /infra/docker/tests/Makefile: -------------------------------------------------------------------------------- 1 | VERSION?=1.2.1 2 | PYTHON_VERSION?=3.7 3 | IMG_NAME=${IMG_NAME_PR}/test:$(VERSION) 4 | 5 | export 6 | 7 | .PHONY: all prepare run push clean clobber 8 | 9 | all: prepare 10 | 11 | Dockerfile: Dockerfile.in 12 | env PYTHON_VERSION=$(PYTHON_VERSION) \ 13 | envsubst '$${PYTHON_VERSION}' \ 14 | < Dockerfile.in > Dockerfile 15 | 16 | prepare: Dockerfile 17 | docker image build -t $(IMG_NAME) . 18 | rm Dockerfile 19 | 20 | run: 21 | docker container run --rm \ 22 | --volume=$$(pwd)/../../../dist:/pycontainerd \ 23 | --volume=$$(pwd)/../../../tests:/tests \ 24 | ${IMG_NAME} \ 25 | bash -c 'pip3 install /pycontainerd/containerd-$(VERSION)-py3-none-any.whl ; pytest' 26 | 27 | push: 28 | docker push ${IMG_NAME} 29 | 30 | clean: 31 | - rm Dockerfile 32 | 33 | clobber: clean 34 | - docker image rm $(IMG_NAME) 35 | 36 | -------------------------------------------------------------------------------- /resources/api_Makefile: -------------------------------------------------------------------------------- 1 | PKG = $(shell find dist -name "containerd-*-py3-none-any.whl") 2 | 3 | all: dist 4 | 5 | build: containerd 6 | python3 ./setup.py build 7 | 8 | dist: build 9 | python3 ./setup.py bdist_wheel 10 | 11 | .PHONY: install test-install 12 | install: $(PKG) 13 | sudo pip3 install $< 14 | 15 | test-install: $(PKG) 16 | pip3 install $< 17 | 18 | .PHONY: uninstall dev_install dev_uninstall 19 | uninstall: 20 | sudo pip3 uninstall --yes containerd 21 | 22 | dev_install: 23 | sudo pip3 install --editable . 24 | 25 | dev_uninstall: 26 | sudo rm /usr/local/lib/python3.7/dist-packages/containerd.egg-link 27 | sudo sed -i '/.*\/pycontainerd/d' /usr/local/lib/python3.7/dist-packages/easy-install.pth 28 | sudo find containerd -uid 0 -exec rm {} \; 29 | 30 | .PHONY: clean clobber 31 | clean: 32 | - rm -r build containerd.egg-info dist 33 | 34 | clobber: clean 35 | - rm -r containerd 36 | 37 | -------------------------------------------------------------------------------- /resources/containerd/__init__.py.in: -------------------------------------------------------------------------------- 1 | # library/package semantic version 2 | __api_version__ = '${API_VERSION}' 3 | __generation__ = ${GENERATION} 4 | -------------------------------------------------------------------------------- /resources/containerd/services/events/v1/__init__.py: -------------------------------------------------------------------------------- 1 | import importlib 2 | import google.protobuf.symbol_database 3 | # use "from ... import ... as ..." instead of "import ... as ..." for backwards 4 | # compatibility with Python 3.6-, see also https://stackoverflow.com/a/24968941 5 | from containerd.services.events.v1 import events_pb2 as eventsv1 6 | 7 | # Loads all containerd.events.xxx modules, so they will register their message 8 | # classes with their corresponding type URLs. Only then we can then later look 9 | # them up from protobuf's default symbol database. Please note that this here 10 | # is the only place where we pull in modules when loading a package, and on 11 | # purpose: this allows users to unwrap all existing events from their 12 | # envelopes when watching events without having to import all necessary 13 | # containerd.event.xxx modules explicitly by themselves. 14 | for evmod in ('container', 'content', 'image', 'namespace', 'snapshot', 'task'): 15 | importlib.import_module("containerd.events.{}_pb2".format(evmod)) 16 | sdb = google.protobuf.symbol_database.Default() 17 | 18 | # Returns the event message object from inside an event envelope. 19 | def unwrap(envelope): 20 | if not isinstance(envelope, eventsv1.Envelope): 21 | raise TypeError('requires an object of class Envelope, not ' + type(envelope).__name__) 22 | try: 23 | return sdb.GetSymbol(envelope.event.type_url).FromString(envelope.event.value) 24 | except KeyError: 25 | # Keep silent if the event message inside the envelope cannot be 26 | # unwrapped, because the event's type_url is unknown to us. Then 27 | # simply return None. 28 | pass 29 | return None 30 | -------------------------------------------------------------------------------- /resources/setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | from setuptools import setup, find_packages 4 | from containerd import __api_version__, __generation__ 5 | import os 6 | 7 | with open(os.path.join( 8 | os.path.abspath(os.path.dirname(__file__)), 9 | 'README.md' 10 | )) as f: 11 | ldesc = f.read() 12 | 13 | setup( 14 | name='containerd', 15 | version='%s.%d' % (__api_version__, __generation__) , 16 | description='containerd API for Python', 17 | long_description=ldesc, 18 | long_description_content_type='text/markdown', 19 | classifiers=[ 20 | 'Development Status :: 4 - Beta', 21 | 'Operating System :: POSIX :: Linux', 22 | 'Programming Language :: Python :: 3.6', 23 | 'Programming Language :: Python :: 3 :: Only', 24 | 'License :: OSI Approved :: Apache Software License', 25 | 'Topic :: Software Development :: Libraries', 26 | 'Topic :: System :: Clustering', 27 | 'Topic :: Utilities' 28 | ], 29 | license='Apache-2.0', 30 | author='Silvano Cirujano Cuesta', 31 | author_email='silvano.cirujano-cuesta@siemens.com', 32 | url='https://github.com/siemens/pycontainerd', 33 | packages=find_packages(exclude=["tests"]), 34 | install_requires=[ 35 | 'grpcio', 36 | 'protobuf>=3.13.0' 37 | ] 38 | ) 39 | -------------------------------------------------------------------------------- /tests/Makefile: -------------------------------------------------------------------------------- 1 | all: test 2 | 3 | .PHONY: prepare-tests test test-docker 4 | prepare clobber clean: 5 | 6 | test: 7 | pytest 8 | 9 | docker-test: 10 | $(MAKE) VERSION=$(VERSION) PYTHON_VERSION=$(PYTHON_VERSION) \ 11 | IMG_NAME=$(IMG_NAME) -C ../infra/docker/tests run 12 | 13 | -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | import shlex 3 | import subprocess 4 | import time 5 | 6 | containerd_address = 'unix:///run/user/1000/pycontainerd-mock.sock' 7 | 8 | @pytest.fixture(scope='module') 9 | def containerd_server(): 10 | command = shlex.split( \ 11 | './containerd_mock.py --address="%s"' % (containerd_address,)) 12 | subprocess.Popen(command) 13 | time.sleep(1) # give the server time to start up 14 | return containerd_address 15 | 16 | -------------------------------------------------------------------------------- /tests/containerd_mock.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import argparse 4 | import concurrent.futures 5 | import grpc 6 | import time 7 | 8 | from containerd.services.namespaces.v1 import namespace_pb2_grpc, namespace_pb2 9 | from containerd.services.containers.v1 import containers_pb2, containers_pb2_grpc 10 | from containerd.services.tasks.v1 import tasks_pb2, tasks_pb2_grpc 11 | from containerd.types.task import task_pb2 12 | 13 | class NamespacesServicer(namespace_pb2_grpc.NamespacesServicer): 14 | def List(self, request, context): 15 | response = namespace_pb2.ListNamespacesResponse() 16 | for ns_name in ['ns_one', 'ns_two', 'ns_three']: 17 | response.namespaces.add().name = ns_name 18 | return response 19 | 20 | class TasksServicer(tasks_pb2_grpc.TasksServicer): 21 | def List(self, request, context): 22 | response = tasks_pb2.ListTasksResponse() 23 | for container_id in ['c_one', 'c_three']: 24 | response.tasks.add().container_id = container_id 25 | return response 26 | 27 | class ContainersServicer(containers_pb2_grpc.ContainersServicer): 28 | def List(self, request, context): 29 | response = containers_pb2.ListContainersResponse() 30 | for container_id in ['c_one', 'c_two', 'c_three']: 31 | response.containers.add().id = container_id 32 | return response 33 | 34 | def serve(address): 35 | server = grpc.server(concurrent.futures.ThreadPoolExecutor(max_workers=2)) 36 | namespace_pb2_grpc.add_NamespacesServicer_to_server( \ 37 | NamespacesServicer(), server) 38 | tasks_pb2_grpc.add_TasksServicer_to_server( \ 39 | TasksServicer(), server) 40 | containers_pb2_grpc.add_ContainersServicer_to_server( \ 41 | ContainersServicer(), server) 42 | server.add_insecure_port(address) 43 | server.start() 44 | print('Serving on %s' % (address,)) 45 | try: 46 | while True: 47 | time.sleep(60 * 60 * 24) 48 | except KeyboardInterrupt: 49 | server.stop(0) 50 | 51 | 52 | def main(): 53 | parser = argparse.ArgumentParser() 54 | parser.add_argument( 55 | '--address', '-a', 56 | default='unix:///run/user/1000/pycontainerd-mock.sock', 57 | help='address for containerd\'s GRPC server' 58 | ) 59 | 60 | args = parser.parse_args() 61 | serve(args.address) 62 | 63 | if __name__ == '__main__': 64 | main() 65 | 66 | -------------------------------------------------------------------------------- /tests/test_containers.py: -------------------------------------------------------------------------------- 1 | import grpc 2 | from containerd.services.namespaces.v1 import namespace_pb2_grpc, namespace_pb2 3 | from containerd.services.tasks.v1 import tasks_pb2, tasks_pb2_grpc 4 | from containerd.services.containers.v1 import containers_pb2, containers_pb2_grpc 5 | 6 | def test_containers(containerd_server): 7 | with grpc.insecure_channel(containerd_server) as channel: 8 | namespacev1 = namespace_pb2_grpc.NamespacesStub(channel) 9 | tasksv1 = tasks_pb2_grpc.TasksStub(channel) 10 | containersv1 = containers_pb2_grpc.ContainersStub(channel) 11 | 12 | namespaces = namespacev1.List(namespace_pb2.ListNamespacesRequest()).namespaces 13 | namespace_names = [namespace.name for namespace in namespaces] 14 | assert namespace_names == ['ns_one', 'ns_two', 'ns_three'] 15 | for namespace in namespaces: 16 | tasks = tasksv1.List(tasks_pb2.ListPidsRequest(), 17 | metadata=(('containerd-namespace', namespace.name),)).tasks 18 | task_ids = [task.container_id for task in tasks] 19 | assert task_ids == ['c_one', 'c_three'] 20 | containers = containersv1.List(containers_pb2.ListContainersRequest(), 21 | metadata=(('containerd-namespace', namespace.name),)).containers 22 | container_names = [container.id for container in containers] 23 | assert container_names == ['c_one', 'c_two', 'c_three'] 24 | 25 | -------------------------------------------------------------------------------- /tests/test_namespaces.py: -------------------------------------------------------------------------------- 1 | import grpc 2 | from containerd.services.namespaces.v1 import namespace_pb2_grpc, namespace_pb2 3 | 4 | def test_namespaces(containerd_server): 5 | with grpc.insecure_channel(containerd_server) as channel: 6 | namespacev1 = namespace_pb2_grpc.NamespacesStub(channel) 7 | 8 | namespaces = namespacev1.List(namespace_pb2.ListNamespacesRequest()).namespaces 9 | namespace_names = [namespace.name for namespace in namespaces] 10 | assert namespace_names == ['ns_one', 'ns_two', 'ns_three'] 11 | 12 | -------------------------------------------------------------------------------- /tests/test_tasks.py: -------------------------------------------------------------------------------- 1 | import grpc 2 | from containerd.services.namespaces.v1 import namespace_pb2_grpc, namespace_pb2 3 | from containerd.services.tasks.v1 import tasks_pb2, tasks_pb2_grpc 4 | 5 | def test_tasks(containerd_server): 6 | with grpc.insecure_channel(containerd_server) as channel: 7 | namespacev1 = namespace_pb2_grpc.NamespacesStub(channel) 8 | tasksv1 = tasks_pb2_grpc.TasksStub(channel) 9 | 10 | namespaces = namespacev1.List(namespace_pb2.ListNamespacesRequest()).namespaces 11 | namespace_names = [namespace.name for namespace in namespaces] 12 | assert namespace_names == ['ns_one', 'ns_two', 'ns_three'] 13 | for namespace in namespaces: 14 | tasks = tasksv1.List(tasks_pb2.ListPidsRequest(), 15 | metadata=(('containerd-namespace', namespace.name),)).tasks 16 | task_ids = [task.container_id for task in tasks] 17 | assert task_ids == ['c_one', 'c_three'] 18 | 19 | --------------------------------------------------------------------------------