Skip to content

Commit

Permalink
releng - include c7n awscc provider in docker images (#9521)
Browse files Browse the repository at this point in the history
  • Loading branch information
syed-awais-ali committed Jun 2, 2024
1 parent 2698789 commit c4e7a4a
Show file tree
Hide file tree
Showing 12 changed files with 142 additions and 12 deletions.
14 changes: 13 additions & 1 deletion docker/c7n
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ RUN . /usr/local/bin/activate && poetry install --without dev --no-root
ADD c7n /src/c7n/
RUN . /usr/local/bin/activate && poetry install --only-root

ARG providers="gcp azure kube openstack tencentcloud oci"
ARG providers="gcp azure kube openstack tencentcloud oci awscc"
# Add provider packages
# We include `pyproject.toml` and `poetry.lock` first to allow
# cache of dependency installs.
Expand Down Expand Up @@ -55,6 +55,10 @@ ADD tools/c7n_oci/pyproject.toml tools/c7n_oci/poetry.lock /src/tools/c7n_oci/
RUN if [[ " ${providers[*]} " =~ "oci" ]]; then . /usr/local/bin/activate && cd tools/c7n_oci && poetry install --without dev --no-root; fi


ADD tools/c7n_awscc/pyproject.toml tools/c7n_awscc/poetry.lock /src/tools/c7n_awscc/
RUN if [[ " ${providers[*]} " =~ "awscc" ]]; then . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install --without dev --no-root; fi


# Now install the root of each provider

ADD tools/c7n_gcp /src/tools/c7n_gcp
Expand All @@ -81,6 +85,14 @@ ADD tools/c7n_oci /src/tools/c7n_oci
RUN if [[ " ${providers[*]} " =~ "oci" ]]; then . /usr/local/bin/activate && cd tools/c7n_oci && poetry install --only-root; fi


ADD tools/c7n_awscc /src/tools/c7n_awscc
RUN if [[ " ${providers[*]} " =~ "awscc" ]]; then . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install --only-root; fi


# Install c7n_awscc
ADD tools/c7n_awscc /src/tools/c7n_awscc
RUN . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install

RUN mkdir /output

FROM ubuntu:22.04
Expand Down
14 changes: 13 additions & 1 deletion docker/c7n-distroless
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ RUN . /usr/local/bin/activate && poetry install --without dev --no-root
ADD c7n /src/c7n/
RUN . /usr/local/bin/activate && poetry install --only-root

ARG providers="gcp azure kube openstack tencentcloud oci"
ARG providers="gcp azure kube openstack tencentcloud oci awscc"
# Add provider packages
# We include `pyproject.toml` and `poetry.lock` first to allow
# cache of dependency installs.
Expand Down Expand Up @@ -55,6 +55,10 @@ ADD tools/c7n_oci/pyproject.toml tools/c7n_oci/poetry.lock /src/tools/c7n_oci/
RUN if [[ " ${providers[*]} " =~ "oci" ]]; then . /usr/local/bin/activate && cd tools/c7n_oci && poetry install --without dev --no-root; fi


ADD tools/c7n_awscc/pyproject.toml tools/c7n_awscc/poetry.lock /src/tools/c7n_awscc/
RUN if [[ " ${providers[*]} " =~ "awscc" ]]; then . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install --without dev --no-root; fi


# Now install the root of each provider

ADD tools/c7n_gcp /src/tools/c7n_gcp
Expand All @@ -81,6 +85,14 @@ ADD tools/c7n_oci /src/tools/c7n_oci
RUN if [[ " ${providers[*]} " =~ "oci" ]]; then . /usr/local/bin/activate && cd tools/c7n_oci && poetry install --only-root; fi


ADD tools/c7n_awscc /src/tools/c7n_awscc
RUN if [[ " ${providers[*]} " =~ "awscc" ]]; then . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install --only-root; fi


# Install c7n_awscc
ADD tools/c7n_awscc /src/tools/c7n_awscc
RUN . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install

RUN mkdir /output

FROM gcr.io/distroless/python3-debian10
Expand Down
14 changes: 13 additions & 1 deletion docker/c7n-kube
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ RUN . /usr/local/bin/activate && poetry install --without dev --no-root
ADD c7n /src/c7n/
RUN . /usr/local/bin/activate && poetry install --only-root

ARG providers="gcp azure kube openstack tencentcloud oci"
ARG providers="gcp azure kube openstack tencentcloud oci awscc"
# Add provider packages
# We include `pyproject.toml` and `poetry.lock` first to allow
# cache of dependency installs.
Expand Down Expand Up @@ -55,6 +55,10 @@ ADD tools/c7n_oci/pyproject.toml tools/c7n_oci/poetry.lock /src/tools/c7n_oci/
RUN if [[ " ${providers[*]} " =~ "oci" ]]; then . /usr/local/bin/activate && cd tools/c7n_oci && poetry install --without dev --no-root; fi


ADD tools/c7n_awscc/pyproject.toml tools/c7n_awscc/poetry.lock /src/tools/c7n_awscc/
RUN if [[ " ${providers[*]} " =~ "awscc" ]]; then . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install --without dev --no-root; fi


# Now install the root of each provider

ADD tools/c7n_gcp /src/tools/c7n_gcp
Expand All @@ -81,6 +85,14 @@ ADD tools/c7n_oci /src/tools/c7n_oci
RUN if [[ " ${providers[*]} " =~ "oci" ]]; then . /usr/local/bin/activate && cd tools/c7n_oci && poetry install --only-root; fi


ADD tools/c7n_awscc /src/tools/c7n_awscc
RUN if [[ " ${providers[*]} " =~ "awscc" ]]; then . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install --only-root; fi


# Install c7n_awscc
ADD tools/c7n_awscc /src/tools/c7n_awscc
RUN . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install

RUN mkdir /output

# Install c7n-kube
Expand Down
14 changes: 13 additions & 1 deletion docker/c7n-kube-distroless
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ RUN . /usr/local/bin/activate && poetry install --without dev --no-root
ADD c7n /src/c7n/
RUN . /usr/local/bin/activate && poetry install --only-root

ARG providers="gcp azure kube openstack tencentcloud oci"
ARG providers="gcp azure kube openstack tencentcloud oci awscc"
# Add provider packages
# We include `pyproject.toml` and `poetry.lock` first to allow
# cache of dependency installs.
Expand Down Expand Up @@ -55,6 +55,10 @@ ADD tools/c7n_oci/pyproject.toml tools/c7n_oci/poetry.lock /src/tools/c7n_oci/
RUN if [[ " ${providers[*]} " =~ "oci" ]]; then . /usr/local/bin/activate && cd tools/c7n_oci && poetry install --without dev --no-root; fi


ADD tools/c7n_awscc/pyproject.toml tools/c7n_awscc/poetry.lock /src/tools/c7n_awscc/
RUN if [[ " ${providers[*]} " =~ "awscc" ]]; then . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install --without dev --no-root; fi


# Now install the root of each provider

ADD tools/c7n_gcp /src/tools/c7n_gcp
Expand All @@ -81,6 +85,14 @@ ADD tools/c7n_oci /src/tools/c7n_oci
RUN if [[ " ${providers[*]} " =~ "oci" ]]; then . /usr/local/bin/activate && cd tools/c7n_oci && poetry install --only-root; fi


ADD tools/c7n_awscc /src/tools/c7n_awscc
RUN if [[ " ${providers[*]} " =~ "awscc" ]]; then . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install --only-root; fi


# Install c7n_awscc
ADD tools/c7n_awscc /src/tools/c7n_awscc
RUN . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install

RUN mkdir /output

# Install c7n-kube
Expand Down
14 changes: 13 additions & 1 deletion docker/c7n-org
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ RUN . /usr/local/bin/activate && poetry install --without dev --no-root
ADD c7n /src/c7n/
RUN . /usr/local/bin/activate && poetry install --only-root

ARG providers="gcp azure kube openstack tencentcloud oci"
ARG providers="gcp azure kube openstack tencentcloud oci awscc"
# Add provider packages
# We include `pyproject.toml` and `poetry.lock` first to allow
# cache of dependency installs.
Expand Down Expand Up @@ -55,6 +55,10 @@ ADD tools/c7n_oci/pyproject.toml tools/c7n_oci/poetry.lock /src/tools/c7n_oci/
RUN if [[ " ${providers[*]} " =~ "oci" ]]; then . /usr/local/bin/activate && cd tools/c7n_oci && poetry install --without dev --no-root; fi


ADD tools/c7n_awscc/pyproject.toml tools/c7n_awscc/poetry.lock /src/tools/c7n_awscc/
RUN if [[ " ${providers[*]} " =~ "awscc" ]]; then . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install --without dev --no-root; fi


# Now install the root of each provider

ADD tools/c7n_gcp /src/tools/c7n_gcp
Expand All @@ -81,6 +85,14 @@ ADD tools/c7n_oci /src/tools/c7n_oci
RUN if [[ " ${providers[*]} " =~ "oci" ]]; then . /usr/local/bin/activate && cd tools/c7n_oci && poetry install --only-root; fi


ADD tools/c7n_awscc /src/tools/c7n_awscc
RUN if [[ " ${providers[*]} " =~ "awscc" ]]; then . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install --only-root; fi


# Install c7n_awscc
ADD tools/c7n_awscc /src/tools/c7n_awscc
RUN . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install

RUN mkdir /output

# Install c7n-org
Expand Down
14 changes: 13 additions & 1 deletion docker/c7n-org-distroless
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ RUN . /usr/local/bin/activate && poetry install --without dev --no-root
ADD c7n /src/c7n/
RUN . /usr/local/bin/activate && poetry install --only-root

ARG providers="gcp azure kube openstack tencentcloud oci"
ARG providers="gcp azure kube openstack tencentcloud oci awscc"
# Add provider packages
# We include `pyproject.toml` and `poetry.lock` first to allow
# cache of dependency installs.
Expand Down Expand Up @@ -55,6 +55,10 @@ ADD tools/c7n_oci/pyproject.toml tools/c7n_oci/poetry.lock /src/tools/c7n_oci/
RUN if [[ " ${providers[*]} " =~ "oci" ]]; then . /usr/local/bin/activate && cd tools/c7n_oci && poetry install --without dev --no-root; fi


ADD tools/c7n_awscc/pyproject.toml tools/c7n_awscc/poetry.lock /src/tools/c7n_awscc/
RUN if [[ " ${providers[*]} " =~ "awscc" ]]; then . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install --without dev --no-root; fi


# Now install the root of each provider

ADD tools/c7n_gcp /src/tools/c7n_gcp
Expand All @@ -81,6 +85,14 @@ ADD tools/c7n_oci /src/tools/c7n_oci
RUN if [[ " ${providers[*]} " =~ "oci" ]]; then . /usr/local/bin/activate && cd tools/c7n_oci && poetry install --only-root; fi


ADD tools/c7n_awscc /src/tools/c7n_awscc
RUN if [[ " ${providers[*]} " =~ "awscc" ]]; then . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install --only-root; fi


# Install c7n_awscc
ADD tools/c7n_awscc /src/tools/c7n_awscc
RUN . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install

RUN mkdir /output

# Install c7n-org
Expand Down
14 changes: 13 additions & 1 deletion docker/mailer
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ RUN . /usr/local/bin/activate && poetry install --without dev --no-root
ADD c7n /src/c7n/
RUN . /usr/local/bin/activate && poetry install --only-root

ARG providers="gcp azure kube openstack tencentcloud oci"
ARG providers="gcp azure kube openstack tencentcloud oci awscc"
# Add provider packages
# We include `pyproject.toml` and `poetry.lock` first to allow
# cache of dependency installs.
Expand Down Expand Up @@ -55,6 +55,10 @@ ADD tools/c7n_oci/pyproject.toml tools/c7n_oci/poetry.lock /src/tools/c7n_oci/
RUN if [[ " ${providers[*]} " =~ "oci" ]]; then . /usr/local/bin/activate && cd tools/c7n_oci && poetry install --without dev --no-root; fi


ADD tools/c7n_awscc/pyproject.toml tools/c7n_awscc/poetry.lock /src/tools/c7n_awscc/
RUN if [[ " ${providers[*]} " =~ "awscc" ]]; then . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install --without dev --no-root; fi


# Now install the root of each provider

ADD tools/c7n_gcp /src/tools/c7n_gcp
Expand All @@ -81,6 +85,14 @@ ADD tools/c7n_oci /src/tools/c7n_oci
RUN if [[ " ${providers[*]} " =~ "oci" ]]; then . /usr/local/bin/activate && cd tools/c7n_oci && poetry install --only-root; fi


ADD tools/c7n_awscc /src/tools/c7n_awscc
RUN if [[ " ${providers[*]} " =~ "awscc" ]]; then . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install --only-root; fi


# Install c7n_awscc
ADD tools/c7n_awscc /src/tools/c7n_awscc
RUN . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install

RUN mkdir /output

# Install c7n-mailer
Expand Down
14 changes: 13 additions & 1 deletion docker/mailer-distroless
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ RUN . /usr/local/bin/activate && poetry install --without dev --no-root
ADD c7n /src/c7n/
RUN . /usr/local/bin/activate && poetry install --only-root

ARG providers="gcp azure kube openstack tencentcloud oci"
ARG providers="gcp azure kube openstack tencentcloud oci awscc"
# Add provider packages
# We include `pyproject.toml` and `poetry.lock` first to allow
# cache of dependency installs.
Expand Down Expand Up @@ -55,6 +55,10 @@ ADD tools/c7n_oci/pyproject.toml tools/c7n_oci/poetry.lock /src/tools/c7n_oci/
RUN if [[ " ${providers[*]} " =~ "oci" ]]; then . /usr/local/bin/activate && cd tools/c7n_oci && poetry install --without dev --no-root; fi


ADD tools/c7n_awscc/pyproject.toml tools/c7n_awscc/poetry.lock /src/tools/c7n_awscc/
RUN if [[ " ${providers[*]} " =~ "awscc" ]]; then . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install --without dev --no-root; fi


# Now install the root of each provider

ADD tools/c7n_gcp /src/tools/c7n_gcp
Expand All @@ -81,6 +85,14 @@ ADD tools/c7n_oci /src/tools/c7n_oci
RUN if [[ " ${providers[*]} " =~ "oci" ]]; then . /usr/local/bin/activate && cd tools/c7n_oci && poetry install --only-root; fi


ADD tools/c7n_awscc /src/tools/c7n_awscc
RUN if [[ " ${providers[*]} " =~ "awscc" ]]; then . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install --only-root; fi


# Install c7n_awscc
ADD tools/c7n_awscc /src/tools/c7n_awscc
RUN . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install

RUN mkdir /output

# Install c7n-mailer
Expand Down
14 changes: 13 additions & 1 deletion docker/policystream
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ RUN . /usr/local/bin/activate && poetry install --without dev --no-root
ADD c7n /src/c7n/
RUN . /usr/local/bin/activate && poetry install --only-root

ARG providers="gcp azure kube openstack tencentcloud oci"
ARG providers="gcp azure kube openstack tencentcloud oci awscc"
# Add provider packages
# We include `pyproject.toml` and `poetry.lock` first to allow
# cache of dependency installs.
Expand Down Expand Up @@ -55,6 +55,10 @@ ADD tools/c7n_oci/pyproject.toml tools/c7n_oci/poetry.lock /src/tools/c7n_oci/
RUN if [[ " ${providers[*]} " =~ "oci" ]]; then . /usr/local/bin/activate && cd tools/c7n_oci && poetry install --without dev --no-root; fi


ADD tools/c7n_awscc/pyproject.toml tools/c7n_awscc/poetry.lock /src/tools/c7n_awscc/
RUN if [[ " ${providers[*]} " =~ "awscc" ]]; then . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install --without dev --no-root; fi


# Now install the root of each provider

ADD tools/c7n_gcp /src/tools/c7n_gcp
Expand All @@ -81,6 +85,14 @@ ADD tools/c7n_oci /src/tools/c7n_oci
RUN if [[ " ${providers[*]} " =~ "oci" ]]; then . /usr/local/bin/activate && cd tools/c7n_oci && poetry install --only-root; fi


ADD tools/c7n_awscc /src/tools/c7n_awscc
RUN if [[ " ${providers[*]} " =~ "awscc" ]]; then . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install --only-root; fi


# Install c7n_awscc
ADD tools/c7n_awscc /src/tools/c7n_awscc
RUN . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install

RUN mkdir /output

# Install c7n-policystream
Expand Down
14 changes: 13 additions & 1 deletion docker/policystream-distroless
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ RUN . /usr/local/bin/activate && poetry install --without dev --no-root
ADD c7n /src/c7n/
RUN . /usr/local/bin/activate && poetry install --only-root

ARG providers="gcp azure kube openstack tencentcloud oci"
ARG providers="gcp azure kube openstack tencentcloud oci awscc"
# Add provider packages
# We include `pyproject.toml` and `poetry.lock` first to allow
# cache of dependency installs.
Expand Down Expand Up @@ -55,6 +55,10 @@ ADD tools/c7n_oci/pyproject.toml tools/c7n_oci/poetry.lock /src/tools/c7n_oci/
RUN if [[ " ${providers[*]} " =~ "oci" ]]; then . /usr/local/bin/activate && cd tools/c7n_oci && poetry install --without dev --no-root; fi


ADD tools/c7n_awscc/pyproject.toml tools/c7n_awscc/poetry.lock /src/tools/c7n_awscc/
RUN if [[ " ${providers[*]} " =~ "awscc" ]]; then . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install --without dev --no-root; fi


# Now install the root of each provider

ADD tools/c7n_gcp /src/tools/c7n_gcp
Expand All @@ -81,6 +85,14 @@ ADD tools/c7n_oci /src/tools/c7n_oci
RUN if [[ " ${providers[*]} " =~ "oci" ]]; then . /usr/local/bin/activate && cd tools/c7n_oci && poetry install --only-root; fi


ADD tools/c7n_awscc /src/tools/c7n_awscc
RUN if [[ " ${providers[*]} " =~ "awscc" ]]; then . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install --only-root; fi


# Install c7n_awscc
ADD tools/c7n_awscc /src/tools/c7n_awscc
RUN . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install

RUN mkdir /output

# Install c7n-policystream
Expand Down
2 changes: 1 addition & 1 deletion tests/test_docker.py
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ def test_image_metadata(image_name):
def test_cli_providers_available():
providers = os.environ.get("CUSTODIAN_PROVIDERS", None)
if providers is None:
providers = {"aws", "azure", "gcp", "k8s", "openstack", "tencentcloud", "oci"}
providers = {"aws", "azure", "gcp", "k8s", "openstack", "tencentcloud", "oci", "awscc"}
elif providers == "":
providers = {"aws"}
else:
Expand Down
12 changes: 11 additions & 1 deletion tools/dev/dockerpkg.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
fi
"""

default_providers = ["gcp", "azure", "kube", "openstack", "tencentcloud", "oci"]
default_providers = ["gcp", "azure", "kube", "openstack", "tencentcloud", "oci", "awscc"]

PHASE_1_PKG_INSTALL_DEP = """\
# We include `pyproject.toml` and `poetry.lock` first to allow
Expand Down Expand Up @@ -113,6 +113,10 @@
{PHASE_2_PKG_INSTALL_ROOT}
# Install c7n_awscc
ADD tools/c7n_awscc /src/tools/c7n_awscc
RUN . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install
RUN mkdir /output
"""

Expand Down Expand Up @@ -229,6 +233,12 @@
LABEL "org.opencontainers.image.documentation"="https://cloudcustodian.io/docs"
"""

BUILD_AWSCC = """\
# Install c7n-awscc
ADD tools/c7n_awscc /src/tools/c7n_awscc
RUN . /usr/local/bin/activate && cd tools/c7n_awscc && poetry install
"""


class Image:

Expand Down

0 comments on commit c4e7a4a

Please sign in to comment.