in devops/inter-org-artifacts-release/App.py [0:0]
def cp_image():
pubsub_message = request.get_json()
if not pubsub_message:
msg = "No Pub/Sub message received"
print(f"Error: {msg}")
response = make_response(msg, 400)
return jsonify(response)
if not isinstance(pubsub_message, dict) or "message" not in pubsub_message:
msg = "Invalid Pub/Sub message format"
response = make_response(msg, 400)
return jsonify(response)
message = pubsub_message["message"]
#################################
# Edit Image Tag that will be copied to target
#################################
image_tag_target = "$target_image_tag:$"
source_ar_repository_name = SOURCE_AR_REGISTRY if not os.environ.get("SOURCE_AR_REGISTRY") else os.environ.get("SOURCE_AR_REGISTRY")
target_ar_repository_name = TARGET_AR_REGISTRY if not os.environ.get("TARGET_AR_REGISTRY") else os.environ.get("TARGET_AR_REGISTRY")
print(f"source repo name: {source_ar_repository_name}")
print(f"target repo name: {target_ar_repository_name}")
#################################
# Copy image_tag
#################################
if isinstance(message, dict) and "data" in message:
data = base64.b64decode(message["data"]).decode("utf-8").strip()
print(f"data: {data}", flush=True)
data_clean = data.replace("data:","")
data = json.loads(data_clean)
image_full_name= data["tag"]
data_repo = data["tag"].rsplit('/', 1)[0:1]
print(f"data_repo: {str(data_repo[0])}", flush=True)
if (data["action"] == "INSERT") and (str(data_repo[0]) == source_ar_repository_name) :
image_full_name= data["tag"]
image_tag_pubsub_msg = image_full_name.split("/")[::-1][:1]
print(f"image_tag: {image_tag_pubsub_msg}", flush=True)