0.2.1 • Published 6 days ago

ctz v0.2.1

Weekly downloads
-
License
SEE LICENSE IN LI...
Repository
-
Last release
6 days ago

REUSE status

Containerize Build Tool

About this project

Build tool to containerize cloud applications.

Requirements

Setup

Usage

 USAGE
     ctz = ctz help
     ctz <filename> <options> = builds images of all modules and pushes them to remote repository
    
 OPTIONS
     -l |  --log       logs the standard output in the console
     -p |  --push      pushes the images to specified repository
     -h |  --help      get detailed usage information
     -v |  --version   get version of the package

 EXAMPLES
    ctz build.yaml
    ctz build.yaml --log
    ctz build.yaml -l
    ctz build.yaml --push
    ctz build.yaml -p --log

Configuration

The following fields are allowed in the YAML file.

FieldDescriptionMandatory
_schema-versionschema version of the containerize yaml file.
repositoryregistry where your images/modules will be pushed.:ballot_box_with_check:
tagglobal tag used for all images/modules.
before-alllist of commands to execute before building images/modules.
moduleslist of modules.:ballot_box_with_check:

Configuration of modules

There are three ways to configure how to containerize a module:

  1. buildpack: Cloud Native buildpacks to containerize a module.

    Example:

    modules:
    - name: bookshop-srv
      build-parameters:
        buildpack:
          type: nodejs
          builder: builder-jammy-base
          path: gen/srv
          env:
            BP_NODE_RUN_SCRIPTS: ""

    type (optional): Mention the buildpack(s) (comma-separated if multiple).
    There are certain keywords which when mentioned in type key of buildpack which are parsed as:

|        Keyword    |      Parsed to                                               |
|-------------------|--------------------------------------------------------------|
| *nodejs*          | gcr.io/paketo-buildpacks/nodejs                              |                
| *java*            | gcr.io/paketo-buildpacks/java                                |               
| *sap-machine*     | gcr.io/paketo-buildpacks/sap-machine                         |
| *executable-jar*  | gcr.io/paketo-buildpacks/executable-jar                      |
| *spring-boot*     | gcr.io/paketo-buildpacks/spring-boot                         |
| *syft*            | gcr.io/paketo-buildpacks/syft                                |

</br>

**builder**: Specify the builder type.  
There are certain keywords which when mentioned in `builder` key of buildpack which are parsed as:  

</br>


|     Keyword                        |      Parsed to                                            |
|------------------------------------|-----------------------------------------------------------|
| *builder-jammy-base*               | paketobuildpacks/builder-jammy-base                       |
| *builder-jammy-buildpackless-base* | paketobuildpacks/builder-jammy-buildpackless-base         |
| *builder-jammy-full*               | paketobuildpacks/builder-jammy-full                       |
| *builder-jammy-buildpackless-full* | paketobuildpacks/builder-jammy-buildpackless-full         |

</br>

**path** : Path of the module to be containerized.

**env**: Environment variables (key-value pairs).

`Note`: `pack` CLI tool is required for this option. 
  1. dockerfile: Dockerfile provided by the user is used.

    Example:

    modules:
    - name: bookshop-srv
      build-parameters:
        dockerfile: <path to a docker file>
  2. commands: List of commands provided by the user are executed to build the image.

    Example:

    modules:
    - name: bookshop-srv
      build-parameters:
        commands:
        - command 1
        - command 2
        - command 3

    Note: These commands are executed as is without any validation.

Support, Feedback, Contributing

This project is open to feature requests/suggestions, bug reports etc. via GitHub issues. Contribution and feedback are encouraged and always welcome. For more information about how to contribute, the project structure, as well as additional contribution information, see our Contribution Guidelines.

Security / Disclosure

If you find any bug that may be a security problem, please follow our instructions at in our security policy on how to report it. Please do not create GitHub issues for security-related doubts or problems.

Code of Conduct

We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone. By participating in this project, you agree to abide by its Code of Conduct at all times.

Licensing

Copyright 2024 SAP SE or an SAP affiliate company and ctz contributors. Please see our LICENSE for copyright and license information. Detailed information including third-party components and their licensing/copyright information is available via the REUSE tool.

0.2.1

6 days ago

0.2.0

6 days ago

0.1.2

27 days ago

0.1.1

27 days ago