Skip to content

Commit

Permalink
Merge pull request #363 from Badgerati/develop
Browse files Browse the repository at this point in the history
v1.0.0
  • Loading branch information
Badgerati authored Sep 2, 2019
2 parents 415a420 + 49f0f3b commit 578c905
Show file tree
Hide file tree
Showing 261 changed files with 15,398 additions and 13,990 deletions.
29 changes: 29 additions & 0 deletions .github/workflows/ci-coverage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Pode CI Coverage

on:
push:
branches:
- 'master'
- 'develop'
pull_request:
branches:
- '*'

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1

- name: Install Invoke-Build
shell: pwsh
run: Install-Module -Name InvokeBuild -RequiredVersion '5.5.1' -Force

- name: Run Pester Tests
shell: pwsh
env:
PODE_COVERALLS_TOKEN: ${{ secrets.PODE_COVERALLS_TOKEN }}
PODE_RUN_CODE_COVERAGE: true
run: Invoke-Build Test
31 changes: 31 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Pode CI

on:
push:
branches:
- '*'
- '!gh-pages'
pull_request:
branches:
- '*'

jobs:
build:

runs-on: ${{ matrix.os }}

strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, ubuntu-16.04, windows-latest, windows-2016, macOS-latest]

steps:
- uses: actions/checkout@v1

- name: Install Invoke-Build
shell: pwsh
run: Install-Module -Name InvokeBuild -RequiredVersion '5.5.1' -Force

- name: Run Pester Tests
shell: pwsh
run: Invoke-Build Test
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.

# Pode files anf directories
# Pode files and directories
pode_modules/
ps_modules/
docs/[Ff]unctions/


# Code Runner
tempCodeRunnerFile.ps1
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM mcr.microsoft.com/powershell:6.2.1-ubuntu-16.04
FROM mcr.microsoft.com/powershell:6.2.2-ubuntu-16.04
LABEL maintainer="Matthew Kelly (Badgerati)"
RUN mkdir -p /usr/local/share/powershell/Modules/Pode
COPY ./src/ /usr/local/share/powershell/Modules/Pode
18 changes: 11 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/Badgerati/Pode/master/LICENSE.txt)
[![Documentation](https://img.shields.io/badge/docs-latest-blue.svg)](https://badgerati.github.io/Pode)
[![GitHub Actions](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fbadgerati%2Fpode%2Fbadge&style=flat)](https://actions-badge.atrox.dev/badgerati/pode/goto)
[![AppVeyor](https://img.shields.io/appveyor/ci/Badgerati/Pode/develop.svg?label=AppVeyor)](https://ci.appveyor.com/project/Badgerati/pode/branch/develop)
[![Travis CI](https://img.shields.io/travis/Badgerati/Pode/develop.svg?label=Travis%20CI)](https://travis-ci.org/Badgerati/Pode)
[![Code Coverage](https://coveralls.io/repos/github/Badgerati/Pode/badge.svg?branch=develop)](https://coveralls.io/github/Badgerati/Pode?branch=develop)
Expand All @@ -11,10 +12,10 @@
[![PowerShell](https://img.shields.io/powershellgallery/dt/pode.svg?label=PowerShell&colorB=085298)](https://www.powershellgallery.com/packages/Pode)
[![Docker](https://img.shields.io/docker/pulls/badgerati/pode.svg?label=Docker)](https://hub.docker.com/r/badgerati/pode/)

Pode is a Cross-Platform PowerShell framework for creating web servers to host [REST APIs](https://badgerati.github.io/Pode/Tutorials/Routes/Overview/), [Web Pages](https://badgerati.github.io/Pode/Tutorials/Routes/WebPages/), and [SMTP/TCP](https://badgerati.github.io/Pode/Tutorials/SmtpServer/) Servers. Pode also allows you to render dynamic files using [`.pode`](https://badgerati.github.io/Pode/Tutorials/ViewEngines/Pode/) files, which are just embedded PowerShell, or other [Third-Party](https://badgerati.github.io/Pode/Tutorials/ViewEngines/ThirdParty/) template engines. Plus many more features, including [Azure Functions](https://badgerati.github.io/Pode/Tutorials/Serverless/AzureFunctions/) and [AWS Lambda](https://badgerati.github.io/Pode/Tutorials/Serverless/AwsLambda/) support!
Pode is a Cross-Platform PowerShell framework for creating web servers to host [REST APIs](https://badgerati.github.io/Pode/Tutorials/Routes/Overview/), [Web Pages](https://badgerati.github.io/Pode/Tutorials/Routes/WebPages/), and [SMTP/TCP](https://badgerati.github.io/Pode/Tutorials/SmtpServer/) Servers. Pode also allows you to render dynamic files using [`.pode`](https://badgerati.github.io/Pode/Tutorials/Views/Pode/) files, which are just embedded PowerShell, or other [Third-Party](https://badgerati.github.io/Pode/Tutorials/Views/ThirdParty/) template engines. Plus many more features, including [Azure Functions](https://badgerati.github.io/Pode/Tutorials/Serverless/AzureFunctions/) and [AWS Lambda](https://badgerati.github.io/Pode/Tutorials/Serverless/AwsLambda/) support!

<p align="center">
<img src="https://github.com/Badgerati/Pode/blob/develop/images/example_code.png?raw=true" />
<img src="https://github.com/Badgerati/Pode/blob/develop/images/example_code_2.png?raw=true" />
</p>

See [here](https://badgerati.github.io/Pode/Getting-Started/FirstApp) for building your first app!
Expand All @@ -33,7 +34,7 @@ Then navigate to `http://127.0.0.1:8000` in your browser.

## Features

* Cross-platform using PowerShell Core (with support for PS4.0+)
* Cross-platform using PowerShell Core (with support for PS5)
* Docker support, including images for ARM/Raspberry Pi
* Azure Functions and AWS Lambda support
* Listen on a single or multiple IP address/hostnames
Expand All @@ -44,13 +45,14 @@ Then navigate to `http://127.0.0.1:8000` in your browser.
* Inbuilt template engine, with support for third-parties
* Async timers for short-running repeatable processes
* Async scheduled tasks using cron expressions for short/long-running processes
* Supports request logging to CLI, Files, and custom loggers to other services like LogStash
* Supports logging to CLI, Files, and custom logic for other services like LogStash
* Cross-state variable access across multiple runspaces
* Restart the server via file monitoring, or defined periods/times
* Ability to allow/deny requests from certain IP addresses and subnets
* Basic rate limiting for IP addresses and subnets
* Middleware and Sessions on web servers, with Flash message and CSRF support
* Authentication on requests, such as Basic and Windows Active Directory
* Support for dynamically building Routes from Functions and Modules
* (Windows) Generate/bind self-signed certificates, and signed certificates
* (Windows) Open the hosted server as a desktop application

Expand All @@ -71,10 +73,12 @@ docker pull badgerati/pode

## Contributing

Pull Requests, Bug Reports and Feature Requests are welcome!
Pull Requests, Bug Reports and Feature Requests are welcome! Feel free to help out with Issues and Projects!

To run the unit tests, run the following command from the root of the repository:
To run the unit tests, run the following command from the root of the repository (this will auto-install Pester for you):

```powershell
Invoke-Build Test
```
```

To work on issues you can fork Pode, and then open a Pull Request for approval. Pull Requests should be made against the `develop` branch. Each Pull Request should also have an appropriate issue created.
2 changes: 1 addition & 1 deletion arm32.dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM badgerati/ps-core:6.2.1-arm32
FROM badgerati/ps-core:6.2.2-arm32
LABEL maintainer="Matthew Kelly (Badgerati)"
RUN mkdir -p /usr/local/share/powershell/Modules/Pode
COPY ./src/ /usr/local/share/powershell/Modules/Pode
54 changes: 0 additions & 54 deletions docs/Functions/Core/Config.md

This file was deleted.

35 changes: 0 additions & 35 deletions docs/Functions/Core/Endware.md

This file was deleted.

40 changes: 0 additions & 40 deletions docs/Functions/Core/Engine.md

This file was deleted.

75 changes: 0 additions & 75 deletions docs/Functions/Core/Gui.md

This file was deleted.

Loading

0 comments on commit 578c905

Please sign in to comment.