Skip to content

chxmxii/challengefile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Challengefile (WIP)

Challengefile is a tool to deploy tcp-based challengs on Kubernetes.

Installation

  1. Clone the repository:
    git clone https://github.com/chxmxii/challengefile.git
    cd challengefile
  2. Install the tool:
    make install

Usage

  1. Create a challengefile for your challenge like the example below:

    library:
    
      Metadata:
        Author: chxmxii
        Namespace: lib-pwn
        category: pwn
      
      Deployment:
        name: library
        image: chxmxii/library
        replicas: 2 # ignored when hpa is true
        hpa: true
        healthCheck: true
    
      Service:
        name: library-svc
        port: 30330
        protocol: TCP
  2. Run commands to manage challenges:

    • Deploy a challenge:
      challengefile deploy -f <challengefile> -c <challenge_name> -k <path/to/kubeconfig> 
    • Destroy a challenge:
      challengefile destroy -f <challengefile> -c <challenge_name> -k <path/to/kubeconfig>
    • Validate the challengefile:
      challengefile validate -f <file>
    • View the full command list:
      challengefile help
  • Note: The challengefile and kubeconfig are optional arguments. If not provided, the tool will look for the ./challengefile in the current directory and use the default kubeconfig.

Features

  • Deploy challenges to Kubernetes with ease.
  • Validate configurations before deployment.
  • Support for HPA and health checks.
  • Service management with flexible options.

Next..

  • Support for more http-based challenge types.

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

About

A simple tool to deploy your challenges on k8s.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published