Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
Issue: #81

Signed-off-by: Michael Ryan Peter <mipeter@redhat.com>

Fix output examples

Signed-off-by: Michael Ryan Peter <mipeter@redhat.com>
  • Loading branch information
michaelryanpeter committed Jun 26, 2023
1 parent fb12499 commit 002c295
Showing 1 changed file with 156 additions and 55 deletions.
211 changes: 156 additions & 55 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,65 +1,166 @@
# catalogd

This repository is a prototype for a custom apiserver that uses a (dedicated ectd instance)[configs/etcd] to serve [FBC](https://olm.operatorframework.io/docs/reference/file-based-catalogs/#docs) content on cluster in a Kubernetes native way on cluster.
Catalogd is a Kubernetes extension that unpacks [file-based catalog (FBC)](https://olm.operatorframework.io/docs/reference/file-based-catalogs/#docs) content for on-cluster clients. Currently, catalogd unpacks FBC content that is packaged and distributed as container images. The catalogd road map includes plans for unpacking other content sources, such as Git repositories and OCI artifacts. For more information, see the catalogd [issues](https://github.com/operator-framework/catalogd/issues/) page.

Catalogd helps customers discover installable content by hosting catalog metadata for Kubernetes extensions, such as Operators and controllers. For more information on the Operator Lifecycle Manager (OLM) v1 suite of microservices, see the [documentation](https://github.com/operator-framework/operator-controller/docs/) for the Operator Controller.

## Enhacement
## Quick start

https://hackmd.io/@of-olm/B1cMe1kHj
**NOTE:** Procedure steps marked with an astericks (`*`) are likely to change with future API updates.

## Quickstart.
1. To install catalogd, navigate to the [releases](https://github.com/operator-framework/catalogd/releases/) page, and follow the install instructions included in the release you want to install.

```
$ kind create cluster
$ kubectl apply -f https://github.com/operator-framework/catalogd/config/crd/bases/
$ kubectl apply -f https://github.com/operator-framework/catalogd/config/
$ kubectl create ns test
$ kubectl apply -f config/samples/core_v1alpha1_catalog.yaml
$ kubectl get catalog -n test
NAME AGE
catalog-sample 98s
$ kubectl get bundlemetadata -n test
NAME AGE
3scale-community-operator.v0.7.0 28s
3scale-community-operator.v0.8.2 28s
3scale-community-operator.v0.9.0 28s
falcon-operator.v0.5.1 2s
falcon-operator.v0.5.2 2s
falcon-operator.v0.5.3 1s
falcon-operator.v0.5.4 1s
falcon-operator.v0.5.5 1s
flux.v0.13.4 1s
flux.v0.14.0 1s
flux.v0.14.1 1s
flux.v0.14.2 1s
flux.v0.15.2 1s
flux.v0.15.3 1s
.
.
.
$ kubectl get packages -n test
NAME AGE
3scale-community-operator 77m
ack-apigatewayv2-controller 77m
ack-applicationautoscaling-controller 77m
ack-dynamodb-controller 77m
ack-ec2-controller 77m
ack-ecr-controller 77m
ack-eks-controller 77m
ack-elasticache-controller 77m
ack-emrcontainers-controller 77m
ack-iam-controller 77m
ack-kms-controller 77m
ack-lambda-controller 77m
ack-mq-controller 77m
ack-opensearchservice-controller 77m
.
.
.
```
1. Create a `Catalog` object that points to the OperatorHub Community catalog by running the following command:

```sh
$ kubectl apply -f - << EOF
apiVersion: catalogd.operatorframework.io/v1alpha1
kind: Catalog
metadata:
name: operatorhubio
spec:
source:
type: image
image:
ref: quay.io/operatorhubio/catalog:latest
EOF
```
1. Verify the `Catalog` object was created successfully by running the following command:
```sh
$ kubectl describe catalog/operatorhubio
```
*Example output*
```sh
Name: operatorhubio
Namespace:
Labels: <none>
Annotations: <none>
API Version: catalogd.operatorframework.io/v1alpha1
Kind: Catalog
Metadata:
Creation Timestamp: 2023-06-23T18:35:13Z
Generation: 1
Managed Fields:
API Version: catalogd.operatorframework.io/v1alpha1
Fields Type: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
.:
f:kubectl.kubernetes.io/last-applied-configuration:
f:spec:
.:
f:source:
.:
f:image:
.:
f:ref:
f:type:
Manager: kubectl-client-side-apply
Operation: Update
Time: 2023-06-23T18:35:13Z
API Version: catalogd.operatorframework.io/v1alpha1
Fields Type: FieldsV1
fieldsV1:
f:status:
.:
f:conditions:
f:phase:
Manager: manager
Operation: Update
Subresource: status
Time: 2023-06-23T18:35:43Z
Resource Version: 1397
UID: 709cee9d-c669-46e1-97d0-e97dcce8f388
Spec:
Source:
Image:
Ref: quay.io/operatorhubio/catalog:latest
Type: image
Status:
Conditions:
Last Transition Time: 2023-06-23T18:35:13Z
Message:
Reason: Unpacking
Status: False
Type: Unpacked
Phase: Unpacking
Events: <none>
```
1. Run the following command to get a list of packages: `*`
```sh
$ kubectl get packages
```
*Example output*
```sh
NAME AGE
operatorhubio-ack-acm-controller 69s
operatorhubio-ack-apigatewayv2-controller 69s
operatorhubio-ack-applicationautoscaling-controller 69s
operatorhubio-ack-cloudtrail-controller 69s
operatorhubio-ack-dynamodb-controller 69s
operatorhubio-ack-ec2-controller 69s
operatorhubio-ack-ecr-controller 69s
operatorhubio-ack-eks-controller 69s
operatorhubio-ack-elasticache-controller 69s
operatorhubio-ack-emrcontainers-controller 69s
operatorhubio-ack-eventbridge-controller 69s
operatorhubio-ack-iam-controller 69s
operatorhubio-ack-kinesis-controller 69s
operatorhubio-ack-kms-controller 69s
operatorhubio-ack-lambda-controller 69s
operatorhubio-ack-memorydb-controller 69s
operatorhubio-ack-mq-controller 69s
...
```
1. Run the following command to get a list of bundles: `*`
```sh
$ kubectl get bundlemetadata
```
*Example output*
```sh
NAME AGE
operatorhubio-ack-acm-controller.v0.0.1 2m15s
operatorhubio-ack-acm-controller.v0.0.2 2m15s
operatorhubio-ack-acm-controller.v0.0.4 2m15s
operatorhubio-ack-acm-controller.v0.0.5 2m15s
operatorhubio-ack-acm-controller.v0.0.6 2m15s
operatorhubio-ack-acm-controller.v0.0.7 2m15s
operatorhubio-ack-apigatewayv2-controller.v0.0.10 2m15s
operatorhubio-ack-apigatewayv2-controller.v0.0.11 2m15s
operatorhubio-ack-apigatewayv2-controller.v0.0.12 2m15s
operatorhubio-ack-apigatewayv2-controller.v0.0.13 2m15s
operatorhubio-ack-apigatewayv2-controller.v0.0.14 2m15s
operatorhubio-ack-apigatewayv2-controller.v0.0.15 2m15s
operatorhubio-ack-apigatewayv2-controller.v0.0.16 2m15s
operatorhubio-ack-apigatewayv2-controller.v0.0.17 2m15s
operatorhubio-ack-apigatewayv2-controller.v0.0.18 2m15s
operatorhubio-ack-apigatewayv2-controller.v0.0.19 2m15s
operatorhubio-ack-apigatewayv2-controller.v0.0.20 2m15s
operatorhubio-ack-apigatewayv2-controller.v0.0.21 2m15s
operatorhubio-ack-apigatewayv2-controller.v0.0.22 2m14s
operatorhubio-ack-apigatewayv2-controller.v0.0.9 2m14s
operatorhubio-ack-apigatewayv2-controller.v0.1.0 2m14s
operatorhubio-ack-apigatewayv2-controller.v0.1.1 2m14s
operatorhubio-ack-apigatewayv2-controller.v0.1.2 2m14s
operatorhubio-ack-apigatewayv2-controller.v0.1.3 2m14s
operatorhubio-ack-apigatewayv2-controller.v0.1.4 2m14s
operatorhubio-ack-apigatewayv2-controller.v0.1.5 2m14s
operatorhubio-ack-apigatewayv2-controller.v0.1.6 2m14s
operatorhubio-ack-apigatewayv2-controller.v1.0.0 2m14s
operatorhubio-ack-apigatewayv2-controller.v1.0.2 2m14s
operatorhubio-ack-apigatewayv2-controller.v1.0.3 2m14s
operatorhubio-ack-apigatewayv2-controller.v1.0.4 2m14s
...
```
## Contributing
Thanks for your interest in contributing to `catalogd`!
Expand Down

0 comments on commit 002c295

Please sign in to comment.