Skip to content

metadata-service: rename registries to registryOverrides #43754

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Aug 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -577,7 +577,7 @@ def is_enabled_in_any_registry(self) -> bool:
Returns:
bool: True if the connector is enabled, False otherwise.
"""
registries = self.metadata.get("registries")
registries = self.metadata.get("registryOverrides")
if not registries:
return False

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@ def get_metadata_inferred_insights(connector: Connector) -> Dict:
"connector_support_level": connector.metadata.get("supportLevel"),
"ab_internal_sl": connector.metadata.get("ab_internal", {}).get("sl"),
"ab_internal_ql": connector.metadata.get("ab_internal", {}).get("ql"),
"is_cloud_enabled": connector.metadata.get("registries", {}).get("cloud", {}).get("enabled", False),
"is_oss_enabled": connector.metadata.get("registries", {}).get("oss", {}).get("enabled", False),
"is_cloud_enabled": connector.metadata.get("registryOverrides", {}).get("cloud", {}).get("enabled", False),
"is_oss_enabled": connector.metadata.get("registryOverrides", {}).get("oss", {}).get("enabled", False),
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -182,10 +182,10 @@ def _apply_prerelease_overrides(metadata_dict: dict, validator_opts: ValidatorOp
return metadata_dict

# replace any dockerImageTag references with the actual tag
# this includes metadata.data.dockerImageTag, metadata.data.registries[].dockerImageTag
# this includes metadata.data.dockerImageTag, metadata.data.registryOverrides[].dockerImageTag
# where registries is a dictionary of registry name to registry object
metadata_dict["data"]["dockerImageTag"] = validator_opts.prerelease_tag
for registry in get(metadata_dict, "data.registries", {}).values():
for registry in get(metadata_dict, "data.registryOverrides", {}).values():
if "dockerImageTag" in registry:
registry["dockerImageTag"] = validator_opts.prerelease_tag

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@ class Config:
)


class Registry(BaseModel):
class RegistryOverride(BaseModel):
class Config:
extra = Extra.forbid

Expand Down Expand Up @@ -302,7 +302,7 @@ class Config:
tags: Optional[List[str]] = Field(
[], description="An array of tags that describe the connector. E.g: language:python, keyword:rds, etc."
)
registries: Optional[Registry] = None
registryOverrides: Optional[RegistryOverride] = None
allowedHosts: Optional[AllowedHosts] = None
releases: Optional[ConnectorReleases] = None
normalizationConfig: Optional[NormalizationDestinationDefinitionConfig] = None
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ properties:
items:
type: string
default: []
registries:
registryOverrides:
anyOf:
- type: object
additionalProperties: false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,11 @@ def validate_metadata_images_in_dockerhub(
base_docker_image = get(metadata_definition_dict, "data.dockerRepository")
base_docker_version = get(metadata_definition_dict, "data.dockerImageTag")

oss_docker_image = get(metadata_definition_dict, "data.registries.oss.dockerRepository", base_docker_image)
oss_docker_version = get(metadata_definition_dict, "data.registries.oss.dockerImageTag", base_docker_version)
oss_docker_image = get(metadata_definition_dict, "data.registryOverrides.oss.dockerRepository", base_docker_image)
oss_docker_version = get(metadata_definition_dict, "data.registryOverrides.oss.dockerImageTag", base_docker_version)

cloud_docker_image = get(metadata_definition_dict, "data.registries.cloud.dockerRepository", base_docker_image)
cloud_docker_version = get(metadata_definition_dict, "data.registries.cloud.dockerImageTag", base_docker_version)
cloud_docker_image = get(metadata_definition_dict, "data.registryOverrides.cloud.dockerRepository", base_docker_image)
cloud_docker_version = get(metadata_definition_dict, "data.registryOverrides.cloud.dockerImageTag", base_docker_version)

normalization_docker_image = get(metadata_definition_dict, "data.normalizationConfig.normalizationRepository", None)
normalization_docker_version = get(metadata_definition_dict, "data.normalizationConfig.normalizationTag", None)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ data:
normalizationIntegrationType: postgres
normalizationRepository: airbyte/exists-2
normalizationTag: 0.0.1
registries:
registryOverrides:
cloud:
enabled: true
dockerRepository: airbyte/does-not-exist-4
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ data:
normalizationIntegrationType: postgres
normalizationRepository: airbyte/exists-2
normalizationTag: 0.0.1
registries:
registryOverrides:
cloud:
enabled: true
oss:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ data:
normalizationIntegrationType: postgres
normalizationRepository: airbyte/does-not-exist-2
normalizationTag: 0.0.1
registries:
registryOverrides:
cloud:
enabled: true
dockerRepository: airbyte/exists-3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ data:
normalizationIntegrationType: postgres
normalizationRepository: airbyte/exists-2
normalizationTag: 0.0.1
registries:
registryOverrides:
cloud:
enabled: true
dockerRepository: airbyte/exists-3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ data:
icon: onesignal.svg
license: MIT
name: OneSignal
registries:
registryOverrides:
cloud:
enabled: true
oss:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ data:
normalizationIntegrationType: postgres
normalizationRepository: airbyte/exists-2
normalizationTag: 0.0.1
registries:
registryOverrides:
cloud:
enabled: true
dockerRepository: airbyte/exists-3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ data:
normalizationIntegrationType: postgres
normalizationRepository: airbyte/exists-2
normalizationTag: 0.0.1
registries:
registryOverrides:
cloud:
enabled: true
oss:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ data:
normalizationIntegrationType: postgres
normalizationRepository: airbyte/exists-2
normalizationTag: 99.99.99 # tag does not exist
registries:
registryOverrides:
cloud:
enabled: true
dockerRepository: airbyte/exists-3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ data:
normalizationIntegrationType: postgres
normalizationRepository: airbyte/exists-2
normalizationTag: 0.0.1
registries:
registryOverrides:
cloud:
enabled: true
dockerRepository: airbyte/exists-3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ data:
normalizationIntegrationType: postgres
normalizationRepository: airbyte/exists-2
normalizationTag: 0.0.1
registries:
registryOverrides:
cloud:
enabled: true
dockerRepository: airbyte/exists-3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ data:
normalizationIntegrationType: postgres
normalizationRepository: airbyte/exists-2
normalizationTag: 0.0.1
registries:
registryOverrides:
cloud:
enabled: true
dockerRepository: airbyte/exists-3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ data:
normalizationIntegrationType: postgres
normalizationRepository: airbyte/exists-2
normalizationTag: 0.0.1
registries:
registryOverrides:
cloud:
enabled: true
dockerRepository: airbyte/exists-3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ data:
icon: alloy-db.svg
license: MIT
name: AlloyDB for PostgreSQL
registries:
registryOverrides:
cloud:
enabled: true
oss:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ data:
icon: alloy-db.svg
license: MIT
name: AlloyDB for PostgreSQL
registries:
registryOverrides:
cloud:
enabled: true
oss:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ data:
icon: alloy-db.svg
license: MIT
name: AlloyDB for PostgreSQL
registries:
registryOverrides:
cloud:
enabled: true
oss:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ data:
icon: alloy-db.svg
license: MIT
name: AlloyDB for PostgreSQL
registries:
registryOverrides:
cloud:
enabled: true
oss:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ data:
icon: google-sheets.svg
license: Elv2
name: Google Sheets
registries:
registryOverrides:
cloud:
enabled: true
oss:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ data:
hosts:
- "${host}"
- "${tunnel_method.tunnel_host}"
registries:
registryOverrides:
oss:
enabled: true
definitionId: woohoo
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ data:
hosts:
- "${host}"
- "${tunnel_method.tunnel_host}"
registries:
registryOverrides:
oss:
enabled: true
connectorType: destination
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ data:
hosts:
- "${host}"
- "${tunnel_method.tunnel_host}"
registries:
registryOverrides:
oss:
enabled: true
what: is this?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ data:
icon: onesignal.svg
license: MIT
name: OneSignal
registries:
registryOverrides:
cloud:
enabled: true
oss:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ data:
icon: onesignal.svg
license: MIT
name: OneSignal
registries:
registryOverrides:
cloud:
enabled: true
oss:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ data:
icon: google-sheets.svg
license: Elv2
name: Google Sheets
registries:
registryOverrides:
cloud:
enabled: true
oss:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ data:
hosts:
- "${host}"
- "${tunnel_method.tunnel_host}"
registries:
registryOverrides:
oss:
enabled: true
cloud:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ data:
hosts:
- "${host}"
- "${tunnel_method.tunnel_host}"
registries:
registryOverrides:
oss:
enabled: true
tags:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -433,6 +433,6 @@ def test_upload_metadata_to_gcs_with_prerelease(mocker, valid_metadata_upload_fi
tmp_metadata, error = gcs_upload.validate_and_load(tmp_metadata_file_path, [], validator_opts=ValidatorOptions(docs_path=DOCS_PATH))
tmp_metadata_dict = to_json_sanitized_dict(tmp_metadata, exclude_none=True)
assert tmp_metadata_dict["data"]["dockerImageTag"] == prerelease_image_tag
for registry in get(tmp_metadata_dict, "data.registries", {}).values():
for registry in get(tmp_metadata_dict, "data.registryOverrides", {}).values():
if "dockerImageTag" in registry:
assert registry["dockerImageTag"] == prerelease_image_tag
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,7 @@

@pytest.fixture
def metadata_definition():
metadata_file_url = (
"https://raw.githubusercontent.com/airbytehq/airbyte/master/airbyte-integrations/connectors/source-faker/metadata.yaml"
)
metadata_file_url = "https://raw.githubusercontent.com/airbytehq/airbyte/8f0a6afe41cd1f9e70e954255749b7867592f863/airbyte-integrations/connectors/source-faker/metadata.yaml"
response = requests.get(metadata_file_url)
response.raise_for_status()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ def apply_overrides_from_registry(metadata_data: dict, override_registry_key: st
Returns:
dict: The metadata data field with the overrides applied.
"""
override_registry = metadata_data["registries"][override_registry_key]
override_registry = metadata_data["registryOverrides"][override_registry_key]
del override_registry["enabled"]

# remove any None values from the override registry
Expand Down Expand Up @@ -222,7 +222,7 @@ def metadata_to_registry_entry(metadata_entry: LatestMetadataEntry, override_reg
overridden_metadata_data = apply_overrides_from_registry(metadata_data, override_registry_key)

# remove fields that are not needed in the registry
del overridden_metadata_data["registries"]
del overridden_metadata_data["registryOverrides"]
del overridden_metadata_data["connectorType"]

# rename field connectorSubtype to sourceType
Expand Down Expand Up @@ -371,8 +371,8 @@ def get_registry_status_lists(registry_entry: LatestMetadataEntry) -> Tuple[List
"""
metadata_data_dict = registry_entry.metadata_definition.dict()

# get data.registries fiield, handling the case where it is not present or none
registries_field = get(metadata_data_dict, "data.registries") or {}
# get data.registryOverrides fiield, handling the case where it is not present or none
registries_field = get(metadata_data_dict, "data.registryOverrides") or {}

# registries is a dict of registry_name -> {enabled: bool}
all_enabled_registries = [
Expand Down
Loading
Loading