Skip to content

kubesphere/s2ioperator

Repository files navigation

Gitpod ready-to-code

Source-to-image Operator

License Go Report Card S2I Operator release

Source-to-image(S2I)-Operator is a Kubernetes Custom Resource Defintion (CRD) controller that provides easy Kubernetes-style resources for declaring CI/CD-style pipelines. S2I Operator create a ready-to-run images by injecting source code into a container image and letting the container prepare that source code for execution. And create workload automatically with ready-to-run images.

Native S2I vs S2I Operator

Compare with native S2I, S2I Operator also has the following advantages on the original foundation.

  1. Provide S2I Open API: you can call S2I API directly to generate image, or carry out secondary development.
  2. Simple Config: you just provide source code url, and specify the image repo which you want to push, other configurations will setted automatically. And all configurations are stored as different resources in Kubernetes.
  3. Deep integration with Kubernetes: Use containers as their building blocks. And you can use kubectl to create s2i pipelines just as you do with Kubernetes' built-in resources.

Installation

Prerequisites

  1. A Kubernetes cluster. (if you don't have an existing cluster, please create it.
  2. Grant cluster-admin permissions to the current user.

Install S2I Operator

You can install S2I Operator in any kubernetes cluster with following commands:

# create a namespaces, such as kubesphere-devops-system
kubectl create ns kubesphere-devops-system
# create S2I Operator and all CRD 
kubectl apply -f  https://github.com/kubesphere/s2ioperator/releases/download/v0.0.2/s2ioperator.yaml

Now monitor the S2I Operator components show a STATUS of Running:

# please change you namespace
kubectl -n kubesphere-devops-system get pods -w

Quick Start

Here is quick-start to walk you through the process, with a quick overview of the core features of S2I Operator that helps you to get familiar with it.

If you want to get a better experience with S2I Operator, perhaps you can use S2I CI/CD in KubeSphere.

Welcome to contribute

We are so excited to have you!