From ee0909342ba1491d8a96cc699fefa51e3c5a230e Mon Sep 17 00:00:00 2001 From: Dan Lorenc Date: Fri, 31 Mar 2023 07:39:11 -0400 Subject: [PATCH] Add external-dns image. Signed-off-by: Dan Lorenc --- README.md | 1 + images/external-dns/README.md | 48 ++++++++++++++++++++ images/external-dns/configs/latest.apko.yaml | 32 +++++++++++++ images/external-dns/image.yaml | 10 ++++ images/external-dns/tests/01-version.sh | 8 ++++ 5 files changed, 99 insertions(+) create mode 100644 images/external-dns/README.md create mode 100644 images/external-dns/configs/latest.apko.yaml create mode 100644 images/external-dns/image.yaml create mode 100755 images/external-dns/tests/01-version.sh diff --git a/README.md b/README.md index f27278c512..a7448f7580 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ | [dotnet-sdk](./images/dotnet-sdk) | `cgr.dev/chainguard/dotnet-sdk` | experimental | [![](https://storage.googleapis.com/chainguard-images-build-outputs/badges/dotnet-sdk.build.status.latest-dev.svg)](https://registry-ui.chainguard.app/?image=cgr.dev/chainguard/dotnet-sdk:latest-dev)
[![](https://storage.googleapis.com/chainguard-images-build-outputs/badges/dotnet-sdk.build.status.latest.svg)](https://registry-ui.chainguard.app/?image=cgr.dev/chainguard/dotnet-sdk:latest) | | [envoy](./images/envoy) | `cgr.dev/chainguard/envoy` | experimental | [![](https://storage.googleapis.com/chainguard-images-build-outputs/badges/envoy.build.status.latest.svg)](https://registry-ui.chainguard.app/?image=cgr.dev/chainguard/envoy:latest) | | [etcd](./images/etcd) | `cgr.dev/chainguard/etcd` | experimental | [![](https://storage.googleapis.com/chainguard-images-build-outputs/badges/etcd.build.status.latest.svg)](https://registry-ui.chainguard.app/?image=cgr.dev/chainguard/etcd:latest) | +| [external-dns](./images/external-dns) | `cgr.dev/chainguard/external-dns` | experimental | [![](https://storage.googleapis.com/chainguard-images-build-outputs/badges/external-dns.build.status.latest-dev.svg)](https://registry-ui.chainguard.app/?image=cgr.dev/chainguard/external-dns:latest-dev)
[![](https://storage.googleapis.com/chainguard-images-build-outputs/badges/external-dns.build.status.latest.svg)](https://registry-ui.chainguard.app/?image=cgr.dev/chainguard/external-dns:latest) | | [fluent-bit](./images/fluent-bit) | `cgr.dev/chainguard/fluent-bit` | experimental | [![](https://storage.googleapis.com/chainguard-images-build-outputs/badges/fluent-bit.build.status.latest.svg)](https://registry-ui.chainguard.app/?image=cgr.dev/chainguard/fluent-bit:latest) | | [fluentd](./images/fluentd) | `cgr.dev/chainguard/fluentd` | experimental | [![](https://storage.googleapis.com/chainguard-images-build-outputs/badges/fluentd.build.status.edge-dev.svg)](https://registry-ui.chainguard.app/?image=cgr.dev/chainguard/fluentd:edge-dev)
[![](https://storage.googleapis.com/chainguard-images-build-outputs/badges/fluentd.build.status.edge.svg)](https://registry-ui.chainguard.app/?image=cgr.dev/chainguard/fluentd:edge)
[![](https://storage.googleapis.com/chainguard-images-build-outputs/badges/fluentd.build.status.latest-dev.svg)](https://registry-ui.chainguard.app/?image=cgr.dev/chainguard/fluentd:latest-dev)
[![](https://storage.googleapis.com/chainguard-images-build-outputs/badges/fluentd.build.status.latest.svg)](https://registry-ui.chainguard.app/?image=cgr.dev/chainguard/fluentd:latest) | | [gcc-glibc](./images/gcc-glibc) | `cgr.dev/chainguard/gcc-glibc` | stable | [![](https://storage.googleapis.com/chainguard-images-build-outputs/badges/gcc-glibc.build.status.latest.svg)](https://registry-ui.chainguard.app/?image=cgr.dev/chainguard/gcc-glibc:latest) | diff --git a/images/external-dns/README.md b/images/external-dns/README.md new file mode 100644 index 0000000000..c97739ab22 --- /dev/null +++ b/images/external-dns/README.md @@ -0,0 +1,48 @@ + +# external-dns +| | | +| - | - | +| **Status** | experimental | +| **OCI Reference** | `cgr.dev/chainguard/external-dns` | +| **Variants/Tags** | ![](https://storage.googleapis.com/chainguard-images-build-outputs/summary/external-dns.svg) | + +*[Contact Chainguard](https://www.chainguard.dev/chainguard-images) for enterprise support, SLAs, and access to older tags.* + +--- + + +Minimal image with Kubernetes External DNS. **EXPERIMENTAL** + +## Get It! + +The image is available on `cgr.dev`: + +``` +docker pull cgr.dev/chainguard/external-dns:latest +``` + +## Using External DNS + +The Chainguard External DNS image is a drop-in replacement for the upstream image. +See the [upstream documentation](https://github.com/kubernetes-sigs/external-dns) for usage information specific to your environment. + +```shell +$ docker run cgr.dev/chainguard/external-dns +usage: external-dns --source=source --provider=provider [] + +ExternalDNS synchronizes exposed Kubernetes Services and Ingresses with DNS +providers. + +Note that all flags may be replaced with env vars - `--flag` -> +`EXTERNAL_DNS_FLAG=1` or `--flag value` -> `EXTERNAL_DNS_FLAG=value` + +Flags: + --help Show context-sensitive help (also try + --help-long and --help-man). + --version Show application version. + --server="" The Kubernetes API server to connect to + (default: auto-detect) + --kubeconfig="" Retrieve target cluster configuration from + a Kubernetes configuration file (default: + auto-detect) +``` diff --git a/images/external-dns/configs/latest.apko.yaml b/images/external-dns/configs/latest.apko.yaml new file mode 100644 index 0000000000..90fec45785 --- /dev/null +++ b/images/external-dns/configs/latest.apko.yaml @@ -0,0 +1,32 @@ +contents: + repositories: + - https://packages.wolfi.dev/os + keyring: + - https://packages.wolfi.dev/os/wolfi-signing.rsa.pub + packages: + - ca-certificates-bundle + - wolfi-baselayout + - external-dns + +accounts: + groups: + - groupname: external-dns + gid: 65532 + users: + - username: external-dns + uid: 65532 + run-as: external-dns + recursive: true + +entrypoint: + command: /usr/bin/external-dns +cmd: --help + +archs: + - x86_64 + - aarch64 + +annotations: + "org.opencontainers.image.authors": "Chainguard Team https://www.chainguard.dev/" + "org.opencontainers.image.url": https://edu.chainguard.dev/chainguard/chainguard-images/reference/external-dns/ + "org.opencontainers.image.source": https://github.com/chainguard-images/images/tree/main/images/external-dns diff --git a/images/external-dns/image.yaml b/images/external-dns/image.yaml new file mode 100644 index 0000000000..152c8145f1 --- /dev/null +++ b/images/external-dns/image.yaml @@ -0,0 +1,10 @@ +status: experimental +versions: + - apko: + config: configs/latest.apko.yaml + extractTagsFrom: + package: external-dns + subvariants: + - suffix: -dev + options: + - dev diff --git a/images/external-dns/tests/01-version.sh b/images/external-dns/tests/01-version.sh new file mode 100755 index 0000000000..4a8137cdf4 --- /dev/null +++ b/images/external-dns/tests/01-version.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +set -o errexit -o nounset -o errtrace -o pipefail -x + +IMAGE_DIR="$(basename "$(cd "$(dirname ${BASH_SOURCE[0]})/.." && pwd )")" +IMAGE_NAME=${IMAGE_NAME:-"cgr.dev/chainguard/${IMAGE_DIR}:latest"} + +docker run --rm "${IMAGE_NAME}" --version