mirror of
https://github.com/qodo-ai/pr-agent.git
synced 2025-07-02 11:50:37 +08:00
chore: organize comments
This commit is contained in:
@ -95,7 +95,6 @@ def apply_secrets_manager_config():
|
||||
if not secret_provider:
|
||||
return
|
||||
|
||||
# Execute only when AWS Secrets Manager specific method is available
|
||||
if (hasattr(secret_provider, 'get_all_secrets') and
|
||||
get_settings().get("CONFIG.SECRET_PROVIDER") == 'aws_secrets_manager'):
|
||||
try:
|
||||
@ -106,7 +105,6 @@ def apply_secrets_manager_config():
|
||||
except Exception as e:
|
||||
get_logger().error(f"Failed to apply AWS Secrets Manager config: {e}")
|
||||
except Exception as e:
|
||||
# Fail silently when secret provider is not configured
|
||||
try:
|
||||
from pr_agent.log import get_logger
|
||||
get_logger().debug(f"Secret provider not configured: {e}")
|
||||
@ -118,12 +116,10 @@ def apply_secrets_manager_config():
|
||||
def apply_secrets_to_config(secrets: dict):
|
||||
"""
|
||||
Apply secret dictionary to configuration
|
||||
Configuration override with same pattern as Google Cloud Storage
|
||||
"""
|
||||
try:
|
||||
from pr_agent.log import get_logger
|
||||
except:
|
||||
# Do nothing if logging is not available
|
||||
def get_logger():
|
||||
class DummyLogger:
|
||||
def debug(self, msg): pass
|
||||
@ -134,7 +130,6 @@ def apply_secrets_to_config(secrets: dict):
|
||||
parts = key.split('.')
|
||||
if len(parts) == 2:
|
||||
section, setting = parts
|
||||
# Convert case to match Dynaconf pattern
|
||||
section_upper = section.upper()
|
||||
setting_upper = setting.upper()
|
||||
|
||||
|
@ -10,8 +10,6 @@ from pr_agent.secret_providers.secret_provider import SecretProvider
|
||||
class AWSSecretsManagerProvider(SecretProvider):
|
||||
def __init__(self):
|
||||
try:
|
||||
# AWS credentials are automatically retrieved from environment variables or IAM roles
|
||||
# Region configuration is flexible like Google Cloud Storage pattern
|
||||
region_name = get_settings().get("aws_secrets_manager.region_name") or \
|
||||
get_settings().get("aws.AWS_REGION_NAME")
|
||||
if region_name:
|
||||
@ -19,7 +17,6 @@ class AWSSecretsManagerProvider(SecretProvider):
|
||||
else:
|
||||
self.client = boto3.client('secretsmanager')
|
||||
|
||||
# Require secret_arn similar to Google Cloud Storage pattern
|
||||
self.secret_arn = get_settings().aws_secrets_manager.secret_arn
|
||||
|
||||
except Exception as e:
|
||||
@ -29,7 +26,6 @@ class AWSSecretsManagerProvider(SecretProvider):
|
||||
def get_secret(self, secret_name: str) -> str:
|
||||
"""
|
||||
Retrieve individual secret by name (for webhook tokens)
|
||||
Same error handling pattern as Google Cloud Storage
|
||||
"""
|
||||
try:
|
||||
response = self.client.get_secret_value(SecretId=secret_name)
|
||||
@ -41,7 +37,6 @@ class AWSSecretsManagerProvider(SecretProvider):
|
||||
def get_all_secrets(self) -> dict:
|
||||
"""
|
||||
Retrieve all secrets for configuration override
|
||||
AWS Secrets Manager specific method (not available in Google Cloud Storage)
|
||||
"""
|
||||
try:
|
||||
response = self.client.get_secret_value(SecretId=self.secret_arn)
|
||||
@ -51,11 +46,7 @@ class AWSSecretsManagerProvider(SecretProvider):
|
||||
return {}
|
||||
|
||||
def store_secret(self, secret_name: str, secret_value: str):
|
||||
"""
|
||||
Same error handling pattern as Google Cloud Storage
|
||||
"""
|
||||
try:
|
||||
# Update existing secret
|
||||
self.client.update_secret(
|
||||
SecretId=secret_name,
|
||||
SecretString=secret_value
|
||||
|
@ -5,13 +5,10 @@ from starlette_context.middleware import RawContextMiddleware
|
||||
|
||||
from pr_agent.servers.github_app import router
|
||||
|
||||
# Execute AWS Secrets Manager configuration override at module load time
|
||||
# Initialize with same pattern as Google Cloud Storage provider
|
||||
try:
|
||||
from pr_agent.config_loader import apply_secrets_manager_config
|
||||
apply_secrets_manager_config()
|
||||
except Exception as e:
|
||||
# Handle initialization failure silently (fallback to environment variables)
|
||||
try:
|
||||
from pr_agent.log import get_logger
|
||||
get_logger().debug(f"AWS Secrets Manager initialization failed, falling back to environment variables: {e}")
|
||||
|
@ -123,16 +123,6 @@ AWS_ACCESS_KEY_ID = ""
|
||||
AWS_SECRET_ACCESS_KEY = ""
|
||||
AWS_REGION_NAME = ""
|
||||
|
||||
# AWS Secrets Manager (for secure secret management in Lambda environments)
|
||||
[aws_secrets_manager]
|
||||
secret_arn = "" # The ARN of the AWS Secrets Manager secret containing PR-Agent configuration
|
||||
region_name = "" # Optional: specific AWS region (defaults to AWS_REGION_NAME or Lambda region)
|
||||
|
||||
# AWS Secrets Manager secret should contain JSON with configuration overrides:
|
||||
# Example secret value:
|
||||
# {
|
||||
# "openai.key": "sk-...",
|
||||
# "github.webhook_secret": "your-webhook-secret",
|
||||
# "github.user_token": "ghp_...",
|
||||
# "gitlab.personal_access_token": "glpat-..."
|
||||
# }
|
Reference in New Issue
Block a user