migrate_from_kubernetes 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/usr/bin/python3
  2. import os
  3. import sys
  4. import yaml
  5. from migration_helpers.resources import migrate_resources
  6. from migration_helpers.dns_config import migrate_dns_config
  7. from migration_helpers.storage import migrate_storage_item
  8. def migrate(values):
  9. config = values.get("helm_secret", {}).get("config", {})
  10. if not config:
  11. raise ValueError("No config found in values")
  12. new_values = {
  13. "minio": {
  14. "root_user": config["minioConfig"]["rootUser"],
  15. "root_password": config["minioConfig"]["rootPassword"],
  16. "extra_args": config["minioConfig"].get("extraArgs", []),
  17. "additional_envs": config["minioConfig"].get("additionalEnvs", []),
  18. },
  19. "network": {
  20. "domain": config["minioConfig"].get("domain", ""),
  21. "console_port": config["minioNetwork"]["consolePort"],
  22. "api_port": config["minioNetwork"]["apiPort"],
  23. "certificate_id": config["minioNetwork"].get("certificateID", None),
  24. "dns_opts": migrate_dns_config(config.get("podOptions", {}).get("dnsConfig", {})),
  25. },
  26. "storage": {
  27. "distributed_mode": config["minioStorage"].get("distributedMode", False),
  28. "distributed_uris": config["minioStorage"].get("distributedURIs", []),
  29. "export": migrate_storage_item(config["minioStorage"]["export"]),
  30. "additional_storage": [
  31. migrate_storage_item(item, include_read_only=True)
  32. for item in config["minioStorage"]["additionalStorages"]
  33. ],
  34. },
  35. "resources": migrate_resources(config["resources"]),
  36. }
  37. return new_values
  38. if __name__ == "__main__":
  39. if len(sys.argv) != 2:
  40. exit(1)
  41. if os.path.exists(sys.argv[1]):
  42. with open(sys.argv[1], "r") as f:
  43. print(yaml.dump(migrate(yaml.safe_load(f.read()))))