{"id":25549662,"url":"https://github.com/netlah/dotnet-appsettings","last_synced_at":"2025-04-07T11:06:13.111Z","repository":{"id":43914216,"uuid":"374009193","full_name":"NetLah/dotnet-appsettings","owner":"NetLah","description":"Dotnet tool convert appsettings (.json) to Azure AppService Application Settings","archived":false,"fork":false,"pushed_at":"2025-03-11T04:03:38.000Z","size":166,"stargazers_count":23,"open_issues_count":2,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-31T09:07:53.462Z","etag":null,"topics":["appservice","appsettings","azure","configuration","convert","dotnet-tool","secrets"],"latest_commit_sha":null,"homepage":"","language":"C#","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/NetLah.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":"2021-06-05T03:13:41.000Z","updated_at":"2025-03-11T03:55:05.000Z","dependencies_parsed_at":"2024-01-14T05:55:31.097Z","dependency_job_id":"556ce411-b2e5-424d-ab53-4bd09b47f75a","html_url":"https://github.com/NetLah/dotnet-appsettings","commit_stats":{"total_commits":74,"total_committers":1,"mean_commits":74.0,"dds":0.0,"last_synced_commit":"6ca1301b0483493df8e0f389aeab5d12a6c08f3f"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetLah%2Fdotnet-appsettings","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetLah%2Fdotnet-appsettings/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetLah%2Fdotnet-appsettings/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetLah%2Fdotnet-appsettings/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NetLah","download_url":"https://codeload.github.com/NetLah/dotnet-appsettings/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247640462,"owners_count":20971557,"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":["appservice","appsettings","azure","configuration","convert","dotnet-tool","secrets"],"created_at":"2025-02-20T10:19:17.574Z","updated_at":"2025-04-07T11:06:13.088Z","avatar_url":"https://github.com/NetLah.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dotnet-appsettings - .NET tools\n\nTool convert appsettings (.json) files to Azure AppService Application Settings json name-value format (support bulk updating) or Docker Compose environment format (yaml).\n\n## Nuget package\n\n[![NuGet](https://img.shields.io/nuget/v/dotnet-appsettings.svg?style=flat-square\u0026label=nuget\u0026colorB=00b200)](https://www.nuget.org/packages/dotnet-appsettings/)\n\n## Build Status\n\n[![Build Status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2FNetLah%2Fdotnet-appsettings%2Fbadge%3Fref%3Dmain\u0026style=flat)](https://actions-badge.atrox.dev/NetLah/dotnet-appsettings/goto?ref=main)\n\n## Getting started\n\n### .NET 8.0 Support\n\nPackage version `1.0.0` supports:\n- .NET SDK 9.0\n- .NET SDK 8.0\n- .NET SDK 6.0\n\n### Samples\n\n- appsettings.json\n\n```json\n{\n  \"Logging\": {\n    \"LogLevel\": {\n      \"Default\": \"Information\",\n      \"Microsoft\": \"Warning\",\n      \"Microsoft.Hosting.Lifetime\": \"Information\"\n    }\n  },\n  \"Array\": [\n    {\n      \"Name\": \"!Value1\"\n    },\n    {\n      \"Name\": \"@Value2\"\n    }\n  ],\n  \"!Key3\": \"Value \u00263 + 4\",\n  \"AllowedHosts\": \"*\"\n}\n```\n\n- Environment array syntax format for Docker compose file `docker-compose.yml`\n\n```yml\nservices:\n  webapi:\n    environment:\n      - '!Key3=Value \u00263 + 4'\n      - AllowedHosts=*\n      - Array__0__Name=!Value1\n      - Array__1__Name=@Value2\n      - Logging__LogLevel__Default=Information\n      - Logging__LogLevel__Microsoft=Warning\n      - Logging__LogLevel__Microsoft.Hosting.Lifetime=Information\n```\n\n- Environment map syntax format for Docker compose file `docker-compose.yml`\n\n```yml\nservices:\n  webapi:\n    environment:\n      '!Key3': Value \u00263 + 4\n      AllowedHosts: '*'\n      Array__0__Name: '!Value1'\n      Array__1__Name: '@Value2'\n      Logging__LogLevel__Default: Information\n      Logging__LogLevel__Microsoft: Warning\n      Logging__LogLevel__Microsoft.Hosting.Lifetime: Information\n```\n\n- Environment json format for `launchSettings.json`\n\n```json\n{\n  \"profiles\": {\n    \"ConsoleApp1\": {\n      \"commandName\": \"Project\",\n      \"environmentVariables\": {\n        \"!Key3\": \"Value \\u00263 \\u002B 4\",\n        \"AllowedHosts\": \"*\",\n        \"Array__0__Name\": \"!Value1\",\n        \"Array__1__Name\": \"@Value2\",\n        \"Logging__LogLevel__Default\": \"Information\",\n        \"Logging__LogLevel__Microsoft\": \"Warning\",\n        \"Logging__LogLevel__Microsoft.Hosting.Lifetime\": \"Information\"\n      }\n    }\n  }\n}\n```\n\n- Azure AppService / Configuration / Application Settings / Advanced edit (https://docs.microsoft.com/en-us/azure/app-service/configure-common#edit-in-bulk)\n\n![Edit in bulk](https://raw.githubusercontent.com/NetLah/dotnet-appsettings/main/docs/bulk-edit-app-settings.png)\n\n```json\n[\n  {\n    \"name\": \"!Key3\",\n    \"value\": \"Value \\u00263 \\u002B 4\",\n    \"slotSetting\": false\n  },\n  {\n    \"name\": \"AllowedHosts\",\n    \"value\": \"*\",\n    \"slotSetting\": false\n  },\n  {\n    \"name\": \"Array__0__Name\",\n    \"value\": \"!Value1\",\n    \"slotSetting\": false\n  },\n  {\n    \"name\": \"Array__1__Name\",\n    \"value\": \"@Value2\",\n    \"slotSetting\": false\n  },\n  {\n    \"name\": \"Logging__LogLevel__Default\",\n    \"value\": \"Information\",\n    \"slotSetting\": false\n  },\n  {\n    \"name\": \"Logging__LogLevel__Microsoft\",\n    \"value\": \"Warning\",\n    \"slotSetting\": false\n  },\n  {\n    \"name\": \"Logging__LogLevel__Microsoft.Hosting.Lifetime\",\n    \"value\": \"Information\",\n    \"slotSetting\": false\n  }\n]\n```\n\n- Text format for manually update Azure AppService / Configuration / Application Settings\n\n```txt\n!Key3\nValue \u00263 + 4\n\nAllowedHosts\n*\n\nArray__0__Name\n!Value1\n\nArray__1__Name\n@Value2\n\nLogging__LogLevel__Default\nInformation\n\nLogging__LogLevel__Microsoft\nWarning\n\nLogging__LogLevel__Microsoft.Hosting.Lifetime\nInformation\n```\n\n### Installation dotnet tool globally\n\nDownload and install the [.NET SDK](https://dotnet.microsoft.com/en-us/download/dotnet). Once installed the .NET SDK, run the following command to install the tool:\n\n```\ndotnet tool install --global dotnet-appsettings\n```\n\nIf you already have a previous version of dotnet-appsettings installed, you can upgrade to the latest version using the following command:\n\n```\ndotnet tool update --global dotnet-appsettings\n```\n\nUsage\n\n```\nappsettings appsettings.json appsettings.Production.json\n```\n\n### Installation dotnet tool to a path\n\nYou can install the tool `dotnet-appsettings` to a folder\n\n```\ndotnet tool install dotnet-appsettings --tool-path C:\\Development\\Project1\\tools\n```\n\nUsage\n\n```\nC:\\Development\\Project1\\tools\\appsettings.exe appsettings.json appsettings.Production.json\n```\n\n### Installation dotnet tool locally\n\nYou can either install the tool locally in the project folder scope as https://docs.microsoft.com/en-us/dotnet/core/tools/local-tools-how-to-use\n\n```\ncd /d C:\\Development\\Project1\ndotnet new tool-manifest\ndotnet tool install dotnet-appsettings\n```\n\nUsage\n\n```\nC:\\Development\\Project1\\Core\u003e dotnet appsettings appsettings.json appsettings.Production.json\n```\n\n### Usage\n\n```\nCommand line global:\n  appsettings [appsettings.json [appsettings.Production.json]]\n\nCommand line local:\n  dotnet appsettings [appsettings.json [appsettings.Production.json]]\n\nCommand line tool path:\n  \"C:\\Development\\Project1\\tools\\appsettings.exe\" [appsettings.json [appsettings.Production.json]]\n\nC:\\\u003eappsettings.exe --help\n\nConvert appsettings (.json) to Azure AppService Application Settings v0.2.3 Build:2023-01-27T11:30:11.448+08:00 .NET:.NETCoreApp,Version=v7.0\n\nUsage: appsettings [arguments] [options]\n\nArguments:\n  appsettingsFiles  appsettings.json appsettings.Production.json\n\nOptions:\n  -p|--path \u003cpath\u003e                          path to appsettings.json, appsettings.Production.json\n  -o|--output-file \u003coutput-file.json\u003e       path to output-file.json\n  --slot-setting \u003cappsettings.slotSetting\u003e  specified file contains keys which SlotSetting=true\n  -e|--environment                          output in docker compose environment Array syntax\n  -m|--map-environment                      output in docker compose environment Map syntax\n  -j|--json-environment                     output in environment json\n  -t|--text                                 output in text format\n  --skip-slot-setting                       skip SlotSetting=false\n  --version                                 Show version information\n  -?|-h|--help                              Show help information\n  -v|--verbose                              Show verbose output.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetlah%2Fdotnet-appsettings","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetlah%2Fdotnet-appsettings","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetlah%2Fdotnet-appsettings/lists"}