Files
awx/requirements/requirements.txt
Lila Yasin 9d9c125e47 [4.6][Backport][Feature] feat: 38589 GitHub App Authentication (#15807) (#6887)
* feat: 38589 GitHub App Authentication (#15807)

* feat: 38589 GitHub App Authentication

Allows both git@<personal-token> and x-access-token@<github-access-token> when authenticating using git.
This allows GitHub App tokens to work without interfering with existing authentication types.

---------

Co-authored-by: Jake Jackson <thedoubl3j@Jakes-MacBook-Pro.local>

* revert change made to allow UI to accept x-access-token, just use htt… (#15851)

revert change made to allow UI to accept x-access-token, just use https:// instead

* Add Github dep for new cred support if used (#15850)

* Add pygithub for new app token support

* fixed git requirements file with new
* added new github dep and relevant deps it needs

* add required licenses

* Add artifacts to satisfy license check

* Remove duplicated license

---------

Co-authored-by: Andrea Restle-Lay <arestlel@redhat.com>
Co-authored-by: Alan Rominger <arominge@redhat.com>

* Remove deps update it came with the cherry-pick and is not needed in this version

Remove unneeded deps updates from requirements.in

Remove point to awx-plugins as it is not needed in tower

* Add a credential plugin that uses GitHub Apps to get tokens

* Add github app tests

* Ran requirements updater script

Ran black on github_app_test to fix formatting issue

Add scm_github_app to managed credentials

Ran updater script to reflect new deps

Added github app info to def build_passwords in jobs.py, cred now appears in credential types

Update ManagedCredentialType for GitHub App to match what we have in awx-plugins

Update inputs in maManagedCredentialType to github_app_inputs to communicate with awx/main/credential_plugins/github_app.py

Revert incorrect change in ManagedCredentialType, change github_app_lookup to call inputs instead of github_app_inputs

Updated namespace to github_app_lookup to agree with nomenclature used in the rest of the implementation and to resolve failing API test

Remove import pointing to awx plugins and update to point to credential_plugins

Remove references to gh_app_plugin_mod and change to github_app

Remove from awx_plugins.interfaces._temporary_private_django_api import (  # noqa: WPS436 to resolve failing test

Remove flake8 typing & typing references that do not exist in this version of Tower

Remove references in jobs.py and  __init__.py since this is an external cred type and registered it in setup.cfg instead

Remove blank line

REvise name in cfg from github_app_lookup to github_app to see if that ifxes module not found error

Revise first declaration of github_app to agree with file name to see if that resolves issue

Rename line 174 to agree with what's in config

Fix reference to github_app_lookup to github_app

Linters compliaining about the github_app in __all__ not being defined, renamed to see if that aligns them

Fix naming in test to correspond to naming of cred type

Update naming to be more specific and add blank line to setup.cfg

Remove __all__ from githubapp.py to satisfy linters

Revert formatting change since it is not needed in this repository

* Add blank line at the end of requirements.in

---------

Co-authored-by: Andrea Restle-Lay <andrearestlelay@gmail.com>
Co-authored-by: Jake Jackson <thedoubl3j@Jakes-MacBook-Pro.local>
Co-authored-by: Jake Jackson <jljacks93@gmail.com>
Co-authored-by: Andrea Restle-Lay <arestlel@redhat.com>
Co-authored-by: Alan Rominger <arominge@redhat.com>
2025-04-10 14:32:17 -04:00

626 lines
15 KiB
Plaintext

adal==1.2.7
# via msrestazure
aiodns==3.2.0
# via aiohttp
aiofiles==24.1.0
# via opa-python-client
aiohappyeyeballs==2.4.3
# via aiohttp
aiohttp[speedups]==3.11.6
# via
# -r /awx_devel/requirements/requirements.in
# aiohttp-retry
# opa-python-client
# twilio
aiohttp-retry==2.8.3
# via twilio
aiosignal==1.3.1
# via aiohttp
annotated-types==0.6.0
# via pydantic
ansible-runner==2.4.0
# via -r /awx_devel/requirements/requirements.in
ansiconv==1.0.0
# via -r /awx_devel/requirements/requirements.in
asciichartpy==1.5.25
# via -r /awx_devel/requirements/requirements.in
asgiref==3.7.2
# via
# channels
# channels-redis
# daphne
# django
# django-cors-headers
asn1==2.7.0
# via -r /awx_devel/requirements/requirements.in
async-timeout==4.0.3
# via
# aiohttp
# redis
attrs==23.2.0
# via
# aiohttp
# automat
# jsonschema
# referencing
# service-identity
# twisted
autobahn==23.6.2
# via daphne
autocommand==2.2.2
# via jaraco-text
automat==22.10.0
# via twisted
azure-common==1.1.28
# via
# azure-keyvault-certificates
# azure-keyvault-keys
# azure-keyvault-secrets
azure-core==1.30.0
# via
# azure-identity
# azure-keyvault-certificates
# azure-keyvault-keys
# azure-keyvault-secrets
# msrest
azure-identity==1.15.0
# via -r /awx_devel/requirements/requirements.in
azure-keyvault==4.2.0
# via -r /awx_devel/requirements/requirements.in
azure-keyvault-certificates==4.7.0
# via azure-keyvault
azure-keyvault-keys==4.8.0
# via azure-keyvault
azure-keyvault-secrets==4.7.0
# via azure-keyvault
boto3==1.34.47
# via -r /awx_devel/requirements/requirements.in
botocore==1.34.47
# via
# -r /awx_devel/requirements/requirements.in
# boto3
# s3transfer
brotli==1.1.0
# via aiohttp
cachetools==5.3.2
# via google-auth
# via
# -r /awx_devel/requirements/requirements_git.txt
# kubernetes
# msrest
# requests
cffi==1.16.0
# via
# cryptography
# pycares
# pynacl
channels==3.0.5
# via
# -r /awx_devel/requirements/requirements.in
# channels-redis
channels-redis==4.2.0
# via -r /awx_devel/requirements/requirements.in
charset-normalizer==3.3.2
# via requests
click==8.1.7
# via receptorctl
constantly==23.10.4
# via twisted
cryptography==41.0.7
# via
# -r /awx_devel/requirements/requirements.in
# adal
# autobahn
# azure-identity
# azure-keyvault-keys
# django-ansible-base
# jwcrypto
# msal
# pyjwt
# pyopenssl
# service-identity
# social-auth-core
cython==0.29.37
# via -r /awx_devel/requirements/requirements.in
daphne==3.0.2
# via
# -r /awx_devel/requirements/requirements.in
# channels
defusedxml==0.7.1
# via
# python3-openid
# social-auth-core
deprecated==1.2.14
# via
# opentelemetry-api
# opentelemetry-exporter-otlp-proto-grpc
# opentelemetry-exporter-otlp-proto-http
# pygithub
distro==1.9.0
# via -r /awx_devel/requirements/requirements.in
django==4.2.18
# via
# -r /awx_devel/requirements/requirements.in
# channels
# django-ansible-base
# django-auth-ldap
# django-cors-headers
# django-crum
# django-extensions
# django-flags
# django-guid
# django-oauth-toolkit
# django-polymorphic
# django-solo
# djangorestframework
# social-auth-app-django
# via -r /awx_devel/requirements/requirements_git.txt
django-auth-ldap==5.1.0
# via -r /awx_devel/requirements/requirements.in
django-cors-headers==4.3.1
# via -r /awx_devel/requirements/requirements.in
django-crum==0.7.9
# via
# -r /awx_devel/requirements/requirements.in
# django-ansible-base
django-extensions==3.2.3
# via -r /awx_devel/requirements/requirements.in
django-flags==5.0.13
# via
# -r /awx_devel/requirements/requirements.in
# django-ansible-base
django-guid==3.2.1
# via -r /awx_devel/requirements/requirements.in
django-oauth-toolkit==1.7.1
# via -r /awx_devel/requirements/requirements.in
django-pglocks==1.0.4
# via -r /awx_devel/requirements/requirements.in
django-polymorphic==3.1.0
# via -r /awx_devel/requirements/requirements.in
django-radius==1.5.1
# via -r /awx_devel/requirements/requirements.in
django-solo==2.2.0
# via -r /awx_devel/requirements/requirements.in
django-split-settings==1.0.0
# via
# -r /awx_devel/requirements/requirements.in
# django-ansible-base
djangorestframework==3.15.2
# via
# -r /awx_devel/requirements/requirements.in
# django-ansible-base
djangorestframework-yaml==2.0.0
# via -r /awx_devel/requirements/requirements.in
docutils==0.20.1
# via python-daemon
enum-compat==0.0.3
# via asn1
filelock==3.13.1
# via -r /awx_devel/requirements/requirements.in
frozenlist==1.4.1
# via
# aiohttp
# aiosignal
gitdb==4.0.11
# via gitpython
gitpython==3.1.42
# via -r /awx_devel/requirements/requirements.in
google-auth==2.28.1
# via kubernetes
googleapis-common-protos==1.63.0
# via
# opentelemetry-exporter-otlp-proto-grpc
# opentelemetry-exporter-otlp-proto-http
grpcio==1.68.1
# via
# -r /awx_devel/requirements/requirements.in
# opentelemetry-exporter-otlp-proto-grpc
hiredis==3.0.0
# via redis
hyperlink==21.0.0
# via
# autobahn
# twisted
idna==3.6
# via
# hyperlink
# requests
# twisted
# yarl
importlib-metadata==6.2.1
# via
# ansible-runner
# markdown
# opentelemetry-api
incremental==24.7.2
# via twisted
inflect==7.0.0
# via jaraco-text
inflection==0.5.1
# via django-ansible-base
irc==20.3.1
# via -r /awx_devel/requirements/requirements.in
isodate==0.6.1
# via
# azure-keyvault-certificates
# azure-keyvault-keys
# azure-keyvault-secrets
# msrest
# python3-saml
jaraco-collections==5.0.0
# via irc
jaraco-context==4.3.0
# via jaraco-text
jaraco-functools==4.0.0
# via
# irc
# jaraco-text
# tempora
jaraco-logging==3.3.0
# via irc
jaraco-stream==3.0.3
# via irc
jaraco-text==3.12.0
# via
# irc
# jaraco-collections
jinja2==3.1.6
# via -r /awx_devel/requirements/requirements.in
jmespath==1.0.1
# via
# boto3
# botocore
jq==1.8.0
# via -r /awx_devel/requirements/requirements.in
json-log-formatter==0.5.2
# via -r /awx_devel/requirements/requirements.in
jsonschema==4.21.1
# via -r /awx_devel/requirements/requirements.in
jsonschema-specifications==2023.12.1
# via jsonschema
jwcrypto==1.5.4
# via django-oauth-toolkit
kubernetes==29.0.0
# via openshift
lockfile==0.12.2
# via python-daemon
lxml==4.9.4
# via
# python3-saml
# xmlsec
markdown==3.5.2
# via -r /awx_devel/requirements/requirements.in
markupsafe==2.1.5
# via jinja2
maturin==1.5.0
# via -r /awx_devel/requirements/requirements.in
more-itertools==10.2.0
# via
# irc
# jaraco-functools
# jaraco-text
msal==1.26.0
# via
# azure-identity
# msal-extensions
msal-extensions==1.1.0
# via azure-identity
msgpack==1.0.5
# via
# -r /awx_devel/requirements/requirements.in
# channels-redis
msrest==0.7.1
# via msrestazure
msrestazure==0.6.4
# via -r /awx_devel/requirements/requirements.in
multidict==6.0.5
# via
# aiohttp
# yarl
netaddr==1.2.1
# via pyrad
oauthlib==3.2.2
# via
# django-oauth-toolkit
# kubernetes
# requests-oauthlib
# social-auth-core
opa-python-client==2.0.2
# via -r /awx_devel/requirements/requirements.in
openshift==0.13.2
# via -r /awx_devel/requirements/requirements.in
opentelemetry-api==1.24.0
# via
# -r /awx_devel/requirements/requirements.in
# opentelemetry-exporter-otlp-proto-grpc
# opentelemetry-exporter-otlp-proto-http
# opentelemetry-instrumentation
# opentelemetry-instrumentation-logging
# opentelemetry-sdk
opentelemetry-exporter-otlp==1.24.0
# via -r /awx_devel/requirements/requirements.in
opentelemetry-exporter-otlp-proto-common==1.24.0
# via
# opentelemetry-exporter-otlp-proto-grpc
# opentelemetry-exporter-otlp-proto-http
opentelemetry-exporter-otlp-proto-grpc==1.24.0
# via opentelemetry-exporter-otlp
opentelemetry-exporter-otlp-proto-http==1.24.0
# via opentelemetry-exporter-otlp
opentelemetry-instrumentation==0.45b0
# via opentelemetry-instrumentation-logging
opentelemetry-instrumentation-logging==0.45b0
# via -r /awx_devel/requirements/requirements.in
opentelemetry-proto==1.24.0
# via
# opentelemetry-exporter-otlp-proto-common
# opentelemetry-exporter-otlp-proto-grpc
# opentelemetry-exporter-otlp-proto-http
opentelemetry-sdk==1.24.0
# via
# -r /awx_devel/requirements/requirements.in
# opentelemetry-exporter-otlp-proto-grpc
# opentelemetry-exporter-otlp-proto-http
opentelemetry-semantic-conventions==0.45b0
# via opentelemetry-sdk
packaging==23.2
# via
# ansible-runner
# msal-extensions
# setuptools-scm
pbr==6.0.0
# via -r /awx_devel/requirements/requirements.in
pexpect==4.7.0
# via
# -r /awx_devel/requirements/requirements.in
# ansible-runner
pkgconfig==1.5.5
# via -r /awx_devel/requirements/requirements.in
portalocker==2.8.2
# via msal-extensions
prometheus-client==0.20.0
# via -r /awx_devel/requirements/requirements.in
propcache==0.2.0
# via
# aiohttp
# yarl
protobuf==4.25.3
# via
# googleapis-common-protos
# opentelemetry-proto
psutil==5.9.8
# via -r /awx_devel/requirements/requirements.in
psycopg==3.1.18
# via -r /awx_devel/requirements/requirements.in
ptyprocess==0.7.0
# via pexpect
pyasn1==0.5.1
# via
# pyasn1-modules
# python-ldap
# rsa
# service-identity
pyasn1-modules==0.3.0
# via
# google-auth
# python-ldap
# service-identity
pycares==4.5.0
# via aiodns
pycparser==2.21
# via cffi
pydantic==2.5.0
# via inflect
pydantic-core==2.14.1
# via pydantic
pygerduty==0.38.3
# via -r /awx_devel/requirements/requirements.in
pygithub==2.6.0
# via -r /awx_devel/requirements/requirements.in
pyjwt[crypto]==2.8.0
# via
# adal
# msal
# pygithub
# social-auth-core
# twilio
pynacl==1.5.0
# via pygithub
pyopenssl==24.0.0
# via
# -r /awx_devel/requirements/requirements.in
# twisted
pyparsing==2.4.6
# via -r /awx_devel/requirements/requirements.in
pyrad==2.4
# via django-radius
python-daemon==3.0.1
# via
# -r /awx_devel/requirements/requirements.in
# ansible-runner
python-dateutil==2.8.2
# via
# adal
# botocore
# kubernetes
# receptorctl
python-dsv-sdk==1.0.4
# via -r /awx_devel/requirements/requirements.in
python-ldap==3.4.4
# via
# -r /awx_devel/requirements/requirements.in
# django-auth-ldap
python-string-utils==1.0.0
# via openshift
python-tss-sdk==1.2.2
# via -r /awx_devel/requirements/requirements.in
python3-openid==3.2.0
# via social-auth-core
# via -r /awx_devel/requirements/requirements_git.txt
pytz==2024.1
# via
# irc
# tempora
pyyaml==6.0.1
# via
# -r /awx_devel/requirements/requirements.in
# ansible-runner
# djangorestframework-yaml
# kubernetes
# receptorctl
pyzstd==0.15.10
# via -r /awx_devel/requirements/requirements.in
receptorctl==1.5.3
# via -r /awx_devel/requirements/requirements.in
redis[hiredis]==5.0.1
# via
# -r /awx_devel/requirements/requirements.in
# channels-redis
referencing==0.33.0
# via
# jsonschema
# jsonschema-specifications
requests==2.32.3
# via
# -r /awx_devel/requirements/requirements.in
# adal
# azure-core
# django-oauth-toolkit
# kubernetes
# msal
# msrest
# opa-python-client
# opentelemetry-exporter-otlp-proto-http
# pygithub
# python-dsv-sdk
# python-tss-sdk
# requests-oauthlib
# social-auth-core
# twilio
requests-oauthlib==1.3.1
# via
# kubernetes
# msrest
# social-auth-core
rpds-py==0.18.0
# via
# jsonschema
# referencing
rsa==4.9
# via google-auth
s3transfer==0.10.0
# via boto3
semantic-version==2.10.0
# via setuptools-rust
service-identity==24.1.0
# via twisted
setuptools-rust==1.8.1
# via -r /awx_devel/requirements/requirements.in
setuptools-scm[toml]==8.0.4
# via -r /awx_devel/requirements/requirements.in
six==1.16.0
# via
# automat
# azure-core
# django-pglocks
# isodate
# kubernetes
# msrestazure
# openshift
# pygerduty
# pyrad
# python-dateutil
# tacacs-plus
slack-sdk==3.27.0
# via -r /awx_devel/requirements/requirements.in
smmap==5.0.1
# via gitdb
social-auth-app-django==5.4.2
# via -r /awx_devel/requirements/requirements.in
social-auth-core==4.5.4
# via
# -r /awx_devel/requirements/requirements.in
# social-auth-app-django
sqlparse==0.5.0
# via
# -r /awx_devel/requirements/requirements.in
# django
tacacs-plus==1.0
# via -r /awx_devel/requirements/requirements.in
tempora==5.5.1
# via
# irc
# jaraco-logging
tomli==2.0.1
# via
# incremental
# maturin
# setuptools-rust
# setuptools-scm
twilio==8.13.0
# via -r /awx_devel/requirements/requirements.in
twisted[tls]==24.7.0
# via
# -r /awx_devel/requirements/requirements.in
# daphne
txaio==23.1.1
# via autobahn
typing-extensions==4.9.0
# via
# asgiref
# azure-core
# azure-keyvault-certificates
# azure-keyvault-keys
# azure-keyvault-secrets
# inflect
# jwcrypto
# opentelemetry-sdk
# psycopg
# pydantic
# pydantic-core
# pygithub
# setuptools-scm
# twisted
urllib3==1.26.20
# via
# -r /awx_devel/requirements/requirements.in
# botocore
# kubernetes
# pygithub
# requests
uwsgi==2.0.28
# via -r /awx_devel/requirements/requirements.in
uwsgitop==0.11
# via -r /awx_devel/requirements/requirements.in
websocket-client==1.7.0
# via kubernetes
wheel==0.42.0
# via -r /awx_devel/requirements/requirements.in
wrapt==1.16.0
# via
# deprecated
# opentelemetry-instrumentation
xmlsec==1.3.13
# via python3-saml
yarl==1.17.2
# via aiohttp
zipp==3.17.0
# via importlib-metadata
zope-interface==6.2
# via twisted
# The following packages are considered to be unsafe in a requirements file:
pip==21.2.4
# via -r /awx_devel/requirements/requirements.in
setuptools==69.0.2
# via
# -r /awx_devel/requirements/requirements.in
# asciichartpy
# autobahn
# incremental
# opentelemetry-instrumentation
# python-daemon
# setuptools-rust
# setuptools-scm
# zope-interface