catalogd

module
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 21, 2023 License: Apache-2.0

README

catalogd

This repository is a prototype for a custom apiserver that uses a (dedicated ectd instance)[configs/etcd] to serve FBC content on cluster in a Kubernetes native way on cluster.

Enhacement

https://hackmd.io/@i2YBW1rSQ8GcKcTIHn9CCA/B1cMe1kHj

Quickstart.

$ 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/catalogsource.yaml

$ kubectl get catalogsource -n test 
NAME                   AGE
catalogsource-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
.
.
.

Contributing

Thanks for your interest in contributing to catalogd!

catalogd is in the very early stages of development and a more in depth contributing guide will come in the near future.

In the mean time, it is assumed you know how to make contributions to open source projects in general and this guide will only focus on how to manually test your changes (no automated testing yet).

If you have any questions, feel free to reach out to us on the Kubernetes Slack channel #olm-dev or create an issue

Testing Local Changes

Prerequisites

Local (not on cluster)

Note: This will work only for the controller

  • Create a cluster:
kind create cluster
  • Install CRDs and run the controller locally:
kubectl apply -f config/crd/bases/ && make run

On Cluster

  • Build the images locally:
make docker-build-controller && make docker-build-server
  • Create a cluster:
kind create cluster
  • Load the images onto the cluster:
kind load docker-image quay.io/operator-framework/catalogd-controller:latest && kind load docker-image quay.io/operator-framework/catalogd-server:latest
  • Install cert-manager:
 make cert-manager
  • Install the CRDs
kubectl apply -f config/crd/bases/
  • Deploy the apiserver, etcd, and controller:
kubectl apply -f config/
  • Create the sample CatalogSource (this will trigger the reconciliation loop):
kubectl apply -f config/samples/catalogsource.yaml

Directories

Path Synopsis
cmd
internal
pkg
apis/core
Package api is the internal version of the API.
Package api is the internal version of the API.
apis/core/v1beta1
+k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/operator-framework/catalogd/pkg/apis/core +k8s:defaulter-gen=TypeMeta +groupName=catalogd.operatorframework.io
+k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/operator-framework/catalogd/pkg/apis/core +k8s:defaulter-gen=TypeMeta +groupName=catalogd.operatorframework.io

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL