Comments (8)
We use an auto incrementing build ID generated from Azure Pipelines, so we needed a quick way just to purge older images based on the tag ID. I wrote this quick shell script to purge images older than the 10th image. Could easily be modified just to require a "delete before x date" reference.
https://github.com/jeffbeagley/azure_cr_purge/blob/master/retention.sh
from acr.
Thanks @DonMartin76 ,
I'll reply to #83
from acr.
Hi @jeffbeagley,
Here's the auto-purge spec feedback area: AzureCR/specs#1
from acr.
Hi Don,
As you noted, image policy management is listed on our roadmap; https://aka.ms/acr/roadmap
We have a conceptual design that allows you to set an expiration policy on specific tags. This way you can keep your released images for x days, while a default policy will delete them after fewer days.
We are currently working on the OS & Framework patching scenarios. But, have image management queued up soon after.
Don't worry about the perceived hard limits. Here's a post on what's coming: https://blogs.msdn.microsoft.com/stevelasker/2018/02/02/relaxing-acr-storage-limits-with-tools-to-self-manage/
A core feature needed for most of our future work is a metadata api, to track things, like policies. A very brief doc is here: https://github.com/SteveLasker/acr/tree/master/preview/metadata
If you'd like to help us shape ACR, I'd like to invite you to the preview group: https://aka.ms/acr/preview/signup
Steve
from acr.
Thanks! The relaxed limits is a good thing - but we still will need to do some housekeeping earlier than you have finished the autopurge or policies, I fear. I whipped up something real quick, which seems to work, but ran into #83. I will consider joining the preview group, thanks for the pointer!
from acr.
The metadata API is also used for us to do some indexing, to speed up requests on manifest listing. I'm just checking when that rolls out and confirming it will solve the specific manifest listing issue.
We did improve the delete API as the previous api was a bit confusing. I couldn't find the issue that tracked it. I think it was in the az cli
repo. But, here's the cleaned up command:
az acr repository delete -n MyRegistry --image hello-world:latest
Delete an image by sha256-based manifest digest. This deletes all tags referencing the manifest and any associated layer data.
from acr.
I found the handling of the manifests and corresponding image tags fairly intuitive and flexible. If it just were a little faster, I would be very happy with it actually.
from acr.
Closing this item for now since we could potentially use things like tag locking and - https://docs.microsoft.com/en-us/azure/container-registry/container-registry-auto-purge
Feel free to open new items to discuss details of these implementations if needed.
from acr.
Related Issues (20)
- Pull Through Caching from Another Azure Container Registry HOT 2
- Add support of registry.k8s.io type in cache rules HOT 1
- Rest api for get tags doesn respect n parameter (pagesize) HOT 2
- Scope Security/ Vulnerability scan to certain image tags only
- Catalog API only works with scope map * HOT 2
- Allow configuration of CORS headers for API access from web clients HOT 1
- Use Entra security principals with scope maps HOT 3
- [Docker Hub] ACR Cache error: too many requests to source registry for cache rule HOT 52
- connectivity_challenge_error grcsharedacr
- Unable to login into azure acr HOT 2
- Unable to login to container registry shazdevops HOT 1
- Auth Endpoint seems to require account parameter which is not part of the API Spec
- Cache elastic images HOT 1
- ACR Build with public access disabled HOT 1
- ACR streaming: failed to open remote file as tar file error HOT 6
- Cached images do not update. HOT 6
- Cannot create cache rule for public docker image `python:3.11-bookworm` due to naming rules HOT 4
- Cache zalando images
- Quay self-hosted Registry Caching HOT 1
- token support for signed images HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from acr.