Skip to content

Commit b322e95

Browse files
RDILTravisEz13
authored andcommitted
Changed lots of docs (#306)
1 parent a2d5773 commit b322e95

File tree

3 files changed

+148
-35
lines changed

3 files changed

+148
-35
lines changed

MAINTAINERS

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# PowerShell-Docker maintainers file
2+
# Adapted from Moby's maintainers file
3+
#
4+
# This file describes the maintainer groups within the PowerShell/PowerShell-Docker project.
5+
#
6+
# It is structured to be consumable by both humans and programs.
7+
# To extract its contents programmatically, use any TOML-compliant
8+
# parser.
9+
#
10+
[Org]
11+
12+
[Org."Core maintainers"]
13+
14+
# The Core maintainers are the ghostbusters of the project: when there's a problem others
15+
# can't solve, they show up and fix it with bizarre devices and weaponry.
16+
# They have final say on technical implementation and coding style.
17+
# They are ultimately responsible for quality in all its forms: usability polish,
18+
# bugfixes, performance, stability, etc. When ownership can cleanly be passed to
19+
# a subsystem, they are responsible for doing so and holding the
20+
# subsystem maintainers accountable. If ownership is unclear, they are the de facto owners.
21+
22+
people = [
23+
"TravisEz13",
24+
"anmenega"
25+
]
26+
27+
[Org.Curators]
28+
29+
# The curators help ensure that incoming issues and pull requests are properly triaged and
30+
# that our various contribution and reviewing processes are respected. With their knowledge of
31+
# the repository activity, they can also guide contributors to relevant material or
32+
# discussions.
33+
# They are never expected to merge. They can however:
34+
# - close an issue or pull request when it's an exact duplicate
35+
# - close an issue or pull request when it's inappropriate or off-topic
36+
# - make initial reviews for issues such as syntax errors and basic issues in code/docs
37+
38+
people = [
39+
"RDIL"
40+
]
41+
42+
[Org.Alumni]
43+
44+
# This list contains maintainers that are no longer active.
45+
# It is thanks to these people that the project has become what it is today.
46+
# Thank you!
47+
48+
people = [
49+
]
50+
51+
[people]
52+
53+
# A reference list of all people associated with the project.
54+
# All other sections should refer to people by their canonical key
55+
# in the people section.
56+
57+
# ADD YOURSELF HERE IN ALPHABETICAL ORDER (First name)
58+
59+
[people.adityapatwardhan]
60+
Name = "Aditya Patwardhan"
61+
Email = ""
62+
GitHub = "adityapatwardhan"
63+
64+
[people.andrew]
65+
Name = "Andrew Menagarishvili"
66+
Email = ""
67+
GitHub = "anmenaga"
68+
69+
[people.rdil]
70+
Name = "Reece Dunham"
71+
72+
GitHub = "RDIL"
73+
74+
[people.kiazhi]
75+
Name = "Ryen Tang"
76+
77+
GitHub = "kiazhi"
78+
79+
[people.travisez13]
80+
Name = "Travis Plunk"
81+
82+
GitHub = "TravisEz13"

assets/README.powershell.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ PowerShell is licensed under the [MIT license][].
6262
By requesting and using the Container OS image for Windows containers, you acknowledge, understand,
6363
and consent to the Supplemental License Terms available on Docker Hub:
6464

65-
- [Window Server Core](https://store.docker.com/_/windowsservercore)
65+
- [Windows Server Core](https://store.docker.com/_/windowsservercore)
6666
- [Nano Server](https://store.docker.com/_/nanoserver)
6767

6868
[Third-Party Software Notices and Information](https://github.com/PowerShell/PowerShell/blob/master/ThirdPartyNotices.txt)

docs/development.md

Lines changed: 65 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
### Folder structure
66

7-
The top level folder with the docker files is `release`.
7+
The top level folder with the `Dockerfile`s is `release`.
88
This should only have folders under it.
99
The three folders are:
1010

@@ -17,43 +17,17 @@ The name of the folder will be the name of the image in the build system, but do
1717
For example, the `stable` Ubuntu 16.04 image is in `release/stable/ubuntu16.04`.
1818
In this folder, there are 4 items:
1919

20-
* `docker` - a folder containing the `Dockerfile` to build the image and any other files needed in the Docker build context
21-
* `meta.json` - This is required for Linux images. It should contain the following:
22-
23-
```json
24-
{
25-
"IsLinux" : true,
26-
"tagTemplates": [
27-
"my-tag",
28-
"my-other-tag"
29-
]
30-
}
31-
```
32-
33-
Tags are a JSON array that describes the tags the image should have.
34-
35-
Tags you can use:
36-
* `#psversion#` is replaced by the version of PowerShell used to build the image.
37-
* `#tag#` is replaced by all tags generated by the `getLatestTag.ps1` script.
38-
* `#shorttag#` is replaced by short tags generated by the `getLatestTag.ps1` script.
39-
* `#longtag#` is replaced by long tags generated by the `getLatestTag.ps1` script.
40-
41-
Example
42-
43-
```json
44-
"tagTemplates": [
45-
"#psversion#-windowsservercore-#tag#",
46-
"windowsservercore-#tag#"
47-
]
48-
```
49-
20+
* `docker` - A folder containing the `Dockerfile` to build the image and any other files needed in the Docker build context.
21+
* `test-deps` (official images only) - Directory for a sub-image. See the [`test-deps` image purpose](./index.md#test-dep-images).
22+
* `dependabot` (optional) - in this directory you can put a dummy `Dockerfile` for [Dependabot](https://dependabot.com) to auto-bump the version. See [Dependabot](#dependabot).
23+
* `meta.json` - See [this section](#metadata-files) later.
5024
* `getLatestTag.ps1` - This script should use the `Get-DockerTags` command from `tools\getDockerTags` to get the tags that should be used as the tag in the `FROM` statement in the Dockerfile.
5125

52-
### Dockerfile Standards
26+
### `Dockerfile` Standards
5327

54-
The Dockerfile should follow certain standards:
28+
All `Dockerfile`s should follow certain standards:
5529

56-
* The following comments should be applied at the beginning of the dockerfile to all images:
30+
* The following comments should be applied at the beginning of the `Dockerfile`:
5731

5832
* Copyright notice
5933
* Software license
@@ -146,3 +120,60 @@ Here is a template for an image build job:
146120
communityStable: true
147121
continueonerror: false
148122
```
123+
124+
## Tags
125+
126+
Tags are a JSON array that describes the tags the image should have.
127+
128+
### Supported Tags
129+
130+
Tags you can use:
131+
132+
* `#psversion#` is replaced by the version of PowerShell used to build the image.
133+
* `#tag#` is replaced by all tags generated by the `getLatestTag.ps1` script.
134+
* `#shorttag#` is replaced by short tags generated by the `getLatestTag.ps1` script.
135+
136+
### Example
137+
138+
```json
139+
"tagTemplates": [
140+
"#psversion#-windowsservercore-#tag#",
141+
"windowsservercore-#tag#"
142+
]
143+
```
144+
145+
## Metadata Files
146+
147+
This file *is **required*** for all containers. Here is the bare minimum:
148+
149+
```json
150+
{
151+
"IsLinux" : true
152+
}
153+
```
154+
155+
You should also add [tags](#tags) as a field.
156+
157+
## Dependabot
158+
159+
This repository has [Dependabot](https://dependabot.com) enabled on it.
160+
161+
The PRs opened for automatic base-image-version bumps will be closed, but the version will most likely get increased.
162+
163+
### Adding to a new Image
164+
165+
You will need to put a `Dockerfile` in the `dependabot` directory of your image, simply containing:
166+
167+
```dockerfile
168+
FROM my-base-image:1.0.0
169+
```
170+
171+
You will also need to add an entry in the `/.dependabot/config.yml` file. Here is a template for that:
172+
173+
```yaml
174+
- package_manager: "docker"
175+
directory: "/release/theChannelHere/theImageHere/dependabot"
176+
update_schedule: "daily"
177+
```
178+
179+
> **Do not use `latest` as the base**, as this makes the whole purpose invalid!

0 commit comments

Comments
 (0)