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

Gitlab app poc #2

Merged
merged 391 commits into from
Jul 20, 2023
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
391 commits
Select commit Hold shift + click to select a range
855a4fc
version bumpp
yairsimantov20 Jun 29, 2023
9ece944
idea files
yairsimantov20 Jun 29, 2023
dd9df57
idea files
yairsimantov20 Jun 29, 2023
46097b4
remove dstore
yairsimantov20 Jun 29, 2023
25071ad
fixing the request middleware
yairsimantov20 Jun 29, 2023
da4df10
more logs and exceptions
yairsimantov20 Jul 2, 2023
0bfbb31
readme updates & renaming port_ocean file to ocean.py
yairsimantov20 Jul 2, 2023
b41c2c9
fixed linting
yairsimantov20 Jul 2, 2023
86d1ba7
Merge branch 'POC' of github.com:port-labs/port-ocean into gitlab-app…
yairsimantov20 Jul 2, 2023
b050522
revert changes in ocean
yairsimantov20 Jul 2, 2023
58e6c99
readme updates
yairsimantov20 Jul 2, 2023
0c7fd22
Merge branch 'POC' of github.com:port-labs/port-ocean into gitlab-app…
yairsimantov20 Jul 2, 2023
c0b1246
using the logger
yairsimantov20 Jul 2, 2023
b97c242
better logs
yairsimantov20 Jul 2, 2023
8d9a673
Merge branch 'POC' of github.com:port-labs/port-ocean into gitlab-app…
yairsimantov20 Jul 2, 2023
dcc4db8
improved README.md
yairsimantov20 Jul 2, 2023
ecc9c0d
Merge branch 'POC' of github.com:port-labs/port-ocean into gitlab-app…
yairsimantov20 Jul 2, 2023
f398129
better logs
yairsimantov20 Jul 2, 2023
bd35e22
ignoring pydantic FutureWarning
yairsimantov20 Jul 2, 2023
5538385
Merge branch 'POC' of github.com:port-labs/port-ocean into gitlab-app…
yairsimantov20 Jul 2, 2023
baafb48
fixed bugs in the gitlab app logic
yairsimantov20 Jul 2, 2023
74f6b9e
fixed some implementations
yairsimantov20 Jul 2, 2023
e939d9a
Merge branch 'POC' of github.com:port-labs/port-ocean into gitlab-app…
yairsimantov20 Jul 2, 2023
3b270ef
moved some exceptions
yairsimantov20 Jul 2, 2023
4cad95f
moved some exceptions
yairsimantov20 Jul 2, 2023
490c125
Merge branch 'POC' of github.com:port-labs/port-ocean into gitlab-app…
yairsimantov20 Jul 2, 2023
8a75986
Merge remote-tracking branch 'origin/gitlab-app-POC' into gitlab-app-POC
yairsimantov20 Jul 2, 2023
6e6563d
checking for diff in the integration before initializing
yairsimantov20 Jul 3, 2023
c53e23c
Merge branch 'POC' of github.com:port-labs/port-ocean into gitlab-app…
yairsimantov20 Jul 3, 2023
d8005c6
svg to png
yairsimantov20 Jul 3, 2023
b5b8489
some readme and git ignore improvements
yairsimantov20 Jul 3, 2023
4e12126
Added OceanLogo.svg
yairsimantov20 Jul 3, 2023
5cae31d
fixed logo
yairsimantov20 Jul 3, 2023
de98204
fixed logo
yairsimantov20 Jul 3, 2023
4849231
fixed logo
yairsimantov20 Jul 3, 2023
e5e7927
Prerequisites
yairsimantov20 Jul 3, 2023
1007bc7
version command
yairsimantov20 Jul 3, 2023
1e27ae8
version command
yairsimantov20 Jul 3, 2023
89be610
cli improved cli help
yairsimantov20 Jul 3, 2023
c12223b
existing gracefully on kafka error
yairsimantov20 Jul 3, 2023
fd38a5b
removing secret.yaml from the settings config
yairsimantov20 Jul 3, 2023
2d376ac
using python gitignore
yairsimantov20 Jul 3, 2023
9bc536c
using python gitignore
yairsimantov20 Jul 3, 2023
022063c
port base url default value
yairsimantov20 Jul 3, 2023
997dae0
lint fixes
yairsimantov20 Jul 3, 2023
d419f39
moved provider patterns to consts
yairsimantov20 Jul 4, 2023
8048297
seperated port client.py
yairsimantov20 Jul 4, 2023
10260be
using consts for status codes
yairsimantov20 Jul 4, 2023
8b982aa
passing integration type to the port client for the user agent
yairsimantov20 Jul 4, 2023
2b39bb8
added integration type to the kafka consumer
yairsimantov20 Jul 4, 2023
2afb347
using rich console for printing
yairsimantov20 Jul 4, 2023
bb627bf
cli test changes
yairsimantov20 Jul 4, 2023
46fa6de
removed Shell:= from the make file
yairsimantov20 Jul 4, 2023
a218369
updated base url
yairsimantov20 Jul 4, 2023
e6f40c5
fixed sail command
yairsimantov20 Jul 4, 2023
4b0937c
fixed black version for python
yairsimantov20 Jul 4, 2023
11319d2
getting kafka credentials more safely
yairsimantov20 Jul 4, 2023
e5e5758
base config cosmetic changes
yairsimantov20 Jul 4, 2023
01350b5
cosmetic changes
yairsimantov20 Jul 4, 2023
a03fa97
cosmetic changes
yairsimantov20 Jul 4, 2023
77f4c33
cosmetic changes
yairsimantov20 Jul 4, 2023
a7f4203
cosmetic changes
yairsimantov20 Jul 4, 2023
65e1740
cosmetic changes
yairsimantov20 Jul 4, 2023
3e180fc
fixed imports
yairsimantov20 Jul 4, 2023
a0093f1
validating the result with pydantic
yairsimantov20 Jul 4, 2023
21d1ff8
fixed typo
yairsimantov20 Jul 4, 2023
9d0763c
cosmetics
yairsimantov20 Jul 4, 2023
8af245b
cosmetics
yairsimantov20 Jul 4, 2023
a9d2eea
removed unused error handling
yairsimantov20 Jul 4, 2023
dbb1f3b
renaming
yairsimantov20 Jul 4, 2023
acaab4d
removed idea file
yairsimantov20 Jul 4, 2023
8e77f19
fixed the type
yairsimantov20 Jul 4, 2023
b6199ab
using get time for validating the token instead of datetime
yairsimantov20 Jul 5, 2023
f0eba0f
better status code validation
yairsimantov20 Jul 5, 2023
1680de3
getting delete_dependent_entities from options better
yairsimantov20 Jul 5, 2023
aa3345c
better status code handling
yairsimantov20 Jul 5, 2023
d2b9bb0
better status code handling
yairsimantov20 Jul 5, 2023
2956e6a
cosmetics
yairsimantov20 Jul 5, 2023
3da7a5c
cosmetics
yairsimantov20 Jul 5, 2023
5efbd3a
cosmetics
yairsimantov20 Jul 5, 2023
9358c02
fixed usage of options
yairsimantov20 Jul 5, 2023
fdba889
logger updates
yairsimantov20 Jul 5, 2023
97c846e
better contributing part for the README.md
yairsimantov20 Jul 5, 2023
1645d71
gave http event a name
yairsimantov20 Jul 5, 2023
bc010b3
noramalized the event types
yairsimantov20 Jul 5, 2023
a359060
noramalized the event types
yairsimantov20 Jul 5, 2023
7011ad4
renaming
yairsimantov20 Jul 9, 2023
e0d5908
revert change
yairsimantov20 Jul 9, 2023
0aadfc3
better intro
yairsimantov20 Jul 9, 2023
c31605c
better README.md
yairsimantov20 Jul 9, 2023
a2ba148
CONTRIBUTING.md
yairsimantov20 Jul 9, 2023
eef6a36
better README.md
yairsimantov20 Jul 9, 2023
ca1f390
unpacking iterator instead of array
yairsimantov20 Jul 9, 2023
5cd8deb
renaming
yairsimantov20 Jul 9, 2023
217dad4
removed actions for now from the code
yairsimantov20 Jul 9, 2023
45f1446
fixed get uniqueu logic
yairsimantov20 Jul 9, 2023
fa0b1e6
strip logo
yairsimantov20 Jul 9, 2023
6021e53
better cookiecutter comments
yairsimantov20 Jul 9, 2023
609d597
better cookiecutter comments
yairsimantov20 Jul 9, 2023
7d97f43
better cookiecutter comments
yairsimantov20 Jul 9, 2023
f88b5e0
returning trigger channel instead of holding it in the factory.py
yairsimantov20 Jul 9, 2023
d75ec7f
fixed typing
yairsimantov20 Jul 9, 2023
8a6a007
fixed import
yairsimantov20 Jul 9, 2023
99b17ae
made the load providers function more readable
yairsimantov20 Jul 9, 2023
e1952eb
cosmetic changes
yairsimantov20 Jul 9, 2023
a3c61f0
cosmetic changes
yairsimantov20 Jul 9, 2023
e839ad4
cosmetic changes
yairsimantov20 Jul 9, 2023
d2f7f9b
cosmetic changes
yairsimantov20 Jul 9, 2023
11a7f03
cosmetic changes
yairsimantov20 Jul 9, 2023
fa477e7
cosmetic changes
yairsimantov20 Jul 9, 2023
ba6bedf
cosmetic changes
yairsimantov20 Jul 9, 2023
52eea5e
cosmetic changes
yairsimantov20 Jul 9, 2023
da1e876
better gitignore
yairsimantov20 Jul 9, 2023
02430cb
better gitignore
yairsimantov20 Jul 9, 2023
2adde96
better gitignore
yairsimantov20 Jul 9, 2023
320a793
better gitignore
yairsimantov20 Jul 9, 2023
00d8d2a
cosmetic changes
yairsimantov20 Jul 9, 2023
8d44fce
cosmetic changes
yairsimantov20 Jul 9, 2023
ae4d026
debug py
yairsimantov20 Jul 9, 2023
1c93a50
sample trigger channel
yairsimantov20 Jul 10, 2023
77d1556
dockerfile and spec.yaml
yairsimantov20 Jul 10, 2023
d819fad
dockerfile and spec.yaml
yairsimantov20 Jul 10, 2023
5d8922b
release integration workflow
yairsimantov20 Jul 10, 2023
c742e10
fixed make file poetry installation
yairsimantov20 Jul 10, 2023
c6818c8
fixed make file poetry installation
yairsimantov20 Jul 10, 2023
69101a0
Merge branch 'POC' of github.com:port-labs/port-ocean into gitlab-app…
yairsimantov20 Jul 10, 2023
3aa961b
fixed make file poetry installation
yairsimantov20 Jul 10, 2023
2051a31
fixed make file poetry installation
yairsimantov20 Jul 10, 2023
4302f29
fixed make file poetry installation
yairsimantov20 Jul 10, 2023
6b16fcc
check diff for the integration type when patching
yairsimantov20 Jul 10, 2023
b856462
Merge branch 'PORT-4223-Add-sampling-trigger-channel-to-ocean' of git…
yairsimantov20 Jul 10, 2023
8828581
fixed sample trigger_channel.py
yairsimantov20 Jul 10, 2023
9640050
Merge branch 'PORT-4223-Add-sampling-trigger-channel-to-ocean' of git…
yairsimantov20 Jul 10, 2023
992c9a2
log for sample trigger channel
yairsimantov20 Jul 10, 2023
76bc135
Merge branch 'PORT-4223-Add-sampling-trigger-channel-to-ocean' of git…
yairsimantov20 Jul 10, 2023
ef95c96
consumer_poll_timeout configuration
yairsimantov20 Jul 10, 2023
cc35e78
improved syntax for getting the provider data
yairsimantov20 Jul 10, 2023
4fe4faf
unpacking configuration into kafka consumer config
yairsimantov20 Jul 10, 2023
4321a8c
removed requests package
yairsimantov20 Jul 10, 2023
f52e707
adding config yamlto the cookie cutter
yairsimantov20 Jul 10, 2023
c097225
pyproject.toml metadata
yairsimantov20 Jul 10, 2023
5af1669
more text in CONTRIBUTING.md
yairsimantov20 Jul 10, 2023
718363c
a start of a CHANGELOG.md
yairsimantov20 Jul 10, 2023
804eb7c
implemented towncrier
yairsimantov20 Jul 10, 2023
08f9397
implemented towncrier
yairsimantov20 Jul 10, 2023
12ac91d
transport class renaming
yairsimantov20 Jul 11, 2023
0f80339
fixed README.md folder structure
yairsimantov20 Jul 12, 2023
28816b8
fixed the repo name in the list and pull commands.py
yairsimantov20 Jul 12, 2023
d25c399
removed runs from the consumer
yairsimantov20 Jul 12, 2023
841c451
manipulation -> entity processor renaming
yairsimantov20 Jul 12, 2023
f21825b
improved imports
yairsimantov20 Jul 12, 2023
12e8b34
handling abort errors
yairsimantov20 Jul 12, 2023
318c93b
renaming
yairsimantov20 Jul 12, 2023
1de69ab
Merge branch 'POC' of github.com:port-labs/port-ocean into PORT-4223-…
yairsimantov20 Jul 12, 2023
601766f
added consumer_poll_timeout
yairsimantov20 Jul 12, 2023
c56e08b
Merge branch 'PORT-4223-Add-sampling-trigger-channel-to-ocean' of git…
yairsimantov20 Jul 12, 2023
cc6f65b
corrected according the class renaming
yairsimantov20 Jul 12, 2023
b380dec
updated spec yaml
yairsimantov20 Jul 12, 2023
3b4d41a
reusing asyncClient instance
yairsimantov20 Jul 12, 2023
f9bb37e
Merge branch 'POC' of github.com:port-labs/port-ocean into PORT-4223-…
yairsimantov20 Jul 12, 2023
65e3a45
Merge branch 'PORT-4223-Add-sampling-trigger-channel-to-ocean' of git…
yairsimantov20 Jul 12, 2023
0d4aabe
fixed spec typing
yairsimantov20 Jul 12, 2023
193b1e8
added license and updated the version
yairsimantov20 Jul 12, 2023
1227e24
Merge branch 'main' of github.com:port-labs/Port-Ocean into PORT-4223…
yairsimantov20 Jul 12, 2023
0ddc084
removed previous files
yairsimantov20 Jul 12, 2023
fcec669
fixed docstrings
yairsimantov20 Jul 12, 2023
9e2490e
getting the current integration in the client instead of passing the …
yairsimantov20 Jul 12, 2023
666f038
removed unused parameters on `repeat_every`
yairsimantov20 Jul 12, 2023
278e727
removed duplication of the http trigger
yairsimantov20 Jul 12, 2023
e0a10f0
Merge branch 'PORT-4223-Add-sampling-trigger-channel-to-ocean' of git…
yairsimantov20 Jul 12, 2023
9ccc25b
infra updates
yairsimantov20 Jul 12, 2023
1e9af2a
removed irrelevant todo
yairsimantov20 Jul 12, 2023
e59aef4
removed extra whitespaces
yairsimantov20 Jul 12, 2023
b8f4ce7
readme fixes
yairsimantov20 Jul 12, 2023
14317ad
merge conflicts
yairsimantov20 Jul 13, 2023
cf2a34b
reverted deletion for utils.py
yairsimantov20 Jul 13, 2023
8d8b3de
Merge branch 'main' of github.com:port-labs/Port-Ocean into gitlab-ap…
yairsimantov20 Jul 13, 2023
b7147c4
fixed readme file structure
yairsimantov20 Jul 13, 2023
ceca5c7
renamed the gitlab app to gitlab
yairsimantov20 Jul 13, 2023
3afd3f9
fixed imports
yairsimantov20 Jul 13, 2023
d8fdba1
initializing defaults
yairsimantov20 Jul 13, 2023
bd78656
Merge branch 'PORT-4250-Add-default-blueprint-and-mapping-for-integra…
yairsimantov20 Jul 13, 2023
cd1cf45
corrected parameter name
yairsimantov20 Jul 13, 2023
34f1261
added debug.py
yairsimantov20 Jul 13, 2023
b0aef8c
gitlab app default blueprints and port app config
yairsimantov20 Jul 13, 2023
4cc70d1
Added a py.typed file so that mypy will know to use our type annotati…
yairsimantov20 Jul 14, 2023
3a182ec
Merge branch 'PORT-4254-Support-port-ocean-in-mypy' of github.com:por…
yairsimantov20 Jul 14, 2023
50b96ed
removed unused variable
yairsimantov20 Jul 14, 2023
3ebf5f5
updated make file
yairsimantov20 Jul 14, 2023
dc2ecc3
removed uneeded fields
yairsimantov20 Jul 16, 2023
a2b1537
Merge branch 'main' of github.com:port-labs/Port-Ocean into gitlab-ap…
yairsimantov20 Jul 18, 2023
9db06ff
removed merge conflict file
yairsimantov20 Jul 18, 2023
026ccc9
removed merge conflict file
yairsimantov20 Jul 18, 2023
322ddf0
updated files according to main
yairsimantov20 Jul 18, 2023
7378392
renamed the folder
yairsimantov20 Jul 18, 2023
3fa7ab2
modified according to changes in main
yairsimantov20 Jul 18, 2023
6af1e61
casting the port_app_config on the push hook to get the right configu…
yairsimantov20 Jul 18, 2023
139ab8a
merged files
yairsimantov20 Jul 18, 2023
8dba19c
switched to generator from list
yairsimantov20 Jul 18, 2023
1b259e1
renaming and moved some files
yairsimantov20 Jul 18, 2023
5c814f2
updated the packages
yairsimantov20 Jul 18, 2023
d9e3c3b
Merge branch 'main' of github.com:port-labs/Port-Ocean into gitlab-ap…
yairsimantov20 Jul 18, 2023
84e2bff
updated the Dockerfile
yairsimantov20 Jul 18, 2023
c25bfc3
Update pyproject.toml
yairsimantov20 Jul 18, 2023
e3dfea8
Update pyproject.toml
yairsimantov20 Jul 18, 2023
2102203
More documentation for the gitlab
yairsimantov20 Jul 19, 2023
14d22f0
unified kinds
yairsimantov20 Jul 19, 2023
c15b083
removed required true from blueprints.json
yairsimantov20 Jul 19, 2023
b03d6e1
kind documentation
yairsimantov20 Jul 19, 2023
3f364bb
spec bump
yairsimantov20 Jul 19, 2023
0c4692b
fixed object kind
yairsimantov20 Jul 19, 2023
e7c95ed
fixed object kind
yairsimantov20 Jul 19, 2023
c330e9e
fixed the workflow
yairsimantov20 Jul 19, 2023
f9ad713
added the extras
yairsimantov20 Jul 19, 2023
da30c3a
bumped spec
yairsimantov20 Jul 19, 2023
a012cb6
updated ocean
yairsimantov20 Jul 19, 2023
1d87c72
Merge branch 'main' of github.com:port-labs/Port-Ocean into gitlab-ap…
yairsimantov20 Jul 19, 2023
82de021
bumped version
yairsimantov20 Jul 19, 2023
9995fb8
passing the body directly
yairsimantov20 Jul 19, 2023
f9a14ea
removed the scope model
yairsimantov20 Jul 19, 2023
85dbf17
removed hook context
yairsimantov20 Jul 19, 2023
705b9be
reordered functions
yairsimantov20 Jul 19, 2023
f9f4cea
creating all services once on startup
yairsimantov20 Jul 19, 2023
ae4a95d
todo
yairsimantov20 Jul 19, 2023
a54637a
gitlab fixes
yairsimantov20 Jul 20, 2023
2def65e
fixed lint
yairsimantov20 Jul 20, 2023
d5aa96e
fixed lint
yairsimantov20 Jul 20, 2023
c7d96c5
addressed non async integration logic performance
yairsimantov20 Jul 20, 2023
f36aceb
default in the spec file
yairsimantov20 Jul 20, 2023
448279d
fixed lint
yairsimantov20 Jul 20, 2023
e72a45a
changelog fragments
yairsimantov20 Jul 20, 2023
5c8a4a3
Merge branch 'PORT-4294-Ocean-fixes' of github.com:port-labs/Port-Oce…
yairsimantov20 Jul 20, 2023
1482a3e
Merge branch 'main' of github.com:port-labs/Port-Ocean into gitlab-ap…
yairsimantov20 Jul 20, 2023
3c49033
Fixed cookiecutter and added helm chart installation example
danielsinai Jul 20, 2023
fc56f3c
Merge branch 'gitlab-app-POC' of https://github.com/port-labs/port-oc…
danielsinai Jul 20, 2023
ece0f4b
fixed gitops implementation
yairsimantov20 Jul 20, 2023
9110918
Merge branch 'gitlab-app-POC' of https://github.com/port-labs/port-oc…
danielsinai Jul 20, 2023
ce69a6d
updated version
yairsimantov20 Jul 20, 2023
aa53fdb
Merge branch 'gitlab-app-POC' of github.com:port-labs/Port-Ocean into…
yairsimantov20 Jul 20, 2023
269ed79
updated the readme
yairsimantov20 Jul 20, 2023
e4d57b6
Merge branch 'main' of github.com:port-labs/Port-Ocean into gitlab-ap…
yairsimantov20 Jul 20, 2023
b3709b9
cr requests
yairsimantov20 Jul 20, 2023
b449e3e
updated blueprints.json
yairsimantov20 Jul 20, 2023
6f4753e
added __project to gitlab pipeline
yairsimantov20 Jul 20, 2023
c3d2309
fixed schema
yairsimantov20 Jul 20, 2023
ab9f865
bump
yairsimantov20 Jul 20, 2023
9077632
bump
yairsimantov20 Jul 20, 2023
cebb840
bump ocean 0.1.0
yairsimantov20 Jul 20, 2023
f3e6479
gitlab integration first version
yairsimantov20 Jul 20, 2023
e7ad43b
Merge branch 'main' of github.com:port-labs/Port-Ocean into gitlab-ap…
yairsimantov20 Jul 20, 2023
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
21 changes: 21 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Lint

on:
pull_request:
workflow_dispatch:

jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Set up Python 3.11
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Checkout Repo
uses: actions/checkout@v3
- name: Lint
run: |
make install/all
make lint/all
31 changes: 31 additions & 0 deletions .github/workflows/release-framework.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Release framework
on:
push:
tags:
- v*
workflow_dispatch:

env:
PYPI_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
PYPI_USERNAME: ${{ secrets.PYPI_USERNAME }}
jobs:
publish_ocean:
name: Publish Ocean
runs-on: ubuntu-latest
steps:
- name: Set up Python 3.11
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Checkout Repo
uses: actions/checkout@v3
- name: Make install and build
run: |
make install
make build
- name: Publish package to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
user: ${{ env.PYPI_USERNAME }}
password: ${{ env.PYPI_PASSWORD }}
packages-dir: ${{github.workspace}}/dist
67 changes: 67 additions & 0 deletions .github/workflows/release-integrations.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: Release integrations
on:
push:
branches:
- main
workflow_dispatch:

jobs:
release-all:
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ secrets.DOCKER_MACHINE_USER }}
password: ${{ secrets.DOCKER_MACHINE_TOKEN }}
- name: Build and push Docker image
run: |
GHCR_TOKEN=$(echo ${{ secrets.GITHUB_TOKEN }} | base64)

files=$(find integrations/*/.port -name "spec.yaml")
for file in $files; do
# Get the type from ocean-spec.yaml
type=$(yq eval '.type' "$file")
folder=$(dirname "$file")
# Get the version from ocean-spec.yaml
version=$(yq eval '.version' "$file")
# Check if the version exists in the ghcr.io registry
MANIFEST=$(curl -s -o /dev/null -w "%{http_code}" -H "Authorization: Bearer ${GHCR_TOKEN}" "https://ghcr.io/v2/port-labs/port-ocean-$type/manifests/$version")
if [ "$MANIFEST" = "200" ]; then
echo "Image already exists in $repository: port-ocean-$type:$version"
else
echo "Building and pushing new image: port-ocean-$type:$version"
docker build -t "ghcr.io/port-labs/port-ocean-$type:$version" -t "ghcr.io/port-labs/port-ocean-$type:latest" "$folder/.."
docker push "ghcr.io/port-labs/port-ocean-$type" --all-tags
fi
done
- name: Configure AWS Credentials ?
id: aws-credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ secrets.AWS_REGION }}
- name: Upload specifications to s3
run: |
# Temporary file to store the concatenated YAML content
temp_file="temp.yaml"
# Output file name
output_file="index.json"
# AWS S3 bucket details
aws_s3_bucket="ocean-registry"
# Find all ocean-spec.yaml files under the specified directory
find integrations/*/.port -type f -name "spec.yaml" > file_list.txt
# Concatenate the YAML files into a temporary file
while IFS= read -r file; do
echo "- " >> "$temp_file"
sed 's/^/ /' "$file" >> "$temp_file"
done < file_list.txt
yq -j . < "$temp_file" > "$output_file"
aws s3 cp "$output_file" "s3://$aws_s3_bucket/$output_file"
160 changes: 160 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# Pycharm
.idea
!.idea/watcherTasks.xml

# VSCode
.vscode/
25 changes: 25 additions & 0 deletions .idea/watcherTasks.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

31 changes: 31 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Contributing to Ocean

Thank you for considering contributing to our data integration framework! Your contributions play a crucial role in improving the functionality, scalability, and usability of the framework. This readme aims to explain the difference between contributing to the framework itself and contributing a new integration.

## Contributing to the Framework

Contributing to the framework involves actively participating in its development and improvement. By contributing, you can help enhance its core features, fix bugs, optimize performance, and ensure compatibility with various data sources and formats. Here are some ways you can contribute to the framework:

1. **Feature Development**: You can propose and implement new features that align with the framework's objectives. Whether it's introducing advanced data transformation capabilities, supporting new data storage systems, or improving the user interface, your ideas and contributions are valuable.

2. **Bug Fixes**: If you encounter any bugs or issues while using the framework, you can contribute by investigating the problem, identifying the root cause, and submitting fixes. By addressing these issues, you ensure a more stable and reliable framework for all users.

3. **Performance Optimization**: Improving the framework's performance is always a priority. You can contribute by optimizing algorithms, reducing resource usage, and implementing caching mechanisms, resulting in faster and more efficient data integration processes.
CON
4. **Documentation**: Clear and comprehensive documentation is crucial for users to understand and leverage the framework's capabilities. You can help by improving existing documentation, writing new guides, and providing code examples that demonstrate various integration scenarios.

5. **Code Reviews**: Reviewing code submissions from other contributors is an essential part of maintaining code quality. By participating in code reviews, you can provide feedback, suggest improvements, and ensure adherence to coding standards.

## Contributing a New Integration

Apart from contributing to the framework itself, you can also contribute by adding new integrations to expand its compatibility and usefulness. Integrations allow the framework to connect with different data sources, APIs, and services. Here's how you can contribute a new integration:

1. **Integration Proposal**: Start by proposing the integration you would like to add. Provide a clear description of the data source or service, explain how it aligns with the framework's goals, and outline the benefits it would bring to users.

2. **Integration Implementation**: Once your proposal is accepted, you can begin implementing the integration. This involves writing code to establish connections, retrieve data, and handle any necessary authentication or authorization mechanisms.

3. **Testing and Documentation**: Thoroughly test the integration to ensure its reliability and functionality. Additionally, document the integration by providing usage instructions, configuration details, and any specific considerations users should be aware of.

4. **Integration Submission**: Finally, submit your integration code and documentation to the framework's repository for review. Collaborate with other contributors to address feedback and make any necessary improvements.

By contributing a new integration, you enable users of the framework to seamlessly integrate with additional data sources and services, expanding its versatility and usefulness.
Loading