diff options
| author | Joseph Hunkeler <jhunkeler@gmail.com> | 2024-12-07 18:07:45 -0500 | 
|---|---|---|
| committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2024-12-07 18:07:45 -0500 | 
| commit | 3ae9311dd7961756f6e22c2a77dd3f5690208148 (patch) | |
| tree | 2b51e23c8dec3f169e68b314d291e83d1537be7f /src | |
| parent | 83bd300fcd006ee14314c26569c47716dfff2352 (diff) | |
| download | stasis-3ae9311dd7961756f6e22c2a77dd3f5690208148.tar.gz | |
Add get_docker_images() helper function
Diffstat (limited to 'src')
| -rw-r--r-- | src/cli/stasis_indexer/helpers.c | 17 | ||||
| -rw-r--r-- | src/cli/stasis_indexer/helpers.h | 1 | 
2 files changed, 18 insertions, 0 deletions
| diff --git a/src/cli/stasis_indexer/helpers.c b/src/cli/stasis_indexer/helpers.c index f67292f..6d2fdd0 100644 --- a/src/cli/stasis_indexer/helpers.c +++ b/src/cli/stasis_indexer/helpers.c @@ -255,6 +255,23 @@ int get_files(struct StrList **out, const char *path, const char *pattern, ...)      return 0;  } +struct StrList *get_docker_images(struct Delivery *ctx, char *pattern) { +    char *tarball = NULL; +    asprintf(&tarball, "%s*.tar*", pattern); +    if (!tarball) { +        SYSERROR("%s", "Unable to allocate bytes for docker image wildcard pattern"); +        return NULL; +    } +    tolower_s(tarball); +    replace_text(tarball, "+", "-", 0); + +    struct StrList *files = NULL; +    get_files(&files, ctx->storage.docker_artifact_dir, tarball); +    guard_free(tarball); + +    return files; +} +  int load_metadata(struct Delivery *ctx, const char *filename) {      char line[STASIS_NAME_MAX] = {0}; diff --git a/src/cli/stasis_indexer/helpers.h b/src/cli/stasis_indexer/helpers.h index 733691d..d493f75 100644 --- a/src/cli/stasis_indexer/helpers.h +++ b/src/cli/stasis_indexer/helpers.h @@ -20,6 +20,7 @@ int pandoc_exec(const char *in_file, const char *out_file, const char *css_file,  int get_latest_rc(struct Delivery ctx[], size_t nelem);  struct Delivery *get_latest_deliveries(struct Delivery ctx[], size_t nelem);  int get_files(struct StrList **out, const char *path, const char *pattern, ...); +struct StrList *get_docker_images(struct Delivery *ctx, char *pattern);  int load_metadata(struct Delivery *ctx, const char *filename);  int micromamba_configure(const struct Delivery *ctx, struct MicromambaInfo *m); | 
