Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
d6e75fb
Revert "Revert "Revert "Revert "Revert "[#4358,#4359] Feature/LDAP De…
nickmango Aug 22, 2024
a94dc3a
Revert "Revert "Feature/Gerrit Post response update""
nickmango Aug 22, 2024
bf7b07f
Merge pull request #4414 from nickmango/feature/gerrit-ldap
nickmango Aug 26, 2024
fbb7985
[#4394] Feature/Script
nickmango Aug 28, 2024
5e30211
Merge pull request #4420 from nickmango/feature/ldap-cla-check
nickmango Aug 28, 2024
d854313
Fix Build PR
csavulalfx Aug 28, 2024
e322e0f
Merge pull request #4422 from communitybridge/feat/fix-build-dev-pr
nickmango Aug 28, 2024
3d1078e
Bug/Lint Issues
nickmango Aug 28, 2024
20491c8
[#4428]Feature/Missing ID Help Link
nickmango Aug 29, 2024
2662a52
Merge pull request #4429 from nickmango/feature/help-link
nickmango Aug 29, 2024
b7d61b4
Merge pull request #4423 from nickmango/bug/go-lint
nickmango Sep 2, 2024
8d3999b
[#4433] Bug/Adding GH Org
nickmango Sep 30, 2024
9f5aeb1
Merge pull request #4445 from nickmango/bug/post-gh-org
nickmango Sep 30, 2024
c0af33c
Feature/Golang Lint version
nickmango Sep 30, 2024
f7da95e
Merge pull request #4446 from nickmango/feature/golang-lint
nickmango Sep 30, 2024
4f644ec
Feature/Go Version
nickmango Sep 30, 2024
a0e95cc
Merge pull request #4447 from nickmango/feature/go-version
nickmango Oct 1, 2024
aecfdc6
[#4395]Feature/Gerrit Post
nickmango Oct 7, 2024
e0cf32b
Merge pull request #4448 from nickmango/feature/gerrit-post
nickmango Oct 7, 2024
b62960f
[#4395]Bug/Test case
nickmango Oct 8, 2024
c52de4a
Merge pull request #4449 from nickmango/bug/gerrit-post-test
nickmango Oct 8, 2024
f0ffb0a
[#2655] Activity log for Acknowledgements
nickmango Oct 13, 2024
615f8f0
Merge pull request #4453 from nickmango/bug/ack-approval-event
nickmango Oct 13, 2024
ed4ab32
[#4264] Bug/Ecla Acknowledged timestamp
nickmango Oct 13, 2024
ac1a811
Merge pull request #4454 from nickmango/bug/ecla-timestamp
nickmango Oct 13, 2024
6979ba4
[#4460] Bug/Corporate Contributors API pagination
nickmango Oct 29, 2024
eff666e
Merge pull request #4467 from nickmango/bug/corporate-contributors-pa…
nickmango Oct 29, 2024
79a9dd1
[#4460] Feature/Corporate contributors dups
nickmango Oct 29, 2024
a5c3d85
Merge pull request #4469 from nickmango/feature/ecla-duplicates
nickmango Oct 29, 2024
4717471
Revert "[#4460] Feature/Corporate contributors dups"
nickmango Oct 30, 2024
373849c
Merge pull request #4470 from communitybridge/revert-4469-feature/ecl…
nickmango Oct 30, 2024
c40885f
[#4472] Approval List search
nickmango Nov 4, 2024
0c3f707
Merge pull request #4473 from nickmango/feature/authorize-api
nickmango Nov 4, 2024
7c8766d
Update gitignore
lukaszgryglicki Nov 20, 2024
76912c2
Cleanup
lukaszgryglicki Nov 20, 2024
7946887
Add support for embargo acknowledgement in python backend
lukaszgryglicki Nov 21, 2024
dc8e946
Update dev.md - linux special case
lukaszgryglicki Nov 26, 2024
33073f4
One more typo fix
lukaszgryglicki Nov 26, 2024
f73c4d1
Update docs
lukaszgryglicki Nov 27, 2024
1c0db12
Sync with AWS env updates
lukaszgryglicki Nov 27, 2024
247a9f8
ngrok details
lukaszgryglicki Nov 27, 2024
8e02cb1
Testing POST '/v1/signature' API
lukaszgryglicki Nov 27, 2024
3eeaf1f
WIP 'request_individual_signature' API
lukaszgryglicki Nov 27, 2024
c925764
Handle employee_signature
lukaszgryglicki Nov 27, 2024
e6df63d
Reorganized scripts/utils
lukaszgryglicki Nov 27, 2024
4f5ebf5
WIP golang API
lukaszgryglicki Nov 27, 2024
135774c
Update script
lukaszgryglicki Nov 27, 2024
823dbde
update golang API endpoint
lukaszgryglicki Nov 27, 2024
f2c3294
[#3498] Project Name
nickmango Nov 27, 2024
8f1989d
Merge pull request #4492 from nickmango/feature/cla-mgr-email
nickmango Nov 27, 2024
b18d895
Uopdate docs and util scripts
lukaszgryglicki Nov 28, 2024
3370bda
Update util scripts
lukaszgryglicki Nov 29, 2024
0c6b813
Merge branch 'dev' into lukaszgryglicki-update-gitignore
lukaszgryglicki Nov 29, 2024
1d107c8
Update util scripts
lukaszgryglicki Nov 29, 2024
e8cb5f0
Merge branch 'dev' into lukaszgryglicki-4482-add-embargo_acked-to-cla…
lukaszgryglicki Nov 29, 2024
f753f22
Run tests locally - added util script
lukaszgryglicki Nov 29, 2024
5fa2e02
[#3498] Bug/Email Template
nickmango Dec 3, 2024
f7fa410
Merge pull request #4495 from nickmango/bug/email-cla-mgr
nickmango Dec 3, 2024
fef2ac3
Merge branch 'dev' into lukaszgryglicki-update-gitignore
lukaszgryglicki Dec 4, 2024
2e02f21
Update scripts
lukaszgryglicki Dec 4, 2024
8f471ab
Merge branch 'dev' into lukaszgryglicki-4482-add-embargo_acked-to-cla…
lukaszgryglicki Dec 4, 2024
f2594aa
Update scripts
lukaszgryglicki Dec 4, 2024
1c67775
Handle py/go APIs
lukaszgryglicki Dec 4, 2024
ab386de
Updaste util script
lukaszgryglicki Dec 4, 2024
f2184be
Sync
lukaszgryglicki Dec 4, 2024
143221b
Add docusign envs
lukaszgryglicki Dec 4, 2024
2d3bf28
Add docusign envs
lukaszgryglicki Dec 4, 2024
359e54b
Example tests in comment
lukaszgryglicki Dec 4, 2024
cde4b87
Add sign-flow.md
lukaszgryglicki Dec 4, 2024
4e6f043
Merge pull request #4484 from communitybridge/lukaszgryglicki-update-…
lukaszgryglicki Dec 4, 2024
ee55d19
Resolve merge conflicts
lukaszgryglicki Dec 4, 2024
c6b39a1
Feature/Contributor Sequence flow
nickmango Dec 4, 2024
54ef0c6
Merge pull request #4496 from nickmango/feature/contributor-md
nickmango Dec 4, 2024
73a1685
No longer needed
lukaszgryglicki Dec 4, 2024
d5388d5
Merge branch 'dev' into lukaszgryglicki-4482-add-embargo_acked-to-cla…
lukaszgryglicki Dec 4, 2024
82beebf
Updated markdown header and footer tag
nickmango Dec 4, 2024
9586943
Merge pull request #4497 from nickmango/feature/contributor-doc
nickmango Dec 4, 2024
ceb204f
[#3498]Bug/CLA Manager Email
nickmango Dec 4, 2024
8467aec
Merge pull request #4498 from nickmango/bug/cla-mgr-email
nickmango Dec 4, 2024
3213897
Python APIs update to also set embargo_acked flag on existing signatu…
lukaszgryglicki Dec 5, 2024
22de891
Handle golang APIs signatures embargo acknowledgemet falgs
lukaszgryglicki Dec 5, 2024
32c9f1d
go fmt
lukaszgryglicki Dec 5, 2024
7aa75a8
Ready for review
lukaszgryglicki Dec 5, 2024
9442e3a
Ready for Review
lukaszgryglicki Dec 5, 2024
f786536
Merge pull request #4485 from communitybridge/lukaszgryglicki-4482-ad…
lukaszgryglicki Dec 5, 2024
c6abdc2
Bug/Gerrit Return URL
nickmango Dec 12, 2024
c99d6ee
Merge pull request #4500 from nickmango/feature/gerrit-redirect
nickmango Dec 12, 2024
69dfbc4
Revert "Bug/Gerrit Return URL"
lukaszgryglicki Jan 8, 2025
1efc709
Merge pull request #4508 from communitybridge/revert-4500-feature/ger…
lukaszgryglicki Jan 8, 2025
67f5583
Merge branch 'main' into dev
mlehotskylf Jan 8, 2025
780badf
Fix missing license header
lukaszgryglicki Jan 8, 2025
5c80b55
Merge pull request #4510 from communitybridge/unicron-fix-missing-hea…
lukaszgryglicki Jan 8, 2025
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
1 change: 0 additions & 1 deletion .github/workflows/build-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ on:
branches:
- dev


permissions:
id-token: write
contents: read
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -241,3 +241,7 @@ dist/*
api-postman/*

cla-backend/run-python-test-example-*.py

# LG
out
*.secret
130 changes: 130 additions & 0 deletions aws_env.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# Setting up AWS environment

You need to have MFA enabled for your AWS user, your `~/.aws/config` shoudl look like this:
```
[profile lfproduct-dev]
role_arn = arn:aws:iam::395594542180:role/product-contractors-role
source_profile = lfproduct
region = us-east-1
output = json

[profile lfproduct-test]
role_arn = arn:aws:iam::726224182707:role/product-contractors-role
source_profile = lfproduct
region = us-east-1
output = json

[profile lfproduct-staging]
role_arn = arn:aws:iam::844390194980:role/product-contractors-role
source_profile = lfproduct
region = us-east-1
output = json

[profile lfproduct-prod]
role_arn = arn:aws:iam::716487311010:role/product-contractors-role
source_profile = lfproduct
region = us-east-1
output = json

[default]
region = us-east-1
output = json
```

It defines 4 profiles to use: `dev`, `staging`, `test` and `prod`.

You will be using one of them.


Your `~/.aws/credentials` file shoudl initially look like this (replace `redacted`):
```
[lfproduct-long-term]
aws_secret_access_key = [access_key_redacted]
aws_access_key_id = [key_id_redacted]
aws_mfa_device = arn:aws:iam::[arn_number_redacted]:mfa/[your_aws_user_redacted]

[default]
aws_access_key_id = [key_id_redacted]
aws_secret_access_key = [access_key_redacted]
```

Now every 36 hours or less you need to refresh your MFA key by calling: `aws-mfa --force --duration 129600 --profile lfproduct`.

When called it adds or replaces the following section (`[lfproduct]` which is used as a source profile for `dev`, `test`, `staging` or `prod` in aws config) in `~/.aws/credentials`:
```
[lfproduct]
assumed_role = False
aws_access_key_id = [key_id_redacted]
aws_secret_access_key = [secret_access_key_redacted]
aws_session_token = [session_token_redacted]
aws_security_token = [session_token_redacted]
expiration = 2024-11-28 16:54:59 [now + 36 hours]

```


Once you have all of this, you must set a correct set of environment variables to run either `python` or `golang` backends.

To do so you need to get credentials for a specific profile `lfproduct-`: `dev`, `test`, `staging`, `prod`. To see full one-time set of credentials you can call:
- for `dev`: `` aws sts assume-role --role-arn arn:aws:iam::395594542180:role/product-contractors-role --profile lfproduct --role-session-name lfproduct-dev-session ``.
- for `prod`: `` aws sts assume-role --role-arn arn:aws:iam::716487311010:role/product-contractors-role --profile lfproduct --role-session-name lfproduct-prod-session ``.

Note - just replace the iam::[number] depending on environment type (`[stage]`) and update `lfproduct-[stage]-name`.

You can set up a script like `setenv.sh` which will set all required variables, example for `dev`:
```
#!/bin/bash

rm -rf /tmp/aws
cp -R /root/.aws /tmp/.aws

data="$(aws sts assume-role --role-arn arn:aws:iam::395594542180:role/product-contractors-role --profile lfproduct --role-session-name lfproduct-dev-session)"
export AWS_ACCESS_KEY_ID="$(echo "${data}" | jq -r '.Credentials.AccessKeyId')"
export AWS_SECRET_ACCESS_KEY="$(echo "${data}" | jq -r '.Credentials.SecretAccessKey')"
export AWS_SESSION_TOKEN="$(echo "${data}" | jq -r '.Credentials.SessionToken')"
export AWS_SECURITY_TOKEN="$(echo "${data}" | jq -r '.Credentials.SessionToken')"

export AWS_SDK_LOAD_CONFIG=true
export AWS_PROFILE='lfproduct-dev'
export AWS_REGION='us-east-1'
export AWS_DEFAULT_REGION='us-east-1'
export DYNAMODB_AWS_REGION='us-east-1'
export REGION='us-east-1'

export PRODUCT_DOMAIN='dev.lfcla.com'
export ROOT_DOMAIN='lfcla.dev.platform.linuxfoundation.org'
export PORT='5000'
export STAGE='dev'
# export STAGE='local'
export GH_ORG_VALIDATION=false
export DISABLE_LOCAL_PERMISSION_CHECKS=true
export COMPANY_USER_VALIDATION=false
export CLA_SIGNATURE_FILES_BUCKET=cla-signature-files-dev
```

Call it via `` . ./setenv.sh `` or `` source setenv.sh `` to execute in the current shell.

You can reset environment variables by exiting the shell session or calling the following `unsetenv.sh` in the current shell via: `` . ./unsetenv.sh `` or `` source unsetenv.sh ``:
```
#!/bin/bash
rm -rf /tmp/.aws
unset AWS_PROFILE
unset AWS_REGION
unset AWS_ACCESS_KEY_ID
unset AWS_SECRET_ACCESS_KEY
unset PRODUCT_DOMAIN
unset ROOT_DOMAIN
unset PORT
unset STAGE
unset AWS_SESSION_TOKEN
unset AWS_SECURITY_TOKEN
unset GH_ORG_VALIDATION
unset DISABLE_LOCAL_PERMISSION_CHECKS
unset COMPANY_USER_VALIDATION
unset CLA_SIGNATURE_FILES_BUCKET
unset DYNAMODB_AWS_REGION
unset REGION
unset AWS_ROLE_ARN
unset AWS_TOKEN_SERIAL
unset AWS_SDK_LOAD_CONFIG
```
27 changes: 27 additions & 0 deletions cla-backend-go/api_client/api_client.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
// Copyright The Linux Foundation and each contributor to CommunityBridge.
// SPDX-License-Identifier: MIT

package apiclient

import (
"context"
"net/http"
)

type APIClient interface {
GetData(ctx context.Context, url string) (*http.Response, error)
}

type RestAPIClient struct {
Client *http.Client
}

// GetData makes a get request to the specified url

func (c *RestAPIClient) GetData(ctx context.Context, url string) (*http.Response, error) {
req, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil)
if err != nil {
return nil, err
}
return c.Client.Do(req)
}
54 changes: 54 additions & 0 deletions cla-backend-go/api_client/mocks/mock_client.go

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

Loading
Loading