{"id":20085171,"url":"https://github.com/lechnerc77/create-funcdocker-cli","last_synced_at":"2025-03-02T14:22:55.354Z","repository":{"id":57126571,"uuid":"441185357","full_name":"lechnerc77/create-funcdocker-cli","owner":"lechnerc77","description":"A (unofficial) CLI for Azure Functions Containers","archived":false,"fork":false,"pushed_at":"2022-01-08T14:59:37.000Z","size":55,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-13T02:15:03.142Z","etag":null,"topics":["azure-functions","docker","dockerfile","kubernetes"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/@lechnerc77/create-funcdocker-cli","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lechnerc77.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}},"created_at":"2021-12-23T13:14:41.000Z","updated_at":"2022-07-27T12:43:04.000Z","dependencies_parsed_at":"2022-08-31T11:52:49.457Z","dependency_job_id":null,"html_url":"https://github.com/lechnerc77/create-funcdocker-cli","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lechnerc77%2Fcreate-funcdocker-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lechnerc77%2Fcreate-funcdocker-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lechnerc77%2Fcreate-funcdocker-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lechnerc77%2Fcreate-funcdocker-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lechnerc77","download_url":"https://codeload.github.com/lechnerc77/create-funcdocker-cli/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241517888,"owners_count":19975329,"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":["azure-functions","docker","dockerfile","kubernetes"],"created_at":"2024-11-13T15:54:54.076Z","updated_at":"2025-03-02T14:22:55.332Z","avatar_url":"https://github.com/lechnerc77.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# A (unofficial) CLI for Azure Functions Containers\n\n## What\n\nThis CLI supports you in scaffolding the files necessary to create Azure Functions in containers. The CLI enables you to create the following files:\n\n- `Dockerfile`\n- `.dockerignore`\n- `Makefile` (optional)\n- `deployment.yaml` for Kubernetes deployments (optional)\n\nincluding several options that control the behavior of the containerized Azure Functions.\n\n## Why\n\nThe [Azure Function Core Tools](https://github.com/Azure/azure-functions-core-tools) comprise a CLI that also creates some [basic versions](https://github.com/Azure/azure-functions-core-tools#getting-started-on-kubernetes) of the `Dockerfile` and `.dockerignore`. However, the templates are static and only reflect your runtime e.g. nodeJS. This serves as a starting point, but in most cases manual adoptions need to be made.\n\nThis CLI shall close this gap and make the experience more convenient by offering more options for the creation process.\n\n## Installation\n\nInstall the latest version via\n\n```shell\nnpm install -g @lechnerc77/create-funcdocker-cli\n```\n\n## Usage\n\nThe easiest way to start the CLI is to start the command.\n\n```shell\ncreate-funcdocker\n```\n\nThis will guide you through some questions and based on your answers create the files needed to containerize your Azure Functions.\n\n\u003e\u003e Attention: When executing the CLI, you do not need to be in an Azure Functions Project. You can create the files also independent of a project.\n\nYou can also feed-in the parameters directly into the CLI. The following parameters are available:\n\n```shell\n--help                |   -h:  Help for create-funcdocker CLI\n--version             |   -v:  Version of create-funcdocker CLI\n--manually            |   -m:  Suppress collection of configuration from Azure Functions project\n--dryrun              |   -d:  Execute the generation in dry run, no files are written \n--language            | --la:  Language used for the Azure Functions\n--lversion            | --lv:  Version of the language e.g. 16 for nodeJS\n--funccoreversion     | --fv:  Version of the Azure Function Runtime (3 or 4)\n--dockerbaseimage     | --di:  Name of the Docker base image that shall be used \n--disablefunchomepage | --dh:  Disable the Azure Functions homepage\n--defaultport         | --dp:  Override the exposed default port of your Azure Function\n--addmakefile         | --am:  Add a Makefile\n--dockerid            | --id:  ID of your Docker account\n--appname             | --an:  Name of your application \n--appversion          | --av:  Version of your application\n--kubernetes          |  --k:  Create a Kubernetes deplyoment file \n```\n\nIf you provide some parameters, the remaining ones will then be fetched by the CLI in an interactive mode.\n\n\u003e\u003e Attention: The CLI will overwrite existing files.\n\n### Execution in an Azure Functions project\n\nIf you start the CLI in a directory that contains an Azure Functions project the CLI will do its best to collect the information from the project settings. You can switch this off by setting the flag ` --manually | -m`. The parameter must be set when calling the CLI, you will not be asked in the interactive mode.\n\n### Dry Run\n\nYou can also execute the CLI in dry run mode by setting the flag `--dryrun | -d`. This means that the CLI will execute all steps as in a regular execution, but the files will not be written to your file system. Instead you the CLI will show the file content in the console. The parameter must be set when calling the CLI, you will not be asked in the interactive mode.\n\n### Kubernetes\n\nThe flag `--kuberntes | --k` creates a sample deployment file for your containerized Azure Function. It will be created in a folder `k8s` and consists of a deployment and a service (type `ClusterIP`). If the folder does not exist it will be created.\n\n## Development and Contributions\n\nContributions to the CLI are highly welcome. If you want to start developing you need to execute the following steps:\n\n1. Clone this repository\n2. Navigate into the directory of the cloned repository and install the dependencies via: \n   ```shell\n   npm install\n   ```\n3. For a convenient local execution execute\n   ```shell\n   npm link\n   ```\n\nYou can now call the CLI via:\n\n```shell\ncreate-funcdocker \n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flechnerc77%2Fcreate-funcdocker-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flechnerc77%2Fcreate-funcdocker-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flechnerc77%2Fcreate-funcdocker-cli/lists"}