Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Include c7n awscc in image #9521

Merged
merged 11 commits into from
Jun 2, 2024
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