iotedgedev 3.3.4__zip
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- s/.devcontainer/Dockerfile +75 -0
- s/.devcontainer/devcontainer.json +40 -0
- s/.devcontainer/library-scripts/docker-in-docker-debian.sh +236 -0
- s/.env.tmp +108 -0
- s/.git/FETCH_HEAD +61 -0
- s/.git/HEAD +1 -0
- s/.git/config +12 -0
- s/.git/description +1 -0
- s/.git/hooks/applypatch-msg.sample +15 -0
- s/.git/hooks/commit-msg.sample +24 -0
- s/.git/hooks/fsmonitor-watchman.sample +173 -0
- s/.git/hooks/post-update.sample +8 -0
- s/.git/hooks/pre-applypatch.sample +14 -0
- s/.git/hooks/pre-commit.sample +49 -0
- s/.git/hooks/pre-merge-commit.sample +13 -0
- s/.git/hooks/pre-push.sample +53 -0
- s/.git/hooks/pre-rebase.sample +169 -0
- s/.git/hooks/pre-receive.sample +24 -0
- s/.git/hooks/prepare-commit-msg.sample +42 -0
- s/.git/hooks/push-to-checkout.sample +78 -0
- s/.git/hooks/update.sample +128 -0
- s/.git/index +0 -0
- s/.git/info/exclude +6 -0
- s/.git/logs/HEAD +1 -0
- s/.git/logs/refs/remotes/origin/EO +1 -0
- s/.git/logs/refs/remotes/origin/avagraw/security_fix +1 -0
- s/.git/logs/refs/remotes/origin/cherry-pick-rename +1 -0
- s/.git/logs/refs/remotes/origin/chyuan/fix-validation-not-fail-test +1 -0
- s/.git/logs/refs/remotes/origin/chyuan/update-linux-agent +1 -0
- s/.git/logs/refs/remotes/origin/dependabot/pip/pyyaml-5.4 +1 -0
- s/.git/logs/refs/remotes/origin/eliises/add-device-tagging-docs +1 -0
- s/.git/logs/refs/remotes/origin/main +1 -0
- s/.git/logs/refs/remotes/origin/ray-deps +1 -0
- s/.git/logs/refs/remotes/origin/ray-dev-setup +1 -0
- s/.git/logs/refs/remotes/origin/ray-tox +1 -0
- s/.git/logs/refs/remotes/origin/release-pipeline-automation +1 -0
- s/.git/logs/refs/remotes/origin/spmcdono/fix-pipeline-test-install +1 -0
- s/.git/logs/refs/remotes/origin/spmcdono/layered-deployments +1 -0
- s/.git/logs/refs/remotes/origin/spmcdono/pypi-package-test-pipeline +1 -0
- s/.git/logs/refs/remotes/origin/spmcdono/remove-py2 +1 -0
- s/.git/logs/refs/remotes/origin/spmcdono/remove-py2-dev +1 -0
- s/.git/logs/refs/remotes/origin/spmcdono/test-native-runtime-install +1 -0
- s/.git/logs/refs/remotes/origin/spmcdono/update-pipeline +1 -0
- s/.git/logs/refs/remotes/origin/user/marine/EliiseS/devcontainer +1 -0
- s/.git/logs/refs/remotes/origin/user/marine/fixsimver +1 -0
- s/.git/logs/refs/remotes/origin/user/marine/layereddeploymentsbuildtest +1 -0
- s/.git/logs/refs/remotes/origin/user/marine/master-to-main +1 -0
- s/.git/logs/refs/remotes/origin/user/marine/pipeline +1 -0
- s/.git/logs/refs/remotes/origin/user/vikas +1 -0
- s/.git/logs/refs/remotes/origin/user/vikas0212/verify-tests +1 -0
- s/.git/logs/refs/remotes/origin/user/vikas2 +1 -0
- s/.git/logs/refs/remotes/origin/user/vikas_pypi +1 -0
- s/.git/logs/refs/remotes/origin/user/vikas_pypi-1 +1 -0
- s/.git/logs/refs/remotes/origin/user/vikas_testing +1 -0
- s/.git/logs/refs/remotes/origin/user/xinzed/dps_conn_str +1 -0
- s/.git/logs/refs/remotes/origin/user/xinzed/update-python-docker +1 -0
- s/.git/logs/refs/remotes/origin/vikas/azure +1 -0
- s/.git/logs/refs/remotes/origin/vikas/dependebot +1 -0
- s/.git/logs/refs/remotes/origin/xinzed/3_1_0rc1 +1 -0
- s/.git/logs/refs/remotes/origin/xinzed/update-runtime +1 -0
- s/.git/objects/pack/pack-a8179feb7da51d11a42c37c5b3c8593cffe17075.idx +0 -0
- s/.git/objects/pack/pack-a8179feb7da51d11a42c37c5b3c8593cffe17075.pack +0 -0
- s/.git/refs/remotes/origin/EO +1 -0
- s/.git/refs/remotes/origin/avagraw/security_fix +1 -0
- s/.git/refs/remotes/origin/cherry-pick-rename +1 -0
- s/.git/refs/remotes/origin/chyuan/fix-validation-not-fail-test +1 -0
- s/.git/refs/remotes/origin/chyuan/update-linux-agent +1 -0
- s/.git/refs/remotes/origin/dependabot/pip/pyyaml-5.4 +1 -0
- s/.git/refs/remotes/origin/eliises/add-device-tagging-docs +1 -0
- s/.git/refs/remotes/origin/main +1 -0
- s/.git/refs/remotes/origin/ray-deps +1 -0
- s/.git/refs/remotes/origin/ray-dev-setup +1 -0
- s/.git/refs/remotes/origin/ray-tox +1 -0
- s/.git/refs/remotes/origin/release-pipeline-automation +1 -0
- s/.git/refs/remotes/origin/spmcdono/fix-pipeline-test-install +1 -0
- s/.git/refs/remotes/origin/spmcdono/layered-deployments +1 -0
- s/.git/refs/remotes/origin/spmcdono/pypi-package-test-pipeline +1 -0
- s/.git/refs/remotes/origin/spmcdono/remove-py2 +1 -0
- s/.git/refs/remotes/origin/spmcdono/remove-py2-dev +1 -0
- s/.git/refs/remotes/origin/spmcdono/test-native-runtime-install +1 -0
- s/.git/refs/remotes/origin/spmcdono/update-pipeline +1 -0
- s/.git/refs/remotes/origin/user/marine/EliiseS/devcontainer +1 -0
- s/.git/refs/remotes/origin/user/marine/fixsimver +1 -0
- s/.git/refs/remotes/origin/user/marine/layereddeploymentsbuildtest +1 -0
- s/.git/refs/remotes/origin/user/marine/master-to-main +1 -0
- s/.git/refs/remotes/origin/user/marine/pipeline +1 -0
- s/.git/refs/remotes/origin/user/vikas +1 -0
- s/.git/refs/remotes/origin/user/vikas0212/verify-tests +1 -0
- s/.git/refs/remotes/origin/user/vikas2 +1 -0
- s/.git/refs/remotes/origin/user/vikas_pypi +1 -0
- s/.git/refs/remotes/origin/user/vikas_pypi-1 +1 -0
- s/.git/refs/remotes/origin/user/vikas_testing +1 -0
- s/.git/refs/remotes/origin/user/xinzed/dps_conn_str +1 -0
- s/.git/refs/remotes/origin/user/xinzed/update-python-docker +1 -0
- s/.git/refs/remotes/origin/vikas/azure +1 -0
- s/.git/refs/remotes/origin/vikas/dependebot +1 -0
- s/.git/refs/remotes/origin/xinzed/3_1_0rc1 +1 -0
- s/.git/refs/remotes/origin/xinzed/update-runtime +1 -0
- s/.git/refs/tags/v0.49.0 +1 -0
- s/.git/refs/tags/v0.50.0 +1 -0
- s/.git/refs/tags/v0.51.0 +1 -0
- s/.git/refs/tags/v0.52.0 +1 -0
- s/.git/refs/tags/v0.53.0 +1 -0
- s/.git/refs/tags/v0.54.0 +1 -0
- s/.git/refs/tags/v0.55.0 +1 -0
- s/.git/refs/tags/v0.56.0 +1 -0
- s/.git/refs/tags/v0.57.0 +1 -0
- s/.git/refs/tags/v0.58.0 +1 -0
- s/.git/refs/tags/v0.59.0 +1 -0
- s/.git/refs/tags/v0.60.0 +1 -0
- s/.git/refs/tags/v0.61.0 +1 -0
- s/.git/refs/tags/v0.62.0 +1 -0
- s/.git/refs/tags/v0.63.0 +1 -0
- s/.git/refs/tags/v0.64.0 +1 -0
- s/.git/refs/tags/v0.65.0 +1 -0
- s/.git/refs/tags/v0.66.0 +1 -0
- s/.git/refs/tags/v0.67.0 +1 -0
- s/.git/refs/tags/v0.68.0 +1 -0
- s/.git/refs/tags/v0.69.0 +1 -0
- s/.git/refs/tags/v0.70.0 +1 -0
- s/.git/refs/tags/v0.71.0 +1 -0
- s/.git/refs/tags/v0.72.0 +1 -0
- s/.git/refs/tags/v0.73.0 +1 -0
- s/.git/refs/tags/v0.74.0 +1 -0
- s/.git/refs/tags/v0.75.0 +1 -0
- s/.git/refs/tags/v0.76.0 +1 -0
- s/.git/refs/tags/v0.77.0 +1 -0
- s/.git/refs/tags/v0.78.0 +1 -0
- s/.git/refs/tags/v0.79.0 +1 -0
- s/.git/refs/tags/v0.82.0 +1 -0
- s/.git/refs/tags/v0.82.0-container +1 -0
- s/.git/refs/tags/v1.0.0 +1 -0
- s/.git/refs/tags/v1.1.0 +1 -0
- s/.git/refs/tags/v1.2.0 +1 -0
- s/.git/refs/tags/v1.3.0 +1 -0
- s/.git/refs/tags/v2.0.0 +1 -0
- s/.git/refs/tags/v2.0.1 +1 -0
- s/.git/refs/tags/v2.0.2 +1 -0
- s/.git/refs/tags/v2.1.0 +1 -0
- s/.git/refs/tags/v2.1.1 +1 -0
- s/.git/refs/tags/v2.1.2 +1 -0
- s/.git/refs/tags/v2.1.3 +1 -0
- s/.git/refs/tags/v2.1.4 +1 -0
- s/.git/refs/tags/v2.1.6 +1 -0
- s/.git/refs/tags/v2.2.0 +1 -0
- s/.git/refs/tags/v3.0.0 +1 -0
- s/.git/refs/tags/v3.0.0-rc +1 -0
- s/.git/refs/tags/v3.1.0 +1 -0
- s/.git/refs/tags/v3.1.1 +1 -0
- s/.git/refs/tags/v3.1.2 +1 -0
- s/.git/refs/tags/v3.2.0 +1 -0
- s/.git/refs/tags/v3.2.0rc0 +1 -0
- s/.git/refs/tags/v3.3.0 +1 -0
- s/.git/refs/tags/v3.3.1 +1 -0
- s/.git/refs/tags/v3.3.2 +1 -0
- s/.git/refs/tags/v3.3.3 +1 -0
- s/.git/refs/tags/v3.3.3-rc0 +1 -0
- s/.git/refs/tags/v3.3.4 +1 -0
- s/.github/ISSUE_TEMPLATE/bug_report.md +16 -0
- s/.github/ISSUE_TEMPLATE/feature_request.md +7 -0
- s/.github/workflows/wiki.yml +54 -0
- s/.gitignore +103 -0
- s/.vscode/launch.json +26 -0
- s/.vscode/settings.json +30 -0
- s/CHANGELOG.md +156 -0
- s/CODE_OF_CONDUCT.md +1 -0
- s/CONTRIBUTING.md +122 -0
- s/LICENSE +14 -0
- s/MANIFEST.in +7 -0
- s/Makefile +87 -0
- s/README.md +204 -0
- s/assets/armdeployment.png +0 -0
- s/assets/armoutputs.png +0 -0
- s/assets/deploy/ARMDeployment/ARMDeployment.deployproj +36 -0
- s/assets/deploy/ARMDeployment/Deploy-AzureResourceGroup.ps1 +118 -0
- s/assets/deploy/ARMDeployment/azuredeploy.json +145 -0
- s/assets/deploy/ARMDeployment/azuredeploy.parameters.json +6 -0
- s/assets/deploy/ARMDeployment.sln +25 -0
- s/assets/edgedevtool2mins.png +0 -0
- s/assets/edgedevtoolintro.png +0 -0
- s/assets/edgedevtoolquickstartlarge.png +0 -0
- s/assets/edgedevtoolquickstartsmall.png +0 -0
- s/assets/edgedevtoolwsl.png +0 -0
- s/azure-pipelines.yml +144 -0
- s/build/lib/iotedgedev/__init__.py +6 -0
- s/build/lib/iotedgedev/args.py +18 -0
- s/build/lib/iotedgedev/azurecli.py +542 -0
- s/build/lib/iotedgedev/buildoptionsparser.py +151 -0
- s/build/lib/iotedgedev/buildprofile.py +5 -0
- s/build/lib/iotedgedev/cli.py +830 -0
- s/build/lib/iotedgedev/connectionstring.py +58 -0
- s/build/lib/iotedgedev/constants.py +12 -0
- s/build/lib/iotedgedev/containerregistry.py +5 -0
- s/build/lib/iotedgedev/decorators.py +116 -0
- s/build/lib/iotedgedev/deploymentmanifest.py +313 -0
- s/build/lib/iotedgedev/dockercls.py +255 -0
- s/build/lib/iotedgedev/dotnet.py +31 -0
- s/build/lib/iotedgedev/edge.py +33 -0
- s/build/lib/iotedgedev/envvars.py +240 -0
- s/build/lib/iotedgedev/iothub.py +65 -0
- s/build/lib/iotedgedev/module.py +62 -0
- s/build/lib/iotedgedev/modules.py +332 -0
- s/build/lib/iotedgedev/organizedgroup.py +48 -0
- s/build/lib/iotedgedev/output.py +57 -0
- s/build/lib/iotedgedev/simulator.py +58 -0
- s/build/lib/iotedgedev/solution.py +48 -0
- s/build/lib/iotedgedev/telemetry.py +155 -0
- s/build/lib/iotedgedev/telemetryconfig.py +85 -0
- s/build/lib/iotedgedev/telemetryuploader.py +53 -0
- s/build/lib/iotedgedev/template/.env.tmp +87 -0
- s/build/lib/iotedgedev/template/.gitignore +10 -0
- s/build/lib/iotedgedev/template/deployment.template.json +79 -0
- s/build/lib/iotedgedev/template/launch_c.json +50 -0
- s/build/lib/iotedgedev/template/launch_csharp.json +43 -0
- s/build/lib/iotedgedev/template/launch_java.json +27 -0
- s/build/lib/iotedgedev/template/launch_node.json +36 -0
- s/build/lib/iotedgedev/template/launch_python.json +22 -0
- s/build/lib/iotedgedev/utility.py +179 -0
- s/build/lib/iotedgedev/version.py +4 -0
- s/build.sh +150 -0
- s/cleanup.sh +7 -0
- s/dist/iotedgedev-3.3.4-py3-none-any.whl +0 -0
- s/docker/tool/build-docker.sh +168 -0
- s/docker/tool/deps.txt +7 -0
- s/docker/tool/linux/Dockerfile +7 -0
- s/docker/tool/linux/Dockerfile.base +61 -0
- s/docker/tool/linux/install-dev.sh +8 -0
- s/docker/tool/linux/run.ps1 +5 -0
- s/docker/tool/linux/run.sh +5 -0
- s/docker/tool/push-docker.sh +35 -0
- s/docker/tool/windows/Dockerfile +4 -0
- s/docker/tool/windows/Dockerfile.base +63 -0
- s/docker/tool/windows/install-dev.bat +4 -0
- s/docker/tool/windows/run.ps1 +30 -0
- s/docs/Azure-Setup.md +102 -0
- s/docs/Command-List.md +564 -0
- s/docs/Command-Tips.md +51 -0
- s/docs/Edge-Device-Setup.md +23 -0
- s/docs/Home.md +10 -0
- s/docs/Manual-Dev-Machine-Setup.md +77 -0
- s/docs/Migration-Guides.md +131 -0
- s/docs/Overview.md +66 -0
- s/docs/Python-Virtual-Environment-Setup.md +35 -0
- s/docs/Quickstart-with-IoT-Edge-Dev-Container.md +145 -0
- s/docs/Test-Coverage.md +7 -0
- s/docs/Troubleshooting.md +21 -0
- s/docs/Usage.md +123 -0
- s/docs/_Sidebar.md +13 -0
- s/iotedgedev/__init__.py +6 -0
- s/iotedgedev/args.py +18 -0
- s/iotedgedev/azurecli.py +542 -0
- s/iotedgedev/buildoptionsparser.py +151 -0
- s/iotedgedev/buildprofile.py +5 -0
- s/iotedgedev/cli.py +830 -0
- s/iotedgedev/connectionstring.py +58 -0
- s/iotedgedev/constants.py +12 -0
- s/iotedgedev/containerregistry.py +5 -0
- s/iotedgedev/decorators.py +116 -0
- s/iotedgedev/deploymentmanifest.py +313 -0
- s/iotedgedev/dockercls.py +255 -0
- s/iotedgedev/dotnet.py +31 -0
- s/iotedgedev/edge.py +33 -0
- s/iotedgedev/envvars.py +240 -0
- s/iotedgedev/iothub.py +65 -0
- s/iotedgedev/module.py +62 -0
- s/iotedgedev/modules.py +332 -0
- s/iotedgedev/organizedgroup.py +48 -0
- s/iotedgedev/output.py +57 -0
- s/iotedgedev/simulator.py +58 -0
- s/iotedgedev/solution.py +48 -0
- s/iotedgedev/telemetry.py +155 -0
- s/iotedgedev/telemetryconfig.py +85 -0
- s/iotedgedev/telemetryuploader.py +53 -0
- s/iotedgedev/template/.env.tmp +87 -0
- s/iotedgedev/template/.gitignore +10 -0
- s/iotedgedev/template/deployment.template.json +79 -0
- s/iotedgedev/template/launch_c.json +50 -0
- s/iotedgedev/template/launch_csharp.json +43 -0
- s/iotedgedev/template/launch_java.json +27 -0
- s/iotedgedev/template/launch_node.json +36 -0
- s/iotedgedev/template/launch_python.json +22 -0
- s/iotedgedev/utility.py +179 -0
- s/iotedgedev/version.py +4 -0
- s/iotedgedev.egg-info/PKG-INFO +21 -0
- s/iotedgedev.egg-info/SOURCES.txt +100 -0
- s/iotedgedev.egg-info/dependency_links.txt +1 -0
- s/iotedgedev.egg-info/entry_points.txt +3 -0
- s/iotedgedev.egg-info/not-zip-safe +1 -0
- s/iotedgedev.egg-info/requires.txt +18 -0
- s/iotedgedev.egg-info/top_level.txt +1 -0
- s/pull_request_template.md +9 -0
- s/pytest.ini +4 -0
- s/requirements.txt +12 -0
- s/requirements_dev.txt +17 -0
- s/scripts/gen-help-markdown.bat +177 -0
- s/scripts/install-pip.sh +1 -0
- s/scripts/setup-wsl.sh +7 -0
- s/setup.cfg +18 -0
- s/setup.py +66 -0
- s/tests/__init__.py +5 -0
- s/tests/assets/deployment.manifest_invalid.json +106 -0
- s/tests/assets/deployment.manifest_invalid_createoptions.json +102 -0
- s/tests/assets/deployment.manifest_invalid_schema.json +69 -0
- s/tests/assets/deployment.template.non_str_placeholder.json +79 -0
- s/tests/assets/deployment.template_1.json +163 -0
- s/tests/assets/deployment.template_2.json +163 -0
- s/tests/assets/deployment.template_3.json +174 -0
- s/tests/assets/deployment.template_4.json +79 -0
- s/tests/assets/deployment.template_invalidresult.json +183 -0
- s/tests/assets/deployment.template_without_schema_template.json +99 -0
- s/tests/assets/launch.json +225 -0
- s/tests/assets/launch_without_nodejs.json +194 -0
- s/tests/assets/test_solution_shared_lib/.gitignore +2 -0
- s/tests/assets/test_solution_shared_lib/.vscode/launch.json +43 -0
- s/tests/assets/test_solution_shared_lib/deployment.debug.template.json +100 -0
- s/tests/assets/test_solution_shared_lib/deployment.escapedpath.template.json +90 -0
- s/tests/assets/test_solution_shared_lib/deployment.template.json +106 -0
- s/tests/assets/test_solution_shared_lib/layered_deployment.flattened_props.template.json +21 -0
- s/tests/assets/test_solution_shared_lib/layered_deployment.no_modules.template.json +12 -0
- s/tests/assets/test_solution_shared_lib/libs/sharedlib/Class1.cs +12 -0
- s/tests/assets/test_solution_shared_lib/libs/sharedlib/sharedlib.csproj +7 -0
- s/tests/assets/test_solution_shared_lib/modules/non_module_project/placeholder.txt +0 -0
- s/tests/assets/test_solution_shared_lib/modules/sample_module/.gitignore +34 -0
- s/tests/assets/test_solution_shared_lib/modules/sample_module/Dockerfile.amd64 +18 -0
- s/tests/assets/test_solution_shared_lib/modules/sample_module/Dockerfile.amd64.debug +25 -0
- s/tests/assets/test_solution_shared_lib/modules/sample_module/Dockerfile.windows-amd64 +15 -0
- s/tests/assets/test_solution_shared_lib/modules/sample_module/Program.cs +91 -0
- s/tests/assets/test_solution_shared_lib/modules/sample_module/module.json +18 -0
- s/tests/assets/test_solution_shared_lib/modules/sample_module/sample_module.csproj +26 -0
- s/tests/assets/test_solution_shared_lib/sample_module_2/.gitignore +34 -0
- s/tests/assets/test_solution_shared_lib/sample_module_2/Dockerfile.amd64 +18 -0
- s/tests/assets/test_solution_shared_lib/sample_module_2/Dockerfile.amd64.debug +25 -0
- s/tests/assets/test_solution_shared_lib/sample_module_2/Dockerfile.windows-amd64 +15 -0
- s/tests/assets/test_solution_shared_lib/sample_module_2/Program.cs +91 -0
- s/tests/assets/test_solution_shared_lib/sample_module_2/module.json +18 -0
- s/tests/assets/test_solution_shared_lib/sample_module_2/sample_module_2.csproj +26 -0
- s/tests/test_azurecli.py +33 -0
- s/tests/test_buildoptionsparser.py +155 -0
- s/tests/test_cli.py +55 -0
- s/tests/test_config.py +28 -0
- s/tests/test_connectionstring.py +87 -0
- s/tests/test_decorators.py +44 -0
- s/tests/test_deploymentmanifest.py +106 -0
- s/tests/test_envvars.py +169 -0
- s/tests/test_iotedgedev_iothub_deploy.py +199 -0
- s/tests/test_iotedgedev_simulator.py +133 -0
- s/tests/test_iotedgedev_solution.py +457 -0
- s/tests/test_iotedgedev_solution_build.py +246 -0
- s/tests/test_iotedgedev_solution_tag.py +99 -0
- s/tests/test_utility.py +132 -0
- s/tests/utility.py +132 -0
- s/tox.ini +29 -0
- s/vsts_ci/.vsts-ci.yml +93 -0
- s/vsts_ci/darwin/continuous-build-darwin.yml +54 -0
- s/vsts_ci/linux/continuous-build-linux.yml +28 -0
- s/vsts_ci/win32/continuous-build-win32.yml +26 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Dependencies versions
|
|
2
|
+
ARG PYTHON_VERSION="3.9"
|
|
3
|
+
|
|
4
|
+
FROM mcr.microsoft.com/vscode/devcontainers/python:0-${PYTHON_VERSION}
|
|
5
|
+
|
|
6
|
+
# Dependencies versions
|
|
7
|
+
ARG AZURE_CLI_VERSION="2.34.1-1~bullseye"
|
|
8
|
+
ARG NODE_VERSION="17.x"
|
|
9
|
+
ARG DOTNET_VERSION="5.0"
|
|
10
|
+
ARG JDK_VERSION="2:1.11-72"
|
|
11
|
+
ARG MAVEN_VERSION="3.6.3-5"
|
|
12
|
+
|
|
13
|
+
# Bring in utility scripts
|
|
14
|
+
COPY .devcontainer/library-scripts/*.sh /tmp/library-scripts/
|
|
15
|
+
|
|
16
|
+
RUN \
|
|
17
|
+
# Install some basics
|
|
18
|
+
apt-get update && \
|
|
19
|
+
apt-get upgrade -y && \
|
|
20
|
+
apt-get install -y --no-install-recommends build-essential apt-utils && \
|
|
21
|
+
apt-get install -y libffi-dev libssl-dev vim sudo && \
|
|
22
|
+
apt-get upgrade -y
|
|
23
|
+
|
|
24
|
+
RUN \
|
|
25
|
+
# Upgrade to latest pip
|
|
26
|
+
python -m pip install --upgrade pip && \
|
|
27
|
+
# Install node, npm
|
|
28
|
+
curl -fsSL https://deb.nodesource.com/setup_${NODE_VERSION} | bash - && \
|
|
29
|
+
apt-get install -y nodejs && \
|
|
30
|
+
npm install npm@latest -g && \
|
|
31
|
+
# Install azure-cli
|
|
32
|
+
apt-get install -y ca-certificates curl apt-transport-https lsb-release gnupg && \
|
|
33
|
+
curl -sL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | tee /etc/apt/trusted.gpg.d/microsoft.gpg > /dev/null && \
|
|
34
|
+
echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/azure-cli.list && \
|
|
35
|
+
apt-get update && apt-get install -y azure-cli=${AZURE_CLI_VERSION} && \
|
|
36
|
+
az extension add --name azure-iot --system && \
|
|
37
|
+
az extension update --name azure-iot && \
|
|
38
|
+
# Use Docker script from script library to set things up - enable non-root docker, user vscode, using moby
|
|
39
|
+
/bin/bash /tmp/library-scripts/docker-in-docker-debian.sh "true" "vscode" "true" \
|
|
40
|
+
# Install Yoeman, node.js modules
|
|
41
|
+
npm install -g yo && \
|
|
42
|
+
npm i -g yo generator-azure-iot-edge-module && \
|
|
43
|
+
# Install dotnet SDK
|
|
44
|
+
cd ~ && \
|
|
45
|
+
wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb && \
|
|
46
|
+
dpkg -i packages-microsoft-prod.deb && \
|
|
47
|
+
rm packages-microsoft-prod.deb && \
|
|
48
|
+
apt-get update && apt-get install -y apt-transport-https && \
|
|
49
|
+
apt-get update && apt-get install -y dotnet-sdk-${DOTNET_VERSION} && \
|
|
50
|
+
# Install Java JDK, Maven
|
|
51
|
+
apt-get install -y default-jdk=${JDK_VERSION} && \
|
|
52
|
+
apt-get install -y maven=${MAVEN_VERSION} && \
|
|
53
|
+
# Install bash completion
|
|
54
|
+
apt-get update && apt-get -y install bash-completion && \
|
|
55
|
+
# Clean up
|
|
56
|
+
apt-get autoremove -y && \
|
|
57
|
+
apt-get clean -y && \
|
|
58
|
+
rm -rf /tmp/* && \
|
|
59
|
+
rm -rf /var/lib/apt/lists/*
|
|
60
|
+
|
|
61
|
+
# customize vscode environmnet
|
|
62
|
+
USER vscode
|
|
63
|
+
RUN \
|
|
64
|
+
git clone https://github.com/magicmonty/bash-git-prompt.git $HOME/.bash-git-prompt --depth=1 && \
|
|
65
|
+
echo "\n# setup GIT prompt and completion\nif [ -f \"$HOME/.bash-git-prompt/gitprompt.sh\" ]; then\n GIT_PROMPT_ONLY_IN_REPO=1 && source $HOME/.bash-git-prompt/gitprompt.sh;\nfi" >> $HOME/.bashrc && \
|
|
66
|
+
echo "source /usr/share/bash-completion/bash_completion" >> $HOME/.bashrc && \
|
|
67
|
+
echo "\n# add local python programs to PATH\nexport PATH=$PATH:$HOME/.local/bin\n" >> $HOME/.bashrc && \
|
|
68
|
+
# enable some useful aliases
|
|
69
|
+
sed -i -e "s/#alias/alias/" $HOME/.bashrc && \
|
|
70
|
+
# add the cookiecutter
|
|
71
|
+
pip install cookiecutter
|
|
72
|
+
|
|
73
|
+
# launch docker-ce
|
|
74
|
+
ENTRYPOINT [ "/usr/local/share/docker-init.sh" ]
|
|
75
|
+
CMD [ "sleep", "infinity" ]
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
|
|
2
|
+
// https://github.com/microsoft/vscode-dev-containers/tree/v0.140.1/containers/dotnetcore
|
|
3
|
+
{
|
|
4
|
+
"name": "iotedgedev",
|
|
5
|
+
"build": {
|
|
6
|
+
"dockerfile": "Dockerfile",
|
|
7
|
+
"context": ".."
|
|
8
|
+
},
|
|
9
|
+
|
|
10
|
+
"runArgs": ["--init", "--privileged"],
|
|
11
|
+
"mounts": [
|
|
12
|
+
// Keep command history
|
|
13
|
+
"source=ostf-bashhistory,target=/commandhistory,type=volume",
|
|
14
|
+
// Use docker-in-docker socket
|
|
15
|
+
"source=dind-var-lib-docker,target=/var/lib/docker,type=volume"
|
|
16
|
+
],
|
|
17
|
+
|
|
18
|
+
"overrideCommand": false,
|
|
19
|
+
"postCreateCommand": "docker image prune -a -f && sudo chown vscode:users -R /home/vscode/Dev && pip install -r requirements_dev.txt && pip install -e .",
|
|
20
|
+
|
|
21
|
+
// Set *default* container specific settings.json values on container create.
|
|
22
|
+
"settings": {
|
|
23
|
+
"#terminal.integrated.defaultProfile.linux#": "/bin/bash"
|
|
24
|
+
},
|
|
25
|
+
|
|
26
|
+
// Add the IDs of extensions you want installed when the container is created.
|
|
27
|
+
"extensions": [
|
|
28
|
+
"ms-python.python",
|
|
29
|
+
"ms-azuretools.vscode-docker",
|
|
30
|
+
"redhat.vscode-yaml",
|
|
31
|
+
"mikestead.dotenv",
|
|
32
|
+
"streetsidesoftware.code-spell-checker",
|
|
33
|
+
"yzhang.markdown-all-in-one",
|
|
34
|
+
"davidanson.vscode-markdownlint"
|
|
35
|
+
],
|
|
36
|
+
|
|
37
|
+
"workspaceMount": "source=${localWorkspaceFolder},target=/home/vscode/Dev,type=bind,consistency=cached",
|
|
38
|
+
"workspaceFolder": "/home/vscode/Dev",
|
|
39
|
+
"remoteUser": "vscode"
|
|
40
|
+
}
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
#-------------------------------------------------------------------------------------------------------------
|
|
3
|
+
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
+
# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information.
|
|
5
|
+
#-------------------------------------------------------------------------------------------------------------
|
|
6
|
+
#
|
|
7
|
+
# Docs: https://github.com/microsoft/vscode-dev-containers/blob/main/script-library/docs/docker-in-docker.md
|
|
8
|
+
# Maintainer: The VS Code and Codespaces Teams
|
|
9
|
+
#
|
|
10
|
+
# Syntax: ./docker-in-docker-debian.sh [enable non-root docker access flag] [non-root user] [use moby]
|
|
11
|
+
|
|
12
|
+
ENABLE_NONROOT_DOCKER=${1:-"true"}
|
|
13
|
+
USERNAME=${2:-"automatic"}
|
|
14
|
+
USE_MOBY=${3:-"true"}
|
|
15
|
+
MICROSOFT_GPG_KEYS_URI="https://packages.microsoft.com/keys/microsoft.asc"
|
|
16
|
+
|
|
17
|
+
set -e
|
|
18
|
+
|
|
19
|
+
if [ "$(id -u)" -ne 0 ]; then
|
|
20
|
+
echo -e 'Script must be run as root. Use sudo, su, or add "USER root" to your Dockerfile before running this script.'
|
|
21
|
+
exit 1
|
|
22
|
+
fi
|
|
23
|
+
|
|
24
|
+
# Determine the appropriate non-root user
|
|
25
|
+
if [ "${USERNAME}" = "auto" ] || [ "${USERNAME}" = "automatic" ]; then
|
|
26
|
+
USERNAME=""
|
|
27
|
+
POSSIBLE_USERS=("vscode" "node" "codespace" "$(awk -v val=1000 -F ":" '$3==val{print $1}' /etc/passwd)")
|
|
28
|
+
for CURRENT_USER in ${POSSIBLE_USERS[@]}; do
|
|
29
|
+
if id -u ${CURRENT_USER} > /dev/null 2>&1; then
|
|
30
|
+
USERNAME=${CURRENT_USER}
|
|
31
|
+
break
|
|
32
|
+
fi
|
|
33
|
+
done
|
|
34
|
+
if [ "${USERNAME}" = "" ]; then
|
|
35
|
+
USERNAME=root
|
|
36
|
+
fi
|
|
37
|
+
elif [ "${USERNAME}" = "none" ] || ! id -u ${USERNAME} > /dev/null 2>&1; then
|
|
38
|
+
USERNAME=root
|
|
39
|
+
fi
|
|
40
|
+
|
|
41
|
+
# Get central common setting
|
|
42
|
+
get_common_setting() {
|
|
43
|
+
if [ "${common_settings_file_loaded}" != "true" ]; then
|
|
44
|
+
curl -sfL "https://aka.ms/vscode-dev-containers/script-library/settings.env" 2>/dev/null -o /tmp/vsdc-settings.env || echo "Could not download settings file. Skipping."
|
|
45
|
+
common_settings_file_loaded=true
|
|
46
|
+
fi
|
|
47
|
+
if [ -f "/tmp/vsdc-settings.env" ]; then
|
|
48
|
+
local multi_line=""
|
|
49
|
+
if [ "$2" = "true" ]; then multi_line="-z"; fi
|
|
50
|
+
local result="$(grep ${multi_line} -oP "$1=\"?\K[^\"]+" /tmp/vsdc-settings.env | tr -d '\0')"
|
|
51
|
+
if [ ! -z "${result}" ]; then declare -g $1="${result}"; fi
|
|
52
|
+
fi
|
|
53
|
+
echo "$1=${!1}"
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
# Function to run apt-get if needed
|
|
57
|
+
apt_get_update_if_needed()
|
|
58
|
+
{
|
|
59
|
+
if [ ! -d "/var/lib/apt/lists" ] || [ "$(ls /var/lib/apt/lists/ | wc -l)" = "0" ]; then
|
|
60
|
+
echo "Running apt-get update..."
|
|
61
|
+
apt-get update
|
|
62
|
+
else
|
|
63
|
+
echo "Skipping apt-get update."
|
|
64
|
+
fi
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
# Checks if packages are installed and installs them if not
|
|
68
|
+
check_packages() {
|
|
69
|
+
if ! dpkg -s "$@" > /dev/null 2>&1; then
|
|
70
|
+
apt_get_update_if_needed
|
|
71
|
+
apt-get -y install --no-install-recommends "$@"
|
|
72
|
+
fi
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
# Ensure apt is in non-interactive to avoid prompts
|
|
76
|
+
export DEBIAN_FRONTEND=noninteractive
|
|
77
|
+
|
|
78
|
+
# Install dependencies
|
|
79
|
+
check_packages apt-transport-https curl ca-certificates lxc pigz iptables gnupg2 dirmngr
|
|
80
|
+
|
|
81
|
+
# Swap to legacy iptables for compatibility
|
|
82
|
+
if type iptables-legacy > /dev/null 2>&1; then
|
|
83
|
+
update-alternatives --set iptables /usr/sbin/iptables-legacy
|
|
84
|
+
update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
|
|
85
|
+
fi
|
|
86
|
+
|
|
87
|
+
# Install Docker / Moby CLI if not already installed
|
|
88
|
+
architecture="$(dpkg --print-architecture)"
|
|
89
|
+
if type docker > /dev/null 2>&1 && type dockerd > /dev/null 2>&1; then
|
|
90
|
+
echo "Docker / Moby CLI and Engine already installed."
|
|
91
|
+
else
|
|
92
|
+
# Source /etc/os-release to get OS info
|
|
93
|
+
. /etc/os-release
|
|
94
|
+
if [ "${USE_MOBY}" = "true" ]; then
|
|
95
|
+
# Import key safely (new 'signed-by' method rather than deprecated apt-key approach) and install
|
|
96
|
+
get_common_setting MICROSOFT_GPG_KEYS_URI
|
|
97
|
+
curl -sSL ${MICROSOFT_GPG_KEYS_URI} | gpg --dearmor > /usr/share/keyrings/microsoft-archive-keyring.gpg
|
|
98
|
+
echo "deb [arch=${architecture} signed-by=/usr/share/keyrings/microsoft-archive-keyring.gpg] https://packages.microsoft.com/repos/microsoft-${ID}-${VERSION_CODENAME}-prod ${VERSION_CODENAME} main" > /etc/apt/sources.list.d/microsoft.list
|
|
99
|
+
apt-get update
|
|
100
|
+
apt-get -y install --no-install-recommends moby-cli moby-buildx moby-engine
|
|
101
|
+
apt-get -y install --no-install-recommends moby-compose || echo "(*) Package moby-compose (Docker Compose v2) not available for ${VERSION_CODENAME} ${architecture}. Skipping."
|
|
102
|
+
else
|
|
103
|
+
# Import key safely (new 'signed-by' method rather than deprecated apt-key approach) and install
|
|
104
|
+
curl -fsSL https://download.docker.com/linux/${ID}/gpg | gpg --dearmor > /usr/share/keyrings/docker-archive-keyring.gpg
|
|
105
|
+
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/${ID} ${VERSION_CODENAME} stable" > /etc/apt/sources.list.d/docker.list
|
|
106
|
+
apt-get update
|
|
107
|
+
apt-get -y install --no-install-recommends docker-ce-cli docker-ce
|
|
108
|
+
fi
|
|
109
|
+
fi
|
|
110
|
+
|
|
111
|
+
echo "Finished installing docker / moby"
|
|
112
|
+
|
|
113
|
+
# Install Docker Compose if not already installed and is on a supported architecture
|
|
114
|
+
if type docker-compose > /dev/null 2>&1; then
|
|
115
|
+
echo "Docker Compose already installed."
|
|
116
|
+
else
|
|
117
|
+
target_compose_arch="${architecture}"
|
|
118
|
+
if [ "${target_compose_arch}" != "x86_64" ]; then
|
|
119
|
+
# Use pip to get a version that runns on this architecture
|
|
120
|
+
if ! dpkg -s python3-minimal python3-pip libffi-dev python3-venv > /dev/null 2>&1; then
|
|
121
|
+
apt_get_update_if_needed
|
|
122
|
+
apt-get -y install python3-minimal python3-pip libffi-dev python3-venv
|
|
123
|
+
fi
|
|
124
|
+
export PIPX_HOME=/usr/local/pipx
|
|
125
|
+
mkdir -p ${PIPX_HOME}
|
|
126
|
+
export PIPX_BIN_DIR=/usr/local/bin
|
|
127
|
+
export PYTHONUSERBASE=/tmp/pip-tmp
|
|
128
|
+
export PIP_CACHE_DIR=/tmp/pip-tmp/cache
|
|
129
|
+
pipx_bin=pipx
|
|
130
|
+
if ! type pipx > /dev/null 2>&1; then
|
|
131
|
+
pip3 install --disable-pip-version-check --no-warn-script-location --no-cache-dir --user pipx
|
|
132
|
+
pipx_bin=/tmp/pip-tmp/bin/pipx
|
|
133
|
+
fi
|
|
134
|
+
${pipx_bin} install --system-site-packages --pip-args '--no-cache-dir --force-reinstall' docker-compose
|
|
135
|
+
rm -rf /tmp/pip-tmp
|
|
136
|
+
else
|
|
137
|
+
latest_compose_version=$(basename "$(curl -fsSL -o /dev/null -w "%{url_effective}" https://github.com/docker/compose/releases/latest)")
|
|
138
|
+
curl -fsSL "https://github.com/docker/compose/releases/download/${latest_compose_version}/docker-compose-$(uname -s)-${target_compose_arch}" -o /usr/local/bin/docker-compose
|
|
139
|
+
chmod +x /usr/local/bin/docker-compose
|
|
140
|
+
fi
|
|
141
|
+
fi
|
|
142
|
+
|
|
143
|
+
# If init file already exists, exit
|
|
144
|
+
if [ -f "/usr/local/share/docker-init.sh" ]; then
|
|
145
|
+
echo "/usr/local/share/docker-init.sh already exists, so exiting."
|
|
146
|
+
exit 0
|
|
147
|
+
fi
|
|
148
|
+
echo "docker-init doesnt exist..."
|
|
149
|
+
|
|
150
|
+
# Add user to the docker group
|
|
151
|
+
if [ "${ENABLE_NONROOT_DOCKER}" = "true" ]; then
|
|
152
|
+
if ! getent group docker > /dev/null 2>&1; then
|
|
153
|
+
groupadd docker
|
|
154
|
+
fi
|
|
155
|
+
|
|
156
|
+
usermod -aG docker ${USERNAME}
|
|
157
|
+
fi
|
|
158
|
+
|
|
159
|
+
tee /usr/local/share/docker-init.sh > /dev/null \
|
|
160
|
+
<< 'EOF'
|
|
161
|
+
#!/usr/bin/env bash
|
|
162
|
+
#-------------------------------------------------------------------------------------------------------------
|
|
163
|
+
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
164
|
+
# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information.
|
|
165
|
+
#-------------------------------------------------------------------------------------------------------------
|
|
166
|
+
|
|
167
|
+
sudoIf()
|
|
168
|
+
{
|
|
169
|
+
if [ "$(id -u)" -ne 0 ]; then
|
|
170
|
+
sudo "$@"
|
|
171
|
+
else
|
|
172
|
+
"$@"
|
|
173
|
+
fi
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
# explicitly remove dockerd and containerd PID file to ensure that it can start properly if it was stopped uncleanly
|
|
177
|
+
# ie: docker kill <ID>
|
|
178
|
+
sudoIf find /run /var/run -iname 'docker*.pid' -delete || :
|
|
179
|
+
sudoIf find /run /var/run -iname 'container*.pid' -delete || :
|
|
180
|
+
|
|
181
|
+
set -e
|
|
182
|
+
|
|
183
|
+
## Dind wrapper script from docker team
|
|
184
|
+
# Maintained: https://github.com/moby/moby/blob/master/hack/dind
|
|
185
|
+
|
|
186
|
+
export container=docker
|
|
187
|
+
|
|
188
|
+
if [ -d /sys/kernel/security ] && ! sudoIf mountpoint -q /sys/kernel/security; then
|
|
189
|
+
sudoIf mount -t securityfs none /sys/kernel/security || {
|
|
190
|
+
echo >&2 'Could not mount /sys/kernel/security.'
|
|
191
|
+
echo >&2 'AppArmor detection and --privileged mode might break.'
|
|
192
|
+
}
|
|
193
|
+
fi
|
|
194
|
+
|
|
195
|
+
# Mount /tmp (conditionally)
|
|
196
|
+
if ! sudoIf mountpoint -q /tmp; then
|
|
197
|
+
sudoIf mount -t tmpfs none /tmp
|
|
198
|
+
fi
|
|
199
|
+
|
|
200
|
+
# cgroup v2: enable nesting
|
|
201
|
+
if [ -f /sys/fs/cgroup/cgroup.controllers ]; then
|
|
202
|
+
# move the init process (PID 1) from the root group to the /init group,
|
|
203
|
+
# otherwise writing subtree_control fails with EBUSY.
|
|
204
|
+
sudoIf mkdir -p /sys/fs/cgroup/init
|
|
205
|
+
sudoIf echo 1 > /sys/fs/cgroup/init/cgroup.procs
|
|
206
|
+
# enable controllers
|
|
207
|
+
sudoIf sed -e 's/ / +/g' -e 's/^/+/' < /sys/fs/cgroup/cgroup.controllers \
|
|
208
|
+
> /sys/fs/cgroup/cgroup.subtree_control
|
|
209
|
+
fi
|
|
210
|
+
## Dind wrapper over.
|
|
211
|
+
|
|
212
|
+
# Handle DNS
|
|
213
|
+
set +e
|
|
214
|
+
cat /etc/resolv.conf | grep -i 'internal.cloudapp.net'
|
|
215
|
+
if [ $? -eq 0 ]
|
|
216
|
+
then
|
|
217
|
+
echo "Setting dockerd Azure DNS."
|
|
218
|
+
CUSTOMDNS="--dns 168.63.129.16"
|
|
219
|
+
else
|
|
220
|
+
echo "Not setting dockerd DNS manually."
|
|
221
|
+
CUSTOMDNS=""
|
|
222
|
+
fi
|
|
223
|
+
set -e
|
|
224
|
+
|
|
225
|
+
# Start docker/moby engine
|
|
226
|
+
( sudoIf dockerd $CUSTOMDNS > /tmp/dockerd.log 2>&1 ) &
|
|
227
|
+
|
|
228
|
+
set +e
|
|
229
|
+
|
|
230
|
+
# Execute whatever commands were passed in (if any). This allows us
|
|
231
|
+
# to set this script to ENTRYPOINT while still executing the default CMD.
|
|
232
|
+
exec "$@"
|
|
233
|
+
EOF
|
|
234
|
+
|
|
235
|
+
chmod +x /usr/local/share/docker-init.sh
|
|
236
|
+
chown ${USERNAME}:root /usr/local/share/docker-init.sh
|
s/.env.tmp
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
#
|
|
2
|
+
# CONNECTION STRINGS
|
|
3
|
+
#
|
|
4
|
+
|
|
5
|
+
IOTHUB_CONNECTION_STRING=""
|
|
6
|
+
|
|
7
|
+
DEVICE_CONNECTION_STRING=""
|
|
8
|
+
|
|
9
|
+
#
|
|
10
|
+
# CONTAINER REGISTRY
|
|
11
|
+
#
|
|
12
|
+
# Settings for your default container registry.
|
|
13
|
+
# - Local Registry: Set CONTAINER_REGISTRY_SERVER to "localhost:5000" - USERNAME/PASSWORD are not required.
|
|
14
|
+
# - Azure Container Registry: Set CONTAINER_REGISTRY_SERVER to "myregistry.azurecr.io". USERNAME/PASSWORD are required.
|
|
15
|
+
# - Docker Hub: Set CONTAINER_REGISTRY_SERVER and CONTAINER_REGISTRY_USERNAME to your Docker Hub username. Set CONTAINER_REGISTRY_PASSWORD to your Docker Hub password.
|
|
16
|
+
|
|
17
|
+
CONTAINER_REGISTRY_SERVER="localhost:5000"
|
|
18
|
+
CONTAINER_REGISTRY_USERNAME=""
|
|
19
|
+
CONTAINER_REGISTRY_PASSWORD=""
|
|
20
|
+
|
|
21
|
+
# To specify additional container registries ensure the prefix is CONTAINER_REGISTRY_SERVER_, CONTAINER_REGISTRY_USERNAME_, CONTAINER_REGISTRY_PASSWORD_
|
|
22
|
+
# And the token following the prefix uniquely associates the SERVER/USERNAME/PASSWORD
|
|
23
|
+
# Token can be any string of alphanumeric characters
|
|
24
|
+
|
|
25
|
+
# CONTAINER_REGISTRY_SERVER_2=""
|
|
26
|
+
# CONTAINER_REGISTRY_USERNAME_2=""
|
|
27
|
+
# CONTAINER_REGISTRY_PASSWORD_2=""
|
|
28
|
+
|
|
29
|
+
#
|
|
30
|
+
# HOST
|
|
31
|
+
#
|
|
32
|
+
|
|
33
|
+
EDGE_RUNTIME_VERSION="1.2"
|
|
34
|
+
EDGEAGENT_SCHEMA_VERSION="1.1"
|
|
35
|
+
EDGEHUB_SCHEMA_VERSION="1.2"
|
|
36
|
+
|
|
37
|
+
#
|
|
38
|
+
# MODULES
|
|
39
|
+
#
|
|
40
|
+
|
|
41
|
+
BYPASS_MODULES=""
|
|
42
|
+
# "" - to build all modules
|
|
43
|
+
# "*" - to bypass all modules
|
|
44
|
+
# "filtermodule, module1" - Comma delimited list of modules to bypass when building
|
|
45
|
+
|
|
46
|
+
ACTIVE_DOCKER_PLATFORMS=""
|
|
47
|
+
# "" - to only build platforms specified in DEPLOYMENT_CONFIG_TEMPLATE_FILE
|
|
48
|
+
# "*" - to build all platforms
|
|
49
|
+
# "amd64,amd64.debug" - Comma delimited list of platforms to build
|
|
50
|
+
|
|
51
|
+
CONTAINER_TAG=""
|
|
52
|
+
|
|
53
|
+
#
|
|
54
|
+
# IOTHUB DEPLOYMENT
|
|
55
|
+
#
|
|
56
|
+
|
|
57
|
+
IOTHUB_DEPLOYMENT_TARGET_CONDITION=""
|
|
58
|
+
# To specifiy the target condition of a IoT Hub deployment
|
|
59
|
+
# Required when creating a deployment on IoT Hub
|
|
60
|
+
# Examples:
|
|
61
|
+
# IOTHUB_DEPLOYMENT_TARGET_CONDITION="tags.environment='dev'"
|
|
62
|
+
# IOTHUB_DEPLOYMENT_TARGET_CONDITION="tags.building=9 and tags.environment='test'"
|
|
63
|
+
|
|
64
|
+
#
|
|
65
|
+
# SOLUTION SETTINGS
|
|
66
|
+
#
|
|
67
|
+
|
|
68
|
+
CONFIG_OUTPUT_DIR="config"
|
|
69
|
+
DEPLOYMENT_CONFIG_TEMPLATE_FILE="deployment.template.json"
|
|
70
|
+
DEPLOYMENT_CONFIG_DEBUG_TEMPLATE_FILE="deployment.debug.template.json"
|
|
71
|
+
DEFAULT_PLATFORM="amd64"
|
|
72
|
+
MODULES_PATH="modules"
|
|
73
|
+
LOGS_PATH="logs"
|
|
74
|
+
DEVICE_TAGS=""
|
|
75
|
+
# To specifiy the tags for an edge device
|
|
76
|
+
# Examples:
|
|
77
|
+
# DEVICE_TAGS="{"environment":"dev"}"
|
|
78
|
+
# DEVICE_TAGS="{"environment":"dev", "building":"9"}"
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
#
|
|
82
|
+
# DOCKER LOGS COMMAND
|
|
83
|
+
#
|
|
84
|
+
# Command used when calling iotedgedev docker --logs or --show-logs
|
|
85
|
+
|
|
86
|
+
LOGS_CMD="start /B start cmd.exe @cmd /k docker logs {0} -f"
|
|
87
|
+
# "start /B start cmd.exe @cmd /k docker logs {0} -f" - for CMD
|
|
88
|
+
# "docker logs {0} -f -new_console:sV" - for ConEmu
|
|
89
|
+
|
|
90
|
+
#
|
|
91
|
+
# AZURE SETTINGS
|
|
92
|
+
#
|
|
93
|
+
# These settings will override parameters to the `iotedgedev azure --setup` command.
|
|
94
|
+
# CREDENTIALS="username password"
|
|
95
|
+
# SERVICE_PRINCIPAL="username password tenant"
|
|
96
|
+
# RESOURCE_GROUP_LOCATION="australiaeast|australiasoutheast|brazilsouth|canadacentral|canadaeast|centralindia|centralus|eastasia|eastus|eastus2|japanwest|japaneast|northeurope|northcentralus|southindia|uksouth|ukwest|westus|westeurope|southcentralus|westcentralus|westus2"
|
|
97
|
+
# IOTHUB_SKU="F1|S1|S2|S3"
|
|
98
|
+
# UPDATE_DOTENV="True|False"
|
|
99
|
+
|
|
100
|
+
SUBSCRIPTION_ID=""
|
|
101
|
+
RESOURCE_GROUP_NAME=""
|
|
102
|
+
RESOURCE_GROUP_LOCATION=""
|
|
103
|
+
IOTHUB_NAME=""
|
|
104
|
+
IOTHUB_SKU=""
|
|
105
|
+
EDGE_DEVICE_ID=""
|
|
106
|
+
CREDENTIALS=""
|
|
107
|
+
SERVICE_PRINCIPAL=""
|
|
108
|
+
UPDATE_DOTENV=""
|
s/.git/FETCH_HEAD
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
f28b9ff2015dc3362461ede5d3633d6ba6ea5750 'f28b9ff2015dc3362461ede5d3633d6ba6ea5750' of https://github.com/Azure/iotedgedev
|
|
2
|
+
ecbf26c295b01842d2669a8b1369217b94652210 not-for-merge tag 'v0.49.0' of https://github.com/Azure/iotedgedev
|
|
3
|
+
8057fa1912603f8de1d3ea5dce945276a188a7a3 not-for-merge tag 'v0.50.0' of https://github.com/Azure/iotedgedev
|
|
4
|
+
687bb8eae441816dfa427fab86844e24f63eb615 not-for-merge tag 'v0.51.0' of https://github.com/Azure/iotedgedev
|
|
5
|
+
772aa5d68dd67870e5e860dc018c8ddd25bbbf22 not-for-merge tag 'v0.52.0' of https://github.com/Azure/iotedgedev
|
|
6
|
+
afda12086e264875f567aa6c805f43528097facc not-for-merge tag 'v0.53.0' of https://github.com/Azure/iotedgedev
|
|
7
|
+
bb6c64a4b26ceb0c04fed58c7484857f7950a902 not-for-merge tag 'v0.54.0' of https://github.com/Azure/iotedgedev
|
|
8
|
+
cc3bcf2c305f0136a08a76c83bf2743a0c42d6cc not-for-merge tag 'v0.55.0' of https://github.com/Azure/iotedgedev
|
|
9
|
+
0c7e0c43d71e00e0618740cce29f147467672182 not-for-merge tag 'v0.56.0' of https://github.com/Azure/iotedgedev
|
|
10
|
+
4bbeaba06c4fdeed44622675101353122d7cb20a not-for-merge tag 'v0.57.0' of https://github.com/Azure/iotedgedev
|
|
11
|
+
32a4145909d30baf07840458c83f3bb8b044a960 not-for-merge tag 'v0.58.0' of https://github.com/Azure/iotedgedev
|
|
12
|
+
b9dbaa1ea302f229235fba99238433f42175c3d9 not-for-merge tag 'v0.59.0' of https://github.com/Azure/iotedgedev
|
|
13
|
+
5aece65fefb191a5b27a7586cc583cd7a4470ce0 not-for-merge tag 'v0.60.0' of https://github.com/Azure/iotedgedev
|
|
14
|
+
3bd4fc00430b6d837b9874c6b119f80595bb8956 not-for-merge tag 'v0.61.0' of https://github.com/Azure/iotedgedev
|
|
15
|
+
734455c9ca9c2d46d9f20da944f1c490a9d79c60 not-for-merge tag 'v0.62.0' of https://github.com/Azure/iotedgedev
|
|
16
|
+
14e472951ffacc2c771878847e95d2c73939c6cb not-for-merge tag 'v0.63.0' of https://github.com/Azure/iotedgedev
|
|
17
|
+
aab5f3ee6561bf4222767e372ba84f00b8eee37d not-for-merge tag 'v0.64.0' of https://github.com/Azure/iotedgedev
|
|
18
|
+
75fc2fd1ecb20fafc4867f259541c9c5129c9287 not-for-merge tag 'v0.65.0' of https://github.com/Azure/iotedgedev
|
|
19
|
+
c494b427bd59e01ab858396c18f47674fab68dea not-for-merge tag 'v0.66.0' of https://github.com/Azure/iotedgedev
|
|
20
|
+
f7b2e36106cc14d37218a878e358ba7a2a816c9d not-for-merge tag 'v0.67.0' of https://github.com/Azure/iotedgedev
|
|
21
|
+
d3ce0f1a05954cf83a105d64d4659d6887098c31 not-for-merge tag 'v0.68.0' of https://github.com/Azure/iotedgedev
|
|
22
|
+
f3eb3c761575aea1dba1e52059f18d8f7217e08c not-for-merge tag 'v0.69.0' of https://github.com/Azure/iotedgedev
|
|
23
|
+
9af2fbbf9414f73a5467c42c06a9aec4e98f004e not-for-merge tag 'v0.70.0' of https://github.com/Azure/iotedgedev
|
|
24
|
+
8665b15397ec9b4d9e7b1aead506d31c62e64191 not-for-merge tag 'v0.71.0' of https://github.com/Azure/iotedgedev
|
|
25
|
+
2d1e2170dda541f2257e821a39c1afccfe332aa3 not-for-merge tag 'v0.72.0' of https://github.com/Azure/iotedgedev
|
|
26
|
+
7917f1ed4b80e4291f23407968e2806977338037 not-for-merge tag 'v0.73.0' of https://github.com/Azure/iotedgedev
|
|
27
|
+
899893e7e27340eade089b41990ae55358b04754 not-for-merge tag 'v0.74.0' of https://github.com/Azure/iotedgedev
|
|
28
|
+
6744006cb5c730d59087f2cffb0df00b7c91e1fc not-for-merge tag 'v0.75.0' of https://github.com/Azure/iotedgedev
|
|
29
|
+
e53f0e2cf92450b3e4edae5f1f55937aaea14534 not-for-merge tag 'v0.76.0' of https://github.com/Azure/iotedgedev
|
|
30
|
+
3b7ee5213563bdef7ae01ec3a2aff1d542e7f71a not-for-merge tag 'v0.77.0' of https://github.com/Azure/iotedgedev
|
|
31
|
+
d1d0ed4ca3b1516678429e830f9e41d338e4c5a8 not-for-merge tag 'v0.78.0' of https://github.com/Azure/iotedgedev
|
|
32
|
+
b8c74e0ae3af92ddb44c2b704c8185120ae0d9a1 not-for-merge tag 'v0.79.0' of https://github.com/Azure/iotedgedev
|
|
33
|
+
70747a730d4cd21d77768b55735467e0d13540db not-for-merge tag 'v0.82.0' of https://github.com/Azure/iotedgedev
|
|
34
|
+
635865540fb0e29a2dee828ab63264511f81ac77 not-for-merge tag 'v0.82.0-container' of https://github.com/Azure/iotedgedev
|
|
35
|
+
b058cd704c2648b9624d6f43ccb0e77fe40db0fa not-for-merge tag 'v1.0.0' of https://github.com/Azure/iotedgedev
|
|
36
|
+
f2348ae31e1820a423b969d1fcc47be49e64b47c not-for-merge tag 'v1.1.0' of https://github.com/Azure/iotedgedev
|
|
37
|
+
4bace0e6ae3b80c7de34cb37a6bc7ba87a94353e not-for-merge tag 'v1.2.0' of https://github.com/Azure/iotedgedev
|
|
38
|
+
3da6608638420e72ae55f2f1e9a8224542d48b9e not-for-merge tag 'v1.3.0' of https://github.com/Azure/iotedgedev
|
|
39
|
+
0a6dcaba871e518fd7eba7af2e943b5c2bf5e694 not-for-merge tag 'v2.0.0' of https://github.com/Azure/iotedgedev
|
|
40
|
+
01bf83cdb2c26ba6331b459faab8ab3852ce2127 not-for-merge tag 'v2.0.1' of https://github.com/Azure/iotedgedev
|
|
41
|
+
36312130134984ef27afd8bceb0ea4eb66b13884 not-for-merge tag 'v2.0.2' of https://github.com/Azure/iotedgedev
|
|
42
|
+
66b1055d0dc4f45999e0dd7a94b462f5ae42ee1e not-for-merge tag 'v2.1.0' of https://github.com/Azure/iotedgedev
|
|
43
|
+
93e18b0b6dfd92031727e19514f786569b56e1ca not-for-merge tag 'v2.1.1' of https://github.com/Azure/iotedgedev
|
|
44
|
+
2517a2bd6ded4db2990f4b23faa5ceaf36cfdde2 not-for-merge tag 'v2.1.2' of https://github.com/Azure/iotedgedev
|
|
45
|
+
abebb959c3935d69205dc2f2fc77b9daf08a74e8 not-for-merge tag 'v2.1.3' of https://github.com/Azure/iotedgedev
|
|
46
|
+
3bab87fb18e6a272f83fb7f0eab6b1a577d24833 not-for-merge tag 'v2.1.4' of https://github.com/Azure/iotedgedev
|
|
47
|
+
addfd992a67912f145998c4eaabe955904e76bb0 not-for-merge tag 'v2.1.6' of https://github.com/Azure/iotedgedev
|
|
48
|
+
e6f07473e518036cb0ba1c6fb8f44443056d99b5 not-for-merge tag 'v2.2.0' of https://github.com/Azure/iotedgedev
|
|
49
|
+
eaae2fe4f468e03aed197608afda9c3afa2ba519 not-for-merge tag 'v3.0.0' of https://github.com/Azure/iotedgedev
|
|
50
|
+
3c77e922272d641f3175ead6c7515467838beecf not-for-merge tag 'v3.0.0-rc' of https://github.com/Azure/iotedgedev
|
|
51
|
+
1c06b83c8b8b85f46eefd754f3243736693d5826 not-for-merge tag 'v3.1.0' of https://github.com/Azure/iotedgedev
|
|
52
|
+
20f851c9961493644e1bd360c050228ca2d9378a not-for-merge tag 'v3.1.1' of https://github.com/Azure/iotedgedev
|
|
53
|
+
29b55a2ee6fbb74ac8f069f6049b7eb29ee86018 not-for-merge tag 'v3.1.2' of https://github.com/Azure/iotedgedev
|
|
54
|
+
d46c13e978018dc27e9140546a4a1bb3349c85a1 not-for-merge tag 'v3.2.0' of https://github.com/Azure/iotedgedev
|
|
55
|
+
7b5c872264ba360d71e93c48f1714f0e2588b5f5 not-for-merge tag 'v3.2.0rc0' of https://github.com/Azure/iotedgedev
|
|
56
|
+
33aa231e90673514290e4e44c94a8d643f1dc293 not-for-merge tag 'v3.3.0' of https://github.com/Azure/iotedgedev
|
|
57
|
+
7ef7125fcd10b835b540f6f66666b464662a7f7d not-for-merge tag 'v3.3.1' of https://github.com/Azure/iotedgedev
|
|
58
|
+
cfebd97a86e3d9c10a199c58feea5f00a4201127 not-for-merge tag 'v3.3.2' of https://github.com/Azure/iotedgedev
|
|
59
|
+
db420607db777f90eb178635bd8c33ad2c21f242 not-for-merge tag 'v3.3.3' of https://github.com/Azure/iotedgedev
|
|
60
|
+
50459b5a8ec73e5629bf5b88136fce95b9083e90 not-for-merge tag 'v3.3.3-rc0' of https://github.com/Azure/iotedgedev
|
|
61
|
+
f28b9ff2015dc3362461ede5d3633d6ba6ea5750 not-for-merge tag 'v3.3.4' of https://github.com/Azure/iotedgedev
|
s/.git/HEAD
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
f28b9ff2015dc3362461ede5d3633d6ba6ea5750
|
s/.git/config
ADDED
s/.git/description
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Unnamed repository; edit this file 'description' to name the repository.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
#
|
|
3
|
+
# An example hook script to check the commit log message taken by
|
|
4
|
+
# applypatch from an e-mail message.
|
|
5
|
+
#
|
|
6
|
+
# The hook should exit with non-zero status after issuing an
|
|
7
|
+
# appropriate message if it wants to stop the commit. The hook is
|
|
8
|
+
# allowed to edit the commit message file.
|
|
9
|
+
#
|
|
10
|
+
# To enable this hook, rename this file to "applypatch-msg".
|
|
11
|
+
|
|
12
|
+
. git-sh-setup
|
|
13
|
+
commitmsg="$(git rev-parse --git-path hooks/commit-msg)"
|
|
14
|
+
test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"}
|
|
15
|
+
:
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
#
|
|
3
|
+
# An example hook script to check the commit log message.
|
|
4
|
+
# Called by "git commit" with one argument, the name of the file
|
|
5
|
+
# that has the commit message. The hook should exit with non-zero
|
|
6
|
+
# status after issuing an appropriate message if it wants to stop the
|
|
7
|
+
# commit. The hook is allowed to edit the commit message file.
|
|
8
|
+
#
|
|
9
|
+
# To enable this hook, rename this file to "commit-msg".
|
|
10
|
+
|
|
11
|
+
# Uncomment the below to add a Signed-off-by line to the message.
|
|
12
|
+
# Doing this in a hook is a bad idea in general, but the prepare-commit-msg
|
|
13
|
+
# hook is more suited to it.
|
|
14
|
+
#
|
|
15
|
+
# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
|
|
16
|
+
# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
|
|
17
|
+
|
|
18
|
+
# This example catches duplicate Signed-off-by lines.
|
|
19
|
+
|
|
20
|
+
test "" = "$(grep '^Signed-off-by: ' "$1" |
|
|
21
|
+
sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
|
|
22
|
+
echo >&2 Duplicate Signed-off-by lines.
|
|
23
|
+
exit 1
|
|
24
|
+
}
|