Explorar o código

Merge pull request #79 from truenas/test-train-update

Update test train catalog items
Waqar Ahmed %!s(int64=4) %!d(string=hai) anos
pai
achega
0c98ad15cc
Modificáronse 80 ficheiros con 186 adicións e 60 borrados
  1. 0 0
      test/chia/1.2.2/.helmignore
  2. 9 9
      test/chia/1.2.2/Chart.yaml
  3. 0 0
      test/chia/1.2.2/README.md
  4. 0 0
      test/chia/1.2.2/app-readme.md
  5. 0 0
      test/chia/1.2.2/charts/common-2105.0.0.tgz
  6. 0 0
      test/chia/1.2.2/default_values.yaml
  7. 2 2
      test/chia/1.2.2/ix_values.yaml
  8. 0 0
      test/chia/1.2.2/questions.yaml
  9. 0 0
      test/chia/1.2.2/requirements.lock
  10. 0 0
      test/chia/1.2.2/templates/deployment.yaml
  11. 0 0
      test/chia/1.2.2/templates/generate-mnemonic.yaml
  12. 0 0
      test/chia/1.2.2/templates/mnemonic-configmap.yaml
  13. 1 1
      test/chia/1.2.2/test_values.yaml
  14. 0 0
      test/chia/1.2.2/values.yaml
  15. 1 0
      test/chia/upgrade_info.json
  16. 24 0
      test/chia/upgrade_strategy
  17. 0 0
      test/ipfs/1.1.1/.helmignore
  18. 9 9
      test/ipfs/1.1.1/Chart.yaml
  19. 0 0
      test/ipfs/1.1.1/README.md
  20. 0 0
      test/ipfs/1.1.1/app-readme.md
  21. 0 0
      test/ipfs/1.1.1/charts/common-2105.0.0.tgz
  22. 0 0
      test/ipfs/1.1.1/default_values.yaml
  23. 2 2
      test/ipfs/1.1.1/ix_values.yaml
  24. 0 0
      test/ipfs/1.1.1/questions.yaml
  25. 0 0
      test/ipfs/1.1.1/requirements.lock
  26. 0 0
      test/ipfs/1.1.1/templates/NOTES.txt
  27. 0 0
      test/ipfs/1.1.1/templates/deployment.yaml
  28. 0 0
      test/ipfs/1.1.1/templates/service.yaml
  29. 0 0
      test/ipfs/1.1.1/templates/serviceaccount.yaml
  30. 1 1
      test/ipfs/1.1.1/test_values.yaml
  31. 0 0
      test/ipfs/1.1.1/values.yaml
  32. 1 0
      test/ipfs/upgrade_info.json
  33. 24 0
      test/ipfs/upgrade_strategy
  34. 0 0
      test/minio/1.3.1/.helmignore
  35. 9 9
      test/minio/1.3.1/Chart.yaml
  36. 0 0
      test/minio/1.3.1/README.md
  37. 0 0
      test/minio/1.3.1/app-readme.md
  38. 0 0
      test/minio/1.3.1/charts/common-2105.0.0.tgz
  39. 0 0
      test/minio/1.3.1/default_values.yaml
  40. 2 2
      test/minio/1.3.1/ix_values.yaml
  41. 0 0
      test/minio/1.3.1/migrations/migrate_from_1.0.0
  42. 0 0
      test/minio/1.3.1/questions.yaml
  43. 0 0
      test/minio/1.3.1/requirements.lock
  44. 0 0
      test/minio/1.3.1/templates/NOTES.txt
  45. 0 0
      test/minio/1.3.1/templates/_cert.tpl
  46. 0 0
      test/minio/1.3.1/templates/_helpers.tpl
  47. 0 0
      test/minio/1.3.1/templates/configmap.yaml
  48. 0 0
      test/minio/1.3.1/templates/deployment.yaml
  49. 0 0
      test/minio/1.3.1/templates/secrets.yaml
  50. 0 0
      test/minio/1.3.1/templates/service.yaml
  51. 0 0
      test/minio/1.3.1/templates/serviceaccount.yaml
  52. 1 1
      test/minio/1.3.1/test_values.yaml
  53. 0 0
      test/minio/1.3.1/values.yaml
  54. 1 0
      test/minio/upgrade_info.json
  55. 25 0
      test/minio/upgrade_strategy
  56. 1 1
      test/nextcloud/1.3.0/Chart.yaml
  57. 1 1
      test/nextcloud/1.3.0/ix_values.yaml
  58. 1 1
      test/nextcloud/1.3.0/test_values.yaml
  59. 1 0
      test/nextcloud/upgrade_info.json
  60. 24 0
      test/nextcloud/upgrade_strategy
  61. 0 18
      test/plex/1.6.1/Chart.yaml
  62. 0 0
      test/plex/1.6.2/.helmignore
  63. 0 0
      test/plex/1.6.2/Chart.lock
  64. 17 0
      test/plex/1.6.2/Chart.yaml
  65. 0 0
      test/plex/1.6.2/README.md
  66. 0 0
      test/plex/1.6.2/app-readme.md
  67. 0 0
      test/plex/1.6.2/charts/common-2105.0.0.tgz
  68. 0 0
      test/plex/1.6.2/default_values.yaml
  69. 2 2
      test/plex/1.6.2/ix_values.yaml
  70. 0 0
      test/plex/1.6.2/migrations/migrate_from_1.0.0
  71. 0 0
      test/plex/1.6.2/questions.yaml
  72. 0 0
      test/plex/1.6.2/templates/NOTES.txt
  73. 0 0
      test/plex/1.6.2/templates/deployment.yaml
  74. 0 0
      test/plex/1.6.2/templates/probe_config.yaml
  75. 0 0
      test/plex/1.6.2/templates/service-tcp.yaml
  76. 0 0
      test/plex/1.6.2/templates/service-udp.yaml
  77. 1 1
      test/plex/1.6.2/test_values.yaml
  78. 0 0
      test/plex/1.6.2/values.yaml
  79. 1 0
      test/plex/upgrade_info.json
  80. 25 0
      test/plex/upgrade_strategy

+ 0 - 0
test/chia/1.2.1/.helmignore → test/chia/1.2.2/.helmignore


+ 9 - 9
test/chia/1.2.1/Chart.yaml → test/chia/1.2.2/Chart.yaml

@@ -1,18 +1,18 @@
 apiVersion: v1
+appVersion: 1.1.7
+dependencies:
+- name: common
+  repository: file://../../../library/common/2105.0.0
+  version: 2105.0.0
 description: Global, Versioned, peer-to-peer filesystem.
-name: chia
-version: 1.2.1
-appVersion: 1.1.4
+home: https://www.chia.net/
+icon: https://www.chia.net/img/chia_logo.svg
 keywords:
 - storage
 - crypto
 - blockchain
-home: https://www.chia.net/
-icon: https://www.chia.net/img/chia_logo.svg
+name: chia
 sources:
 - https://github.com/Chia-Network/chia-blockchain
 - https://github.com/orgs/chia-network/packages/container/package/chia
-dependencies:
-  - name: common
-    repository: file://../../../library/common/2105.0.0
-    version: 2105.0.0
+version: 1.2.2

+ 0 - 0
test/chia/1.2.1/README.md → test/chia/1.2.2/README.md


+ 0 - 0
test/chia/1.2.1/app-readme.md → test/chia/1.2.2/app-readme.md


+ 0 - 0
test/chia/1.2.1/charts/common-2105.0.0.tgz → test/chia/1.2.2/charts/common-2105.0.0.tgz


+ 0 - 0
test/chia/1.2.1/default_values.yaml → test/chia/1.2.2/default_values.yaml


+ 2 - 2
test/chia/1.2.1/ix_values.yaml → test/chia/1.2.2/ix_values.yaml

@@ -1,5 +1,5 @@
 image:
-  repository: ghcr.io/chia-network/chia
-  tag: 1.1.4
   pullPolicy: IfNotPresent
+  repository: ghcr.io/chia-network/chia
+  tag: 1.1.7
 updateStrategy: Recreate

+ 0 - 0
test/chia/1.2.1/questions.yaml → test/chia/1.2.2/questions.yaml


+ 0 - 0
test/chia/1.2.1/requirements.lock → test/chia/1.2.2/requirements.lock


+ 0 - 0
test/chia/1.2.1/templates/deployment.yaml → test/chia/1.2.2/templates/deployment.yaml


+ 0 - 0
test/chia/1.2.1/templates/generate-mnemonic.yaml → test/chia/1.2.2/templates/generate-mnemonic.yaml


+ 0 - 0
test/chia/1.2.1/templates/mnemonic-configmap.yaml → test/chia/1.2.2/templates/mnemonic-configmap.yaml


+ 1 - 1
test/chia/1.2.1/test_values.yaml → test/chia/1.2.2/test_values.yaml

@@ -1,6 +1,6 @@
 image:
   repository: ghcr.io/chia-network/chia
-  tag: 1.1.4
+  tag: 1.1.7
   pullPolicy: IfNotPresent
 updateStrategy: Recreate
 

+ 0 - 0
test/chia/1.2.1/values.yaml → test/chia/1.2.2/values.yaml


+ 1 - 0
test/chia/upgrade_info.json

@@ -0,0 +1 @@
+{"filename":  "ix_values.yaml", "keys": ["image"]}

+ 24 - 0
test/chia/upgrade_strategy

@@ -0,0 +1,24 @@
+#!/usr/bin/python3
+import json
+import sys
+
+from catalog_update.upgrade_strategy import semantic_versioning
+
+
+def newer_mapping(image_tags):
+    key = list(image_tags.keys())[0]
+    version = semantic_versioning(image_tags[key])
+    if not version:
+        return {}
+
+    return {
+        'tags': {key: version},
+        'app_version': version,
+    }
+
+
+if __name__ == '__main__':
+    if len(sys.argv) != 2:
+        exit(1)
+
+    print(json.dumps(newer_mapping(json.loads(sys.argv[1]))))

+ 0 - 0
test/ipfs/1.1.0/.helmignore → test/ipfs/1.1.1/.helmignore


+ 9 - 9
test/ipfs/1.1.0/Chart.yaml → test/ipfs/1.1.1/Chart.yaml

@@ -1,18 +1,18 @@
 apiVersion: v1
+appVersion: v0.9.0
+dependencies:
+- name: common
+  repository: file://../../../library/common/2105.0.0
+  version: 2105.0.0
 description: Global, Versioned, peer-to-peer filesystem.
-name: ipfs
-version: 1.1.0
-appVersion: v0.8.0
+home: https://ipfs.io
+icon: https://ipfs.io/ipfs/QmVk7srrwahXLNmcDYvyUEJptyoxpndnRa57YJ11L4jV26/ipfs.go.png
 keywords:
 - storage
 - p2p
-home: https://ipfs.io
-icon: https://ipfs.io/ipfs/QmVk7srrwahXLNmcDYvyUEJptyoxpndnRa57YJ11L4jV26/ipfs.go.png
+name: ipfs
 sources:
 - https://github.com/ipfs/go-ipfs
 - https://hub.docker.com/r/ipfs/go-ipfs
 upstream_version: 0.8.0-rc1
-dependencies:
-  - name: common
-    repository: file://../../../library/common/2105.0.0
-    version: 2105.0.0
+version: 1.1.1

+ 0 - 0
test/ipfs/1.1.0/README.md → test/ipfs/1.1.1/README.md


+ 0 - 0
test/ipfs/1.1.0/app-readme.md → test/ipfs/1.1.1/app-readme.md


+ 0 - 0
test/ipfs/1.1.0/charts/common-2105.0.0.tgz → test/ipfs/1.1.1/charts/common-2105.0.0.tgz


+ 0 - 0
test/ipfs/1.1.0/default_values.yaml → test/ipfs/1.1.1/default_values.yaml


+ 2 - 2
test/ipfs/1.1.0/ix_values.yaml → test/ipfs/1.1.1/ix_values.yaml

@@ -1,4 +1,4 @@
 image:
-  repository: ipfs/go-ipfs
-  tag: v0.8.0
   pullPolicy: IfNotPresent
+  repository: ipfs/go-ipfs
+  tag: v0.9.0

+ 0 - 0
test/ipfs/1.1.0/questions.yaml → test/ipfs/1.1.1/questions.yaml


+ 0 - 0
test/ipfs/1.1.0/requirements.lock → test/ipfs/1.1.1/requirements.lock


+ 0 - 0
test/ipfs/1.1.0/templates/NOTES.txt → test/ipfs/1.1.1/templates/NOTES.txt


+ 0 - 0
test/ipfs/1.1.0/templates/deployment.yaml → test/ipfs/1.1.1/templates/deployment.yaml


+ 0 - 0
test/ipfs/1.1.0/templates/service.yaml → test/ipfs/1.1.1/templates/service.yaml


+ 0 - 0
test/ipfs/1.1.0/templates/serviceaccount.yaml → test/ipfs/1.1.1/templates/serviceaccount.yaml


+ 1 - 1
test/ipfs/1.1.0/test_values.yaml → test/ipfs/1.1.1/test_values.yaml

@@ -2,7 +2,7 @@
 ##
 image:
   repository: ipfs/go-ipfs
-  tag: v0.8.0
+  tag: v0.9.0
   pullPolicy: IfNotPresent
 
 ## Additional arguments to pass to minio binary

+ 0 - 0
test/ipfs/1.1.0/values.yaml → test/ipfs/1.1.1/values.yaml


+ 1 - 0
test/ipfs/upgrade_info.json

@@ -0,0 +1 @@
+{"filename":  "ix_values.yaml", "keys": ["image"]}

+ 24 - 0
test/ipfs/upgrade_strategy

@@ -0,0 +1,24 @@
+#!/usr/bin/python3
+import json
+import sys
+
+from catalog_update.upgrade_strategy import semantic_versioning
+
+
+def newer_mapping(image_tags):
+    key = list(image_tags.keys())[0]
+    version = semantic_versioning(image_tags[key])
+    if not version:
+        return {}
+
+    return {
+        'tags': {key: f'v{version}'},
+        'app_version': f'v{version}',
+    }
+
+
+if __name__ == '__main__':
+    if len(sys.argv) != 2:
+        exit(1)
+
+    print(json.dumps(newer_mapping(json.loads(sys.argv[1]))))

+ 0 - 0
test/minio/1.3.0/.helmignore → test/minio/1.3.1/.helmignore


+ 9 - 9
test/minio/1.3.0/Chart.yaml → test/minio/1.3.1/Chart.yaml

@@ -1,19 +1,19 @@
 apiVersion: v1
+appVersion: '2021-06-17'
+dependencies:
+- name: common
+  repository: file://../../../library/common/2105.0.0
+  version: 2105.0.0
 description: High Performance, Kubernetes Native Object Storage
-name: minio
-version: 1.3.0
-appVersion: RELEASE.2021-02-19T04-38-02Z
+home: https://min.io
+icon: https://min.io/resources/img/logo/MINIO_wordmark.png
 keywords:
 - storage
 - object-storage
 - S3
-home: https://min.io
-icon: https://min.io/resources/img/logo/MINIO_wordmark.png
+name: minio
 sources:
 - https://github.com/minio/minio
 - https://github.com/minio/charts
 upstream_version: 8.0.5
-dependencies:
-  - name: common
-    repository: file://../../../library/common/2105.0.0
-    version: 2105.0.0
+version: 1.3.1

+ 0 - 0
test/minio/1.3.0/README.md → test/minio/1.3.1/README.md


+ 0 - 0
test/minio/1.3.0/app-readme.md → test/minio/1.3.1/app-readme.md


+ 0 - 0
test/minio/1.3.0/charts/common-2105.0.0.tgz → test/minio/1.3.1/charts/common-2105.0.0.tgz


+ 0 - 0
test/minio/1.3.0/default_values.yaml → test/minio/1.3.1/default_values.yaml


+ 2 - 2
test/minio/1.3.0/ix_values.yaml → test/minio/1.3.1/ix_values.yaml

@@ -1,4 +1,4 @@
 image:
-  repository: minio/minio
-  tag: RELEASE.2021-02-19T04-38-02Z
   pullPolicy: IfNotPresent
+  repository: minio/minio
+  tag: RELEASE.2021-06-17T00-10-46Z

+ 0 - 0
test/minio/1.3.0/migrations/migrate_from_1.0.0 → test/minio/1.3.1/migrations/migrate_from_1.0.0


+ 0 - 0
test/minio/1.3.0/questions.yaml → test/minio/1.3.1/questions.yaml


+ 0 - 0
test/minio/1.3.0/requirements.lock → test/minio/1.3.1/requirements.lock


+ 0 - 0
test/minio/1.3.0/templates/NOTES.txt → test/minio/1.3.1/templates/NOTES.txt


+ 0 - 0
test/minio/1.3.0/templates/_cert.tpl → test/minio/1.3.1/templates/_cert.tpl


+ 0 - 0
test/minio/1.3.0/templates/_helpers.tpl → test/minio/1.3.1/templates/_helpers.tpl


+ 0 - 0
test/minio/1.3.0/templates/configmap.yaml → test/minio/1.3.1/templates/configmap.yaml


+ 0 - 0
test/minio/1.3.0/templates/deployment.yaml → test/minio/1.3.1/templates/deployment.yaml


+ 0 - 0
test/minio/1.3.0/templates/secrets.yaml → test/minio/1.3.1/templates/secrets.yaml


+ 0 - 0
test/minio/1.3.0/templates/service.yaml → test/minio/1.3.1/templates/service.yaml


+ 0 - 0
test/minio/1.3.0/templates/serviceaccount.yaml → test/minio/1.3.1/templates/serviceaccount.yaml


+ 1 - 1
test/minio/1.3.0/test_values.yaml → test/minio/1.3.1/test_values.yaml

@@ -2,7 +2,7 @@
 ##
 image:
   repository: minio/minio
-  tag: RELEASE.2021-02-19T04-38-02Z
+  tag: RELEASE.2021-06-17T00-10-46Z
   pullPolicy: IfNotPresent
 
 ## Additional arguments to pass to minio binary

+ 0 - 0
test/minio/1.3.0/values.yaml → test/minio/1.3.1/values.yaml


+ 1 - 0
test/minio/upgrade_info.json

@@ -0,0 +1 @@
+{"filename":  "ix_values.yaml", "keys": ["image"]}

+ 25 - 0
test/minio/upgrade_strategy

@@ -0,0 +1,25 @@
+#!/usr/bin/python3
+import json
+import sys
+
+from catalog_update.upgrade_strategy import datetime_versioning
+
+
+def newer_mapping(image_tags):
+    key = list(image_tags.keys())[0]
+    tags = {t.strip('RELEASE.'): t for t in image_tags[key] if t.startswith('RELEASE.') and t.endswith('Z')}
+    version = datetime_versioning(list(tags), '%Y-%m-%dT%H-%M-%SZ')
+    if not version:
+        return {}
+
+    return {
+        'tags': {key: tags[version]},
+        'app_version': version.split('T')[0],
+    }
+
+
+if __name__ == '__main__':
+    if len(sys.argv) != 2:
+        exit(1)
+
+    print(json.dumps(newer_mapping(json.loads(sys.argv[1]))))

+ 1 - 1
test/nextcloud/1.3.0/Chart.yaml

@@ -1,7 +1,7 @@
 apiVersion: v2
 name: nextcloud
 version: 1.3.0
-appVersion: 20.0.7
+appVersion: 21.0.2
 description: A file sharing server that puts the control and security of your own data back into your hands.
 keywords:
 - nextcloud

+ 1 - 1
test/nextcloud/1.3.0/ix_values.yaml

@@ -1,4 +1,4 @@
 image:
   repository: nextcloud
-  tag: 20.0.7
+  tag: 21.0.2
   pullPolicy: IfNotPresent

+ 1 - 1
test/nextcloud/1.3.0/test_values.yaml

@@ -3,7 +3,7 @@
 ##
 image:
   repository: nextcloud
-  tag: 19.0.3-apache
+  tag: 21.0.2
   pullPolicy: IfNotPresent
 
 nextcloud:

+ 1 - 0
test/nextcloud/upgrade_info.json

@@ -0,0 +1 @@
+{"filename":  "ix_values.yaml", "keys": ["image"]}

+ 24 - 0
test/nextcloud/upgrade_strategy

@@ -0,0 +1,24 @@
+#!/usr/bin/python3
+import json
+import sys
+
+from catalog_update.upgrade_strategy import semantic_versioning
+
+
+def newer_mapping(image_tags):
+    key = list(image_tags.keys())[0]
+    version = semantic_versioning(image_tags[key])
+    if not version:
+        return {}
+
+    return {
+        'tags': {key: version},
+        'app_version': version,
+    }
+
+
+if __name__ == '__main__':
+    if len(sys.argv) != 2:
+        exit(1)
+
+    print(json.dumps(newer_mapping(json.loads(sys.argv[1]))))

+ 0 - 18
test/plex/1.6.1/Chart.yaml

@@ -1,18 +0,0 @@
-apiVersion: v2
-appVersion: 1.21.3.4046-3c1c83ba4
-description: Plex Media Server
-name: plex
-version: 1.6.1
-keywords:
-  - plex
-home: https://plex.tv/
-icon: https://www.plex.tv/wp-content/uploads/2018/01/pmp-icon-1.png
-sources:
-  - https://hub.docker.com/r/plexinc/pms-docker/
-  - https://github.com/k8s-at-home/charts/tree/master/charts/plex
-upstream_version: 2.1.0
-dependencies:
-  - name: common
-    repository: file://../../../library/common/2105.0.0
-    version: 2105.0.0
-

+ 0 - 0
test/plex/1.6.1/.helmignore → test/plex/1.6.2/.helmignore


+ 0 - 0
test/plex/1.6.1/Chart.lock → test/plex/1.6.2/Chart.lock


+ 17 - 0
test/plex/1.6.2/Chart.yaml

@@ -0,0 +1,17 @@
+apiVersion: v2
+appVersion: 1.23.3.4707
+dependencies:
+- name: common
+  repository: file://../../../library/common/2105.0.0
+  version: 2105.0.0
+description: Plex Media Server
+home: https://plex.tv/
+icon: https://www.plex.tv/wp-content/uploads/2018/01/pmp-icon-1.png
+keywords:
+- plex
+name: plex
+sources:
+- https://hub.docker.com/r/plexinc/pms-docker/
+- https://github.com/k8s-at-home/charts/tree/master/charts/plex
+upstream_version: 2.1.0
+version: 1.6.2

+ 0 - 0
test/plex/1.6.1/README.md → test/plex/1.6.2/README.md


+ 0 - 0
test/plex/1.6.1/app-readme.md → test/plex/1.6.2/app-readme.md


+ 0 - 0
test/plex/1.6.1/charts/common-2105.0.0.tgz → test/plex/1.6.2/charts/common-2105.0.0.tgz


+ 0 - 0
test/plex/1.6.1/default_values.yaml → test/plex/1.6.2/default_values.yaml


+ 2 - 2
test/plex/1.6.1/ix_values.yaml → test/plex/1.6.2/ix_values.yaml

@@ -1,4 +1,4 @@
 image:
-  repository: plexinc/pms-docker
-  tag: 1.21.3.4046-3c1c83ba4
   pullPolicy: IfNotPresent
+  repository: plexinc/pms-docker
+  tag: 1.23.3.4707-ebb5fe9f3

+ 0 - 0
test/plex/1.6.1/migrations/migrate_from_1.0.0 → test/plex/1.6.2/migrations/migrate_from_1.0.0


+ 0 - 0
test/plex/1.6.1/questions.yaml → test/plex/1.6.2/questions.yaml


+ 0 - 0
test/plex/1.6.1/templates/NOTES.txt → test/plex/1.6.2/templates/NOTES.txt


+ 0 - 0
test/plex/1.6.1/templates/deployment.yaml → test/plex/1.6.2/templates/deployment.yaml


+ 0 - 0
test/plex/1.6.1/templates/probe_config.yaml → test/plex/1.6.2/templates/probe_config.yaml


+ 0 - 0
test/plex/1.6.1/templates/service-tcp.yaml → test/plex/1.6.2/templates/service-tcp.yaml


+ 0 - 0
test/plex/1.6.1/templates/service-udp.yaml → test/plex/1.6.2/templates/service-udp.yaml


+ 1 - 1
test/plex/1.6.1/test_values.yaml → test/plex/1.6.2/test_values.yaml

@@ -6,7 +6,7 @@
 
 image:
   repository: plexinc/pms-docker
-  tag: 1.20.2.3402-0fec14d92
+  tag: 1.23.3.4707-ebb5fe9f3
   pullPolicy: IfNotPresent
 
 #####   START  --> Official PLEX container environment variables

+ 0 - 0
test/plex/1.6.1/values.yaml → test/plex/1.6.2/values.yaml


+ 1 - 0
test/plex/upgrade_info.json

@@ -0,0 +1 @@
+{"filename":  "ix_values.yaml", "keys": ["image"]}

+ 25 - 0
test/plex/upgrade_strategy

@@ -0,0 +1,25 @@
+#!/usr/bin/python3
+import json
+import sys
+
+from catalog_update.upgrade_strategy import semantic_versioning
+
+
+def newer_mapping(image_tags):
+    key = list(image_tags.keys())[0]
+    tags = {t.rsplit('-', 1)[0]: t for t in image_tags[key]}
+    version = semantic_versioning(list(tags))
+    if not version:
+        return {}
+
+    return {
+        'tags': {key: tags[version]},
+        'app_version': version,
+    }
+
+
+if __name__ == '__main__':
+    if len(sys.argv) != 2:
+        exit(1)
+
+    print(json.dumps(newer_mapping(json.loads(sys.argv[1]))))