Posts

github dependabot configuration and simple demo

Image
Github dependabot scans your repository for dependencies that are outdated, vulnerable package, run tests automatically and can even auto-merge if it is safe to do so.  It is different from CodeQL or CQL where CQL would do security code scanning for coding and vulnearabilities.  How to enable dependabot?  Goto your repository -> Settings -> Advanced Security -> under the tab Dependabot and then turn it on. To enable your package malware alerts, you can click on the "Dependabot rules" and then you will see this layout here where you can enable it by clicking on the "pencil" button. When will you get the scan results?  You typically get the scan results minutes.  In my repo here, https://github.com/kepungnzai/dotnet-dependabot-test - we have old and vulnerable packages and then dependabot come back with a PR for me which looks something like this - which is amazing! 

transitioning pipelines to a devsecops pipeline design

  Traditional DevOps focuses on speed and reliability but often treats security as an afterthought — vulnerabilities are caught too late in production. DevSecOps integrates security at every stage of the pipeline. Here are the critical additions: The "Shift Left" Principle Instead of finding security issues after deployment, DevSecOps catches them early : Pre-commit : Scan for secrets before code is pushed Build time : SAST analysis, dependency checks, container scanning Pre-deploy : Verify signatures, compliance gates, IaC security Runtime : Intrusion detection, vulnerability monitoring Post-deploy : DAST testing, regression checks # DevSecOps vs DevOps Pipelines in GitHub Actions ## Core Differences ### Traditional DevOps Pipeline - ** Focus ** : Speed and reliability - ** Security ** : Added at the end (security testing after deployment) - ** Approach ** : "Shift right" - security concerns are addressed late ### DevSecOps Pipeline - ** Focus ...

github actions - variable and references

In github actions, we often generate a pipeline variable and then re-use it elsewhere in our pipeline, the example here shows how can we do just that:-  name : Manual Deploy on :   workflow_dispatch :     inputs :       environment :         description : ' Deployment environment '         required : true         default : ' staging '         type : choice         options :           - staging           - production       version :         description : ' Version to deploy '         required : true         type : string jobs :   build :     runs-on : ubuntu-latest     outputs :       image-tag : ${{ steps.meta.outputs.tags }}     steps :       - id : met...

Azure foundry agent_framework default tool

Today we are going to look at the tool available by default in agent_framework pypi package.  A2A tool -  get_a2a_tool Web search tool -  get_web_search_tool File search tool -  get_file_search_tool Azure AI search tool -  get_azure_ai_search_tool bing custom search tool -  get_bing_custom_search_tool bing grounding tool -  get_bing_grounding_tool brower automation tool -  get_browser_automation_tool code interpreter tool -  get_code_interpreter_tool computer use tool -  get_computer_use_tool fabric tool -  get_fabric_tool image generation tool -  get_image_generation_tool mcp tool -  get_mcp_tool memory tool -   get_memory_search_tool shell tool -  get_shell_tool To use these tool here are some code snippet for illustration only :- import asyncio import os from agent_framework import Agent from agent_framework . foundry import FoundryChatClient from azure . identity import AzureCliCredential asyn...

Github copilot SDK - wanted to write your own coding agent?

Image
You can now write your own coding editor using copilot SDK - a production ready, mature and well tested framework. For more info, try visiting https://github.com/github/copilot-sdk And the best part with this is that we have some sample implementation code here:- https://github.com/microsoft-foundry/foundry-samples/tree/main/samples/python/hosted-agents/bring-your-own/activity/github-copilot/src/github-copilot-activity And we have some docs to go with it here:- https://learn.microsoft.com/en-us/azure/foundry/how-to/develop/use-microsoft-foundry-skill?tabs=vscode

mcp tips microsoft agent_framework tool

Some tips when working with agent_framework Approve mode Did you know we can use get away with those manual approval everytime an agent call a remote tool with " approval_mode=never_required " - here is an example code snippet that allows us to do this. @ tool ( description = " List files in a directory. " , approval_mode = " never_require " ) def list_files ( directory : str ) -> list [ str ]:     """ List files in a directory. """     try :         return os . listdir ( directory )     except Exception as e :         return [ f "Error listing files in { directory } : { e } " ]     Azure Foundry Toolkit 

Azure foundry toolkit - essential tool for AI developer

Image
Have you tried Azure Foundry Toolkit - it is an essential toolki that allow us to develop, evaluate model and deploy Azure Agentic Framework app to Azure cloud. All that capabilities into your vscode. 

Azure foundry file search - setup and deploying as a remote agent (not ephemeral agent)

Image
 File search allow us to feed information into our model  In this implementation we are deploying agent in Azure Foundry and it uses chatgpt-5-mini. I created the file search manually. You agent can only have 1 index.  File search is not RAG.  With RAG you use Azure AI Search. File search is pretty generic. It requires basic setup where you don't necessary have to create a storage account manually to host your file.  As you can see here, I am uploading zippolock product info and it automatically create an index and embedd the info for me. There are limits to the file that you will be uploading.  And then I save this as an agent as shown here :- Ensuring we have the right pypi dependencies dependencies = [      "agent-framework>=1.13.0",      "azure-ai-projects", # Main Azure Foundry SDK      "azure-identity", # For authentication ] And then we can use the following code to query what is zippolock. The magic is...