{"id":16956990,"url":"https://github.com/jgraichen/os-image-updater","last_synced_at":"2026-04-01T18:49:55.125Z","repository":{"id":39621762,"uuid":"276179708","full_name":"jgraichen/os-image-updater","owner":"jgraichen","description":"Keep cloud images for OpenStack up-to-date","archived":false,"fork":false,"pushed_at":"2026-03-16T07:09:22.000Z","size":248,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-16T19:52:50.701Z","etag":null,"topics":["cloud","openstack"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jgraichen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-06-30T18:34:48.000Z","updated_at":"2026-03-16T07:09:00.000Z","dependencies_parsed_at":"2024-06-03T05:34:22.088Z","dependency_job_id":"6d0aff27-e987-4856-a3bd-6344eaa36b9b","html_url":"https://github.com/jgraichen/os-image-updater","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/jgraichen/os-image-updater","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jgraichen%2Fos-image-updater","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jgraichen%2Fos-image-updater/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jgraichen%2Fos-image-updater/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jgraichen%2Fos-image-updater/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jgraichen","download_url":"https://codeload.github.com/jgraichen/os-image-updater/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jgraichen%2Fos-image-updater/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31290959,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloud","openstack"],"created_at":"2024-10-13T22:16:34.373Z","updated_at":"2026-04-01T18:49:55.112Z","avatar_url":"https://github.com/jgraichen.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# os-image-updater\n\nA small program to keep cloud images in OpenStack up-to-date.\n\nIt uses a YAML file for configuration and checksums to skip not necessary updates. Previous images are deleted.\n\n## Usage\n\n```session\n\u003e ./os-image-updater --help\nUsage of ./os-image-updater:\n  -debug\n      Enable debug logging\n  -delete\n      Delete old images instead of only changing visibility to private\n  -dryrun\n      Do not perform changing actions\n  -filter string\n      Only process images matching filter value\n  -force\n      Force uploading new image even if checksum matches\n  -prefix string\n      Prefix all image names\n  -private\n      Force image visibility to private\n```\n\nConfigure access using environment variables. `OS_CLOUD` is supported.\n\n## Example config\n\n```yml\n# images.yml\ndefault: \u0026default\n  hw_disk_bus: scsi\n  hw_qemu_guest_agent: yes\n  hw_scsi_model: virtio-scsi\n  img_hv_type: kvm\n  os_require_quiesce: yes\n  os_type: linux\n\nimages:\n  debian-11:\n    image_url: https://cloud.debian.org/images/cloud/bullseye/latest/debian-11-genericcloud-amd64.raw\n    checksums_url: https://cloud.debian.org/images/cloud/bullseye/latest/SHA512SUMS\n    disk_format: raw\n    properties:\n      \u003c\u003c: *default\n      os_codename: bullseye\n      os_distro: debian\n      os_flavor: cloud\n      os_version: 11\n\n  ubuntu-20.04:\n    image_url: https://cloud-images.ubuntu.com/releases/focal/release/ubuntu-20.04-server-cloudimg-amd64.img\n    checksums_url: https://cloud-images.ubuntu.com/releases/focal/release/MD5SUMS\n    properties:\n      \u003c\u003c: *default\n      os_codename: focal\n      os_distro: ubuntu\n      os_flavor: cloud\n      os_version: 20.04\n```\n\nOnly `images` is required.\n\n`checksums_url` must be a file in one of the following formats:\n\n* Checksum and filename:\n\n  ```text\n  123456789 cloudimage.qcow2\n  ...\n  ```\n\n* Algorithm, checksum and filename:\n\n  ```text\n  md5: 123456789 cloudimgage.qcow2\n  ...\n  ```\n\n* Or this format:\n\n  ```text\n  SHA256(cloudimgage.qcow2) = 123456789\n  ...\n  ```\n\nThe checksum is stored as a custom image property and only used to check if a new image needs to be imported.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjgraichen%2Fos-image-updater","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjgraichen%2Fos-image-updater","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjgraichen%2Fos-image-updater/lists"}