feat(retention): added image retention policies (#1866)

feat(metaDB): add more image statistics info

Signed-off-by: Petu Eusebiu <peusebiu@cisco.com>
This commit is contained in:
peusebiu
2023-11-01 18:16:18 +02:00
committed by GitHub
parent a79d79a03a
commit 9074f8483b
71 changed files with 3454 additions and 745 deletions
+11 -3
View File
@@ -34,10 +34,18 @@ function setup_file() {
"storage": {
"rootDirectory": "${zot_root_dir}",
"gc": true,
"gcReferrers": true,
"gcDelay": "30s",
"untaggedImageRetentionDelay": "40s",
"gcInterval": "1s"
"gcInterval": "1s",
"retention": {
"delay": "40s",
"policies": [
{
"repositories": ["**"],
"deleteReferrers": true,
"deleteUntagged": true
}
]
}
},
"http": {
"address": "0.0.0.0",
+1 -1
View File
@@ -2,7 +2,7 @@
"distSpecVersion": "1.1.0-dev",
"storage": {
"rootDirectory": "/tmp/zot",
"gc": false,
"gc": true,
"dedupe": false,
"storageDriver": {
"name": "s3",
@@ -3,9 +3,7 @@
"storage": {
"rootDirectory": "/tmp/zot/local",
"gc": true,
"gcReferrers": false,
"gcDelay": "20s",
"untaggedImageRetentionDelay": "20s",
"gcInterval": "1s"
},
"http": {
@@ -3,9 +3,7 @@
"storage": {
"rootDirectory": "/tmp/zot/s3",
"gc": true,
"gcReferrers": false,
"gcDelay": "50m",
"untaggedImageRetentionDelay": "50m",
"gcInterval": "2m",
"storageDriver": {
"name": "s3",
@@ -20,7 +18,13 @@
"name": "dynamodb",
"endpoint": "http://localhost:4566",
"region": "us-east-2",
"cacheTablename": "BlobTable"
"cacheTablename": "BlobTable",
"repoMetaTablename": "RepoMetadataTable",
"indexDataTablename": "IndexDataTable",
"manifestDataTablename": "ManifestDataTable",
"apikeytablename": "ApiKeyDataTable",
"userdatatablename": "UserDataTable",
"versionTablename": "VersionTable"
}
},
"http": {
+7 -3
View File
@@ -3,9 +3,7 @@
"storage": {
"rootDirectory": "/tmp/zot/s3",
"gc": true,
"gcReferrers": false,
"gcDelay": "4m",
"untaggedImageRetentionDelay": "4m",
"gcInterval": "1s",
"storageDriver": {
"name": "s3",
@@ -22,7 +20,13 @@
"name": "dynamodb",
"endpoint": "http://localhost:4566",
"region": "us-east-2",
"cacheTablename": "BlobTable"
"cacheTablename": "BlobTable",
"repoMetaTablename": "RepoMetadataTable",
"indexDataTablename": "IndexDataTable",
"manifestDataTablename": "ManifestDataTable",
"apikeytablename": "ApiKeyDataTable",
"userdatatablename": "UserDataTable",
"versionTablename": "VersionTable"
}
},
"http": {
@@ -3,10 +3,17 @@
"storage": {
"rootDirectory": "/tmp/zot/local",
"gc": true,
"gcReferrers": true,
"gcDelay": "20s",
"untaggedImageRetentionDelay": "20s",
"gcInterval": "1s"
"gcInterval": "1s",
"retention": {
"delay": "20s",
"policies": [
{
"repositories": ["**"],
"deleteReferrers": true
}
]
}
},
"http": {
"address": "127.0.0.1",
@@ -3,10 +3,17 @@
"storage": {
"rootDirectory": "/tmp/zot/s3",
"gc": true,
"gcReferrers": true,
"gcDelay": "50m",
"untaggedImageRetentionDelay": "50m",
"gcInterval": "2m",
"retention": {
"delay": "50m",
"policies": [
{
"repositories": ["**"],
"deleteReferrers": true
}
]
},
"storageDriver": {
"name": "s3",
"rootdirectory": "/zot",
@@ -20,7 +27,13 @@
"name": "dynamodb",
"endpoint": "http://localhost:4566",
"region": "us-east-2",
"cacheTablename": "BlobTable"
"cacheTablename": "BlobTable",
"repoMetaTablename": "RepoMetadataTable",
"indexDataTablename": "IndexDataTable",
"manifestDataTablename": "ManifestDataTable",
"apikeytablename": "ApiKeyDataTable",
"userdatatablename": "UserDataTable",
"versionTablename": "VersionTable"
}
},
"http": {
@@ -3,10 +3,17 @@
"storage": {
"rootDirectory": "/tmp/zot/s3",
"gc": true,
"gcReferrers": true,
"gcDelay": "4m",
"untaggedImageRetentionDelay": "4m",
"gcInterval": "1s",
"retention": {
"delay": "4m",
"policies": [
{
"repositories": ["**"],
"deleteReferrers": true
}
]
},
"storageDriver": {
"name": "s3",
"rootdirectory": "/zot",
@@ -22,7 +29,13 @@
"name": "dynamodb",
"endpoint": "http://localhost:4566",
"region": "us-east-2",
"cacheTablename": "BlobTable"
"cacheTablename": "BlobTable",
"repoMetaTablename": "RepoMetadataTable",
"indexDataTablename": "IndexDataTable",
"manifestDataTablename": "ManifestDataTable",
"apikeytablename": "ApiKeyDataTable",
"userdatatablename": "UserDataTable",
"versionTablename": "VersionTable"
}
},
"http": {