You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a lightweight, reusable Python Cookiecutter template, containing main folder structure you would need for any Python project.
5
4
6
-
1. In your project, in order to create templates, rename all your files/folders with the keyword 'cookiecutter' followed by the item name
7
-
example: folder -> {{cookiecutter.documents}}
8
-
python file -> {{cookiecutter.main}}.py
9
-
2. Add cookiecutter.json at the root of your project where you define the templates you created
10
-
3. Push the folder structure to your repo (Github, Azure Devops)
5
+
Project contains a basic Python folder structure, Architecture Decision Record & documentation structure, pull request template, as well as CI/CD pipeline with super-linter.
11
6
12
-
## Cookiecutter - reuse template from Github (windows)
7
+
## Quickstart
13
8
14
-
1. On your local create a new folder where you will store the repository you want to clone.
15
-
2. Make sure your terminal is pointing to your new folder.
16
-
3. Create a virtual environment: python -m venv environment
Copy file name to clipboardExpand all lines: SECURITY.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
<!-- BEGIN MICROSOFT SECURITY.MD V0.0.8 BLOCK -->
2
2
3
-
##Security
3
+
# Security
4
4
5
5
Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/).
6
6
@@ -14,17 +14,17 @@ Instead, please report them to the Microsoft Security Response Center (MSRC) at
14
14
15
15
If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/opensource/security/pgpkey).
16
16
17
-
You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://aka.ms/opensource/security/msrc).
17
+
You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://aka.ms/opensource/security/msrc).
18
18
19
19
Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:
20
20
21
-
* Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
22
-
* Full paths of source file(s) related to the manifestation of the issue
23
-
* The location of the affected source code (tag/branch/commit or direct URL)
24
-
* Any special configuration required to reproduce the issue
25
-
* Step-by-step instructions to reproduce the issue
26
-
* Proof-of-concept or exploit code (if possible)
27
-
* Impact of the issue, including how an attacker might exploit the issue
21
+
* Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
22
+
* Full paths of source file(s) related to the manifestation of the issue
23
+
* The location of the affected source code (tag/branch/commit or direct URL)
24
+
* Any special configuration required to reproduce the issue
25
+
* Step-by-step instructions to reproduce the issue
26
+
* Proof-of-concept or exploit code (if possible)
27
+
* Impact of the issue, including how an attacker might exploit the issue
28
28
29
29
This information will help us triage your report more quickly.
This is a python repository sample on how to build and layer your monorepo.
3
-
This example uses Github Actions and Terraform.
1
+
# Project
2
+
3
+
This repository provides a sample of how to construct and organize a Python monorepo.
4
+
The sample utilizes Github Actions and Terraform.
4
5
5
6
## Structure example description
7
+
6
8
.
7
-
├── .github # Github Action folders that enables for CI and CD for your repo
9
+
├── .github # Github Action folders for CI and CD for your repo
8
10
│ ├── actions # Add custom actions
9
11
│ ├── scripts # Add custom scripts
10
12
│ ├── workflows # Build your Github Actions by adding a workflow file
11
13
├── documents # Documentation about the project
12
14
│ ├── design # Add your designs and architectures here
15
+
│ ├── assets # Holds binary content like 'jpg', 'png', 'css', etc.
13
16
│ ├── spikes # Holds code samples for investigation
14
17
│ ├── adr # ADR (Architecture Decision Record)
15
-
├── assets # Holds content like 'jpg', 'img', 'css', 'fonts's
18
+
│ ├── assets # Holds binary content like 'jpg', 'png', 'css', etc.
19
+
├── assets # Holds binary content like 'jpg', 'png', 'css', etc.
16
20
├── infrastructure # Holds your infrastructure as code, in our case Terraform
17
21
│ ├── terraform # Holds all terraform files
18
22
│ ├── variables # Holds all terraform variables
@@ -21,10 +25,9 @@ This example uses Github Actions and Terraform.
21
25
│ ├── python-solution
22
26
├── README.md
23
27
24
-
## CI pipeline
25
-
This is an initial sample of a CI pipeline for our repository. The pipeline uses super-linter which is a combination of linters, in order to validate the entire source code.
26
-
This means that python, yaml, .md and tf files will be validated all together, based on current configuration
27
-
Code secrets scan to ensure no sensitive information or credentials are being committed.
28
+
## CI pipeline
29
+
30
+
This is a base sample of a continuous integration (CI) pipeline for the repository. The pipeline uses super-linter, a fusion of multiple linters, to validate the entire source code, including Python, YAML, .md, and TF files, as specified in the current configuration. It also performs a code secrets scan to verify that no confidential information or credentials are being committed.
28
31
29
32
## Template for pull request
30
33
@@ -35,4 +38,4 @@ In the .github folder there is a pull_request_template.md which contains an exam
We need to record the architectural decisions made on this project
12
+
13
+
## Decision drivers
14
+
15
+
Recording decisions will help us keep track of what choices have been made and why.
16
+
17
+
## Considered options
18
+
19
+
- not recording decisions
20
+
- recording decisions outside of repository
21
+
22
+
## Decision
23
+
24
+
We will use Architecture Decision Records, as described by Michael Nygard in the article [Documenting Architecture Decisions](http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions)
25
+
26
+
## Consequences
27
+
28
+
See Michael Nygard's article, linked above. For a lightweight markdown template, see this [Gist](https://gist.github.com/christoferlof/215664f3cc938a72fa498600bfdb0a8a)
0 commit comments