npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@ciflex/ciflexctl

v1.0.90

Published

![ciflex-platform](https://github.com/user-attachments/assets/5031c036-ef71-4721-9faa-dd3e413da041)

Downloads

122

Readme

CICD Platform

ciflex-platform

CICD Platform is an AWS CodePipeline generator that simplifies pipeline creation by automating building, unit testing, code style linting, and deploying tasks.As a fully managed continuous delivery service, this DevOps platform leverages CDK, CodeBuild, Dynamodb and Cognito to streamline AWS CodePipeline infrastructure and efficiently manage and automate CI/CD processes. With CiFlex, DevOps teams can create and publish plugins to introduce new features and enhance their CI/CD workflows. Additionally, it integrates with ServiceCatalog to provide a comprehensive solution for managing CodePipeline setups.

Benefits:

  • Self-Mutating CICD Pipeline: CiFlex plugins can be dynamically added, updated with new values, or removed without coding, enabling a pipeline to reconfigure itself to deploy new or updated stages. Pipelines will automatically update based on configuration files submitted by application teams.

  • Plugin-Based Architecture: With a plugin-based architecture, DevOps teams can effortlessly extend functionality by creating or modifying plugins. This empowers application teams to swiftly incorporate new capabilities into their pipelines, adapting to changing requirements with ease.

  • Authorization: CiFlex prioritizes security by leveraging AWS Cognito services to protect its APIs with JSON Web Tokens (JWT). This ensures that application teams must authenticate to create and provision pipelines, guaranteeing secure access and maintaining data integrity.

  • AWS Service Catalog Integration: Streamline pipeline creation and provisioning with seamless integration into the AWS Service Catalog. Centralize management of pipeline resources to enhance efficiency and governance for application teams.

  • Pipeline-Level Variables : Both stages and steps expose pipeline variables to be easily consumed by other stages and steps. These pipeline-level variables are fully customizable, allowing you to define their names and values.

  • Command-Line Inteface: A unified tool that offers a consistent interface for interacting with CiFlex APIs.

  • Technology: CDK,Cognito,Dynamodb,CodeBuild,CodePipeline,Service Catalog

AWS Service Catalog Integration

AWS Service Catalog Integration

Dynamically Configure AWS CodePipeline

Dynamically Configure AWS CodePipeline

Prerequisites

Usage

export CIFLEX_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxx

npm config set //npm.pkg.github.com/:_authToken $CIFLEX_TOKEN
npm config set @mrwconsulting:registry https://npm.pkg.github.com/
npm install @ciflex/ciflexctl --global

ciflexctl --help
ciflexctl --version

Platform Setup

  1. Request CiFlex Token: (email: [email protected])

  2. Install CiFlex Platform:

    export AWS_ACCESS_KEY_ID=<AWS_ACCESS_KEY_ID>
    export AWS_SECRET_ACCESS_KEY=<AWS_SECRET_ACCESS_KEY>
    export CIFLEX_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxx
    
    npm config set //npm.pkg.github.com/:_authToken $CIFLEX_TOKEN
    npm config set @mrwconsulting:registry https://npm.pkg.github.com/
    npm install @ciflex/ciflexctl --global
    
    ciflexctl platform --setup --vpcId <VPC_ID>

    Detected vpc id: <VPC_ID> Verify toolkit stack... Toolkit stack exists..

    ✨ Synthesis time: 7.06s stack (ciflex-platform-stack): deploying... [1/1] ciflex-platform-stack: creating CloudFormation changeset...

    ✅ stack (ciflex-platform-stack) ✨ Deployment time: 309.76s

    Outputs: stack.restapiEndpoint7C8BD49C = <https...> ✨ Total time: 325.35s

    Do you want to install cognito admin account? [y/N]y Enter cognito username: [admin] Enter cognito email: [[email protected]] Enter cognito password: [Password01!]

    Cognito account configured: <arn...> Do you want to load default plugins? [y/N]y Creating dynamodb table: ciflex-registry Loading default plugins...

    Do you want to initialize catalog repository? [y/N]y

    ✨ Synthesis time: 5.32s

    ciflex-catalog-stack: deploying... [1/1] ciflex-catalog-stack: creating CloudFormation changeset...

    ✅ ciflex-catalog-stack ✨ Deployment time: 56.37s

    Stack ARN: <arn...> ✨ Total time: 61.69s

    Catalog repository initialized...

Pipeline Samples

export AWS_ACCESS_KEY_ID=<AWS_ACCESS_KEY_ID>
export AWS_SECRET_ACCESS_KEY=<AWS_SECRET_ACCESS_KEY>
export CIFLEX_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxx

cd springboot-maven
../bin/access-token.sh 
export CIFLEX_ACCESS_TOKEN=<CIFLEX_ACCESS_TOKEN>
ciflexctl pipeline --deploy

List Available Plugins

export AWS_ACCESS_KEY_ID=<AWS_ACCESS_KEY_ID>
export AWS_SECRET_ACCESS_KEY=<AWS_SECRET_ACCESS_KEY>

ciflexctl plugins --list

FAQ

Q. What are the environment variables used to configure CiFlexctl? A. Here are a few common ones. See the documentation for more details.

Q. Can we add our own stages and steps? A. Certainly! You can add your own custom stages \ steps to a pipeline by including them in the YAML file that defines the pipeline. This allows you to tailor the pipeline to your specific requirements and workflows.

Q. Can we create our own plugins or update existing ones? A. Yes, use ciflexctl

Q. Can different pipelines be deployed based on a branch in our software development process? A. Yes, create pipeline properties file. Here's example:[pipeline.properties]

Q. How do I disable a pipeline stage? A. Both stages and steps can be disabled by setting the 'isActive' attribute to 'false'. Here's an example

Links