Skip to content

Commit

Permalink
Resolved merge conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
ethanperry1 committed Nov 15, 2023
2 parents 9e09dd4 + 67a4328 commit fbddfca
Show file tree
Hide file tree
Showing 155 changed files with 1,873 additions and 486 deletions.
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
name: callout_build
name: http_grpc_callout_build

on:
workflow_dispatch:
push:
tags:
- 'v*.*.*-callout'
- 'v*.*.*-http-grpc-callout'

jobs:
call-docker-build:
uses: ./.github/workflows/docker_build.yml
with:
registry: makocr.azurecr.io/callout
file: samples/callout/Dockerfile
registry: makocr.azurecr.io/http-grpc-callout
file: samples/http-grpc-callout/Dockerfile
context: .
secrets:
azureCredentials: ${{ secrets.AZURE_CREDENTIALS }}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
name: krill_test
name: http_grpc_callout_test

on:
workflow_dispatch:
push:
paths:
- samples/callout/**
- samples/http-grpc-callout/**

jobs:
call-mage-test:
uses: ./.github/workflows/mage_tests.yml
with:
workdir: samples/callout/
workdir: samples/http-grpc-callout/
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
name: krill_build
name: industrial_data_simulator_build

on:
workflow_dispatch:
push:
tags:
- 'v*.*.*-krill'
- 'v*.*.*-industrial-data-simulator'

jobs:
call-docker-build:
uses: ./.github/workflows/docker_build.yml
with:
registry: makocr.azurecr.io/krill
file: samples/krill/Dockerfile
registry: makocr.azurecr.io/industrial-data-simulator
file: samples/industrial-data-simulator/Dockerfile
context: .
secrets:
azureCredentials: ${{ secrets.AZURE_CREDENTIALS }}
Expand Down
13 changes: 13 additions & 0 deletions .github/workflows/industrial_data_simulator_test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: industrial_data_simulator_test

on:
workflow_dispatch:
push:
paths:
- samples/industrial-data-simulator/**

jobs:
call-mage-test:
uses: ./.github/workflows/mage_tests.yml
with:
workdir: samples/industrial-data-simulator/
13 changes: 0 additions & 13 deletions .github/workflows/krill_test.yml

This file was deleted.

9 changes: 9 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Microsoft Open Source Code of Conduct

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).

Resources:

- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
- Contact [[email protected]](mailto:[email protected]) with questions or concerns
27 changes: 11 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
# Azure IoT Operations Dev Toolbox
# Explore IoT Operations

This repo is the source of tools, samples, and other resources for customers of Azure IoT Operations.
This repo is the source of tools, samples, tutorials, and other resources for customers of Azure IoT Operations.

## Features

This project provides the following tools:
This project provides the following:

* Pre-configured codespace with [K3s](https://k3s.io/) cluster via [K3d](https://k3d.io/)
* Krill MQTT Data Simulator
* HTTP Callout Server
* GRPC Callout Server
* MQTT Device Simulator
* HTTP & GRPC Callout Server

> [!IMPORTANT]
> Codespaces are easy to setup quickly and tear down later, but they're not suitable for performance evaluation or scale testing. For those scenarios, use a validated environment from the official documentation.
Expand All @@ -30,18 +29,14 @@ This project provides the following tools:
az connectedk8s connect --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --subscription $SUBSCRIPTION_ID --location $REGION
```

1. Follow Azure IoT Operations docs to finish deploying.
1. Follow [Azure IoT Operations docs](https://learn.microsoft.com/azure/iot-operations/get-started/quickstart-deploy?branch=release-alice-springs&tabs=codespaces) to finish deploying.

1. (Add Krill and other instructions)
1. Explore!

## Resources

(Any additional resources or related projects)
## Contributing

- Link to supporting information
- Link to similar sample
- ...
Please view the developer guides in the docs directory to get started with contributions. Get started with the [Organization docs](./docs/ORGANIZATION.md) and [Code of Conduct](CODE_OF_CONDUCT.md).

## Contributing
## Trademark Notice

Please view the developer guides in the docs directory to get started with contributions. Get started with the [Organization docs](./docs/ORGANIZATION.md).
Trademarks This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft’s Trademark & Brand Guidelines](https://www.microsoft.com/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party’s policies.
41 changes: 41 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<!-- BEGIN MICROSOFT SECURITY.MD V0.0.9 BLOCK -->

## Security

Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet) and [Xamarin](https://github.com/xamarin).

If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/security.md/definition), please report it to us as described below.

## Reporting Security Issues

**Please do not report security vulnerabilities through public GitHub issues.**

Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/security.md/msrc/create-report).

If you prefer to submit without logging in, send email to [[email protected]](mailto:[email protected]). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/security.md/msrc/pgp).

You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc).

Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:

* Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
* Full paths of source file(s) related to the manifestation of the issue
* The location of the affected source code (tag/branch/commit or direct URL)
* Any special configuration required to reproduce the issue
* Step-by-step instructions to reproduce the issue
* Proof-of-concept or exploit code (if possible)
* Impact of the issue, including how an attacker might exploit the issue

This information will help us triage your report more quickly.

If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/security.md/msrc/bounty) page for more details about our active programs.

## Preferred Languages

We prefer all communications to be in English.

## Policy

Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/security.md/cvd).

<!-- END MICROSOFT SECURITY.MD BLOCK -->
56 changes: 16 additions & 40 deletions docs/ORGANIZATION.md
Original file line number Diff line number Diff line change
@@ -1,55 +1,31 @@
# Toolbox Organization
# Explore IoT Operations Organization

## Structure

The AIO toolbox is a collection of several tools for customers of AIO. To keep the project understandable and extensible to future additions, the following conventions should be followed for repository structure.
Explore IoT Operations is a collection of tools and samples for customers of Azure IoT Operations. To keep the project understandable and extensible to future additions, the following conventions should be followed for repository structure.

```
├── lib
│ ├── library1
├── lib/
│ ├── library1/
│ ├── ...
│ ├── libraryN
├── samples
│ ├── tool1
│ │ ├── config.yml
│ │ ├── config.json
│ ├── libraryN/
├── samples/
│ ├── sample1/
│ ├── ...
│ ├── toolN
├── tools
│ ├── tool1
│ │ ├── cmd
│ │ │ ├── main.go
│ │ ├── pkg
│ │ │ ├── pkg1
│ ├── ...
│ ├── toolN
├── docker
│ ├── tool1
│ │ ├── Dockerfile
│ ├── ...
│ ├── toolN
├── go.mod
├── go.sum
├── magefile.go
│ ├── sampleN/
├── scripts/
├── tutorials/
└── README.md
```

__Libraries__ which are shared between multiple tools should be stored in the lib directory. This library can be incorporated into projects beyond AIO tools and such documentation will be available on the _go.dev_ documentation site.

__Samples__ are configuration files which have been created for specific sample usages of a tool. Multiple configuration files can live in each sample folder for different samples which utilize the same tool.

__Tools__ are AIO specific tools which may have their own internal packages stored within the pkg folder. Other top-level folders in each tool are allowed, though it is recommended to minimize the number of top-level folders. Each tool must also have its own cmd directory where the entrypoint is located.

__Dockerfiles__ for relavent docker images are stored for each tool under the docker directory. They are siloed into their own directories for each tool.

__Mage Commands__ are located within the magefile.go. Mage commands should be written in such a way that they apply to any given tool based on a parameter. Mage commands should not be targeted at a specific tool itself. If such a command is required, a magefile within the tool directory should be produced.
**Libraries** (`./lib`) are shared between multiple tools or samples.

## Linting & Formatting Requirements
**Samples** (`./samples`) are tools or code samples which can be written in any language. They should be given a descriptive name which adequately describes their purpose, and should include some level of documentation regarding their usage.

Linting and formatting rules are applied to all tools and libraries based on a linting configuration set up and applied via mage commands.
**Scripts** (`./scripts`) are bash scripts smaller than a tool or sample which are in some way used for setup.

## Example Tool
**Tutorials** (`./tutorials`) are collections of code and documentation which are used together to provide a step-by-step walkthrough to demonstrate the capabilities of some feature of Azure IoT Operations. These typically serve a more narrow scope than that of a tool or code sample, designed to exercise specific facets of Azure IoT Operations.

Please view the example tool in `tools/example` for an example of how to contribute a new tool to the AIO toolbox.
## Linting, Formatting, and Testing Requirements

_Note_: tools can be written in any language including minimal tools such as bash scripts. The tools are written in golang in this document for example purposes.
Linting, formatting, and testing are not required but are highly recommended. The mage library under `./lib/mage` is provided for golang projects and offers some basic commands for linting, formatting, building, testing, and assuring test coverage bars. Comments describe each function within the library. See `./samples/industrial-data-simulator/mage.go` for an example of how this library is used.
Loading

0 comments on commit fbddfca

Please sign in to comment.