ansible-role-docker/files/debian_docker_version.fact

38 lines
1.0 KiB
Python

#!/usr/bin/python3
# -*- coding: utf-8 -*-
import json
import os
import sys
DEBIAN_VERSION_MAP = {8: "jessie", 9: "stretch", 10: "buster", 11: "bullseye"}
def debian_distribution():
with open("/etc/debian_version") as f:
debian_version_string = f.read().strip("\n")
if debian_version_string.endswith("/sid"):
return debian_version_string.strip("/sid")
try:
major, minor = debian_version_string.split(".")
release_number = int(major)
return DEBIAN_VERSION_MAP[release_number]
except ValueError:
return None
def debian_distribution_docker_safe():
debian_version = debian_distribution()
if debian_version == "bullseye":
json.dump({"version": "bullseye", "safe_version": "buster"}, sys.stdout)
elif debian_version is not None:
json.dump(
{"version": debian_version, "safe_version": debian_version}, sys.stdout
)
else:
json.dump("", sys.stdout)
if __name__ == "__main__":
debian_distribution_docker_safe()