Как настроить хранителя облака на Docker - PullRequest
2 голосов
/ 07 февраля 2020

Все,

Я пытаюсь реализовать решение облачного хранилища для AWS запланированной задачи ECS в Fargate.

Мой Dockerfile выглядит следующим образом:

FROM cloudcustodian/c7n:latest

WORKDIR /opt/src

COPY policy.yml policy.yml
COPY mailer.yml mailer.yml

ENTRYPOINT [ "/bin/sh" ]

где policy.yml выглядит как

policies:
  - name: c7n-mailer-test
    resource: sqs
    filters:
     - "tag:MailerTest": absent
    actions:
      - type: notify
        template: default
        priority_header: '2'
        subject: testing the c7n mailer
        to:
          - test@mydomain.com
        transport:
          type: sqs
          queue: arn:aws:iam::xxxx:role/cloud-custodian-mailer-role-svc

Также mailer.yml выглядит как

queue_url: https://sqs.ap-southeast-1.amazonaws.com/xvxvxvx9/cloud-custodian
role: arn:aws:iam::xxxxx:role/cloud-custodian-mailer-role
from_address: test@mydomain.in

После запуска изображения я не вижу никаких сообщений в SQS или в электронной почте получателя.

Также, как я могу сохранить вывод на s3 тоже.

1 Ответ

2 голосов
/ 09 февраля 2020

Официальное docker изображение уже доступно на docker хранителе-концентраторе облака: https://hub.docker.com/r/cloudcustodian/c7n

, если вы хотите использовать инструменты с хранителем, есть также отдельный docker изображения доступны на docker хаб Ex. Mailer: https://hub.docker.com/r/cloudcustodian/mailer

однако, если вы хотите запустить оба в одном и том же контейнере, посмотрите на это: https://github.com/harsh4870/cloud-custodian

Dockerfile

FROM python:3.6-alpine

LABEL MAINTAINER="Harsh Manvar <harsh.manvar111@gmail.com>"

WORKDIR /opt/src

COPY cloud-custodian .
RUN apk add --no-cache --virtual .build-deps gcc musl-dev
RUN pip install -r requirements.txt && \
    python setup.py install && \
    cd tools/c7n_mailer/ && \
    pip install -r requirements.txt && \
    pip install requests && \
    python setup.py install
RUN apk del .build-deps gcc musl-dev
WORKDIR /opt/src

COPY policy.yml policy.yml
COPY mailer.yml mailer.yml

ENTRYPOINT [ "/bin/sh" ]

Запустить docker образ, передав команду :

docker run \
        -e AWS_ACCESS_KEY_ID="${AWS_ACCESS_KEY_ID}" \
        -e AWS_SECRET_ACCESS_KEY="${AWS_SECRET_ACCESS_KEY}" \
        -e AWS_DEFAULT_REGION="$(REGION)" \
        -v "$(CURDIR)/logs:/tmp" \
        "cloud-custodian:$(VERSION)" \
        -c "/usr/local/bin/custodian run -c policy.yml -s .; /usr/local/bin/c7n-mailer --config mailer.yml --run"
...