Skip to content

Commit 8b4989e

Browse files
authored
Software sequencing (#181)
1 parent 480f1fb commit 8b4989e

File tree

17 files changed

+131
-57
lines changed

17 files changed

+131
-57
lines changed

.github/workflows/documentation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Auto - Documentation
1+
name: Auto - Doc
22

33
on:
44
# Trigger spell check on pull requests

bicep/modules/aks_cluster.bicep

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,6 @@ var outboundTrafficType = aksOutboundTrafficType=='natGateway' ? ( custom_vnet ?
336336

337337
@description('System Pool presets are derived from the recommended system pool specs')
338338
var systemPoolPresets = {
339-
// 4 vCPU, 16 GiB RAM, 32 GiB Temp Disk, (3600) IOPS, 128 GB Managed OS Disk
340339
Burstable : {
341340
vmSize: 'Standard_B2ms'
342341
minCount: 1
@@ -350,7 +349,6 @@ var systemPoolPresets = {
350349
osDiskSize: 128
351350
maxPods: 30
352351
}
353-
// 2 vCPU, 7 GiB RAM, 14 GiB SSD, (8000) IOPS, 128 GB Managed OS Disk
354352
Standard : {
355353
vmSize: 'Standard_D2s_v5'
356354
minCount: 1
@@ -393,10 +391,9 @@ var systemPoolProfile = {
393391

394392
@description('First User Pool presets')
395393
var userPoolPresets = {
396-
// 4 vCPU, 16 GiB RAM, 32 GiB Temp Disk, (3600) IOPS, 128 GB Managed OS Disk
397394
Burstable : {
398395
vmSize: 'Standard_B4ms'
399-
minCount: 3
396+
minCount: 4
400397
maxCount: 20
401398
availabilityZones: [
402399
'1'
@@ -405,12 +402,11 @@ var userPoolPresets = {
405402
]
406403
osDiskType: 'Managed'
407404
osDiskSize: 128
408-
maxPods: 30
405+
maxPods: 60
409406
}
410-
// 4 vCPU, 32 GiB RAM, 64 GiB SSD, (8000) IOPS, 128 GB Managed OS Disk
411407
Standard : {
412408
vmSize: 'Standard_D4s_v5'
413-
minCount: 3
409+
minCount: 4
414410
maxCount: 20
415411
availabilityZones: [
416412
'1'
@@ -419,7 +415,7 @@ var userPoolPresets = {
419415
]
420416
osDiskType: 'Managed'
421417
osDiskSize: 128
422-
maxPods: 30
418+
maxPods: 60
423419
}
424420
}
425421

docs/pipelines.md

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ A number of CI workflows are leveraged in this repo to test the bicep files to e
66

77
It's essential to catch as many problems before a single resource is deployed to real infrastructure. There are a lot of tools and techniques that can be leveraged to catch functional or syntactical problems.
88

9+
![[1]][1]
10+
911
#### PSRule for Azure
1012

1113
An interesting project for performing pre/post validation of Azure Resources against the [Well Architected Framework](https://learn.microsoft.com/en-us/azure/architecture/framework/) is [PSRule for Azure](https://azure.github.io/PSRule.Rules.Azure/). Over [200 rules](https://azure.github.io/PSRule.Rules.Azure/en/baselines/Azure.All/) will be evaluated against the Arm template, ranging from Security configuration to naming conventions.
@@ -42,25 +44,28 @@ The fact that a deployment completes successfully is a great sign, however there
4244

4345
In this case we are installing software and we are testing the software is installed.
4446

45-
## Solution actions used in this repo
47+
## Github Actions
48+
49+
This section outlines the key GitHub Actions implemented in this repository to ensure code quality, automate builds, and streamline releases. These actions form the backbone of the continuous integration and deployment pipeline, enhancing our development workflow and maintaining high standards across our project.
4650

47-
### Infra - Test
51+
![[0]][0]
52+
53+
#### Infra - Test
4854

4955
This action will run a Validate Step to ensure any changes to bicep is acceptable. It also will trigger a Standards Check that is non blocking in order to determine if the solution passes the PSRule checks.
5056

51-
### Infra - Build
57+
#### Infra - Build
5258

5359
This action ensures that the bicep can build properly.
5460

55-
### Infra - Release
61+
#### Infra - Release
5662

5763
The release action will run whenever a release is created to ensure we have a copy of the ARM template from that release that could then be used by other systems as necessary.
5864

5965
<!--- https://diagrams.helpful.dev/ --->
6066
```mermaid
6167
sequenceDiagram
6268
participant Workflow as "GitHub Workflow"
63-
6469
participant Azure as "Azure/login@v2"
6570
participant extension1 as "[email protected]"
6671
participant bashCommand as "bash"
@@ -69,7 +74,6 @@ sequenceDiagram
6974
participant EndBug as "add-and-commit@v9"
7075
participant extension3 as "release-action@v1"
7176
72-
7377
Workflow->>Workflow: Manual Trigger
7478
Workflow->>Workflow: Code Checkout
7579
Workflow->>Azure: Azure Login
@@ -82,9 +86,7 @@ sequenceDiagram
8286
Workflow->>extension3: Create Release
8387
```
8488

85-
## Misc actions used in this repo
86-
87-
### Auto -Documentation Check
89+
#### Auto - Doc
8890

8991
This action performs two main functions:
9092

@@ -94,10 +96,13 @@ This action performs two main functions:
9496

9597
The action is triggered on pull requests that modify markdown files, pushes to the main branch that affect the docs/src directory, and can also be run manually from the Actions tab. This comprehensive approach helps maintain high-quality, current documentation for the project.
9698

97-
### Auto - Greet
99+
#### Auto - Greet
98100

99101
This is an auto action for a bot to reply to open issues and open pull requests.
100102

101-
### Auto - Label
103+
#### Auto - Label
102104

103105
This is an auto action for a bot to automatically apply labels based on detection of type of code change.
106+
107+
[0]: src/images/pipeline_1.png "Validation Diagram"
108+
[1]: src/images/pipeline_2.png "Pipeline Diagram"

docs/src/architecture.md

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,6 @@
77
This provides valuable insights into best practices and design
88
considerations of azure workloads.
99

10-
11-
**Cost Optimization** - Create a cost-effective solution while balancing security.
12-
13-
**Security** - Enhance security within a development context, adhering to a zero trust model.
14-
15-
**Operational Excellence** - Prioritize standards with automation to ensure efficient operations and robust monitoring.
16-
1710
#### Desired State Configuration
1811

1912
Bicep is a domain-specific language (DSL) for deploying Azure resources declaratively. It simplifies authoring ARM templates and allows you to define the desired state of your Infrastructure as Code (IaC). Azure Resource Manager (ARM) processes the Bicep file to ensure the Azure environment matches the defined desired state, correcting any drift through redeployment.
@@ -103,4 +96,7 @@ A GitOps configuration resides in this Git repository and uses a customized [rep
10396

10497
A GitOps approach simplifies the process of deploying and managing software, making it easier to maintain and update, as well as providing a configurable way of leveraging other software configurations by pointing to alternate repositories hosting other configurations. By leveraging this method, we ensure that our deployments can be extended to things that not only include the default software load.
10598

99+
![[1]][1]
100+
106101
[0]: images/architecture.png "Architecture Diagram"
102+
[1]: images/architecture_2.png "Gitops Diagram"

docs/src/images/architecture_2.png

90.6 KB
Loading

docs/src/images/overview_1.png

41.1 KB
Loading

docs/src/images/overview_2.png

66.1 KB
Loading

docs/src/images/pipeline_1.png

48.2 KB
Loading

docs/src/images/pipeline_2.png

35.5 KB
Loading

docs/src/index.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ OSDU Developer is an open-source solution designed to enable the creation of lig
99

1010
The primary goal for this solution is to provide an environment that can help function within an inner loop process providing faster feedback for developers. This personal environment strives to be user-friendly yet maintain compliance with varying organizational standards. It offers a flexible framework to facilitate deeper exploration of OSDU™ capabilities.
1111

12+
![[0]][0]
13+
1214
Deploying personal instances provide valuable insights into early-stage development and integration processes. It emphasizes transparency, cost-efficiency, and flexibility, empowering developers to engage in essential application and cloud development scenarios.
1315

1416
!!! Note
@@ -40,6 +42,8 @@ Several use cases illustrate the practical applications for this approach.
4042

4143
**Training and Onboarding:** Train new employees on the OSDU™ platform, offering hands-on experience in a controlled environment.
4244

45+
![[1]][1]
46+
4347

4448
## Features
4549

@@ -61,3 +65,5 @@ Several use cases illustrate the practical applications for this approach.
6165

6266
Follow the instructions in the "Tutorials" to quickly bring online a personal instance.
6367

68+
[0]: images/overview_1.png "Overview Diagram"
69+
[1]: images/overview_2.png "Use Cases Diagram"

0 commit comments

Comments
 (0)