README.md 2.74 KB
Newer Older
tranoris's avatar
tranoris committed
# org.etsi.osl.controllers.kcj

Christos Tranoris's avatar
Christos Tranoris committed
OSL Operator for configuring an external Kubernetes  Cluster to Join the OSL management cluster and enable it for deploying services and applications
tranoris's avatar
tranoris committed

## Getting started

Christos Tranoris's avatar
Christos Tranoris committed
`helm install oslkcj . --set-file  kubeconfig=../src/main/resources/config`
tranoris's avatar
tranoris committed


Christos Tranoris's avatar
Christos Tranoris committed
The operator is as follows:
tranoris's avatar
tranoris committed

```
Christos Tranoris's avatar
Christos Tranoris committed
apiVersion: controllers.osl.etsi.org/v1alpha1
kind: KCJResource
metadata:
  name: kcjexample
spec:
  clusterConfigBase64: \\kubeconfig of remote cluster in BASE64
  installArgoCDRemote: \\if true will install ARGO in remote cluster
  installCridgeLocal: \\if true will install CRDIGE in local OSL management cluster via local ARGO. This CRIDGE will monitor remotely the remote cluster
  installCridgeRemote: \\if true will install CRDIGE in remote cluster via remote or local ARGO. This CRIDGE will monitor the remote cluster and connect to OSL management cluster
  cridgeAMQEndPoint: "tcp://osl-url:61616?jms.watchTopicAdvisories=false" \\the URL of the OSL service bus 
  cridgeAMQUsername: "artemis" \\the username to connect to the OSL service bus
  cridgeAMQPassword: "artemis" \\the password to connect to the OSL service bus
  addClusterToLocalArgoCD: false \\ if true will create service account to remote cluster and add the cluster to local ARGO in OSL management cluster
Christos Tranoris's avatar
Christos Tranoris committed
## Examples
tranoris's avatar
tranoris committed


Christos Tranoris's avatar
Christos Tranoris committed
### Add remote kubernetes cluster to local Argo in OSL management cluster
tranoris's avatar
tranoris committed

Christos Tranoris's avatar
Christos Tranoris committed
```
apiVersion: controllers.osl.etsi.org/v1alpha1
kind: KCJResource
metadata:
  name: kcjexample
spec:
  clusterConfigBase64: "YXBpVmVyc2lv...vPQo="
  installArgoCDRemote: false
  installCridgeLocal: false
  installCridgeRemote: false
  cridgeAMQEndPoint: "tcp://osl-url:61616?jms.watchTopicAdvisories=false"
  cridgeAMQUsername: "artemis"
  cridgeAMQPassword: "artemis"
  addClusterToLocalArgoCD: true
```
  
### Install CRIDGE in OSL management cluster to manage remote cluster 
tranoris's avatar
tranoris committed

Christos Tranoris's avatar
Christos Tranoris committed
```
apiVersion: controllers.osl.etsi.org/v1alpha1
kind: KCJResource
metadata:
  name: kcjexample
spec:
  clusterConfigBase64: "YXBpVmVyc2lv...vPQo="
  installArgoCDRemote: false
  installCridgeLocal: true
  installCridgeRemote: false
  cridgeAMQEndPoint: "tcp://osl-url:61616?jms.watchTopicAdvisories=false"
  cridgeAMQUsername: "artemis"
  cridgeAMQPassword: "artemis"
  addClusterToLocalArgoCD: true
```
tranoris's avatar
tranoris committed


Christos Tranoris's avatar
Christos Tranoris committed
### Install ARGO to remote cluster and then install CRIDGE in remote cluster to manage remote cluster 
tranoris's avatar
tranoris committed

Christos Tranoris's avatar
Christos Tranoris committed
```
apiVersion: controllers.osl.etsi.org/v1alpha1
kind: KCJResource
metadata:
  name: kcjexample
spec:
  clusterConfigBase64: "YXBpVmVyc2lv...vPQo="
  installArgoCDRemote: true
  installCridgeLocal: false
  installCridgeRemote: true
  cridgeAMQEndPoint: "tcp://osl-url:61616?jms.watchTopicAdvisories=false"
  cridgeAMQUsername: "artemis"
  cridgeAMQPassword: "artemis"
  addClusterToLocalArgoCD: false
```