Skip to content

Commit 5f4fba4

Browse files
authored
Updated Readme (#10)
* Updated Readme Signed-off-by: Lucifergene <[email protected]>
1 parent 010bbf2 commit 5f4fba4

File tree

3 files changed

+135
-1
lines changed

3 files changed

+135
-1
lines changed

README.md

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
# [ WIP ] ConsoleApplication Operator
1+
# ConsoleApplication Operator
2+
3+
**Note: For the latest updates, please refer to the `development` branch. Some features in this README may not be in main yet.**
24

35
The ConsoleApplication Operator is a Kubernetes operator designed to automate the deployment of applications on OpenShift from Git URLs using custom resources. This operator provides a streamlined and efficient approach to manage application lifecycle processes such as building, deploying, and serving applications without needing to manually fill out forms in the OpenShift Web Console.
46

@@ -10,6 +12,63 @@ The ConsoleApplication Operator is a Kubernetes operator designed to automate th
1012
- **Status Tracking**: Utilizes a database to persist state and track the progress of resource creation.
1113
- **Error Handling**: Ensures proper error handling and status updates for failed operations.
1214

15+
## Architecture Diagram
16+
17+
<img src="docs/images/console-application-operator-architecture.png" alt="ConsoleApplication Operator Architecture" width="400" height="450">
18+
19+
## Project Status
20+
21+
**Project status:** *alpha*
22+
23+
**Current API version:** `v1alpha1`
24+
25+
## Getting Started
26+
27+
Currently,you would need to have an OpenShift cluster, as the operator supports only BuildConfig to build container images from source. In the subsequent versions, we plan to substitute BuildConfig with Shipwright or tools like S2I and Buildah to build container images in any Kubernetes cluster.
28+
29+
Ensure you have the following tools installed:
30+
31+
- Golang compiler supported by the Go team (1.22+)
32+
- Operator SDK version (1.35.x+)
33+
- Access to OpenShift cluster
34+
- Quay.io account to store container images
35+
36+
## Installation
37+
38+
Currently, the operator is not available in the OperatorHub. You can install the operator by building the operator image and deploying it to your OpenShift cluster.
39+
40+
To install the operator, follow these steps:
41+
42+
**Clone the repository:**
43+
44+
```sh
45+
git clone https://github.com/openshift-console/console-application-operator && cd console-application-operator
46+
```
47+
48+
**Set the environment variables in the `.env` file:**
49+
50+
```sh
51+
QUAY_AUTH_TOKEN=<your-quay-auth-token>
52+
QUAY_USER_NAME=<your-quay-username>
53+
```
54+
55+
**Build and push the operator image to Quay.io:**
56+
57+
```sh
58+
make container-build
59+
make container-push
60+
```
61+
62+
**Install the operator on the OpenShift cluster:**
63+
64+
```sh
65+
make install
66+
```
67+
68+
## Development
69+
70+
Please refer to the following [instructions](docs/DEVELOPMENT.md) .
71+
1372
## License
1473

1574
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.

docs/DEVELOPMENT.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# Development Guide
2+
3+
This document provides guidelines and instructions for setting up the development environment and contributing to the project.
4+
5+
## Set Environment Variables
6+
7+
Create `.env` file in the root directory of the project and add the following environment variables:
8+
9+
```sh
10+
QUAY_AUTH_TOKEN=<your-quay-auth-token>
11+
QUAY_USER_NAME=<your-quay-username>
12+
```
13+
14+
## Viewing available Make targets
15+
16+
To view all available Make targets, run:
17+
18+
```sh
19+
make help
20+
```
21+
22+
## Building Operator image
23+
24+
To build and push the operator image to Quay.io, run:
25+
26+
```sh
27+
make container-build
28+
make container-push
29+
```
30+
31+
## Running Tests
32+
33+
You can run the unit tests using the following command:
34+
35+
```sh
36+
make test
37+
```
38+
39+
## Running Lint
40+
41+
To run the lint checks, execute:
42+
43+
```sh
44+
make lint
45+
```
46+
47+
## Deploying Operator
48+
49+
Ensure KUBECONFIG points to target OpenShift cluster. To deploy the operator, run:
50+
51+
```sh
52+
make deploy
53+
```
54+
55+
## Create `ConsoleApplication` Custom Resource (CR)
56+
57+
To create a `ConsoleApplication` CR, run:
58+
59+
```sh
60+
kubectl create -k examples/success.yaml
61+
```
62+
63+
## Uninstalling Operator
64+
65+
Ensure KUBECONFIG points to target OpenShift cluster. Let's begin by deleting the payload image first with:
66+
67+
```sh
68+
kubectl delete -k examples/success.yaml
69+
```
70+
71+
Subsequently, proceed with uninstalling the operator:
72+
73+
```sh
74+
make undeploy
75+
```
28.8 KB
Loading

0 commit comments

Comments
 (0)