feat: Install pygit2 1.7.0

This commit is contained in:
Carlos Álvaro
2021-10-31 22:17:22 +01:00
committed by Carlos Álvaro
parent c8370829d0
commit d795ea2963
12 changed files with 381 additions and 51 deletions

4
tests/gitfs/README.md Normal file
View File

@@ -0,0 +1,4 @@
# GitFS Tests
Checks:
- Clone a repository using a RSA 4096 ssh key generated with: `ssh-keygen -t rsa -b 4096 -C "salt@cdalvaro.test" -f gitfs_ssh`

View File

@@ -0,0 +1,2 @@
fileserver_backend:
- gitfs

View File

@@ -0,0 +1,19 @@
gitfs_provider: pygit2
gitfs_base: main
gitfs_privkey: /home/salt/data/keys/gitfs/gitfs_ssh
gitfs_pubkey: /home/salt/data/keys/gitfs/gitfs_ssh.pub
gitfs_remotes:
- git@github.com:cdalvaro/docker-salt-master-tests.git:
- root: tests/gitfs
git_pillar_provider: pygit2
git_pillar_base: main
git_pillar_branch: main
ext_pillar:
- git:
- git@github.com:cdalvaro/docker-salt-master-tests.git:
- privkey: /home/salt/data/keys/gitfs/gitfs_ssh
- pubkey: /home/salt/data/keys/gitfs/gitfs_ssh.pub
- root: tests/gitfs/pillar

41
tests/gitfs/test.sh Executable file
View File

@@ -0,0 +1,41 @@
#!/usr/bin/env bash
set -e
[ "${DEBUG}" == true ] && set -vx
echo "🧪 Running gitfs tests ..."
IMAGE_NAME=${IMAGE_NAME:-cdalvaro/docker-salt-master}
CONTAINER_NAME=salt_master
PLATFORM=${PLATFORM:-$(docker version --format='{{.Server.Os}}/{{.Server.Arch}}')}
BOOTUP_WAIT_SECONDS=${BOOTUP_WAIT_SECONDS:-60}
function cleanup {
echo "==> Removing ${CONTAINER_NAME} ..."
docker container rm --force "${CONTAINER_NAME}"
}
# trap cleanup EXIT
# Run test instance
echo "==> Starting docker-salt-master (${PLATFORM}) with RSA 4096 ssh key ..."
docker run --rm --detach --name "${CONTAINER_NAME}" \
--publish 4505:4505 --publish 4506:4506 \
--platform "${PLATFORM}" \
--volume "$(pwd)/tests/gitfs/config":/home/salt/data/config:ro \
--volume "$(pwd)/tests/gitfs/data/keys":/home/salt/data/keys \
"${IMAGE_NAME}" || ( echo "container started ❌"; exit 1 )
echo "container started ✅"
# Wait for salt-master bootup
echo "==> Waiting ${BOOTUP_WAIT_SECONDS} seconds for the container to be ready ..."
sleep "${BOOTUP_WAIT_SECONDS}"
# Check pillars
echo "==> Checking gitfs files ..."
# docker exec "${CONTAINER_NAME}" salt-run cache.clear_git_lock gitfs type=update
# docker exec "${CONTAINER_NAME}" salt-run fileserver.update
FILE_LIST=$(docker exec "${CONTAINER_NAME}" salt-run fileserver.file_list)
echo "${FILE_LIST}"
[[ "${FILE_LIST}" == *test.txt* ]] || ( echo "gitfs files ❌"; exit 1 )
echo "gitfs files ✅"

View File

@@ -52,24 +52,24 @@ echo "container started ✅"
echo "==> Waiting ${BOOTUP_WAIT_SECONDS} seconds for the container to be ready ..."
sleep "${BOOTUP_WAIT_SECONDS}"
# Test salt-api authentication
echo "==> Getting salt-api token ..."
# Test salt-api authentication
echo "==> Getting salt-api token ..."
SALTAPI_TOKEN=$(curl -sSk "${SALTAPI_URL%/}/login" \
-H "Accept: application/x-yaml" \
-d username="${SALTAPI_USER}" \
-d password="${SALTAPI_PASS}" \
-d eauth="${SALTAPI_EAUTH}" | grep 'token:' | cut -d' ' -f 4)
-H "Accept: application/x-yaml" \
-d username="${SALTAPI_USER}" \
-d password="${SALTAPI_PASS}" \
-d eauth="${SALTAPI_EAUTH}" | grep 'token:' | cut -d' ' -f 4)
[ -n "${SALTAPI_TOKEN}" ] || ( echo "salt-api token ❌"; exit 1 )
echo "salt-api token ✅"
# Test salt-api command
echo "==> Testing curl command ..."
# Test salt-api command
echo "==> Testing curl command ..."
curl -sSk "${SALTAPI_URL}" \
-H "Accept: application/x-yaml" \
-H "X-Auth-Token: ${SALTAPI_TOKEN}" \
-d client=runner \
-d tgt='*' \
-d fun=test.stream \
-H "Accept: application/x-yaml" \
-H "X-Auth-Token: ${SALTAPI_TOKEN}" \
-d client=runner \
-d tgt='*' \
-d fun=test.stream \
| grep -i 'true' || ( echo "curl command ❌"; exit 1 )
echo "curl command ✅"