Skip to content

Commit 7e30df8

Browse files
committed
Remove the use of keyvault
1 parent f17fd03 commit 7e30df8

File tree

9 files changed

+12
-132
lines changed

9 files changed

+12
-132
lines changed

pyproject.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ classifiers = [
2727
dependencies = [
2828
"alitra>=1.1.3",
2929
"azure-identity",
30-
"azure-keyvault-secrets",
3130
"azure-storage-blob",
3231
"backoff",
3332
"click",

requirements.txt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ azure-core==1.38.0
2020
# via
2121
# azure-core-tracing-opentelemetry
2222
# azure-identity
23-
# azure-keyvault-secrets
2423
# azure-monitor-opentelemetry
2524
# azure-monitor-opentelemetry-exporter
2625
# azure-storage-blob
@@ -31,8 +30,6 @@ azure-identity==1.25.1
3130
# via
3231
# azure-monitor-opentelemetry-exporter
3332
# isar (pyproject.toml)
34-
azure-keyvault-secrets==4.10.0
35-
# via isar (pyproject.toml)
3633
azure-monitor-opentelemetry==1.8.2
3734
# via isar (pyproject.toml)
3835
azure-monitor-opentelemetry-exporter==1.0.0b45
@@ -101,7 +98,6 @@ importlib-metadata==8.7.1
10198
# via opentelemetry-api
10299
isodate==0.7.2
103100
# via
104-
# azure-keyvault-secrets
105101
# azure-storage-blob
106102
# msrest
107103
msal==1.34.0
@@ -290,7 +286,6 @@ typing-extensions==4.15.0
290286
# via
291287
# azure-core
292288
# azure-identity
293-
# azure-keyvault-secrets
294289
# azure-storage-blob
295290
# fastapi
296291
# grpcio

src/isar/apis/api.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
from isar.apis.robot_control.robot_controller import RobotController
1818
from isar.apis.schedule.scheduling_controller import SchedulingController
1919
from isar.apis.security.authentication import Authenticator
20-
from isar.config.keyvault.keyvault_service import Keyvault
2120
from isar.config.settings import settings
2221
from robot_interface.telemetry.mqtt_client import MqttClientInterface
2322
from robot_interface.telemetry.payloads import StartUpMessagePayload
@@ -30,14 +29,12 @@ def __init__(
3029
authenticator: Authenticator,
3130
scheduling_controller: SchedulingController,
3231
robot_controller: RobotController,
33-
keyvault: Keyvault,
3432
mqtt_publisher: MqttClientInterface,
3533
port: int = settings.API_PORT,
3634
) -> None:
3735
self.authenticator: Authenticator = authenticator
3836
self.scheduling_controller: SchedulingController = scheduling_controller
3937
self.robot_controller: RobotController = robot_controller
40-
self.keyvault: Keyvault = keyvault
4138
self.host: str = "0.0.0.0" # Locking uvicorn to use 0.0.0.0
4239
self.port: int = port
4340
self.mqtt_publisher: MqttClientInterface = mqtt_publisher

src/isar/config/keyvault/__init__.py

Whitespace-only changes.

src/isar/config/keyvault/keyvault_service.py

Lines changed: 0 additions & 89 deletions
This file was deleted.

src/isar/config/settings.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,16 +126,17 @@ class Settings(BaseSettings):
126126
MQTT_HOST: str = Field(default="localhost")
127127
MQTT_PORT: int = Field(default=1883)
128128

129-
# Keyvault name
130-
KEYVAULT_NAME: str = Field(default="IsarDevKv")
131-
132129
# Determines whether inspections are uploaded asynchronously or get_inspections in robotinterface
133130
UPLOAD_INSPECTIONS_ASYNC: bool = Field(default=False)
134131

135132
# URL to storage account for Azure Blob Storage
136133
BLOB_STORAGE_ACCOUNT_DATA: str = Field(default="")
137134
BLOB_STORAGE_ACCOUNT_METADATA: str = Field(default="")
138135

136+
# Blob storage connection strings for Azure Blob Storage
137+
BLOB_STORAGE_CONNECTION_STRING_DATA: str = Field(default="")
138+
BLOB_STORAGE_CONNECTION_STRING_METADATA: str = Field(default="")
139+
139140
# Name of blob container in Azure Blob Storage [slimm test]
140141
BLOB_CONTAINER: str = Field(default="test")
141142

src/isar/modules.py

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import os
21
from importlib import import_module
32

43
from dependency_injector import containers, providers
@@ -7,7 +6,6 @@
76
from isar.apis.robot_control.robot_controller import RobotController
87
from isar.apis.schedule.scheduling_controller import SchedulingController
98
from isar.apis.security.authentication import Authenticator
10-
from isar.config.keyvault.keyvault_service import Keyvault
119
from isar.config.settings import settings
1210
from isar.models.events import Events, SharedState
1311
from isar.robot.robot import Robot
@@ -23,15 +21,6 @@
2321
class ApplicationContainer(containers.DeclarativeContainer):
2422
config = providers.Configuration(pydantic_settings=[settings])
2523

26-
# Core services
27-
keyvault = providers.Singleton(
28-
Keyvault,
29-
keyvault_name=settings.KEYVAULT_NAME,
30-
client_id=settings.AZURE_CLIENT_ID,
31-
client_secret=os.environ.get("AZURE_CLIENT_SECRET"),
32-
tenant_id=settings.AZURE_TENANT_ID,
33-
)
34-
3524
# Events and shared state
3625
events = providers.Singleton(Events)
3726
shared_state = providers.Singleton(SharedState)
@@ -66,7 +55,6 @@ class ApplicationContainer(containers.DeclarativeContainer):
6655
authenticator=authenticator,
6756
scheduling_controller=scheduling_controller,
6857
robot_controller=robot_controller,
69-
keyvault=keyvault,
7058
mqtt_publisher=mqtt_client,
7159
)
7260

@@ -76,7 +64,7 @@ class ApplicationContainer(containers.DeclarativeContainer):
7664
local_storage = providers.Singleton(LocalStorage)
7765
storage_handlers_temp.append(local_storage)
7866
if settings.STORAGE_BLOB_ENABLED:
79-
blob_storage = providers.Singleton(BlobStorage, keyvault=keyvault)
67+
blob_storage = providers.Singleton(BlobStorage)
8068
storage_handlers_temp.append(blob_storage)
8169
storage_handlers = providers.List(*storage_handlers_temp)
8270

@@ -111,7 +99,6 @@ def get_injector() -> ApplicationContainer:
11199
container = ApplicationContainer()
112100
container.init_resources()
113101
container.wire(modules=[__name__])
114-
container.config.from_dict({"KEYVAULT_NAME": settings.KEYVAULT_NAME})
115102

116103
print("Loaded the following module configurations:")
117104
for provider_name, provider in container.providers.items():

src/isar/storage/blob_storage.py

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
from azure.core.exceptions import ResourceExistsError
55
from azure.storage.blob import BlobServiceClient, ContainerClient
66

7-
from isar.config.keyvault.keyvault_service import Keyvault
87
from isar.config.settings import settings
98
from isar.storage.storage_interface import (
109
BlobStoragePath,
@@ -18,27 +17,25 @@
1817

1918

2019
class BlobStorage(StorageInterface):
21-
def __init__(self, keyvault: Keyvault) -> None:
20+
def __init__(self) -> None:
2221
self.logger = logging.getLogger("uploader")
2322

2423
self.container_client_data = self._get_container_client(
25-
keyvault,
2624
settings.BLOB_STORAGE_ACCOUNT_DATA,
27-
"AZURE-STORAGE-CONNECTION-STRING-DATA",
25+
"BLOB_STORAGE_CONNECTION_STRING_DATA",
2826
)
2927
self.container_client_metadata = self._get_container_client(
30-
keyvault,
3128
settings.BLOB_STORAGE_ACCOUNT_METADATA,
32-
"AZURE-STORAGE-CONNECTION-STRING-METADATA",
29+
"BLOB_STORAGE_CONNECTION_STRING_METADATA",
3330
)
3431

3532
def _get_container_client(
36-
self, keyvault: Keyvault, account_name: str, secret_name: str
33+
self, account_name: str, setting_secret_name: str
3734
) -> ContainerClient:
38-
storage_connection_string = keyvault.get_secret(secret_name).value
35+
storage_connection_string = settings[setting_secret_name]
3936

40-
if storage_connection_string is None:
41-
raise RuntimeError(f"{secret_name} from keyvault is None")
37+
if not storage_connection_string:
38+
raise RuntimeError(f"{setting_secret_name} is Empty or None")
4239

4340
try:
4441
blob_service_client = BlobServiceClient.from_connection_string(

tests/conftest.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
from testcontainers.mysql import MySqlContainer
1818

1919
from isar.apis.security.authentication import Authenticator
20-
from isar.config.keyvault.keyvault_service import Keyvault
2120
from isar.config.settings import settings
2221
from isar.eventhandlers.eventhandler import State
2322
from isar.models.events import Events
@@ -127,12 +126,6 @@ def access_token() -> str:
127126
return "DummyToken"
128127

129128

130-
@pytest.fixture()
131-
def keyvault(container: ApplicationContainer) -> Singleton[Keyvault]:
132-
"""Fixture to provide the Keyvault instance."""
133-
return container.keyvault()
134-
135-
136129
@pytest.fixture()
137130
def state_machine(
138131
container: ApplicationContainer, robot: RobotInterface

0 commit comments

Comments
 (0)