Skip to content

CRD and controller for Subscription (Channel Subscription model) for Multicloud Application.

License

Notifications You must be signed in to change notification settings

itdove/multicloud-operators-subscription

 
 

Repository files navigation

multicloud-operators-subscription

Build GoDoc Go Report Card Code Coverage License


Table of Contents generated with DocToc

Overview


Subscribes resources from Channels and apply them to kubernetes

Quick Start


Subscribe a helm chart

  • Clone the subscription operator repository
mkdir -p "$GOPATH"/src/github.com/IBM
cd "$GOPATH"/src/github.com/IBM
git clone https://github.com/IBM/multicloud-operators-subscription.git
cd "$GOPATH"/src/github.com/IBM/multicloud-operators-subscription
  • Setup environment and deploy subscription operator
kubectl apply -f ./deploy/standalone
  • Create a Channel and Subscription
kubectl apply -f ./examples/helmrepo-channel
  • Subscribe!
kubectl patch subscriptions.app.ibm.com simple --type='json' -p='[{"op": "replace", "path": "/spec/placement/local", "value": true}]'

Find the nginx pods deployed to current namespace, and the number of backend pods is overrided to 3

% kubectl get pods -l app=nginx-ingress
NAME                                             READY   STATUS    RESTARTS   AGE
nginx-ingress-controller-857f44797-7fx7c         1/1     Running   0          96s
nginx-ingress-default-backend-6b8dc9d88f-97pxz   1/1     Running   0          96s
nginx-ingress-default-backend-6b8dc9d88f-drt7c   1/1     Running   0          96s
nginx-ingress-default-backend-6b8dc9d88f-n26ls   1/1     Running   0          96s

Check the Getting Started doc for more details

Trouble shooting

  • Check operator availability
% kubectl get deploy,pods
NAME                                                READY     UP-TO-DATE   AVAILABLE   AGE
deployment.apps/multicloud-operators-subscription   1/1       1            1           99m

NAME                                                     READY     STATUS    RESTARTS   AGE
pod/multicloud-operators-subscription-557c676479-dh2fg   1/1       Running   0          24s
  • Check Subscription and its status
% kubectl describe appsub simple
Name:         simple
Namespace:    default
Labels:       <none>
Annotations:  kubectl.kubernetes.io/last-applied-configuration:
                {"apiVersion":"app.ibm.com/v1alpha1","kind":"Subscription","metadata":{"annotations":{},"name":"simple","namespace":"default"},"spec":{"ch...
API Version:  app.ibm.com/v1alpha1
Kind:         Subscription
Metadata:
  Creation Timestamp:  2019-11-21T04:01:47Z
  Generation:          2
  Resource Version:    24045
  Self Link:           /apis/app.ibm.com/v1alpha1/namespaces/default/subscriptions/simple
  UID:                 a35b6ef5-0c13-11ea-b4e7-00000a100ef8
Spec:
  Channel:  dev/dev-helmrepo
  Name:     nginx-ingress
  Package Overrides:
    Package Name:  nginx-ingress
    Package Overrides:
      Path:   spec.values
      Value:  defaultBackend:
  replicaCount: 3

  Placement:
    Local:  true
Status:
  Last Update Time:  2019-11-21T04:02:38Z
  Phase:             Subscribed
  Statuses:
    /:
      Packages:
        dev-helmrepo-nginx-ingress-1.25.0:
          Last Update Time:  2019-11-21T04:02:38Z
          Phase:             Subscribed
          Resource Status:
            Last Update:  2019-11-21T04:02:24Z
            Phase:        Success
Events:                   <none>

Please refer to Trouble shooting documentation for further info.

Community, discussion, contribution, and support


Check the DEVELOPMENT Doc for how to build and make changes.

Check the CONTRIBUTING Doc for how to contribute to the repo.

You can reach the maintainers of this by raising issues. Slack communication is coming soon

References


multicloud-operators repositories


If you have any further questions, please refer to help documentation for further information.

About

CRD and controller for Subscription (Channel Subscription model) for Multicloud Application.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 95.3%
  • Shell 2.4%
  • Makefile 2.1%
  • Other 0.2%