I would like to hire a developer with experience in DotNet Core 2.0 and Docker for Windows API.
Your compiled deliverable should run in a Windows Server container (microsoft/dotnet:2.0-runtime-nanoserver).
- Docker Stats API
- Gather statistics information of a given Windows Server container
- CPU (Current % CPU, Minimum % CPU used, Maximum % CPU used, Average % CPU used, CPU cores, Current % of each core, Total CPU milliseconds)
- Memory (Current RAM usage in MB, Minimum RAM usage, Maximum RAM usage, Average RAM usage)
- Disk I/O (Current MB/s read, Current MB/s write, Total MB/s read, Total MB/s write)
- Network I/O (Current MB/s received, Current MB/s sent, Total MB/s received, Total MB/s sent)
- Docker Swarm API
- Gather services running in a swarm
- Gather information of a Service configured in a swarm
- Number of Windows Server instances
- The Windows Server containers themselves (with info on which node they run and CPU/memory/disk/network runtime information of each instance)
- Up-scale a service by specifying how many instances to add
- Down-scale a service by specifying how many instances to remove
- Start a swarm service
- Stop a swarm service
- Docker API
Gather information about the Docker host:
- When has the Docker host started
- How many container are running on the Docker host
- CPU usage of the Docker host
- Memory usage of the Docker host
- Disk usage of the Docker host
- Network usage of the Docker host
Please develop C# structures to hold the information returned by the Docker APIs. Consume the info via the structs. And perform proper error landling and exception handling.
Perform tests by deploying 2 Docker hosts, forming a Swarm, and using an Overlay Network. If needed, I can provide you with these VMs with Docker pre-installed, so that you only configure the Swarm and Overlay network.
- Visual Studio solution with the projects source-code
- DotNet Core 2.0 Class Library with the functionality to communicate with Docker, exposed as methods
- DotNet Core 2.0 Console Application invoking the Class Library methods to test implementation
- The compiled binaries and associated files
- Some test evidences to show it working
Please submit your bids.
As this description has its formatting undone, please refer to the attached Docker API POC.txt