Skip to content

Central hub for multi-language project templates, streamlining repository creation and initial setup with automated tools and verified functionality.

Notifications You must be signed in to change notification settings

PashmakGuru/platform-repo-scaffolder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Repository Scaffolder

Overview

Golang Template Integration Tests VueJS Template Integration Tests

This repository is dedicated to maintaining a collection of project templates in various programming languages and facilitates the creation of new repositories. It plays a crucial role in initial (day-0) repository setup operations.

Sequence of Scaffolding a Repository

sequenceDiagram
    actor DEV as Developer
    participant PRT as Port IDP
    participant RRS as Repository:<br>platform-repo-scaffolder
    participant RNW as New Repository

    DEV ->> PRT: Scaffold a new repository
    PRT ->> RRS: Initiate workflow:<br>repository-scaffolder.yaml
    RRS ->> RRS: Prepare a template<br>using Cookiecutter
    RRS ->> RNW: Create a new repository
    RRS ->> PRT: Add the new entity
Loading

Sequence of Deleting a Repository

sequenceDiagram
    actor DEV as Developer
    participant PRT as Port IDP
    participant RRS as Repository:<br>platform-repo-scaffolder
    participant RTG as Target Repository

    DEV ->> PRT: Delete a repository
    PRT ->> RRS: Initiate workflow:<br>repository-delete.yaml
    RRS ->> RTG: Clone the repository
    activate RTG
    RTG -->>RRS: Get content
    deactivate RTG
    RRS ->> RRS: Backup the repository as an artifact
    RRS ->> RTG: Delete the repository
    RRS ->> PRT: Delete the entity
Loading

Key Functions

  • Maintenance of project source-code templates
  • Verification of functionality for source-code templates
  • Verification of functionality for related template images
  • Automating the setup of new repositories (day-0 operations)

Tech Stack

Development & Contribution

To set up your development environment and learn about contributing to this project, please refer to CONTRIBUTION.md.

Workflows

Name Description
repository-scaffolder.yaml Called by Port IDP, it scaffolds a repository from the templates available (Golang and VueJS)
repository-delete.yaml Called by Port IDP, it backups the repository content to the scaffolder articafts and deletes the repository afterward.
golang-ci.yaml Ensures the Golang template is generated properly by Cookiecutter, the binary is executable by default and serving a HTTP server, and the Docker image is good to go
vuejs-ci.yaml Ensures the VueJS template is generated properly by Cookiecutter, serves the specific content, and the Docker image is functional

About

Central hub for multi-language project templates, streamlining repository creation and initial setup with automated tools and verified functionality.

Topics

Resources

Stars

Watchers

Forks