All Projects → techthoughts2 → Catesta

techthoughts2 / Catesta

Licence: mit
Catesta is a PowerShell module project generator. It uses templates to rapidly scaffold test and build integration for a variety of CI/CD platforms.

Programming Languages

powershell
5483 projects

Projects that are alternatives of or similar to Catesta

Sup3rs3cretmes5age
Simple to use, simple to deploy, one time self destruct messaging service, with hashicorp vault as a backend
Stars: ✭ 313 (+255.68%)
Mutual labels:  vault, secrets
Vault
A tool for secrets management, encryption as a service, and privileged access management
Stars: ✭ 22,383 (+25335.23%)
Mutual labels:  vault, secrets
T Vault
Simplified secrets management solution
Stars: ✭ 316 (+259.09%)
Mutual labels:  vault, secrets
Daytona
a vault client, but for containers and servers.
Stars: ✭ 255 (+189.77%)
Mutual labels:  vault, secrets
Template Micro Service
Scaffolding out a micro-service
Stars: ✭ 12 (-86.36%)
Mutual labels:  scaffold, template
Azure Key Vault To Kubernetes
Azure Key Vault to Kubernetes (akv2k8s for short) makes it simple and secure to use Azure Key Vault secrets, keys and certificates in Kubernetes.
Stars: ✭ 253 (+187.5%)
Mutual labels:  vault, secrets
Node Vault
Client for HashiCorp's Vault
Stars: ✭ 391 (+344.32%)
Mutual labels:  vault, secrets
secrets cli
CLI for storing and reading your secrets via vault
Stars: ✭ 24 (-72.73%)
Mutual labels:  vault, secrets
Mrm
Codemods for your project config files
Stars: ✭ 900 (+922.73%)
Mutual labels:  scaffold, template
Vault Guides
Example usage of HashiCorp Vault secrets management
Stars: ✭ 636 (+622.73%)
Mutual labels:  vault, secrets
secrets-proxy
🔑 A secure proxy service for managing OneOps secrets.
Stars: ✭ 12 (-86.36%)
Mutual labels:  vault, secrets
Drone Vault
Drone plugin for integrating with the Vault secrets manager
Stars: ✭ 36 (-59.09%)
Mutual labels:  vault, secrets
k8s-vault-webhook
A k8s vault webhook is a Kubernetes webhook that can inject secrets into Kubernetes resources by connecting to multiple secret managers
Stars: ✭ 107 (+21.59%)
Mutual labels:  vault, secrets
Vault Secrets Operator
Create Kubernetes secrets from Vault for a secure GitOps based workflow.
Stars: ✭ 298 (+238.64%)
Mutual labels:  vault, secrets
polymerase
A tool for populating templates with environment variables and Vault values
Stars: ✭ 84 (-4.55%)
Mutual labels:  vault, secrets
Cryptr
Cryptr: a GUI for Hashicorp's Vault
Stars: ✭ 324 (+268.18%)
Mutual labels:  vault, secrets
teller
Cloud native secrets management for developers - never leave your command line for secrets.
Stars: ✭ 998 (+1034.09%)
Mutual labels:  vault, secrets
thycotic.secretserver
PowerShell module for automating with Thycotic Secret Server REST API
Stars: ✭ 41 (-53.41%)
Mutual labels:  vault, secrets
Noahv
An efficient front-end application framework based on vue.js
Stars: ✭ 593 (+573.86%)
Mutual labels:  scaffold, template
Heroku Aiohttp Web
A project starter template for deploying an aiohttp app to Heroku
Stars: ✭ 14 (-84.09%)
Mutual labels:  scaffold, template

Catesta

Minimum Supported PowerShell Version PowerShell Gallery Cross Platform License

Catesta Logo

Branch Windows - PowerShell Windows - pwsh Linux MacOS
master Build Status Windows PowerShell Master Build Status Windows pwsh Master Build Status Linux Master Build Status MacOS Master
Enhancements Build Status Windows PowerShell Enhancements Build Status Windows pwsh Enhancements Build Status Linux Enhancements Build Status MacOS Enhancements

Synopsis

Catesta is a PowerShell module project generator. It uses templates to rapidly scaffold test and build integration for a variety of CI/CD platforms.

Description

Catesta enables you to quickly scaffold a PowerShell module or Vault extension project with proper formatting, test + build automation, CI/CD integration, with just one line of code.

  • Catesta scaffolds an empty PowerShell/Vault extension module project that adheres to PowerShell community guidelines.
  • It generates a few Pester tests to get you started.
  • It makes a build file that analyzes your code for best practices and styling, runs Pester tests, creates PowerShell help, and combines your functions together to build your project for publication.
  • It will create resources you need to trigger CI/CD builds for your module.
  • When you commit your code to your chosen repository, the build(s) will run, and you can view the results.

Why

Simplify the process of structuring your module so that you can focus on building a great PowerShell module instead of the layout and build requirements.

Features

  • Catesta can build two types of module projects:
    1. PowerShell module layout following PowerShell community practices
    2. SecretManagement Vault extension module layout following PowerShell community practices
  • [Selection] Required CI/CD integration files generated:
  • [Selection] Build types for easy cross-platform testing
    • Windows PowerShell
    • Windows pwsh
    • Linux
    • MacOS
  • InvokeBuild tasks for validation / analysis / test / build automation
    • PSScriptAnalyzer code checks
      • [Optional] Code Style Enforcement (Stroustrup, OTBS, Allman)
    • Pester Tests
      • Will run Unit / Infrastructure Tests if available
      • Generates Code Coverage Report
      • Coverage Gutters support
    • [Optional] Create Help using platyPS
      • Markdown-based help
      • External XML help file generation
    • Build and artifact creation
  • [Optional] VSCode editor files
  • [Optional] Helpful repository files
    • .gitignore
    • Project LICENSE (MIT / APACHE / GNU / ISC)
    • Changelog
    • GitHub community files:
      • Code of Conduct
      • Contributing guidelines
      • Templates
        • Issue Bug Report
        • Issue Feature Request
        • Pull Request

Installation

# Install Catesta from the PowerShell Gallery
Install-Module -Name Catesta -Repository PSGallery -Scope CurrentUser

Quick start

PowerShell Module

# Scaffolds a PowerShell module project for integration with AWS CodeBuild.
New-PowerShellProject -CICDChoice 'AWS' -DestinationPath c:\path\AWSProject

# Scaffolds a PowerShell module project for integration with GitHub Actions Workflows.
New-PowerShellProject -CICDChoice 'GitHubActions' -DestinationPath c:\path\GitHubActions

# Scaffolds a PowerShell module project for integration with Azure DevOps Pipelines.
New-PowerShellProject -CICDChoice 'Azure' -DestinationPath c:\path\AzurePipeline

# Scaffolds a PowerShell module project for integration with AppVeyor Projects.
New-PowerShellProject -CICDChoice 'AppVeyor' -DestinationPath c:\path\AppVeyor

# Scaffolds a basic PowerShell module project with no additional extras. You just get a basic PowerShell module construct.
New-PowerShellProject -CICDChoice 'ModuleOnly' -DestinationPath c:\path\ModuleOnly

SecretManagement Vault Extension Module

# Scaffolds a PowerShell SecretManagement vault module project for integration with AWS CodeBuild.
New-VaultProject -CICDChoice 'AWS' -DestinationPath c:\path\AWSProject

# Scaffolds a PowerShell SecretManagement vault module project for integration with GitHub Actions Workflows.
New-VaultProject -CICDChoice 'GitHubActions' -DestinationPath c:\path\GitHubActions

# Scaffolds a PowerShell SecretManagement vault module project for integration with Azure DevOps Pipelines.
New-VaultProject -CICDChoice 'Azure' -DestinationPath c:\path\AzurePipeline

# Scaffolds a PowerShell SecretManagement vault module project for integration with AppVeyor Projects.
New-VaultProject -CICDChoice 'AppVeyor' -DestinationPath c:\path\AppVeyor

# Scaffolds a basic PowerShell SecretManagement vault module project with no additional extras. You just get a basic module construct.
New-VaultProject -CICDChoice 'ModuleOnly' -DestinationPath c:\path\ModuleOnly

Getting Started

  1. Use Catesta to scaffold your PowerShell/Vault project with your desired CI/CD platform and builds.
  2. Write your module (the hardest part)
    • All build testing can be done locally by navigating to src and running Invoke-Build
    • If using VSCode as your primary editor you can use tasks to perform various local actions
      • Examples:
        • Press Ctrl+P, then type 'task .' - Runs complete build (all tasks)
        • Press Ctrl+P, then type 'task Test' - Invokes all Pester Unit Tests
        • Press Ctrl+P, then type 'task Analyze' - Invokes Script Analyzer checks
        • Press Ctrl+P, then type 'task DevCC' - Generates generate xml file to graphically display code coverage in VSCode using Coverage Gutters
  3. Add any module dependencies to your CI/CD bootstrap file:
    • AWS: install_modules.ps1
    • GitHub Actions: actions_bootstrap.ps1
    • Azure: actions_bootstrap.ps1
    • AppVeyor: actions_bootstrap.ps1
  4. Commit your project to desired repository that is integrated with your CI/CD platform. This will trigger the build actions.
  5. Evaluate results of your builds and display your README badges proudly!

Additional Catesta documentation that covers the process of CI/CD integration in depth:

FAQ

Catesta - FAQ

Author

Jake Morrison - https://techthoughts.info/

Contributors

Notes

Additional Catesta documentation that covers PowerShell Vault Extension module projects more in depth:

Changelog

Reference the Changelog

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].