Set aws creds through environment variables locally
This commit is contained in:
parent
00dba743d9
commit
040be01e9d
27
Tiltfile
27
Tiltfile
@ -53,7 +53,20 @@ docker_build("mev-inspect-py", ".",
|
|||||||
trigger="./pyproject.toml"),
|
trigger="./pyproject.toml"),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
k8s_yaml(helm('./k8s/mev-inspect', name='mev-inspect'))
|
k8s_yaml(helm(
|
||||||
|
'./k8s/mev-inspect',
|
||||||
|
name='mev-inspect',
|
||||||
|
set=[
|
||||||
|
"extraEnv[0].name=AWS_ACCESS_KEY_ID",
|
||||||
|
"extraEnv[0].value=foobar",
|
||||||
|
"extraEnv[1].name=AWS_SECRET_ACCESS_KEY",
|
||||||
|
"extraEnv[1].value=foobar",
|
||||||
|
"extraEnv[2].name=AWS_REGION",
|
||||||
|
"extraEnv[2].value=us-east-1",
|
||||||
|
"extraEnv[3].name=AWS_ENDPOINT_URL",
|
||||||
|
"extraEnv[3].value=http://localstack:4566",
|
||||||
|
],
|
||||||
|
))
|
||||||
k8s_resource(
|
k8s_resource(
|
||||||
workload="mev-inspect",
|
workload="mev-inspect",
|
||||||
resource_deps=["postgresql", "redis-master"],
|
resource_deps=["postgresql", "redis-master"],
|
||||||
@ -62,7 +75,17 @@ k8s_resource(
|
|||||||
k8s_yaml(helm(
|
k8s_yaml(helm(
|
||||||
'./k8s/mev-inspect-workers',
|
'./k8s/mev-inspect-workers',
|
||||||
name='mev-inspect-workers',
|
name='mev-inspect-workers',
|
||||||
set=["replicaCount=1"],
|
set=[
|
||||||
|
"extraEnv[0].name=AWS_ACCESS_KEY_ID",
|
||||||
|
"extraEnv[0].value=foobar",
|
||||||
|
"extraEnv[1].name=AWS_SECRET_ACCESS_KEY",
|
||||||
|
"extraEnv[1].value=foobar",
|
||||||
|
"extraEnv[2].name=AWS_REGION",
|
||||||
|
"extraEnv[2].value=us-east-1",
|
||||||
|
"extraEnv[3].name=AWS_ENDPOINT_URL",
|
||||||
|
"extraEnv[3].value=http://localstack:4566",
|
||||||
|
"replicaCount=1",
|
||||||
|
],
|
||||||
))
|
))
|
||||||
k8s_resource(
|
k8s_resource(
|
||||||
workload="mev-inspect-workers",
|
workload="mev-inspect-workers",
|
||||||
|
@ -91,6 +91,10 @@ spec:
|
|||||||
name: mev-inspect-listener-healthcheck
|
name: mev-inspect-listener-healthcheck
|
||||||
key: url
|
key: url
|
||||||
optional: true
|
optional: true
|
||||||
|
{{- range .Values.extraEnv }}
|
||||||
|
- name: {{ .name }}
|
||||||
|
value: {{ .value }}
|
||||||
|
{{- end }}
|
||||||
{{- with .Values.nodeSelector }}
|
{{- with .Values.nodeSelector }}
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
|
@ -96,6 +96,10 @@ spec:
|
|||||||
configMapKeyRef:
|
configMapKeyRef:
|
||||||
name: mev-inspect-export
|
name: mev-inspect-export
|
||||||
key: export-bucket-name
|
key: export-bucket-name
|
||||||
|
{{- range .Values.extraEnv }}
|
||||||
|
- name: {{ .name }}
|
||||||
|
value: {{ .value }}
|
||||||
|
{{- end }}
|
||||||
{{- with .Values.nodeSelector }}
|
{{- with .Values.nodeSelector }}
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
from typing import Optional
|
||||||
|
|
||||||
import boto3
|
import boto3
|
||||||
|
|
||||||
from mev_inspect.text_io import BytesIteratorIO
|
from mev_inspect.text_io import BytesIteratorIO
|
||||||
|
|
||||||
|
AWS_ENDPOINT_URL_ENV = "AWS_ENDPOINT_URL"
|
||||||
MEV_SUMMARY_EXPORT_QUERY = """
|
MEV_SUMMARY_EXPORT_QUERY = """
|
||||||
SELECT to_json(mev_summary)
|
SELECT to_json(mev_summary)
|
||||||
FROM mev_summary
|
FROM mev_summary
|
||||||
@ -20,8 +22,8 @@ logger = logging.getLogger(__name__)
|
|||||||
def export_block_range(
|
def export_block_range(
|
||||||
inspect_db_session, after_block_number: int, before_block_number
|
inspect_db_session, after_block_number: int, before_block_number
|
||||||
) -> None:
|
) -> None:
|
||||||
|
export_bucket_name = os.environ["EXPORT_BUCKET_NAME"]
|
||||||
client = get_s3_client()
|
client = get_s3_client()
|
||||||
bucket_name = os.environ["EXPORT_BUCKET_NAME"]
|
|
||||||
|
|
||||||
mev_summary_json_results = inspect_db_session.execute(
|
mev_summary_json_results = inspect_db_session.execute(
|
||||||
statement=MEV_SUMMARY_EXPORT_QUERY,
|
statement=MEV_SUMMARY_EXPORT_QUERY,
|
||||||
@ -39,19 +41,17 @@ def export_block_range(
|
|||||||
|
|
||||||
client.upload_fileobj(
|
client.upload_fileobj(
|
||||||
mev_summary_json_fileobj,
|
mev_summary_json_fileobj,
|
||||||
Bucket=bucket_name,
|
Bucket=export_bucket_name,
|
||||||
Key=key,
|
Key=key,
|
||||||
)
|
)
|
||||||
|
|
||||||
logger.info(f"Exported to {key}")
|
logger.info(f"Exported to {key}")
|
||||||
|
|
||||||
|
|
||||||
# TODO - handle for production
|
|
||||||
def get_s3_client():
|
def get_s3_client():
|
||||||
return boto3.client(
|
endpoint_url = get_endpoint_url()
|
||||||
"s3",
|
return boto3.client("s3", endpoint_url=endpoint_url)
|
||||||
region_name="us-east-1",
|
|
||||||
endpoint_url="http://localstack:4566",
|
|
||||||
aws_access_key_id="test",
|
def get_endpoint_url() -> Optional[str]:
|
||||||
aws_secret_access_key="test",
|
return os.environ.get(AWS_ENDPOINT_URL_ENV)
|
||||||
)
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user