diff --git a/.github/workflows/pdp_cicd.yml b/.github/workflows/pdp_cicd.yml index 21676147..e818f94e 100644 --- a/.github/workflows/pdp_cicd.yml +++ b/.github/workflows/pdp_cicd.yml @@ -1,8 +1,8 @@ name: Build and Push PDP Docker Image -on: - release: - types: [published] +on: push + # release: + # types: [published] jobs: pdp-tests: @@ -26,7 +26,8 @@ jobs: - name: Pre build PDP tests run: | - echo "${{ github.event.release.tag_name }}" | cut -d '-' -f 1 > permit_pdp_version + #echo "${{ github.event.release.tag_name }}" | cut -d '-' -f 1 > permit_pdp_version + echo "1.1.1" | cut -d '-' -f 1 > permit_pdp_version rm -rf custom mkdir custom build_root="$PWD" @@ -78,115 +79,115 @@ jobs: pip install requests pydantic==1.8.2 docker python sidecar_tester.py -k ${{ secrets.PERMIT_TESTS_TOKEN }} -u https://api.permit.io -2 permitio/pdp-v2:test --no-pull - build-and-push-pdp-vanilla: - needs: pdp-tests - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Login to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Pre build - for PDP-Vanilla - run: echo "${{ github.event.release.tag_name }}" | cut -d '-' -f 1 > permit_pdp_version - - - name: Build and push PDP-Vanilla - (official release) - if: "!github.event.release.prerelease" - uses: docker/build-push-action@v5 - with: - push: true - context: . - platforms: linux/amd64,linux/arm64 - tags: permitio/pdp-v2-vanilla:${{ github.event.release.tag_name }}, permitio/pdp-v2-vanilla:latest - cache-from: type=gha - cache-to: type=gha,mode=max - - - name: Build and push PDP-Vanilla image - (pre-release) - if: "github.event.release.prerelease" - uses: docker/build-push-action@v5 - with: - push: true - context: . - platforms: linux/amd64,linux/arm64 - tags: permitio/pdp-v2-vanilla:${{ github.event.release.tag_name }} - cache-from: type=gha - cache-to: type=gha,mode=max - - build-and-push-pdp: - needs: pdp-tests - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Login to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - uses: actions/checkout@v3 - with: - repository: permitio/permit-opa - ref: main - path: './permit-opa' - token: ${{ secrets.CLONE_REPO_TOKEN }} - - - name: Pre build PDP - run: | - echo "${{ github.event.release.tag_name }}" | cut -d '-' -f 1 > permit_pdp_version - rm -rf custom - mkdir custom - build_root="$PWD" - cd ./permit-opa - find * -name '*go*' -print0 | xargs -0 tar -czf "$build_root"/custom/custom_opa.tar.gz --exclude '.*' - - - uses: robinraju/release-downloader@v1 - with: - repository: permitio/datasync - latest: true - fileName: factstore_server* - token: ${{ secrets.CLONE_REPO_TOKEN }} - out-file-path: "factdb" - - - name: Build and push PDP image - (pre-release) - if: "github.event.release.prerelease" - uses: docker/build-push-action@v5 - with: - push: true - context: . - platforms: linux/amd64,linux/arm64 - build-args: | - ALLOW_MISSING_FACTSTORE=false - tags: permitio/pdp-v2:${{ github.event.release.tag_name }} - cache-from: type=gha - cache-to: type=gha,mode=max - - - name: Build and push PDP image - (official release) - if: "!github.event.release.prerelease" - uses: docker/build-push-action@v5 - with: - push: true - context: . - platforms: linux/amd64,linux/arm64 - build-args: | - ALLOW_MISSING_FACTSTORE=false - tags: permitio/pdp-v2:${{ github.event.release.tag_name }},permitio/pdp-v2:latest - cache-from: type=gha - cache-to: type=gha,mode=max + # build-and-push-pdp-vanilla: + # needs: pdp-tests + # runs-on: ubuntu-latest + # steps: + # - name: Checkout code + # uses: actions/checkout@v4 + + # - name: Set up QEMU + # uses: docker/setup-qemu-action@v3 + + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v3 + + # - name: Login to Docker Hub + # uses: docker/login-action@v3 + # with: + # username: ${{ secrets.DOCKERHUB_USERNAME }} + # password: ${{ secrets.DOCKERHUB_TOKEN }} + + # - name: Pre build - for PDP-Vanilla + # run: echo "${{ github.event.release.tag_name }}" | cut -d '-' -f 1 > permit_pdp_version + + # - name: Build and push PDP-Vanilla - (official release) + # if: "!github.event.release.prerelease" + # uses: docker/build-push-action@v5 + # with: + # push: true + # context: . + # platforms: linux/amd64,linux/arm64 + # tags: permitio/pdp-v2-vanilla:${{ github.event.release.tag_name }}, permitio/pdp-v2-vanilla:latest + # cache-from: type=gha + # cache-to: type=gha,mode=max + + # - name: Build and push PDP-Vanilla image - (pre-release) + # if: "github.event.release.prerelease" + # uses: docker/build-push-action@v5 + # with: + # push: true + # context: . + # platforms: linux/amd64,linux/arm64 + # tags: permitio/pdp-v2-vanilla:${{ github.event.release.tag_name }} + # cache-from: type=gha + # cache-to: type=gha,mode=max + + # build-and-push-pdp: + # needs: pdp-tests + # runs-on: ubuntu-latest + # steps: + # - name: Checkout code + # uses: actions/checkout@v4 + + # - name: Set up QEMU + # uses: docker/setup-qemu-action@v3 + + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v3 + + # - name: Login to Docker Hub + # uses: docker/login-action@v3 + # with: + # username: ${{ secrets.DOCKERHUB_USERNAME }} + # password: ${{ secrets.DOCKERHUB_TOKEN }} + + # - uses: actions/checkout@v3 + # with: + # repository: permitio/permit-opa + # ref: main + # path: './permit-opa' + # token: ${{ secrets.CLONE_REPO_TOKEN }} + + # - name: Pre build PDP + # run: | + # echo "${{ github.event.release.tag_name }}" | cut -d '-' -f 1 > permit_pdp_version + # rm -rf custom + # mkdir custom + # build_root="$PWD" + # cd ./permit-opa + # find * -name '*go*' -print0 | xargs -0 tar -czf "$build_root"/custom/custom_opa.tar.gz --exclude '.*' + + # - uses: robinraju/release-downloader@v1 + # with: + # repository: permitio/datasync + # latest: true + # fileName: factstore_server* + # token: ${{ secrets.CLONE_REPO_TOKEN }} + # out-file-path: "factdb" + + # - name: Build and push PDP image - (pre-release) + # if: "github.event.release.prerelease" + # uses: docker/build-push-action@v5 + # with: + # push: true + # context: . + # platforms: linux/amd64,linux/arm64 + # build-args: | + # ALLOW_MISSING_FACTSTORE=false + # tags: permitio/pdp-v2:${{ github.event.release.tag_name }} + # cache-from: type=gha + # cache-to: type=gha,mode=max + + # - name: Build and push PDP image - (official release) + # if: "!github.event.release.prerelease" + # uses: docker/build-push-action@v5 + # with: + # push: true + # context: . + # platforms: linux/amd64,linux/arm64 + # build-args: | + # ALLOW_MISSING_FACTSTORE=false + # tags: permitio/pdp-v2:${{ github.event.release.tag_name }},permitio/pdp-v2:latest + # cache-from: type=gha + # cache-to: type=gha,mode=max diff --git a/Dockerfile b/Dockerfile index 4ecc4239..e7bea4a4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -96,7 +96,7 @@ COPY --from=opa_build --chmod=755 /factdb /app/bin/factdb COPY --chmod=755 scripts/start.sh scripts/wait-for-it.sh /app/ COPY scripts/gunicorn_conf.py /app/ COPY kong_routes.json /config/ -# COPY permit_pdp_version /app/ +COPY permit_pdp_version /app/ # Install Python dependencies with comprehensive approach COPY requirements.txt /app/ @@ -145,7 +145,7 @@ ENV PATH="/:/app/bin:/home/permit/.local/bin:$PATH" \ PDP_API_KEY="MUST BE DEFINED" \ PDP_REMOTE_CONFIG_ENDPOINT="/v2/pdps/me/config" \ PDP_REMOTE_STATE_ENDPOINT="/v2/pdps/me/state" \ - # PDP_VERSION_FILE_PATH="/app/permit_pdp_version" \ + PDP_VERSION_FILE_PATH="/app/permit_pdp_version" \ PDP_FACTDB_BINARY_PATH="/app/bin/factdb" \ OPAL_INLINE_OPA_EXEC_PATH="/app/bin/opa" \ OPAL_AUTH_PUBLIC_KEY="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDe2iQ+/E01P2W5/EZwD5NpRiSQ8/r/k18pFnym+vWCSNMWpd9UVpgOUWfA9CAX4oEo5G6RfVVId/epPH/qVSL87uh5PakkLZ3E+PWVnYtbzuFPs/lHZ9HhSqNtOQ3WcPDTcY/ST2jyib2z0sURYDMInSc1jnYKqPQ6YuREdoaNdPHwaTFN1tEKhQ1GyyhL5EDK97qU1ejvcYjpGm+EeE2sjauHYn2iVXa2UA9fC+FAKUwKqNcwRTf3VBLQTE6EHGWbxVzXv1Feo8lPZgL7Yu/UPgp7ivCZhZCROGDdagAfK9sveYjkKiWCLNUSpado/E5Vb+/1EVdAYj6fCzk45AdQzA9vwZefP0sVg7EuZ8VQvlz7cU9m+XYIeWqduN4Qodu87rtBYtSEAsru/8YDCXBDWlLJfuZb0p/klbte3TayKnQNSWD+tNYSJHrtA/3ZewP+tGDmtgLeB38NLy1xEsgd31v6ISOSCTHNS8ku9yWQXttv0/xRnuITr8a3TCLuqtUrNOhCx+nKLmYF2cyjYeQjOWWpn/Z6VkZvOa35jhG1ETI8IwE+t5zXqrf2s505mh18LwA1DhC8L/wHk8ZG7bnUe56QwxEo32myUBN8nHdu7XmPCVP8MWQNLh406QRAysishWhXVs/+0PbgfBJ/FxKP8BXW9zqzeIG+7b/yk8tRHQ=="