SumoLogic / sumologic-openshift-images

Apache License 2.0
0 stars 2 forks source link

feat(scripts): add script to list images #59

Closed sumo-drosiek closed 7 months ago

sumo-drosiek commented 7 months ago
> ./scripts/list-images.sh
busybox:latest
ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.92.1
public.ecr.aws/docker/library/busybox:1.36.0
public.ecr.aws/sumologic/kubernetes-setup:3.11.0
public.ecr.aws/sumologic/sumologic-otel-collector:0.92.0-sumo-0
quay.io/brancz/kube-rbac-proxy:v0.15.0
quay.io/prometheus/node-exporter:v1.3.1
registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.7.0
sumo-drosiek commented 7 months ago
> VERSION=3 ./scripts/list-images.sh          
public.ecr.aws/docker/library/busybox:1.36.0
public.ecr.aws/sumologic/kubernetes-setup:3.11.0
public.ecr.aws/sumologic/nginx-unprivileged:1.25.2-alpine-sumo-1
public.ecr.aws/sumologic/sumologic-otel-collector:0.92.0-sumo-0
quay.io/prometheus/node-exporter:v1.3.1
quay.io/prometheus-operator/prometheus-operator:v0.59.2
quay.io/prometheus/prometheus:v2.39.0
registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.7.0
kasia-kujawa commented 7 months ago

This script doesn't show telegraf, telegraf operator, tailing sidecar and tailing sidecar operator. It seems that this components must be enabled.

kasia-kujawa commented 7 months ago

opentelemetry operator is also missing

kasia-kujawa commented 7 months ago

this command could help in finding all images: https://github.com/SumoLogic/sumologic-kubernetes-collection-helm-operator/blob/83b1987e7301421605bc7231ac913be9bccd1067/tests/deploy_helm_chart.sh#L16-L67

sumo-drosiek commented 7 months ago
busybox:latest
docker.io/bitnami/metrics-server:0.6.4-debian-11-r75
ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.92.1
public.ecr.aws/docker/library/busybox:1.36.0
public.ecr.aws/falcosecurity/falco-driver-loader:0.36.2
public.ecr.aws/falcosecurity/falco-no-driver:0.36.2
public.ecr.aws/sumologic/kubernetes-setup:3.11.0
public.ecr.aws/sumologic/sumologic-otel-collector:0.92.0-sumo-0
public.ecr.aws/sumologic/tailing-sidecar:0.9.0
public.ecr.aws/sumologic/tailing-sidecar-operator:0.9.0
public.ecr.aws/sumologic/telegraf:1.21.2
quay.io/brancz/kube-rbac-proxy:v0.11.0
quay.io/brancz/kube-rbac-proxy:v0.15.0
quay.io/influxdb/telegraf-operator:v1.3.11
quay.io/prometheus/node-exporter:v1.3.1
registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.7.0

@kkujawa-sumo should be better now

kasia-kujawa commented 7 months ago

This for Helm chart v3 so missing images:

sumo-drosiek commented 7 months ago

another update:

busybox:latest
docker.io/bitnami/metrics-server:0.6.4-debian-11-r72
ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:v0.88.0
public.ecr.aws/docker/library/busybox:1.36.0
public.ecr.aws/falcosecurity/falco-driver-loader:0.36.2
public.ecr.aws/falcosecurity/falco-no-driver:0.36.2
public.ecr.aws/sumologic/kubernetes-setup:3.11.0
public.ecr.aws/sumologic/nginx-unprivileged:1.25.2-alpine-sumo-1
public.ecr.aws/sumologic/sumologic-otel-collector:0.92.0-sumo-0
public.ecr.aws/sumologic/tailing-sidecar:0.9.0
public.ecr.aws/sumologic/tailing-sidecar-operator:0.9.0
public.ecr.aws/sumologic/telegraf:1.21.2
quay.io/brancz/kube-rbac-proxy:v0.11.0
quay.io/brancz/kube-rbac-proxy:v0.14.2
quay.io/influxdb/telegraf-operator:v1.3.11
quay.io/prometheus/node-exporter:v1.3.1
quay.io/prometheus-operator/prometheus-config-reloader:v0.59.2
quay.io/prometheus-operator/prometheus-operator:v0.59.2
quay.io/prometheus/prometheus:v2.39.0
quay.io/thanos/thanos:v0.28.0
registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.7.0
sumo-drosiek commented 7 months ago

and python code to consider it instead of bash

#!/usr/bin/env python3

import subprocess
import sys
import argparse
import yaml
import re

def parse_args():
    parser = argparse.ArgumentParser()
    parser.add_argument("--values", help="path to values.yaml")
    parser.add_argument("--version", help="version", default="")
    return parser.parse_args()

def get_sumo_images(version, values):
    subprocess.run(f'helm repo add sumologic https://sumologic.github.io/sumologic-kubernetes-collection'.split(' '))
    subprocess.run(f'helm repo update'.split(' '))
    command = f'helm template collection sumologic/sumologic --namespace=sumologic --debug --version={args.version} --values={args.values}'
    output = subprocess.check_output(command.split(" "))

    matches = re.findall(r'(?:\s*image:\s*|-image=|prometheus-config-reloader=)(.*?)\\n', str(output))
    if matches == None:
        sys.exit(-1)

    return (match.strip('\'"') for match in matches)

if __name__ == '__main__':
    args = parse_args()
    images = []
    images.extend(get_sumo_images(args.version, args.values))

    for i in images:
        print(i)
kasia-kujawa commented 7 months ago

I prefer python if I can choose 😅

sumo-drosiek commented 7 months ago
> ./scripts/list-images.py --version 3 --values scripts/values.yaml 2>/dev/null
busybox:latest
docker.io/bitnami/metrics-server:0.6.4-debian-11-r72
ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:v0.88.0
public.ecr.aws/docker/library/busybox:1.36.0
public.ecr.aws/falcosecurity/falco-driver-loader:0.36.2
public.ecr.aws/falcosecurity/falco-no-driver:0.36.2
public.ecr.aws/sumologic/kubernetes-setup:3.11.0
public.ecr.aws/sumologic/nginx-unprivileged:1.25.2-alpine-sumo-1
public.ecr.aws/sumologic/sumologic-otel-collector:0.92.0-sumo-0
public.ecr.aws/sumologic/tailing-sidecar-operator:0.9.0
public.ecr.aws/sumologic/tailing-sidecar:0.9.0
public.ecr.aws/sumologic/telegraf:1.21.2
quay.io/brancz/kube-rbac-proxy:v0.11.0
quay.io/brancz/kube-rbac-proxy:v0.14.2
quay.io/influxdb/telegraf-operator:v1.3.11
quay.io/prometheus-operator/prometheus-config-reloader:v0.59.2
quay.io/prometheus-operator/prometheus-operator:v0.59.2
quay.io/prometheus/node-exporter:v1.3.1
quay.io/prometheus/prometheus:v2.39.0
quay.io/thanos/thanos:v0.28.0
registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.7.0