Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
222 commits
Select commit Hold shift + click to select a range
d99e648
chore: init
upayanmazumder May 28, 2025
c8953ab
feat: add Docker workflow, Dockerfile, and docker-compose for buildin…
upayanmazumder May 28, 2025
41f1ec3
feat: implement user authentication with Google OAuth and local strategy
upayanmazumder May 28, 2025
9ee6179
Update README.md
upayanmazumder May 28, 2025
32d24be
feat: add local authentication strategy and enhance user login/regist…
upayanmazumder May 28, 2025
a88b4c8
feat: enhance user registration and login to include additional field…
upayanmazumder May 28, 2025
01f393e
feat: add username and gravatar URL to user registration and login pr…
upayanmazumder May 28, 2025
9c0910a
feat: add username validation and set-username endpoint for user profile
upayanmazumder May 28, 2025
37088f0
refactor: streamline login process and improve error handling
upayanmazumder May 28, 2025
e6bf203
feat: redirect to user profile after Google authentication
upayanmazumder May 28, 2025
75e30cb
feat: add GitHub routes for app installation and repository access
upayanmazumder May 28, 2025
6aaa807
feat: implement GitHub OAuth callback to save installation ID for users
upayanmazumder May 29, 2025
2557c67
feat: update GitHub callback to save installation ID for logged-in users
upayanmazumder May 29, 2025
1d68093
feat: add endpoint to save GitHub installation ID for authenticated u…
upayanmazumder May 29, 2025
b655302
Merge pull request #1 from upayanmazumder-DevLabs/uncomplicated-github
upayanmazumder May 29, 2025
eb13fe9
feat: add GitHub configuration variables to example.env
upayanmazumder May 29, 2025
f8ddefc
feat: log CORS configuration for frontend URL
upayanmazumder May 29, 2025
679adda
feat: enhance environment variable handling and improve error logging
upayanmazumder May 31, 2025
eac4c7d
feat: refactor configuration and authentication setup, add database c…
upayanmazumder May 31, 2025
14c6bd0
Merge pull request #2 from upayanmazumder-DevLabs/uwu-api
swayam5342 May 31, 2025
ed7f811
refactor: remove unused index.ts file and clean up asyncHandler comments
upayanmazumder May 31, 2025
7c092cb
feat: add connect-mongo for session management and update session mid…
upayanmazumder Jun 1, 2025
ad3fa05
feat: implement custom error handling middleware and improve session …
upayanmazumder Jun 1, 2025
68528a1
feat: enhance CORS configuration and update session cookie settings
upayanmazumder Jun 1, 2025
01bcc7c
revert to last known stable release
upayanmazumder Jun 1, 2025
cbccc5b
refactor: implement helper fuctions
swayam5342 Jun 1, 2025
67d7f48
feat: tweaked summary function to extract dockerfile related details.…
Noel-Alex Jun 2, 2025
8fd862f
refactor: streamline async route handlers and improve error handling
upayanmazumder Jun 2, 2025
f570952
refactor: convert async route handlers to use try-catch with next for…
upayanmazumder Jun 2, 2025
34fbbe4
refactor: update githubInstallationId handling to support multiple ID…
upayanmazumder Jun 2, 2025
cb907bc
Merge pull request #3 from upayanmazumder-DevLabs/dev-swayam
upayanmazumder Jun 2, 2025
47c6d7e
refactor: improve comments for clarity and enhance repository data ex…
upayanmazumder Jun 2, 2025
f2e5234
refactor: modularize auth and GitHub routes by delegating to controll…
upayanmazumder Jun 2, 2025
e123cba
refactor: improve code clarity by removing redundant comments in GitH…
upayanmazumder Jun 2, 2025
db26e70
feat: add GitHub authentication using passport-github2 strategy
upayanmazumder Jun 2, 2025
4f5f48a
feat: implement Google authentication strategy and enhance local logi…
upayanmazumder Jun 2, 2025
f5520f4
feat: implement email verification process and add nodemailer for sen…
upayanmazumder Jun 2, 2025
49caeec
feat: add email verification process and rate limiting, enhance error…
upayanmazumder Jun 4, 2025
bc42e07
refactor: remove rate limiting middleware from auth routes
upayanmazumder Jun 4, 2025
4448ed4
feat: add authentication middleware to protect user data retrieval route
upayanmazumder Jun 4, 2025
bec89e9
feat: enhance session management with secure cookie settings and trus…
upayanmazumder Jun 4, 2025
85eea45
feat: update user model and authentication strategies for improved OA…
upayanmazumder Jun 4, 2025
08b94c6
feat: add application management routes and controller for CRUD opera…
upayanmazumder Jun 5, 2025
d60573e
feat: add resource management fields and utility functions for applic…
upayanmazumder Jun 5, 2025
53736d7
feat: enhance application controller and model with ingress handling …
upayanmazumder Jun 5, 2025
4ff7d28
feat: implement user and plan management with role-based access control
upayanmazumder Jun 5, 2025
cccad59
feat: add resource usage calculation for users and applications with …
upayanmazumder Jun 5, 2025
3831f84
feat: enhance application model and controller to support ingress sub…
upayanmazumder Jun 5, 2025
5159b24
feat: add js-yaml dependency and implement application manifest gener…
upayanmazumder Jun 5, 2025
3e7db4a
feat: add js-yaml dependency to support YAML parsing
upayanmazumder Jun 5, 2025
6e61ec7
feat: update ingress base domain to support new routing configuration
upayanmazumder Jun 5, 2025
3acec43
feat: enhance ingress handling by updating port configurations and ge…
upayanmazumder Jun 6, 2025
1cbf882
feat: enhance ingress handling and add deployment/namespace removal r…
upayanmazumder Jun 6, 2025
c2bdd3b
feat: refactor ingress YAML generation to support multiple rules and …
upayanmazumder Jun 6, 2025
9dfd354
feat: add validation for duplicate container ports and ingress hosts …
upayanmazumder Jun 6, 2025
0958d80
feat: enhance ingress handling by validating unique ingress hosts for…
upayanmazumder Jun 6, 2025
35ac7a9
feat: remove ingress-related fields from application model and update…
upayanmazumder Jun 6, 2025
0eb1d4d
feat: refactor K8s manifest generation to modularize YAML blocks and …
upayanmazumder Jun 6, 2025
51f55eb
feat: enhance K8s manifest generation by adding secret management for…
upayanmazumder Jun 6, 2025
71b28d1
feat: improve secret YAML generation by ensuring non-null return and …
upayanmazumder Jun 6, 2025
4216e9d
feat: update application deployment process to apply secrets before m…
upayanmazumder Jun 6, 2025
fcf6e49
feat: update application deployment process to apply namespace before…
upayanmazumder Jun 6, 2025
a993403
feat: enhance error handling in applyApplication by logging secret co…
upayanmazumder Jun 6, 2025
086eb1a
feat: add role binding YAML generation and update applyApplication to…
upayanmazumder Jun 6, 2025
684d34e
feat: enhance applyApplication error handling by including manifest f…
upayanmazumder Jun 6, 2025
6870e8f
feat: enhance applyApplication by adding logging for manifest paths a…
upayanmazumder Jun 6, 2025
c923585
feat: add labels to Ingress and Deployment metadata for better resour…
upayanmazumder Jun 6, 2025
e3860f3
feat: add deleteApplicationAndResources and streamApplicationLogs end…
upayanmazumder Jun 6, 2025
2b107d8
feat: refactor deleteApplicationAndResources to use dynamic import fo…
upayanmazumder Jun 6, 2025
03662ea
refactor: application controller and add util func
swayam5342 Jun 6, 2025
996190c
feat: add plan assignment to user creation in GitHub, Google, and Loc…
upayanmazumder Jun 7, 2025
9fc6891
feat: refactor email verification process by creating a dedicated ver…
upayanmazumder Jun 7, 2025
c882bfe
feat: enhance ingress YAML generation with TLS support and refactor i…
upayanmazumder Jun 7, 2025
e637bf1
feat: enhance application deletion process by checking namespace exis…
upayanmazumder Jun 7, 2025
d96c3e5
Update api/src/utils/portHelpers.ts
upayanmazumder Jun 7, 2025
ca4c001
Update api/src/utils/resourceQuota.ts
upayanmazumder Jun 7, 2025
fc1655b
Merge pull request #4 from upayanmazumder-DevLabs/dev-refactor
upayanmazumder Jun 7, 2025
157a3b6
chore: update @types/node to version 22.15.30 and clean up package.json
upayanmazumder Jun 7, 2025
2ff61fe
feat: implement registry credential management for users
upayanmazumder Jun 7, 2025
d85fc5d
feat: add image pull secret generation and integrate credentials into…
upayanmazumder Jun 7, 2025
8ab2495
Merge pull request #6 from upayanmazumder-DevLabs/docker
upayanmazumder Jun 7, 2025
1de5085
refactor: cleaned up some functionality of the function
Noel-Alex Jun 7, 2025
b69a5f7
MERGE COMMIT
Noel-Alex Jun 8, 2025
f7a8d38
docs: added dependency manifest
Noel-Alex Jun 8, 2025
d9c6a66
feat: Add Docker support for AI and API
swayam5342 Jun 8, 2025
9784960
Merge pull request #8 from upayanmazumder-DevLabs/dev-docker
upayanmazumder Jun 8, 2025
4e8a2b0
feat: Add Docker support and Python dependencies for AI service
upayanmazumder Jun 8, 2025
0d52435
feat: Implement Docker script execution and update routes for Docker …
upayanmazumder Jun 8, 2025
c8943d6
update: docker-file
swayam5342 Jun 8, 2025
f9c4cb6
update docker files to use the new AI API
swayam5342 Jun 8, 2025
fc35ee6
feat: Enhance error handling in Docker script execution and summary e…
upayanmazumder Jun 8, 2025
d33dadb
refactor: Clean up Dockerfile by removing comments and improving stru…
upayanmazumder Jun 8, 2025
ec4965c
Merge branch 'ai' of https://github.com/upayanmazumder-DevLabs/kargo-…
upayanmazumder Jun 8, 2025
0e23e28
Merge pull request #9 from upayanmazumder-DevLabs/ai
upayanmazumder Jun 8, 2025
a86f9a0
chore: Remove AI requirements file and clean up .gitignore
upayanmazumder Jun 8, 2025
d2c34a5
fix: Update pip install command to include --break-system-packages op…
upayanmazumder Jun 8, 2025
75a2c62
fix: Create symlink for python3 to ensure compatibility
upayanmazumder Jun 8, 2025
f4623a0
feat: Refactor AI directory structure and add docker.py and main.py s…
upayanmazumder Jun 8, 2025
12d6f0f
feat: Enhance plan retrieval to ensure resources, requests, and limit…
upayanmazumder Jun 8, 2025
1bcef28
feat: Refactor application, plan, and user models; introduce type def…
upayanmazumder Jun 8, 2025
3570e5a
feat: Update user plan type to support mongoose ObjectId; refactor im…
upayanmazumder Jun 8, 2025
00f709a
Merge pull request #10 from upayanmazumder-DevLabs/type-safety
upayanmazumder Jun 9, 2025
f252786
feat: Update plan assignment logic to allow self-assignment for super…
upayanmazumder Jun 9, 2025
f58f30c
feat: Refactor githubRepos to improve error handling and user managem…
upayanmazumder Jun 9, 2025
6fae705
feat: Enhance GitHub repository fetching to support pagination and im…
upayanmazumder Jun 9, 2025
c08ed27
Implement centralized logging and notification formatting across cont…
upayanmazumder Jun 10, 2025
a67e476
feat: Enhance type safety by adding type annotations for application,…
upayanmazumder Jun 10, 2025
2dffa0d
feat: Implement application management controllers
upayanmazumder Jun 10, 2025
7227c3c
feat: Implement authentication and application management controllers
upayanmazumder Jun 10, 2025
de9f7e9
feat: Refactor environment variable handling and implement API server…
upayanmazumder Jun 10, 2025
0ca5bc8
feat: Refactor GitHub integration by modularizing controllers and enh…
upayanmazumder Jun 10, 2025
2f15b66
feat: Refactor plan management by modularizing controllers and enhanc…
upayanmazumder Jun 10, 2025
5e1d86b
feat: Implement user management controllers for resource and credenti…
upayanmazumder Jun 10, 2025
671cb2d
Refactor authentication and logging utilities
upayanmazumder Jun 10, 2025
ed64f7b
fix: path to dockerfile in k8s utils
swayam5342 Jun 10, 2025
126dcf3
Update api/src/controllers/application/applyApplication.controller.ts
upayanmazumder Jun 10, 2025
a737547
Update api/src/controllers/application/runDockerHandler.controller.ts
upayanmazumder Jun 10, 2025
ea89bf6
Update api/src/controllers/application/streamApplicationLogs.controll…
upayanmazumder Jun 10, 2025
5da5e30
Merge pull request #11 from upayanmazumder-DevLabs/modular-;)
upayanmazumder Jun 10, 2025
1e5708a
refactor: clean up imports and improve GitHub installation ID handling
upayanmazumder Jun 10, 2025
952922c
fix: include extraResources in user retrieval and update plan selection
upayanmazumder Jun 16, 2025
17ac16f
refactor: switched to regex to implement basic filtering for ports an…
Noel-Alex Jun 17, 2025
e021809
refactor: enhance pod log streaming by retrieving all pod names and a…
upayanmazumder Jun 17, 2025
1d8896d
feat: add getApplicationMetrics endpoint to retrieve pod metrics
upayanmazumder Jun 17, 2025
f8de193
Merge pull request #12 from upayanmazumder-DevLabs/metrics
upayanmazumder Jun 17, 2025
f928ed1
feat: enhance application metrics retrieval and add deployment labels…
upayanmazumder Jun 18, 2025
d3d528d
feat: update application credentials handling and remove unused port …
upayanmazumder Jun 18, 2025
f49a1e6
fix: correct order of environment section and ports block in generate…
upayanmazumder Jun 18, 2025
bc86ca5
feat: update getApplicationMetrics to use metrics API and improve res…
upayanmazumder Jun 18, 2025
ad01b5c
feat: integrate Razorpay for payment processing and add necessary env…
upayanmazumder Jun 18, 2025
8613f38
refactor: still experimenting
Noel-Alex Jun 18, 2025
12d2dd5
feat: return resource requests and limits along with metrics in getAp…
upayanmazumder Jun 21, 2025
f07c04c
feat: reintroduce user plan assignment functionality in user.routes
upayanmazumder Jun 21, 2025
d2da6d6
feat: implement user management endpoints for retrieving and updating…
upayanmazumder Jun 21, 2025
429d5df
feat: enhance application, auth, github, plan, and user routes with a…
upayanmazumder Jun 21, 2025
f397345
Refactor imports to use default exports for logger and type interface…
upayanmazumder Jun 21, 2025
1bbe93b
feat: organize passport strategies into separate files for GitHub and…
upayanmazumder Jun 21, 2025
2980720
refactor: Simplify applyApplication controller
swayam5342 Jun 21, 2025
b117ff4
feat: refactor resource schemas in application, plan, and user models…
upayanmazumder Jun 21, 2025
f31f005
feat: enhance resource management by adding storage metrics to applic…
upayanmazumder Jun 21, 2025
0a144f7
fix: update redirect paths in GitHub and Google callback controllers …
upayanmazumder Jun 22, 2025
db42485
fix: improve parse function to handle additional edge cases for resou…
upayanmazumder Jun 22, 2025
282dfc0
fix: enhance resource parsing function to handle additional value typ…
upayanmazumder Jun 22, 2025
06f87fb
refactor: unify resource type definitions across application, plan, a…
upayanmazumder Jun 24, 2025
0dd2e10
refactor: remove updateApplication controller as part of application …
upayanmazumder Jun 24, 2025
e77cd85
feat: update resource usage tracking
swayam5342 Jun 24, 2025
e08618b
refactor: format resource schema definition for improved readability
upayanmazumder Jun 29, 2025
b6187a9
refactor: improve formatting of writeManifestFiles and applyManifestS…
upayanmazumder Jun 29, 2025
e2690bf
refactor: implement streaming progress for application deletion and r…
upayanmazumder Jun 29, 2025
b6f9269
Merge pull request #13 from upayanmazumder-DevLabs/refactor-architecture
upayanmazumder Jun 29, 2025
b7087d3
feat: add populateBasePlanIfEmpty function to initialize default plan…
upayanmazumder Jun 30, 2025
1e78086
feat: add metrics routes and controller to fetch overall cluster metr…
upayanmazumder Jun 30, 2025
4954ba2
refactor: replace kubectl metrics fetching with Prometheus API calls …
upayanmazumder Jun 30, 2025
cf89fb4
feat: added functions to extract ports and volumes via regex and trim…
Noel-Alex Jul 1, 2025
04c1236
Merge https://github.com/upayanmazumder-DevLabs/kargo-backend into op…
Noel-Alex Jul 1, 2025
f7a3c22
feat: add getUserSettingsStats controller and route to fetch user app…
upayanmazumder Jul 2, 2025
2082071
fix: URL for dockerise function
swayam5342 Jul 2, 2025
3c70415
fix:typo
swayam5342 Jul 2, 2025
3b6f7c0
Merge pull request #14 from upayanmazumder-DevLabs/optimal
swayam5342 Jul 2, 2025
7bc47d3
fix: update error handling in get_repo_code_as_string_and_volume_snip…
upayanmazumder Jul 2, 2025
7df9097
fix: enhance snippet extraction and handle None values in get_repo_co…
upayanmazumder Jul 2, 2025
f63aa89
fix: handle None values for directory_structure in dockerise function…
upayanmazumder Jul 2, 2025
d2a151f
feat: add github commit utility for dockerfile
swayam5342 Jul 2, 2025
c38fb47
feat: add PVC generation and update manifest handling in applyApplica…
upayanmazumder Jul 3, 2025
fb1aac3
Merge branch 'dev' of https://github.com/upayanmazumder-DevLabs/kargo…
upayanmazumder Jul 3, 2025
b2ad04a
fix: update ingress and volume configurations for consistency and cla…
upayanmazumder Jul 3, 2025
1a4947c
refactor: remove unused generateIngressYaml function and improve serv…
upayanmazumder Jul 3, 2025
69e6ba2
feat(k8s): add generators for Kubernetes manifests including Deployme…
upayanmazumder Jul 3, 2025
2476650
refactor(k8s): reorganize and move YAML generator files to a new dire…
upayanmazumder Jul 3, 2025
968324b
refactor(k8s): replace YAML generator functions with new implementati…
upayanmazumder Jul 3, 2025
e3d51fc
refactor(k8s): remove deprecated generator functions and consolidate …
upayanmazumder Jul 3, 2025
274ca2b
fix(env): set default INGRESS_BASE_DOMAIN value and update getBaseDom…
upayanmazumder Jul 3, 2025
47ebbc2
feat(k8s): enhance manifest generation with dynamic volume handling a…
upayanmazumder Jul 3, 2025
e03e0b9
refactor(k8s): streamline ingress generation by consolidating annotat…
upayanmazumder Jul 4, 2025
dbfea5d
fix(k8s): ensure manifests output includes trailing newlines for bett…
upayanmazumder Jul 4, 2025
63c5f7d
feat(k8s): enhance application deletion process by adding resource cl…
upayanmazumder Jul 4, 2025
3cc2b12
feat(routes): add endpoints for scaling deployment to zero and rollin…
upayanmazumder Jul 4, 2025
8b94b0f
feat(k8s): conditionally include image pull secret in manifests and a…
upayanmazumder Jul 16, 2025
45b66e9
feat(auth): normalize username to lowercase and enhance validation fo…
upayanmazumder Jul 16, 2025
f9cbd4e
feat(todos): add API Server Uptime Graph and Plans page fixes to TODO…
upayanmazumder Jul 18, 2025
9525d83
feat(image): add controller and utility to test Docker image availabi…
upayanmazumder Jul 24, 2025
abd0d36
feat: add imagePullSecrets support to Kubernetes deployments
aayushkdev Aug 1, 2025
942d1bc
Merge pull request #15 from upayanmazumder-DevLabs/image-validation
aayushkdev Aug 1, 2025
8e9af38
feat(docker): replace Docker CLI with HTTP-based registry authentication
aayushkdev Aug 2, 2025
3e54c73
feat: add architecture validation for docker images
aayushkdev Aug 3, 2025
f9047e9
feat: uptime tracker
swayam5342 Aug 4, 2025
0c478bc
feat: to get application status
swayam5342 Aug 4, 2025
1d42b9a
feat(routes): add ObjectId validation for application routes
upayanmazumder Aug 4, 2025
e14cf2c
fix(api): update SameSite cookie attribute to 'lax' for improved comp…
upayanmazumder Aug 5, 2025
97e627e
feat: switch to kubectl sdk
aayushkdev Aug 5, 2025
20cf176
fix: fix deployements not working
aayushkdev Aug 5, 2025
4525efe
fix: status issue
swayam5342 Aug 6, 2025
6aee611
fix: status issue
swayam5342 Aug 6, 2025
1a53992
chore(deps): bump the npm_and_yarn group across 1 directory with 3 up…
dependabot[bot] Aug 20, 2025
871f27b
chore(deps): bump the npm_and_yarn group across 1 directory with 1 up…
dependabot[bot] Aug 20, 2025
4556d43
chore(deps): bump form-data
dependabot[bot] Aug 20, 2025
a4e7ad9
chore(deps): bump next
dependabot[bot] Aug 20, 2025
f885aaa
Merge pull request #19 from upayanmazumder-DevLabs/dependabot/npm_and…
upayanmazumder Aug 24, 2025
6ce77c2
Merge pull request #17 from upayanmazumder-DevLabs/dependabot/npm_and…
upayanmazumder Aug 24, 2025
c6bc74f
Merge pull request #18 from upayanmazumder-DevLabs/dependabot/npm_and…
upayanmazumder Aug 24, 2025
491b6f5
Merge pull request #16 from upayanmazumder-DevLabs/dependabot/npm_and…
upayanmazumder Aug 24, 2025
4013b79
Merge remote-tracking branch 'origin/dev' into kubectl-sdk
aayushkdev Aug 24, 2025
714dad9
Merge pull request #20 from upayanmazumder-DevLabs/kubectl-sdk
aayushkdev Aug 24, 2025
f39a426
Update README.md to enhance features, dependencies, and running instr…
upayanmazumder Aug 25, 2025
1085560
Remove unnecessary badges from README.md and delete TODO file
upayanmazumder Aug 25, 2025
2ec39a8
docs: add name to contributors in README
aayushkdev Aug 25, 2025
7c5a538
Merge pull request #21 from upayanmazumder-DevLabs/dev
upayanmazumder Aug 25, 2025
9ae6e49
Update README.md
swayam5342 Aug 25, 2025
802ccd5
fix: update package-lock.json to resolve build error
aayushkdev Aug 26, 2025
0751e65
Merge pull request #22 from upayanmazumder-DevLabs/docs
upayanmazumder Aug 26, 2025
65caa8e
docs: add badges for Developer Student Clubs and Discord chat in README
upayanmazumder Aug 26, 2025
f71a4c1
fix: duplicate names in pv and pvc using hash
aayushkdev Aug 26, 2025
d3d3316
Refactor Kubernetes client utility for improved readability and error…
upayanmazumder Aug 26, 2025
5884ffb
fix: status not showing up
aayushkdev Aug 26, 2025
a74d3e6
fix: logs not working
aayushkdev Aug 26, 2025
0cc60e8
feat: enhance Docker workflow for multi-architecture builds and tags
upayanmazumder Aug 26, 2025
e33cad6
gg
upayanmazumder Aug 26, 2025
6bbecec
revert
upayanmazumder Aug 26, 2025
11b6803
gbye
upayanmazumder Aug 26, 2025
ac7f843
fix: update environment variable handling for CUSTOM_DOMAIN and INGRE…
upayanmazumder Aug 27, 2025
84923f8
fix: update deployments to check if pvc exists before generating pvc
aayushkdev Aug 27, 2025
3692a27
docs: added Noel profile card to readme
Noel-Alex Aug 27, 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
44 changes: 44 additions & 0 deletions .github/workflows/docker-image.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Build and Push Docker image to GHCR

on:
push:
branches: [dev]
workflow_dispatch:

jobs:
build-and-push:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Log in to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Set lowercase image name
id: meta
run: |
IMAGE_NAME="ghcr.io/${GITHUB_REPOSITORY,,}:latest"
echo "image=$IMAGE_NAME" >> $GITHUB_OUTPUT

- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
push: true
platforms: linux/amd64,linux/arm64
tags: ${{ steps.meta.outputs.image }}
202 changes: 202 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@

# 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

# UV
# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
#uv.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
#poetry.toml

# 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/latest/usage/project/#working-with-version-control
.pdm.toml
.pdm-python
.pdm-build/

# 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
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
.idea/

# Abstra
# Abstra is an AI-powered process automation framework.
# Ignore directories containing user credentials, local state, and settings.
# Learn more at https://abstra.io/docs
.abstra/

# Visual Studio Code
# Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
# that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
# and can be added to the global gitignore or merged into this file. However, if you prefer,
# you could uncomment the following to ignore the entire vscode folder
.vscode/

# Ruff stuff:
.ruff_cache/

# PyPI configuration file
.pypirc

# Cursor
# Cursor is an AI-powered code editor. `.cursorignore` specifies files/directories to
# exclude from AI features like autocomplete and code analysis. Recommended for sensitive data
# refer to https://docs.cursor.com/context/ignore-files
.cursorignore
.cursorindexingignore
node_modules
.env
.DS_Store

*.txt
test
11 changes: 0 additions & 11 deletions .hooks/commit-msg

This file was deleted.

12 changes: 12 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"cSpell.words": [
"Buildx",
"gdgvit",
"kargo",
"libc",
"Mailgun",
"NEXTAUTH",
"upayan"
],
"colorWheel.settings.workspaceColor": "hsl(176,58%,68%)"
}
53 changes: 53 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# syntax=docker/dockerfile:1.5

FROM --platform=$BUILDPLATFORM node:20-slim AS base
WORKDIR /app

RUN apt-get update && apt-get upgrade -y && apt-get install -y --no-install-recommends libc6 && rm -rf /var/lib/apt/lists/*

FROM base AS deps
WORKDIR /app

COPY api/package.json api/package-lock.json* ./
RUN npm ci

FROM base AS builder
WORKDIR /app

COPY --from=deps /app/node_modules ./node_modules
COPY api .

RUN npm run build

FROM node:20-slim AS runner
WORKDIR /app

ENV NODE_ENV=production

RUN apt-get update && apt-get upgrade -y && rm -rf /var/lib/apt/lists/*

RUN apt-get update && \
apt-get install -y --no-install-recommends python3 python3-pip && \
ln -s /usr/bin/python3 /usr/bin/python && \
rm -rf /var/lib/apt/lists/*

RUN apt-get update && \
apt-get install -y --no-install-recommends curl ca-certificates && \
curl -LO https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl && \
install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl && \
rm kubectl && \
apt-get clean && rm -rf /var/lib/apt/lists/*

COPY --from=deps /app/node_modules ./node_modules
COPY --from=builder /app/dist ./dist
COPY api/package.json ./

COPY api/AI/requirements.txt ./AI/requirements.txt
RUN pip3 install --no-cache-dir --break-system-packages -r ./AI/requirements.txt

COPY api/AI ./AI

EXPOSE 5000

CMD ["node", "dist/server.js"]

Loading
Loading