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

feat: [sc-26082] Adopt CI/CD process to NameRank/NameAI rebrand #541

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
590f5ee
Added fixes for lambda
BanaSeba Dec 27, 2024
a0fcc9b
Added directory walk for lambda deployment for docker build
BanaSeba Dec 27, 2024
3d403f7
Fixed directory walk
BanaSeba Dec 27, 2024
73ffcb4
Fixed docker file path
BanaSeba Dec 27, 2024
f09bb9d
Another fix
BanaSeba Dec 27, 2024
d3eea95
Another path fix
BanaSeba Dec 27, 2024
7429145
Fixed path issues
BanaSeba Dec 27, 2024
5bb05cb
Fixed role name
BanaSeba Dec 27, 2024
5d4cb81
Fixed policy name for logging
BanaSeba Dec 27, 2024
054131f
extend pre-commit for namerank
Byczong Dec 30, 2024
c8c8102
copy namerank repo; adjust github workflows
Byczong Dec 30, 2024
7ec8fe9
fix ruff action version
Byczong Dec 30, 2024
e9a905b
add ruff, pytest cache to gitignore
Byczong Dec 30, 2024
25b68d0
rename workflows
Byczong Dec 30, 2024
9d81fa6
add lambda deploy for namerank
Byczong Dec 30, 2024
baf12ea
Fixed env variables (#522)
BanaSeba Jan 2, 2025
5c6900f
Merge branch 'byczong/sc-25983/add-namerank-to-monorepo' into staging
BanaSeba Jan 2, 2025
f90bc93
Added image digest to image uris for lambda deployments
BanaSeba Jan 9, 2025
15e9d2d
Merge branch 'sebastianbana/sc-26081/fix-namekit-lambda-deployments' …
BanaSeba Jan 9, 2025
8824ecc
Initial nameai CI/CD renaming
BanaSeba Jan 10, 2025
3d34e4e
Merge remote-tracking branch 'origin/main' into sebastianbana/sc-2608…
BanaSeba Jan 10, 2025
43e661a
Additional changes for CI/CD renaming
BanaSeba Jan 10, 2025
4281aab
Merge branch 'sebastianbana/sc-26082/adopt-ci-cd-process-to-namerank-…
BanaSeba Jan 10, 2025
0c3c891
Added distinct name for lambda logging role
BanaSeba Jan 10, 2025
0ba8b69
Another disicnt name for IAM policy
BanaSeba Jan 10, 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
8 changes: 4 additions & 4 deletions .github/workflows/nameai-api-lambda-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,15 +60,15 @@ jobs:
ENS_SUBGRAPH_URL_MAINNET: ${{ secrets.ENS_SUBGRAPH_URL_MAINNET }}
ENS_SUBGRAPH_URL_SEPOLIA: ${{ secrets.ENS_SUBGRAPH_URL_SEPOLIA }}
AWS_REGION: ${{ secrets.AWS_REGION }}
CERTIFICATE_NAME: ${{ secrets.NAMERANK_CERTIFICATE_NAME }} # todo: rename secrets to NAMEAI_* (?)
HOSTED_ZONE_NAME: ${{ secrets.NAMERANK_HOSTED_ZONE_NAME }}
CERTIFICATE_NAME: ${{ secrets.NAMEAI_CERTIFICATE_NAME }}
HOSTED_ZONE_NAME: ${{ secrets.NAMEAI_HOSTED_ZONE_NAME }}
run: |
if [[ ${{ github.ref }} == 'refs/heads/main' ]]; then
STAGE="prod"
DOMAIN_NAME=${{ secrets.NAMERANK_PROD_DOMAIN_NAME }}
DOMAIN_NAME=${{ secrets.NAMEAI_PROD_DOMAIN_NAME }}
elif [[ ${{ github.ref }} == 'refs/heads/staging' ]]; then
STAGE="staging"
DOMAIN_NAME=${{ secrets.NAMERANK_STAGING_DOMAIN_NAME }}
DOMAIN_NAME=${{ secrets.NAMEAI_STAGING_DOMAIN_NAME }}
else
echo "Deployment is only supported for main and staging branches"
exit 1
Expand Down
6 changes: 3 additions & 3 deletions apps/api.nameai.dev/terraform/deploy_lambda.sh
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ DOMAIN_NAME="$3"
CERTIFICATE_NAME="$4"
HOSTED_ZONE_NAME="$5"

APPLICATION_NAME="namerank-${STAGE}"
APPLICATION_NAME="nameai-${STAGE}"
S3_BUCKET_NAME="${APPLICATION_NAME}-terraform"
ECR_NAME="${APPLICATION_NAME}-ecr"

Expand Down Expand Up @@ -198,13 +198,13 @@ if [ ! -f "../Dockerfile" ]; then
fi

echo "Building Docker image..."
if ! docker build ../ -t namerank; then
if ! docker build ../ -t nameai; then
echo "Error: Docker build failed"
exit 1
fi

echo "Tagging Docker image..."
if ! docker tag namerank:latest ${ECR_URL}:latest; then
if ! docker tag nameai:latest ${ECR_URL}:latest; then
echo "Error: Failed to tag Docker image"
exit 1
fi
Expand Down
20 changes: 10 additions & 10 deletions apps/api.nameai.dev/terraform/modules/lambda_api/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ data "aws_iam_policy_document" "assume_role" {
locals {
common_tags = {
Environment = var.env
Project = "namerank"
Project = "nameai"
ManagedBy = "terraform"
}
}

resource "aws_iam_role" "iam_for_lambda" {
name = "iam_for_lambda-${var.env}"
name = "iam_for_lambda-nameai-${var.env}"
assume_role_policy = data.aws_iam_policy_document.assume_role.json
tags = local.common_tags
}
Expand All @@ -40,7 +40,7 @@ data "aws_iam_policy_document" "lambda_logging" {
}

resource "aws_iam_policy" "lambda_logging" {
name = "lambda_logging-${var.env}"
name = "lambda_logging-nameai-${var.env}"
path = "/"
description = "IAM policy for logging from a lambda"
policy = data.aws_iam_policy_document.lambda_logging.json
Expand All @@ -52,8 +52,8 @@ resource "aws_iam_role_policy_attachment" "lambda_logs" {
}


resource "aws_lambda_function" "namerank_lambda" {
function_name = "namerank-lambda-${var.env}"
resource "aws_lambda_function" "nameai_lambda" {
function_name = "nameai-lambda-${var.env}"
role = aws_iam_role.iam_for_lambda.arn
memory_size = "1769"
timeout = 60
Expand All @@ -74,24 +74,24 @@ resource "aws_lambda_function" "namerank_lambda" {
}

tags = merge(local.common_tags, {
Function = "namerank-api"
Function = "nameai-api"
})
}

resource "aws_lambda_provisioned_concurrency_config" "concurrency_config" {
function_name = aws_lambda_function.namerank_lambda.function_name
function_name = aws_lambda_function.nameai_lambda.function_name
provisioned_concurrent_executions = 1
qualifier = aws_lambda_function.namerank_lambda.version
qualifier = aws_lambda_function.nameai_lambda.version
}

resource "aws_lambda_function_url" "lambda_url" {
function_name = aws_lambda_function.namerank_lambda.function_name
function_name = aws_lambda_function.nameai_lambda.function_name
authorization_type = "NONE"
}

resource "aws_cloudfront_distribution" "api_distribution" {
enabled = true
comment = "Distribution for namerank API ${var.env}"
comment = "Distribution for nameai API ${var.env}"
price_class = "PriceClass_100"

aliases = [var.domain_name]
Expand Down
Loading