{"id":19279540,"url":"https://github.com/4cecoder/lamdazip","last_synced_at":"2025-10-19T01:49:20.443Z","repository":{"id":229076779,"uuid":"775702942","full_name":"4cecoder/lamdazip","owner":"4cecoder","description":null,"archived":false,"fork":false,"pushed_at":"2024-03-22T16:20:13.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-05T16:29:19.426Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/4cecoder.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-21T22:08:21.000Z","updated_at":"2024-03-21T22:11:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"f287f7b5-f89d-448f-9aea-def2434fb0e9","html_url":"https://github.com/4cecoder/lamdazip","commit_stats":null,"previous_names":["4cecoder/lamdazip"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4cecoder%2Flamdazip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4cecoder%2Flamdazip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4cecoder%2Flamdazip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4cecoder%2Flamdazip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/4cecoder","download_url":"https://codeload.github.com/4cecoder/lamdazip/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240385198,"owners_count":19792980,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T21:15:31.264Z","updated_at":"2025-10-19T01:49:20.364Z","avatar_url":"https://github.com/4cecoder.png","language":"Go","readme":"# Lambda Function Packager\n\nA Go-based tool to package AWS Lambda functions along with their dependencies into zip files.\n\n## Features\n\n- Automatically packages Lambda functions and their dependencies into zip files\n- Supports multiple Lambda functions\n- Uses `viper` for configuration management\n- Provides a command-line interface using `cobra`\n\n## Installation\n\n### Option 1: Go Install\n\nIf you have Go installed on your system, you can use `go install` to install the Lambda Function Packager.\n\n1. Run the following command: `go install github.com/4cecoder/lamdazip@latest`\n\n2. The `lamdazip` executable will be installed in your `$GOPATH/bin` directory.\n\n### Option 2: Manual Installation\n1. Clone the repository: `git clone https://github.com/4cecoder/lamdazip.git`\n \n2. Change into the project directory: `cd lamdazip`\n \n3. Build the executable: `go build`\n\n## Configuration\n\nThe Lambda Function Packager uses a configuration file to specify the Lambda function names, site-packages directory, and destination directory. By default, it looks for a configuration file named `.lambda-packager.yaml` in the user's home directory.\n\nHere's an example configuration file:\n\n```yaml\nfunction_names:\n- cold_rail\n- new_customer\n- updated_customer\nsite_packages_dir: venv/Lib/site-packages\ndest_dir: terraform/dev/lambda\n```\n\n\n    function_names: An array of Lambda function names to be packaged.\n    site_packages_dir: The directory path of the virtual environment's site-packages.\n    dest_dir: The destination directory where the packaged Lambda functions will be moved.\n\nYou can create a configuration file with a different name or location and specify its path using the `--config` flag when running the tool.\nUsage:`\n\nIf you want to use a different configuration file, specify its path using the `--config` flag:\n```bash\n./lamdazip --config path/to/config.yaml\n```\n\nTo package Lambda functions, run the following command:\n\n```bash\n./lamdazip\n```\n\n\n\n\nThe tool will package each Lambda function specified in the configuration file along with its dependencies into separate zip files. The zip files will be moved to the corresponding directories under the specified destination directory.\nProject Structure\n\n    main.go: The main Go file containing the Lambda Function Packager logic.\n    .lambda-packager.yaml: The default configuration file.\n    funx/: Directory containing the Lambda function files.\n    terraform/dev/lambda/: The destination directory for the packaged Lambda functions.\n\nDependencies\n\nThe Lambda Function Packager uses the following dependencies:\n\n    github.com/spf13/cobra: A library for creating powerful modern CLI applications.\n    github.com/spf13/viper: A complete configuration solution for Go applications.\n\nMake sure to have these dependencies installed before running the tool.\nContributing\n\nContributions are welcome! If you find any issues or have suggestions for improvement, please open an issue or submit a pull request.\nLicense\n\nThis project is licensed under the MIT License.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4cecoder%2Flamdazip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F4cecoder%2Flamdazip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4cecoder%2Flamdazip/lists"}