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

🎉 New Source: Mailgun #8056

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions airbyte-config/init/src/main/resources/icons/mailgun.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -369,6 +369,13 @@
documentationUrl: https://docs.airbyte.io/integrations/sources/mailchimp
icon: mailchimp.svg
sourceType: api
- name: Mailgun
sourceDefinitionId: 5b9cb09e-1003-4f9c-983d-5779d1b2cd51
dockerRepository: airbyte/source-mailgun
dockerImageTag: 0.1.0
documentationUrl: https://docs.airbyte.io/integrations/sources/mailgun
icon: mailgun.svg
sourceType: api
- name: Marketo
sourceDefinitionId: 9e0556f4-69df-4522-a3fb-03264d36b348
dockerRepository: airbyte/source-marketo
Expand Down
33 changes: 33 additions & 0 deletions airbyte-config/init/src/main/resources/seed/source_specs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3473,6 +3473,39 @@
supportsNormalization: false
supportsDBT: false
supported_destination_sync_modes: []
- dockerImage: "airbyte/source-mailgun:0.1.0"
spec:
documentationUrl: "https://docs.airbyte.io/integrations/sources/mailgun"
connectionSpecification:
$schema: "http://json-schema.org/draft-07/schema#"
title: "Source Mailgun Spec"
type: "object"
required:
- "private_key"
additionalProperties: true
properties:
private_key:
type: "string"
airbyte_secret: true
description: "Primary account API key to access your Mailgun data."
title: "Private API Key"
domain_region:
type: "string"
description: "Domain region code. 'EU' or 'US' are possible values. The\
\ default is 'US'."
title: "Domain Region Code"
start_date:
title: "Replication Start Date"
description: "UTC date and time in the format 2020-10-01 00:00:00. Any data\
\ before this date will not be replicated. If omitted, defaults to 3 days\
\ ago."
pattern: "^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$"
examples:
- "2020-10-01 00:00:00"
type: "string"
supportsNormalization: false
supportsDBT: false
supported_destination_sync_modes: []
- dockerImage: "airbyte/source-marketo:0.1.1"
spec:
documentationUrl: "https://docs.airbyte.io/integrations/sources/marketo"
Expand Down
7 changes: 7 additions & 0 deletions airbyte-integrations/connectors/source-mailgun/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
*
!Dockerfile
!Dockerfile.test
!main.py
!source_mailgun
!setup.py
!secrets
38 changes: 38 additions & 0 deletions airbyte-integrations/connectors/source-mailgun/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
FROM python:3.7.11-alpine3.14 as base

# build and load all requirements
FROM base as builder
WORKDIR /airbyte/integration_code

# upgrade pip to the latest version
RUN apk --no-cache upgrade \
&& pip install --upgrade pip \
&& apk --no-cache add tzdata build-base


COPY setup.py ./
# install necessary packages to a temporary folder
RUN pip install --prefix=/install .

# build a clean environment
FROM base
WORKDIR /airbyte/integration_code

# copy all loaded and built libraries to a pure basic image
COPY --from=builder /install /usr/local
# add default timezone settings
COPY --from=builder /usr/share/zoneinfo/Etc/UTC /etc/localtime
RUN echo "Etc/UTC" > /etc/timezone

# bash is installed for more convenient debugging.
RUN apk --no-cache add bash

# copy payload code only
COPY main.py ./
COPY source_mailgun ./source_mailgun

ENV AIRBYTE_ENTRYPOINT "python /airbyte/integration_code/main.py"
ENTRYPOINT ["python", "/airbyte/integration_code/main.py"]

LABEL io.airbyte.version=0.1.0
LABEL io.airbyte.name=airbyte/source-mailgun
Loading