Skip to content
This repository has been archived by the owner on Sep 4, 2020. It is now read-only.

Reorganize project for documentation via gitbook #158

Merged
merged 3 commits into from
Jun 21, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
37 changes: 37 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Contributing to Vester

Everyone is welcome to contribute to this project.
The goal is to add fine-grained tests that look at specific values within a vSphere environment, compare them to defined configuration value, and optionally remediate discrepancies if the user so decides.
However, there is nothing wrong with submitting a pull request (PR) with a non-remediating test.
This is a great starting point for those newer to coding with PowerShell!

## Contribution Requirements

Every test that is added to Vester needs three things:

1. An update to the example [`Config.ps1`][config] file with your required configuration value(s), comments, and accepted input type.
2. An update to the [`Config.Tests.ps1`][config.tests] file to validate that the `Config.ps1` file contains valid entries.
3. A test file using a properly formatted `Verb-Noun` format (use `Get-Verb` for more details) placed into the Tests folder.

## Your First Contribution

If you're looking for your first bit of code to add, try this list:

1. Identify a configuration value in your vSphere environment that isn't being inspected by Vester.
2. Use the [Template][template] to create a test that inspects this value and try it out locally.
3. At this point you can submit a pull request (PR) for a non-remediating test.
If someone else wants the remediation code added, they will grab your code and write that portion.
4. Optionally, write the remediation portion yourself to make a fully remediating test.

## Contribution Process

1. Create a fork of the project into your own repository.
2. From your fork, create a new feature branch (other than master) that expresses your feature or enhancement.
3. Make all your necessary changes in your feature branch.
4. Create a pull request with a description on what was added or removed and details explaining the changes in lines of code.

If approved, project owners will merge it.

[config]: https://github.com/WahlNetwork/Vester/blob/master/Configs/Config.ps1
[config.tests]: https://github.com/WahlNetwork/Vester/blob/master/Configs/Config.Tests.ps1
[template]: https://github.com/WahlNetwork/Vester/blob/master/Templates/Update-Template.ps1
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -44,3 +44,9 @@ Thumbs.db
+# Custom Test Config #
+######################
+Vester/Configs/config.json

# Documentation Folders/Files #
###############################
compiled_docs
public
*.pdf
24 changes: 17 additions & 7 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,19 +67,19 @@ I learned that we need to publish releases far more often. :)
- VDS-VlanMTU-HealthCheck

### Changed
- #114/#115: `Invoke-Vester` is **more than twice as fast** now! We removed repeated `Get` calls within private file `VesterTemplate.Tests.ps1`. Big thanks to @Midacts/@jpsider/@jonneedham for collaborating on this.
- #118/#119: `Config.json` files now sort their settings within each scope.
- [#114][issue-114] / [#115][issue-115]: `Invoke-Vester` is **more than twice as fast** now! We removed repeated `Get` calls within private file `VesterTemplate.Tests.ps1`. Big thanks to @Midacts/@jpsider/@jonneedham for collaborating on this.
- [#118][issue-118] / [#119][issue-119]: `Config.json` files now sort their settings within each scope.

### Fixed
- #90: `Invoke-Vester -Test $TestList` should execute all tests in the array, instead of just the final one after ignoring the rest. Now they do again.
- #99: Re-implemented `-PassThru` on `Invoke-Vester`.
- #116/#129: The name of the active vCenter connection was not being reported properly.
- #154: Network test VDS-MTUsize had an incorrect parameter.
- [#90][issue-90]: `Invoke-Vester -Test $TestList` should execute all tests in the array, instead of just the final one after ignoring the rest. Now they do again.
- [#99][issue-99]: Re-implemented `-PassThru` on `Invoke-Vester`.
- [#116][issue-116] / [#129][issue-129]: The name of the active vCenter connection was not being reported properly.
- [#154][issue-154]: Network test VDS-MTUsize had an incorrect parameter.
- Cleaned up VM test files:
- Tools-DiskWiperDisable
- Tools-HGFS-ServerDisable

### Much :heart:
### Much
[@jeffgreenca](https://github.com/jeffgreenca) [@haberstrohr](https://github.com/haberstrohr) [@jonneedham](https://github.com/jonneedham) [@Midacts](https://github.com/Midacts) [@jpsider](https://github.com/jpsider) [@Factorization](https://github.com/Factorization)


Expand All @@ -89,3 +89,13 @@ Initial availability as a PowerShell module

## [1.0.0] - 2016-11-10 [YANKED]
Published just to reserve the name on the PowerShell Gallery. If you have this version, please update!

[issue-90]: https://github.com/WahlNetwork/Vester/issues/90
[issue-99]: https://github.com/WahlNetwork/Vester/issues/99
[issue-114]: https://github.com/WahlNetwork/Vester/issues/114
[issue-115]: https://github.com/WahlNetwork/Vester/issues/115
[issue-116]: https://github.com/WahlNetwork/Vester/issues/116
[issue-118]: https://github.com/WahlNetwork/Vester/issues/118
[issue-119]: https://github.com/WahlNetwork/Vester/issues/119
[issue-129]: https://github.com/WahlNetwork/Vester/issues/129
[issue-154]: https://github.com/WahlNetwork/Vester/issues/154
Binary file removed Media/lab-config-example.jpg
Binary file not shown.
14 changes: 9 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
Vester
======================
# Vester

[![Documentation Status](https://readthedocs.org/projects/vester/badge/?version=latest)](http://vester.readthedocs.io/en/latest/?badge=latest)

Vester is a community project that aims to provide an extremely light-weight approach to vSphere configuration management using Pester and PowerCLI. The end-state configuration for each vSphere component, such as clusters and hosts, are abstracted into a simple config file. The configuration is tested--and optionally remediated--when drift is identified. The entire project is written in PowerShell.
Vester is a community project that aims to provide an extremely light-weight approach to vSphere configuration management using Pester and PowerCLI.
The end-state configuration for each vSphere component, such as clusters and hosts, are abstracted into a simple config file.
The configuration is tested -- and, optionally, remediated -- when drift is identified.
The entire project is written in PowerShell.

March 2017: To learn how to use [Vester 1.0](https://www.powershellgallery.com/packages/Vester/1.0.1), there is a [three-part blog series](http://www.brianbunke.com/blog/2017/03/07/introducing-vester/) and accompanying [video demo](https://youtu.be/6DYZR-xFt-4). (Which is really long. You've been warned.)
March 2017: To learn how to use [Vester 1.0](https://www.powershellgallery.com/packages/Vester/1.0.1), there is a [three-part blog series](http://www.brianbunke.com/blog/2017/03/07/introducing-vester/) and accompanying [video demo](https://youtu.be/6DYZR-xFt-4).
(Which is really long. You've been warned.)

> The below documentation link is outdated. We'll remove this comment when we've finished refreshing that info.
> The below documentation link is outdated.
> We'll remove this comment when we've finished refreshing that info.

Please visit the **[full documentation](http://vester.readthedocs.io/en/latest/)** for more details.
35 changes: 35 additions & 0 deletions build.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
[cmdletbinding()]
Param (
[string]$ApiKey,
[string[]]$PowerShellModules = @("Pester","Psake","BuildHelpers","Plaster"),
[string[]]$PackageProviders = @('NuGet','PowerShellGet'),
[string[]]$TaskList
)

# Install package providers for PowerShell Modules
ForEach ($Provider in $PackageProviders) {
If (!(Get-PackageProvider $Provider -ErrorAction SilentlyContinue)) {
Install-PackageProvider $Provider -Force -ForceBootstrap -Scope CurrentUser
}
}

# Install the PowerShell Modules
ForEach ($Module in $PowerShellModules) {
If (!(Get-Module -ListAvailable $Module -ErrorAction SilentlyContinue)) {
Install-Module $Module -Scope CurrentUser -Force -Repository PSGallery
}
Import-Module $Module
}

Push-Location $PSScriptRoot
Write-Output "Retrieving Build Variables"
Get-ChildItem -Path env:\bh* | Remove-Item
Set-BuildEnvironment

If ($TaskList.Count -gt 0) {
Write-Output "Executing Tasks: $TaskList`r`n"
Invoke-Psake -buildFile .\psake.ps1 -properties $PSBoundParameters -noLogo -taskList $TaskList
} Else {
Write-Output "Executing Unit Tests Only`r`n"
Invoke-Psake -buildFile .\psake.ps1 -properties $PSBoundParameters -nologo
}
1 change: 1 addition & 0 deletions docs/.bookignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules
27 changes: 0 additions & 27 deletions docs/BuildDocs.ps1

This file was deleted.

6 changes: 6 additions & 0 deletions docs/FAQ.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Frequently Asked Questions

This section will contain a list of questions that have been received (and answered) by the Project Team.

## 1. Is this project open source? If so, using what license?
This project _is_ open sourced under the [Apache 2.0 license](https://github.com/WahlNetwork/Vester/blob/master/LICENSE).
7 changes: 7 additions & 0 deletions docs/book.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"title": "Vester",
"description": "Easily validate and remediate your vSphere configuration",
"author": "Chris Wahl",
"language": "en",
"plugins": ["expandable-chapters-small"]
}
8 changes: 8 additions & 0 deletions docs/concept/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Concept Documentation
The following chapters contain concept guides which explain, in detail, one or more of the following:

+ Why a design decision was made
+ How an internal component works and why it was used
+ When and when not to use particular features or components
+ What to do when implementing this project in the user's environment
+ Which patterns are best practices and which patterns should be avoided
38 changes: 0 additions & 38 deletions docs/contribution.rst

This file was deleted.

4 changes: 0 additions & 4 deletions docs/faq.rst

This file was deleted.

102 changes: 0 additions & 102 deletions docs/getting_started.rst

This file was deleted.

45 changes: 0 additions & 45 deletions docs/index.rst

This file was deleted.

Loading