I created file repository and trying to upload files there via GitHub action. Here is a part of my action:
- name: Install pulp
run: |
pip install pulp-cli==0.34.0
echo "Uploading to ${{ github.run_number }}/otelcol-contrib"
pulp -v --base-url https://repo.example.org \
--username build.agent \
--password '${{ secrets.BUILD_AGENT_PASSWORD }}' \
file content upload \
--repository otel-collector \
--file _build/otelcol-linux-amd64 \
--relative-path ${{ github.run_number }}/otelcol-contrib
But it gives me error:
....
Successfully installed multidict-6.6.4 pulp-cli-0.34.0 pulp-glue-0.34.0 schema-0.7.7 tomli-w-1.2.0
Uploading to 12/otelcol-contrib
uploads_create : post https://repo.example.org/pulp/api/v3/uploads/
Response: 403
Error: Operation uploads_create is not authorized.
Error: Process completed with exit code 1.
If I execute the same command inside clean docker ubuntu image, I’m getting
Successfully installed PyYAML-6.0.2 certifi-2025.8.3 charset_normalizer-3.4.3 click-8.2.1 idna-3.10 multidict-6.6.4 packaging-25.0 pulp-cli-0.35.0 pulp-glue-0.35.0 requests-2.32.4 schema-0.7.7 tomli-w-1.2.0 urllib3-2.5.0
root@eb4cdfb92bbf:~# pulp -v --base-url https://repo.example.org \
--username build.agent \
--password $BUILD_AGENT_PASSWORD \
file content upload \
--repository otel-collector \
--file text.txt \
--relative-path text.txt
repositories_file_file_list : get https://repo.example.org/pulp/api/v3/repositories/file/file/?name=otel-collector&offset=0&limit=1
Response: 200
content_file_files_create : post https://repo.example.org/pulp/api/v3/content/file/files/
Response: 202
tasks_read : get https://repo.example.org/pulp/api/v3/tasks/01989ee3-7c68-7e50-a9d4-06cf4b41820e/
Response: 200
Started background task /pulp/api/v3/tasks/01989ee3-7c68-7e50-a9d4-06cf4b41820e/
.tasks_read : get https://repo.example.org/pulp/api/v3/tasks/01989ee3-7c68-7e50-a9d4-06cf4b41820e/
Response: 200
Done.
content_file_files_read : get https://repo.example.org/pulp/api/v3/content/file/files/01989ee3-7eb6-777a-9104-46d641ab970f/
Response: 200
....
What I’m doing wrong here?