From b7d602a289d6631de7febf3a997799d7e2c31899 Mon Sep 17 00:00:00 2001 From: Marvin Buss Date: Mon, 15 Jan 2024 18:32:51 +0100 Subject: [PATCH 1/2] Revamp Repo Structure --- .../_terraformEnvironmentTemplate.yml | 130 +++++++++++++----- .github/workflows/lint.yml | 15 ++ .github/workflows/newMajorVersion.yml | 31 ++--- .../{deployment.yml => terraform.yml} | 18 ++- .pre-commit-config.yaml | 15 +- .../applicationinsights.tf | 0 .../{terraform => infra}/cognitiveservices.tf | 0 .../{terraform => infra}/containerregistry.tf | 0 code/{terraform => infra}/data.tf | 0 code/{terraform => infra}/keyvault.tf | 0 code/{terraform => infra}/locals.tf | 0 .../loganalyticsworkspace.tf | 0 code/{terraform => infra}/machinelearning.tf | 0 .../machinelearningcompute.tf | 0 .../machinelearningconnections.tf | 0 .../machinelearningdatastores.tf | 0 code/{terraform => infra}/openai.tf | 0 code/{terraform => infra}/outputs.tf | 0 .../roleassignments_current.tf | 0 .../roleassignments_openai.tf | 0 .../roleassignments_uai.tf | 0 code/{terraform => infra}/search.tf | 0 code/{terraform => infra}/storage.tf | 0 code/{terraform => infra}/terraform.tf | 8 +- .../userassignedidentity.tf | 0 code/{terraform => infra}/variables.tf | 0 config/PerfectThymeTech/azurerm.tfbackend | 7 + .../PerfectThymeTech/vars.tfvars | 0 docs/data/diabetes/score/diabetes.parquet | Bin 0 -> 16364 bytes docs/data/diabetes/train/MLTable | 8 ++ docs/data/diabetes/train/diabetes.parquet | Bin 0 -> 18264 bytes 31 files changed, 162 insertions(+), 70 deletions(-) rename .github/workflows/{deployment.yml => terraform.yml} (58%) rename code/{terraform => infra}/applicationinsights.tf (100%) rename code/{terraform => infra}/cognitiveservices.tf (100%) rename code/{terraform => infra}/containerregistry.tf (100%) rename code/{terraform => infra}/data.tf (100%) rename code/{terraform => infra}/keyvault.tf (100%) rename code/{terraform => infra}/locals.tf (100%) rename code/{terraform => infra}/loganalyticsworkspace.tf (100%) rename code/{terraform => infra}/machinelearning.tf (100%) rename code/{terraform => infra}/machinelearningcompute.tf (100%) rename code/{terraform => infra}/machinelearningconnections.tf (100%) rename code/{terraform => infra}/machinelearningdatastores.tf (100%) rename code/{terraform => infra}/openai.tf (100%) rename code/{terraform => infra}/outputs.tf (100%) rename code/{terraform => infra}/roleassignments_current.tf (100%) rename code/{terraform => infra}/roleassignments_openai.tf (100%) rename code/{terraform => infra}/roleassignments_uai.tf (100%) rename code/{terraform => infra}/search.tf (100%) rename code/{terraform => infra}/storage.tf (100%) rename code/{terraform => infra}/terraform.tf (87%) rename code/{terraform => infra}/userassignedidentity.tf (100%) rename code/{terraform => infra}/variables.tf (100%) create mode 100644 config/PerfectThymeTech/azurerm.tfbackend rename code/terraform/vars.dev.tfvars => config/PerfectThymeTech/vars.tfvars (100%) create mode 100644 docs/data/diabetes/score/diabetes.parquet create mode 100644 docs/data/diabetes/train/MLTable create mode 100644 docs/data/diabetes/train/diabetes.parquet diff --git a/.github/workflows/_terraformEnvironmentTemplate.yml b/.github/workflows/_terraformEnvironmentTemplate.yml index 7a3a938..951ab7a 100644 --- a/.github/workflows/_terraformEnvironmentTemplate.yml +++ b/.github/workflows/_terraformEnvironmentTemplate.yml @@ -1,4 +1,4 @@ -name: Terraform Environment Template +name: Terraform Template on: workflow_call: @@ -6,29 +6,37 @@ on: environment: required: true type: string - default: "dev" description: "Specifies the environment of the deployment." + config: + required: true + type: string + description: "Specifies the configuration folder for the deployment." + terraform_version: + required: true + type: string + description: "Specifies the terraform version." + node_version: + required: true + type: number + description: "Specifies the node version." working_directory: required: true type: string description: "Specifies the working directory." - subscription_id: + tenant_id: required: true type: string - description: "Specifies the Azure subscription id." - terraform_version: + description: "Specifies the tenant id of the deployment." + subscription_id: required: true type: string - description: "Specifies the terraform version." + description: "Specifies the subscription id of the deployment." export_terraform_outputs: required: false type: boolean default: false description: "Specifies whether terraform outputs should be exported." secrets: - TENANT_ID: - required: true - description: "Specifies the tenant id of the deployment." CLIENT_ID: required: true description: "Specifies the client id." @@ -40,12 +48,16 @@ on: description: "A sample value." value: ${{ jobs.apply.outputs.test }} +permissions: + id-token: write + contents: read + pull-requests: write + jobs: lint: name: Terraform Lint - runs-on: [ubuntu-latest] + runs-on: ubuntu-latest continue-on-error: false - needs: [] steps: # Setup Terraform @@ -68,6 +80,26 @@ jobs: run: | terraform fmt -check -recursive + # Add Pull Request Comment + - name: Add Pull Request Comment + uses: actions/github-script@v7 + id: pr_comment + if: github.event_name == 'pull_request' + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + const output = `#### Terraform Lint Results + * Terraform Version 📎\`${{ inputs.terraform_version }}\` + * Working Directory 📂\`${{ inputs.working_directory }}\` + * Terraform Format and Style 🖌\`${{ steps.terraform_format.outcome }}\``; + + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: output + }) + plan: name: Terraform Plan runs-on: [self-hosted] @@ -76,7 +108,7 @@ jobs: needs: [lint] env: - ARM_TENANT_ID: ${{ secrets.TENANT_ID }} + ARM_TENANT_ID: ${{ inputs.tenant_id }} ARM_SUBSCRIPTION_ID: ${{ inputs.subscription_id }} ARM_CLIENT_ID: ${{ secrets.CLIENT_ID }} ARM_CLIENT_SECRET: ${{ secrets.CLIENT_SECRET }} @@ -88,7 +120,7 @@ jobs: id: node_setup uses: actions/setup-node@v4 with: - node-version: 16 + node-version: ${{ inputs.node_version }} # Setup Terraform - name: Setup Terraform @@ -108,7 +140,9 @@ jobs: id: terraform_init working-directory: ${{ inputs.working_directory }} run: | - terraform init + terraform init -backend-config=../../config/${CONFIG}/azurerm.tfbackend + env: + CONFIG: ${{ inputs.config }} # Terraform Validate - name: Terraform Validate @@ -122,20 +156,53 @@ jobs: id: terraform_plan working-directory: ${{ inputs.working_directory }} run: | - terraform plan -var-file vars.${{ inputs.environment }}.tfvars -input=false + terraform plan -var-file="../../config/${CONFIG}/vars.tfvars" -input=false + env: + CONFIG: ${{ inputs.config }} + + # Add Pull Request Comment + - name: Add Pull Request Comment + id: pr_comment + uses: actions/github-script@v7 + if: github.event_name == 'pull_request' + continue-on-error: true + env: + PLAN: "terraform\n${{ steps.terraform_plan.outputs.stdout }}" + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + const output = `#### Terraform Validation & Plan Results + * Terraform Version 📎\`${{ inputs.terraform_version }}\` + * Working Directory 📂\`${{ inputs.working_directory }}\` + * Terraform Initialization ⚙️\`${{ steps.terraform_init.outcome }}\` + * Terraform Validation 🤖\`${{ steps.terraform_validate.outcome }}\` + * Terraform Plan 📖\`${{ steps.terraform_plan.outcome }}\` + +
Show Plan + + \`\`\`\n + ${process.env.PLAN} + \`\`\` + +
`; + + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: output + }) apply: name: Terraform Apply runs-on: [self-hosted] continue-on-error: false environment: ${{ inputs.environment }} - # if: github.event_name == 'push' || github.event_name == 'release' - needs: [lint, plan] - outputs: - test: ${{ steps.terraform_outputs.outputs.test }} + if: github.event_name == 'push' || github.event_name == 'release' + needs: [plan] env: - ARM_TENANT_ID: ${{ secrets.TENANT_ID }} + ARM_TENANT_ID: ${{ inputs.tenant_id }} ARM_SUBSCRIPTION_ID: ${{ inputs.subscription_id }} ARM_CLIENT_ID: ${{ secrets.CLIENT_ID }} ARM_CLIENT_SECRET: ${{ secrets.CLIENT_SECRET }} @@ -147,7 +214,7 @@ jobs: id: node_setup uses: actions/setup-node@v4 with: - node-version: 16 + node-version: ${{ inputs.node_version }} # Setup Terraform - name: Setup Terraform @@ -162,24 +229,21 @@ jobs: id: checkout_repository uses: actions/checkout@v4 - # Login to Azure - - name: Azure Login - id: azure_login - uses: azure/login@v1 - with: - creds: '{"clientId":"${{ secrets.CLIENT_ID }}","clientSecret":"${{ secrets.CLIENT_SECRET }}","subscriptionId":"${{ inputs.subscription_id }}","tenantId":"${{ secrets.TENANT_ID }}"}' - # Terraform Init - name: Terraform Init working-directory: ${{ inputs.working_directory }} run: | - terraform init + terraform init -backend-config=../../config/${CONFIG}/azurerm.tfbackend + env: + CONFIG: ${{ inputs.config }} # Terraform Apply - name: Terraform Apply working-directory: ${{ inputs.working_directory }} run: | - terraform apply -var-file vars.${{ inputs.environment }}.tfvars -auto-approve -input=false + terraform apply -var-file="../../config/${CONFIG}/vars.tfvars" -auto-approve -input=false + env: + CONFIG: ${{ inputs.config }} # Terraform Export Outputs - name: Terraform Export Outputs @@ -189,9 +253,3 @@ jobs: run: | test=$(terraform output -raw test) echo "test=$test" >> "$GITHUB_OUTPUT" - - # Log out from Azure - - name: Log out from Azure - id: azure_logout - run: | - az logout diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 41f7916..af15041 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -14,6 +14,21 @@ jobs: continue-on-error: false steps: + # Setup Python 3.11 + - name: Setup Python 3.11 + id: python_setup + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + # Setup Terraform + - name: Setup Terraform + id: terraform_setup + uses: hashicorp/setup-terraform@v3 + with: + terraform_version: "1.6.6" + terraform_wrapper: true + # Checkout repository - name: Check Out Repository id: checkout_repository diff --git a/.github/workflows/newMajorVersion.yml b/.github/workflows/newMajorVersion.yml index 8875e14..348f573 100644 --- a/.github/workflows/newMajorVersion.yml +++ b/.github/workflows/newMajorVersion.yml @@ -1,36 +1,31 @@ name: Release new major version + on: release: types: [released] workflow_dispatch: inputs: tag_name: - description: "Tag name that the major tag will point to" required: true + type: string + description: 'Tag name that the major tag will point to' +permissions: + contents: write env: TAG_NAME: ${{ github.event.inputs.tag_name || github.event.release.tag_name }} jobs: update_tag: name: Update the major tag to include the ${{ github.event.inputs.tag_name || github.event.release.tag_name }} changes - runs-on: [ubuntu-latest] + runs-on: ubuntu-latest + continue-on-error: false steps: - # Checkout repository - - name: Check Out Repository - id: checkout_repository - uses: actions/checkout@v4 - with: - ref: ${{ env.TAG_NAME }} - token: ${{ secrets.PAT }} - - - name: Get major version num and update tag + # Update major tag + - name: Update the ${{ env.TAG_NAME }} tag id: update_tag - run: | - VERSION=${{ env.TAG_NAME }} - MAJOR=${VERSION%%.*} - git config --global user.name 'github-action' - git config --global user.email 'github-action@users.noreply.github.com' - git tag -fa ${MAJOR} -m "Update major version tag" - git push origin ${MAJOR} --force + uses: actions/publish-action@v0.3.0 + with: + source-tag: ${{ env.TAG_NAME }} + slack-webhook: "" diff --git a/.github/workflows/deployment.yml b/.github/workflows/terraform.yml similarity index 58% rename from .github/workflows/deployment.yml rename to .github/workflows/terraform.yml index f77f7bf..44fdd80 100644 --- a/.github/workflows/deployment.yml +++ b/.github/workflows/terraform.yml @@ -4,15 +4,17 @@ on: branches: - main paths: - - "code/terraform/**" - - ".github/workflows/deployment" + - "**.tf" + - "code/infra/**" + - ".github/workflows/deployment.yml" pull_request: branches: - main paths: - - "code/terraform/**" - - ".github/workflows/deployment" + - "**.tf" + - "code/infra/**" + - ".github/workflows/terraform.yml" jobs: terraform: @@ -20,11 +22,13 @@ jobs: name: "Terraform Deployment" with: environment: "dev" - working_directory: "./code/terraform" + config: "PerfectThymeTech" + terraform_version: "1.6.6" + node_version: 18 + working_directory: "./code/infra" + tenant_id: "3556be79-2979-4b19-a1af-4dd4e6d9ed7e" subscription_id: "8f171ff9-2b5b-4f0f-aed5-7fa360a1d094" - terraform_version: "1.5.6" export_terraform_outputs: false secrets: - TENANT_ID: ${{ secrets.TENANT_ID }} CLIENT_ID: ${{ secrets.CLIENT_ID }} CLIENT_SECRET: ${{ secrets.CLIENT_SECRET }} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 978da8d..84a9b36 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,10 +1,6 @@ -exclude: | - (?x)^( - README.md - )$ repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.4.0 + rev: v4.5.0 hooks: - id: check-yaml - id: end-of-file-fixer @@ -13,6 +9,15 @@ repos: - id: check-yaml - id: pretty-format-json args: ["--indent", "2", "--autofix", "--no-sort-keys"] + - repo: https://github.com/PyCQA/isort + rev: 5.13.2 + hooks: + - id: isort + args: ["--profile", "black", "--filter-files"] + - repo: https://github.com/psf/black + rev: 23.12.1 + hooks: + - id: black - repo: local hooks: - id: terraform-fmt diff --git a/code/terraform/applicationinsights.tf b/code/infra/applicationinsights.tf similarity index 100% rename from code/terraform/applicationinsights.tf rename to code/infra/applicationinsights.tf diff --git a/code/terraform/cognitiveservices.tf b/code/infra/cognitiveservices.tf similarity index 100% rename from code/terraform/cognitiveservices.tf rename to code/infra/cognitiveservices.tf diff --git a/code/terraform/containerregistry.tf b/code/infra/containerregistry.tf similarity index 100% rename from code/terraform/containerregistry.tf rename to code/infra/containerregistry.tf diff --git a/code/terraform/data.tf b/code/infra/data.tf similarity index 100% rename from code/terraform/data.tf rename to code/infra/data.tf diff --git a/code/terraform/keyvault.tf b/code/infra/keyvault.tf similarity index 100% rename from code/terraform/keyvault.tf rename to code/infra/keyvault.tf diff --git a/code/terraform/locals.tf b/code/infra/locals.tf similarity index 100% rename from code/terraform/locals.tf rename to code/infra/locals.tf diff --git a/code/terraform/loganalyticsworkspace.tf b/code/infra/loganalyticsworkspace.tf similarity index 100% rename from code/terraform/loganalyticsworkspace.tf rename to code/infra/loganalyticsworkspace.tf diff --git a/code/terraform/machinelearning.tf b/code/infra/machinelearning.tf similarity index 100% rename from code/terraform/machinelearning.tf rename to code/infra/machinelearning.tf diff --git a/code/terraform/machinelearningcompute.tf b/code/infra/machinelearningcompute.tf similarity index 100% rename from code/terraform/machinelearningcompute.tf rename to code/infra/machinelearningcompute.tf diff --git a/code/terraform/machinelearningconnections.tf b/code/infra/machinelearningconnections.tf similarity index 100% rename from code/terraform/machinelearningconnections.tf rename to code/infra/machinelearningconnections.tf diff --git a/code/terraform/machinelearningdatastores.tf b/code/infra/machinelearningdatastores.tf similarity index 100% rename from code/terraform/machinelearningdatastores.tf rename to code/infra/machinelearningdatastores.tf diff --git a/code/terraform/openai.tf b/code/infra/openai.tf similarity index 100% rename from code/terraform/openai.tf rename to code/infra/openai.tf diff --git a/code/terraform/outputs.tf b/code/infra/outputs.tf similarity index 100% rename from code/terraform/outputs.tf rename to code/infra/outputs.tf diff --git a/code/terraform/roleassignments_current.tf b/code/infra/roleassignments_current.tf similarity index 100% rename from code/terraform/roleassignments_current.tf rename to code/infra/roleassignments_current.tf diff --git a/code/terraform/roleassignments_openai.tf b/code/infra/roleassignments_openai.tf similarity index 100% rename from code/terraform/roleassignments_openai.tf rename to code/infra/roleassignments_openai.tf diff --git a/code/terraform/roleassignments_uai.tf b/code/infra/roleassignments_uai.tf similarity index 100% rename from code/terraform/roleassignments_uai.tf rename to code/infra/roleassignments_uai.tf diff --git a/code/terraform/search.tf b/code/infra/search.tf similarity index 100% rename from code/terraform/search.tf rename to code/infra/search.tf diff --git a/code/terraform/storage.tf b/code/infra/storage.tf similarity index 100% rename from code/terraform/storage.tf rename to code/infra/storage.tf diff --git a/code/terraform/terraform.tf b/code/infra/terraform.tf similarity index 87% rename from code/terraform/terraform.tf rename to code/infra/terraform.tf index f9a0c5d..d42b39a 100644 --- a/code/terraform/terraform.tf +++ b/code/infra/terraform.tf @@ -14,10 +14,10 @@ terraform { backend "azurerm" { environment = "public" - resource_group_name = "mycrp-prd-cicd" - storage_account_name = "mycrpprdstg001" - container_name = "data-product-analytics" - key = "terraform.tfstate" + resource_group_name = "" + storage_account_name = "" + container_name = "" + key = "" use_azuread_auth = true # use_oidc = true } diff --git a/code/terraform/userassignedidentity.tf b/code/infra/userassignedidentity.tf similarity index 100% rename from code/terraform/userassignedidentity.tf rename to code/infra/userassignedidentity.tf diff --git a/code/terraform/variables.tf b/code/infra/variables.tf similarity index 100% rename from code/terraform/variables.tf rename to code/infra/variables.tf diff --git a/config/PerfectThymeTech/azurerm.tfbackend b/config/PerfectThymeTech/azurerm.tfbackend new file mode 100644 index 0000000..d186d5b --- /dev/null +++ b/config/PerfectThymeTech/azurerm.tfbackend @@ -0,0 +1,7 @@ +environment = "public" +subscription_id = "8f171ff9-2b5b-4f0f-aed5-7fa360a1d094" +resource_group_name = "mycrp-prd-cicd" +storage_account_name = "mycrpprdstg001" +container_name = "data-product-analytics" +key = "terraform.tfstate" +use_azuread_auth = true diff --git a/code/terraform/vars.dev.tfvars b/config/PerfectThymeTech/vars.tfvars similarity index 100% rename from code/terraform/vars.dev.tfvars rename to config/PerfectThymeTech/vars.tfvars diff --git a/docs/data/diabetes/score/diabetes.parquet b/docs/data/diabetes/score/diabetes.parquet new file mode 100644 index 0000000000000000000000000000000000000000..bf75a7c5fe9ee7f1b178d5b323c2345b178f960a GIT binary patch literal 16364 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 J3Gn~?{|}VURr~+| literal 0 HcmV?d00001 diff --git a/docs/data/diabetes/train/MLTable b/docs/data/diabetes/train/MLTable new file mode 100644 index 0000000..d05a3ae --- /dev/null +++ b/docs/data/diabetes/train/MLTable @@ -0,0 +1,8 @@ +type: mltable +# traits: +# index_columns: ID +paths: + - file: ./diabetes.parquet +transformations: + - read_parquet: + include_path_column: false diff --git a/docs/data/diabetes/train/diabetes.parquet b/docs/data/diabetes/train/diabetes.parquet new file mode 100644 index 0000000000000000000000000000000000000000..80a4e55a7db7b367f47ab75d315f03240d074a47 GIT binary patch literal 18264 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 z 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 KA*uL(>ij Date: Mon, 15 Jan 2024 18:41:59 +0100 Subject: [PATCH 2/2] Update wromg reference --- .github/workflows/terraform.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/terraform.yml b/.github/workflows/terraform.yml index 44fdd80..0d2fa68 100644 --- a/.github/workflows/terraform.yml +++ b/.github/workflows/terraform.yml @@ -6,7 +6,7 @@ on: paths: - "**.tf" - "code/infra/**" - - ".github/workflows/deployment.yml" + - ".github/workflows/terraform.yml" pull_request: branches: