Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
ff4ad91
Merge pull request #148 from CloudFormations/main
mrpaulandrew May 12, 2025
48b9a98
Update NuGet Packages (#149)
Toby-Andrew May 14, 2025
01b37f3
Deployment functionality (#152)
MattPCollins May 16, 2025
b8a2c65
Add PySpark notebooks to check a successful deployment of CF.Cumulus …
MattPCollins May 16, 2025
c158012
Merge remote-tracking branch 'origin/main' into develop
MattPCollins May 16, 2025
91443b7
Update README with Installation via BiCep and PowerShell guide (#154)
MattPCollins May 20, 2025
2ee3365
Develop Jira source connector (#155)
Toby-Andrew May 21, 2025
0976fad
Add V2.0 Oracle Linked Service (#156)
Toby-Andrew May 26, 2025
265f10c
Develop unit tests (#157)
MattPCollins May 27, 2025
c511fec
Additional Unit tests for Databricks ingest functions (#158)
MattPCollins May 28, 2025
7bae40f
Develop shared unit tests (#159)
MattPCollins Jun 1, 2025
acfc1fa
Rename Databricks LS to be common for both ingest and transform (#150)
Toby-Andrew Jun 1, 2025
5b78854
Develop databricks cicd hotfix (#160)
MattPCollins Jun 5, 2025
6494edb
Develop ADF and Func App CICD for test env (#161)
Toby-Andrew Jun 9, 2025
7cd9075
Develop sqlcicd to test (#165)
Toby-Andrew Jun 11, 2025
c792976
Update transformExecution reference.
MattPCollins Jun 11, 2025
5ed4acf
Update notebook path (#166)
MattPCollins Jun 11, 2025
17aa57f
Develop dimdate hotfix (#168)
MattPCollins Jun 12, 2025
f4c7d7d
Updating transformloadstatus bug fix
MattPCollins Jun 12, 2025
97625a1
Merge branch 'develop' of https://github.com/CloudFormations/CF.Cumul…
MattPCollins Jun 12, 2025
51e062e
Updating transformloadstatus bug fix
MattPCollins Jun 12, 2025
5411c0c
Merge branch 'main' into develop
MattPCollins Jun 12, 2025
7586072
Develop sql cicd master fix (#171)
Toby-Andrew Jun 17, 2025
67fc30f
Update README with Getting Started and Marketplace information. (#170)
MattPCollins Jun 17, 2025
9000880
Develop 1 click powershell sql (#172)
MattPCollins Jun 18, 2025
96038f9
Create GetOrchestrationLineage.sql (#179)
MattPCollins Aug 4, 2025
08b5433
Develop S3 Connector (#177)
Toby-Andrew Aug 21, 2025
2fb6753
Update publish_config.json
MattPCollins Oct 28, 2025
306f71a
Update publish_config.json
MattPCollins Oct 28, 2025
4bd9f6a
Adding pipeline: Wait 1 (#181)
MattPCollins Oct 28, 2025
dd55fa9
Update unmanaged notebook sp (#180)
CFToby-Andrew Nov 3, 2025
562eeeb
Clean-up actions (#182)
MattPCollins Nov 4, 2025
99d74d2
fabric functions added
mrpaulandrew Nov 14, 2025
f037cef
Develop mermaid (#183)
MattPCollins Dec 4, 2025
485e8ba
Merge branch 'main' into develop
MattPCollins Dec 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file removed .DS_Store
Binary file not shown.
2 changes: 1 addition & 1 deletion .github/workflows/adf-cicd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- name: Setup Node.js environment
uses: actions/setup-node@v3.4.1
with:
node-version: 18.x
node-version: 22.x

- name: install ADF Utilities package
run: npm install
Expand Down
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,12 @@ paket-files/
# PyTest coverage report
.coverage

# Ignore Python cache files
**/*/__pycache__/*
**/*/__pycache__/
**/*.py[cod]
**/*.pyc

# Function App Local Publish files
publishFunctions
funcapp.zip
Expand Down
23 changes: 23 additions & 0 deletions infrastructure/deployment/check_params_from_file.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#Assigining the parameters for the environment
param(
[Parameter(Mandatory=$false)]
[string] $parametersFile
)

# Read all lines, ignore comments and 'using' statements
$lines = Get-Content $parametersFile | Where-Object {
$_ -notmatch '^\s*//' -and $_ -notmatch '^\s*using'
}

# Extract param name and value
$params = foreach ($line in $lines) {
if ($line -match 'param\s+(\w+)\s*=\s*(.+)') {
[PSCustomObject]@{
Name = $matches[1]
Value = $matches[2].Trim()
}
}
}

# Render as table
$params | Format-Table -AutoSize
5 changes: 4 additions & 1 deletion infrastructure/deployment/deploy_azure_functions.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@ param(
[string] $resourceGroupName,

[Parameter(Mandatory=$true)]
[string] $functionAppName
[string] $functionAppName,

[Parameter(Mandatory=$true)]
[string] $keyVaultName
)

# This command cleans the build output of the specified project using the Release configuration.
Expand Down
13 changes: 11 additions & 2 deletions infrastructure/deployment/deploy_data_factory_components.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ param(
[Parameter(Mandatory=$true)]
[string] $tenantId,

[Parameter(Mandatory=$true)]
[string] $subscriptionId,

[Parameter(Mandatory=$true)]
[string] $location,

Expand All @@ -12,8 +15,11 @@ param(
[Parameter(Mandatory=$true)]
[string] $dataFactoryName
)

# Modules
# Install-Module -Name "Az"
# az login --tenant $tenantId

# Import-Module -Name "Az"

# Install-Module -Name "Az.DataFactory"
Expand All @@ -25,13 +31,16 @@ Import-Module -Name azure.datafactory.tools

# Get Deployment Objects and Params files
$scriptPath = (Join-Path -Path (Get-Location) -ChildPath "src/azure.datafactory")

$scriptPath = (Get-Location).Path -replace 'infrastructure\\deployment',''

$scriptPath += "\src\azure.datafactory"


$options = New-AdfPublishOption
$options.CreateNewInstance = $false # New ADF workspace deployment not required.
$options.Excludes.Add("trigger.*","")
$options.Excludes.Add("factory.*","")


Publish-AdfV2FromJson -RootFolder "$scriptPath" -ResourceGroupName "$resourceGroupName" -DataFactoryName "$dataFactoryName" -Location "$location" -Option $options -Stage "install"
Set-AzContext -Subscription $subscriptionId
Publish-AdfV2FromJson -RootFolder "$scriptPath" -ResourceGroupName "$resourceGroupName" -DataFactoryName "$dataFactoryName" -Location "$location" -Option $options -Stage "install"
24 changes: 20 additions & 4 deletions infrastructure/deployment/deploy_wrapper.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,22 @@ param(
# Login to the Azure Tenant
# az login --tenant $tenantId

$currentLocation = Split-Path -Path $MyInvocation.MyCommand.Path -Parent
$checkParamsScript = $currentLocation + '\check_params_from_file.ps1'
& $checkParamsScript `
-parametersFile $parametersFile

$acceptInput = Read-Host "Are the utilised parameters correct? (Y) yes, (all other input) no. Press enter to confirm."

if ( $acceptInput.ToUpper() -eq "Y")
{
Write-Host "Proceed with deployment"
}
else {
Write-Host "Cancelling deployment"
exit
}

# DEMO: Start a timer
$processTimerStart = [System.Diagnostics.Stopwatch]::StartNew()

Expand All @@ -28,7 +44,6 @@ $bicepDeployment = az deployment sub create `
--location $location `
--template-file $templateFile `
--parameters $parametersFile `
# --what-if
| ConvertFrom-Json

# Save Outputs of reusable details from BiCep for other scripts
Expand All @@ -48,8 +63,7 @@ $sqlDatabaseName = $bicepDeployment.properties.outputs.sqlDatabaseName.value
$currentLocation = Split-Path -Path $MyInvocation.MyCommand.Path -Parent

# Get Subscription Id from Name
$subscriptionDetails = az account subscription list | ConvertFrom-Json
$subscriptionIdValue = $subscriptionDetails.subscriptionId
$subscriptionIdValue = az account list --query "[?name=='${subscriptionId}'].id" --output tsv

# Grant User Key Vault Secret Administrator RBAC to save Function App Key to KV
$userDetails = az ad signed-in-user show | ConvertFrom-Json
Expand All @@ -67,7 +81,8 @@ $deployAzureFunctionsScript = $currentLocation + '\deploy_azure_functions.ps1'
& $deployAzureFunctionsScript `
-currentLocation $currentLocation `
-resourceGroupName $resourceGroupName `
-functionAppName $functionAppName
-functionAppName $functionAppName `
-keyVaultName $keyVaultName


# Set environment variables for Data Factory LS deployments:
Expand All @@ -82,6 +97,7 @@ $Env:KEYVAULT = $keyVaultName
$deployDataFactoryComponentsScript = $currentLocation + '\deploy_data_factory_components.ps1'
& $deployDataFactoryComponentsScript `
-tenantId $tenantId `
-subscriptionId $subscriptionId `
-location $location `
-resourceGroupName $resourceGroupName `
-dataFactoryName $dataFactoryName
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
67 changes: 67 additions & 0 deletions src/azure.datafactory/dataset/Ingest_DS_Amazon_S3_Parquet.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
{
"name": "Ingest_DS_Amazon_S3_Parquet",
"properties": {
"linkedServiceName": {
"referenceName": "Ingest_LS_AmazonS3_AKAuth",
"type": "LinkedServiceReference",
"parameters": {
"ServiceURL": {
"value": "@dataset().DSServiceURL",
"type": "Expression"
},
"SecretKeyName": {
"value": "@dataset().DSSecretKeyName",
"type": "Expression"
},
"AccessKeyId": {
"value": "@dataset().DSAccessKeyId",
"type": "Expression"
}
}
},
"parameters": {
"DSAccessKeyId": {
"type": "string"
},
"DSSecretKeyName": {
"type": "string"
},
"DSServiceURL": {
"type": "string"
},
"DSBucket": {
"type": "string"
},
"DSDirectory": {
"type": "string"
},
"DSFileName": {
"type": "string"
}
},
"folder": {
"name": "Ingest"
},
"annotations": [],
"type": "Parquet",
"typeProperties": {
"location": {
"type": "AmazonS3Location",
"bucketName": {
"value": "@dataset().DSBucket",
"type": "Expression"
},
"folderPath": {
"value": "@dataset().DSDirectory",
"type": "Expression"
},
"fileName": {
"value": "@dataset().DSFileName",
"type": "Expression"
}
},
"compressionCodec": "snappy"
},
"schema": []
}
}
54 changes: 0 additions & 54 deletions src/azure.datafactory/dataset/Ingest_DS_Oracle_SIDAuth.json

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
],
"type": "AzureSqlDatabase",
"typeProperties": {
"connectionString": "Integrated Security=False;Encrypt=True;Connection Timeout=30;Data Source=cfcdemodevsqldbuks01.database.windows.net;Initial Catalog=metadata-db"
"connectionString": "Integrated Security=False;Encrypt=True;Connection Timeout=30;Data Source=cfcumulusdevsqluks25.database.windows.net;Initial Catalog=cfcumulusdevsqldbuks25"
}
}
}
34 changes: 34 additions & 0 deletions src/azure.datafactory/linkedService/Ingest_LS_AmazonS3_AKAuth.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"name": "Ingest_LS_AmazonS3_AKAuth",
"properties": {
"parameters": {
"ServiceURL": {
"type": "string"
},
"SecretKeyName": {
"type": "string"
},
"AccessKeyId": {
"type": "string"
}
},
"annotations": [],
"type": "AmazonS3",
"typeProperties": {
"serviceUrl": "@{linkedService().ServiceURL}",
"accessKeyId": "@{linkedService().AccessKeyId}",
"secretAccessKey": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "Common_LS_cumuluskeys",
"type": "LinkedServiceReference"
},
"secretName": {
"value": "@linkedService().SecretKeyName",
"type": "Expression"
}
},
"authenticationType": "AccessKey"
}
}
}
39 changes: 0 additions & 39 deletions src/azure.datafactory/linkedService/Ingest_LS_Oracle_SIDAuth.json

This file was deleted.

Loading