Skip to content

Commit 0736b86

Browse files
authored
reverting un-used changes (#41)
#34
1 parent d58f5d4 commit 0736b86

File tree

2 files changed

+15
-67
lines changed

2 files changed

+15
-67
lines changed

prometrix/connect/aws_connect.py

Lines changed: 14 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515

1616
SA_TOKEN_PATH = os.environ.get("SA_TOKEN_PATH", "/var/run/secrets/eks.amazonaws.com/serviceaccount/token")
1717
AWS_ASSUME_ROLE = os.environ.get("AWS_ASSUME_ROLE")
18-
AWS_REFRESH_CREDS_SEC = int(os.environ.get("AWS_REFRESH_CREDS_SEC", "900")) # 15 minutes
1918

2019
class AWSPrometheusConnect(CustomPrometheusConnect):
2120
def __init__(
@@ -32,43 +31,20 @@ def __init__(
3231
self.region = region
3332
self.service_name = service_name
3433

35-
self._initial_access_key = access_key
36-
self._initial_secret_key = secret_key
37-
self._initial_token = token
38-
self._has_static_keys = bool(access_key and secret_key)
39-
self._session = None
40-
self._credentials = None
34+
if access_key and secret_key:
35+
# Backwards compatibility: use static keys
36+
self._credentials = Credentials(access_key, secret_key, token)
37+
else:
38+
# IRSA
39+
session = boto3.Session()
40+
creds = session.get_credentials()
41+
if not creds:
42+
raise RuntimeError("No AWS credentials found (neither static keys nor IRSA)")
43+
self._credentials = creds
4144

4245
role_to_assume = assume_role_arn or AWS_ASSUME_ROLE
43-
self._role_to_assume = role_to_assume
44-
45-
self._last_init_at = None
46-
47-
self.init_credentials()
48-
49-
def init_credentials(self) -> None:
50-
51-
try:
52-
if self._has_static_keys:
53-
self._credentials = Credentials(self._initial_access_key, self._initial_secret_key, self._initial_token)
54-
self._session = None
55-
else:
56-
# IRSA
57-
session = boto3.Session()
58-
creds = session.get_credentials()
59-
if not creds:
60-
raise RuntimeError("No AWS credentials found (neither static keys nor IRSA)")
61-
self._credentials = creds
62-
self._session = session
63-
64-
role_to_assume = self._role_to_assume
65-
if role_to_assume:
66-
self._assume_role(role_to_assume)
67-
68-
self._last_init_at = datetime.utcnow()
69-
except Exception:
70-
logging.exception("Failed to initialize credentials")
71-
raise
46+
if role_to_assume:
47+
self._assume_role(role_to_assume)
7248

7349
def _assume_role(self, role_arn: str) -> None:
7450
try:
@@ -99,12 +75,6 @@ def _assume_role(self, role_arn: str) -> None:
9975

10076
def _build_auth(self) -> SigV4Auth:
10177
"""Builds fresh SigV4 auth with current credentials (handles rotation)."""
102-
try:
103-
if self._last_init_at is None or (datetime.utcnow() - self._last_init_at).total_seconds() >= AWS_REFRESH_CREDS_SEC:
104-
logging.debug("%d seconds passed; re-initializing AWS credentials", AWS_REFRESH_CREDS_SEC)
105-
self.init_credentials()
106-
except Exception:
107-
logging.exception("Time-based credential refresh failed")
10878
frozen = self._credentials.get_frozen_credentials()
10979
return SigV4Auth(frozen, self.service_name, self.region)
11080

@@ -123,28 +93,6 @@ def signed_request(
12393
params=params,
12494
)
12595

126-
def _request_with_refresh(self, *, method, url, data=None, params=None, headers=None, verify=False):
127-
resp = self.signed_request(
128-
method=method,
129-
url=url,
130-
data=data,
131-
params=params,
132-
verify=verify,
133-
headers=headers,
134-
)
135-
if resp is not None and resp.status_code in (400, 401, 403):
136-
logging.warning("Auth failure %s, re-initializing credentials", resp.status_code)
137-
self.init_credentials()
138-
resp = self.signed_request(
139-
method=method,
140-
url=url,
141-
data=data,
142-
params=params,
143-
verify=verify,
144-
headers=headers,
145-
)
146-
return resp
147-
14896
def _custom_query(self, query: str, params: dict = None):
14997
"""
15098
Send a custom query to a Prometheus Host.
@@ -165,7 +113,7 @@ def _custom_query(self, query: str, params: dict = None):
165113
data = None
166114
query = str(query)
167115
# using the query API to get raw data
168-
response = self._request_with_refresh(
116+
response = self.signed_request(
169117
method="POST",
170118
url="{0}/api/v1/query".format(self.url),
171119
data={**{"query": query}, **params},
@@ -204,7 +152,7 @@ def safe_custom_query_range(
204152
params = params or {}
205153

206154
query = str(query)
207-
response = self._request_with_refresh(
155+
response = self.signed_request(
208156
method="POST",
209157
url="{0}/api/v1/query_range".format(self.url),
210158
data={

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "prometrix"
3-
version = "0.2.7"
3+
version = "0.2.8"
44
authors = ["Avi Kotlicky <[email protected]>"]
55
readme = "README.md"
66
packages = [{include = "prometrix"}]

0 commit comments

Comments
 (0)