diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..c93f5414d3e7dd2039beba696f63ad22c7d4603e --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,30 @@ +stages: + - build + - push + +variables: + IMAGE_NAME: $CI_REGISTRY/$CI_PROJECT_PATH + IMAGE_TAG: latest + +before_script: + - docker info + +build: + tags: + - "shell" + stage: build + script: + - docker build -t $IMAGE_NAME:$IMAGE_TAG . + only: + - main + +push: + tags: + - "shell" + stage: push + script: + - echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" $CI_REGISTRY --password-stdin + - docker tag $IMAGE_NAME:$IMAGE_TAG $CI_REGISTRY_IMAGE:$IMAGE_TAG + - docker push $CI_REGISTRY_IMAGE:$IMAGE_TAG + only: + - main diff --git a/srm-deployment.yaml b/srm-deployment.yaml index 4df2ea7966148d35c289cd5223971ac18f1f97db..ea77f74a0019427f085f4c8fd9f3a0b0658ccc06 100644 --- a/srm-deployment.yaml +++ b/srm-deployment.yaml @@ -33,17 +33,17 @@ spec: containers: - env: - name: KUBERNETES_MASTER_IP - value: + value: k3d-sunriseop-server-0 - name: KUBERNETES_MASTER_PORT - value: + value: "6443" - name: K8S_NAMESPACE - value: + value: - name: KUBERNETES_USERNAME value: - name: EMP_STORAGE_URI value: - name: KUBERNETES_MASTER_TOKEN - value: + value: eyJhbGciOiJSUzI1NiIsImtpZCI6IkRRS3VMNktkc1BOYk5ZeDhfSnFvVmJQdkJ6em1FODhPeHNIMHFya3JEQzgifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6InNybS1zZWNyZXQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiY2x1c3Rlci1hZG1pbiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImU1MjUxZjhiLWY2ODItNDU0Ni1hOTgxLWNlNTk0YTg2NmZiNCIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpkZWZhdWx0OmNsdXN0ZXItYWRtaW4ifQ.rnZyHFEE1ywceWqcio0UKQrp5GdfVGQOCXxx3RJpb_vvDj65GvNwN0VgA_anOlzj8kKJ9JQjWrA7an2k-5w0ycjeu8Ei_5Z0dvgRSpvKc4O5kCHddOB1kJl480hKWtZqgL0Vi6YbOziFGqvPd8hxHSTquxUgXEN2BStqII8MpVEK8z8iU2pJE5CNIaukGBozjlgc1Vb6HiEU4_UhlqG61uO6ReRVrzaYa4T1j4Zvvx1JN8t2HYcuv50QlHPrEAfW2F3ed0SBbb_X8AT0pGJrVas_uqZgMcN1j5BLO51RNmCY27ADHwCbj8HWuiHhyuLKQxYw8yKB-iMNQmq2fk3ezw - name: ARTIFACT_MANAGER_ADDRESS value: - name: EDGE_CLOUD_ADAPTER_NAME @@ -296,11 +296,10 @@ metadata: io.kompose.service: oeg name: oeg spec: - type: NodePort + type: LoadBalancer ports: - name: "8080" - nodePort: 32414 - port: 8080 + port: 8081 targetPort: 8080 selector: io.kompose.service: oegcontroller diff --git a/sunrise6g-deployment.yaml b/sunrise6g-deployment.yaml index 27d8a87565517c7ba523cbee3da10e91e676b959..7d097310c7bb1a69f70930257bda579b8e36d202 100644 --- a/sunrise6g-deployment.yaml +++ b/sunrise6g-deployment.yaml @@ -33,18 +33,20 @@ spec: - name: KUBERNETES_USERNAME value: cluster-admin - name: K8S_NAMESPACE - value: sunrise6g + value: test - name: EMP_STORAGE_URI - value: mongodb://mongopiedge:27017 + value: mongodb://mongosrm:27017 - name: KUBERNETES_MASTER_TOKEN - value: eyJhbGciOiJSUzI1NiIsImtpZCI6IkRRS3VMNktkc1BOYk5ZeDhfSnFvVmJQdkJ6em1FODhPeHNIMHFya3JEQzgifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6InNybS1zZWNyZXQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiY2x1c3Rlci1hZG1pbiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImU1MjUxZjhiLWY2ODItNDU0Ni1hOTgxLWNlNTk0YTg2NmZiNCIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpkZWZhdWx0OmNsdXN0ZXItYWRtaW4ifQ.rnZyHFEE1ywceWqcio0UKQrp5GdfVGQOCXxx3RJpb_vvDj65GvNwN0VgA_anOlzj8kKJ9JQjWrA7an2k-5w0ycjeu8Ei_5Z0dvgRSpvKc4O5kCHddOB1kJl480hKWtZqgL0Vi6YbOziFGqvPd8hxHSTquxUgXEN2BStqII8MpVEK8z8iU2pJE5CNIaukGBozjlgc1Vb6HiEU4_UhlqG61uO6ReRVrzaYa4T1j4Zvvx1JN8t2HYcuv50QlHPrEAfW2F3ed0SBbb_X8AT0pGJrVas_uqZgMcN1j5BLO51RNmCY27ADHwCbj8HWuiHhyuLKQxYw8yKB-iMNQmq2fk3ezw + value: eyJhbGciOiJSUzI1NiIsImtpZCI6Img4UWI1cDR5MzRlV1FzZ0dsTTdIYmdwa1RKVlQ5aWZtSjJ3M2V2Q1RqazgifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiLCJrM3MiXSwiZXhwIjoxNzg0NjQyNjMwLCJpYXQiOjE3NTMxMDY2MzAsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwianRpIjoiNWU4MDc0NDYtYmMzYy00OTI1LThhNWMtNjUxODQ2YWQ1ZGVmIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJzdW5yaXNlNmciLCJzZXJ2aWNlYWNjb3VudCI6eyJuYW1lIjoic3VucmlzZS11c2VyIiwidWlkIjoiODFhMzAyNmQtYjcxMS00ZDJiLWEwYzktYjUwNmIwZjMwZTQyIn19LCJuYmYiOjE3NTMxMDY2MzAsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpzdW5yaXNlNmc6c3VucmlzZS11c2VyIn0.c6EbyUuXhCp6M1qkte7nGLFI8fDvWNPvMo0X3HIAq26pezXKEpTAafbHdGgk5o37zdgFW5RU6y6eduzdA65G8FXmHfGWIn_3h5EUvlg7ZGz-Pxl4rXehidlN-7ct8Kb9qChoIocdQWOEpCSuBTb1dS5Opc6DAXTchDkSDKoRLys4F7gu8_0djmwbDNh-17xrdeFMP76qUnBANCv3xCMzFUmYyJIj4P3ZAju7ru6xVjJOi9CveeFfuQZpYXIt_1H3zKe9zxHma5G3d6zmsfsrbfPSGXazuphC98O4M8xAJvvbRAx56tpdFs6y-BgMyEBffPxpRCW0FU3Ey8idSUK-WQ - name: ARTIFACT_MANAGER_ADDRESS value: http://artefact-manager-service:8000 - name: EDGE_CLOUD_ADAPTER_NAME value: kubernetes + - name: ADAPTER_BASE_URL + value: k3d-sunriseop-server-0 - name: PLATFORM_PROVIDER value: ISI - image: ghcr.io/sunriseopenoperatorplatform/srm/srm:1.0.0 + image: ghcr.io/sunriseopenoperatorplatform/srm/srm:1.0.1 name: srmcontroller ports: - containerPort: 8080 @@ -75,26 +77,6 @@ spec: io.kompose.service: srmcontroller status: loadBalancer: {} - ---- -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: srm-ingress - annotations: - #traefik.ingress.kubernetes.io/router.entrypoints: web -spec: - ingressClassName: nginx - rules: - - http: - paths: - - path: /srm - pathType: Prefix - backend: - service: - name: srm - port: - number: 8080 --- kind: PersistentVolume apiVersion: v1 @@ -102,7 +84,7 @@ metadata: name: mongodb-pv-volume # Sets PV's name labels: type: local # Sets PV's type to local - app: mongopiedge + app: mongosrm spec: storageClassName: manual capacity: @@ -136,13 +118,13 @@ metadata: kompose.version: 1.26.0 (40646f47) creationTimestamp: null labels: - io.kompose.service: mongopiedge - name: mongopiedge + io.kompose.service: mongosrm + name: mongosrm spec: replicas: 1 selector: matchLabels: - io.kompose.service: mongopiedge + io.kompose.service: mongosrm strategy: type: Recreate template: @@ -153,11 +135,11 @@ spec: creationTimestamp: null labels: #io.kompose.network/netEMPkub: "true" - io.kompose.service: mongopiedge + io.kompose.service: mongosrm spec: containers: - image: mongo - name: mongopiedge + name: mongosrm ports: - containerPort: 27017 resources: {} @@ -179,8 +161,8 @@ metadata: kompose.version: 1.26.0 (40646f47) creationTimestamp: null labels: - io.kompose.service: mongopiedge - name: mongopiedge + io.kompose.service: mongosrm + name: mongosrm spec: type: ClusterIP ports: @@ -188,6 +170,226 @@ spec: port: 27017 targetPort: 27017 selector: - io.kompose.service: mongopiedge + io.kompose.service: mongosrm status: loadBalancer: {} +--- +kind: PersistentVolume +apiVersion: v1 +metadata: + name: mongodb-oeg-pv-volume # Sets PV's name + labels: + type: local # Sets PV's type to local + app: oegmongo +spec: + storageClassName: manual + capacity: + storage: 50Mi # Sets PV Volume + accessModes: + - ReadWriteOnce + hostPath: + path: "/mnt/data/mongodb_oeg" +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + creationTimestamp: null + labels: + io.kompose.service: mongo-oeg + name: mongo-oeg +spec: + storageClassName: manual + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 50Mi +status: {} +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + annotations: + kompose.cmd: kompose convert + kompose.version: 1.26.0 (40646f47) + creationTimestamp: null + labels: + io.kompose.service: oegmongo + name: oegmongo +spec: + replicas: 1 + selector: + matchLabels: + io.kompose.service: oegmongo + strategy: + type: Recreate + template: + metadata: + annotations: + kompose.cmd: kompose convert + kompose.version: 1.26.0 (40646f47) + creationTimestamp: null + labels: + #io.kompose.network/netEMPkub: "true" + io.kompose.service: oegmongo + spec: + containers: + - image: mongo + name: oegmongo + ports: + - containerPort: 27017 + resources: {} + volumeMounts: + - mountPath: /data/db + name: mongo-db + restartPolicy: Always + volumes: + - name: mongo-db + persistentVolumeClaim: + claimName: mongo-oeg +status: {} +--- +apiVersion: v1 +kind: Service +metadata: + annotations: + kompose.cmd: kompose convert + kompose.version: 1.26.0 (40646f47) + creationTimestamp: null + labels: + io.kompose.service: oegmongo + name: oegmongo +spec: + type: ClusterIP + ports: + - name: "27017" + port: 27017 + targetPort: 27017 + selector: + io.kompose.service: oegmongo +status: + loadBalancer: {} +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + annotations: + kompose.cmd: kompose convert + kompose.version: 1.26.0 (40646f47) + creationTimestamp: null + labels: + io.kompose.service: oegcontroller + name: oegcontroller +spec: + replicas: 1 + selector: + matchLabels: + io.kompose.service: oegcontroller + strategy: {} + template: + metadata: + annotations: + kompose.cmd: kompose convert + kompose.version: 1.26.0 (40646f47) + creationTimestamp: null + labels: + io.kompose.service: oegcontroller + spec: + containers: + - env: + - name: MONGO_URI + value: mongodb://oegmongo:27017 + - name: SRM_HOST + value: http://srm:8080/srm/1.0.0 + - name: JWT_ISSUER + value: http://isiath.duckdns.org:8081/realms/federation + - name: JWT_PUBLIC_KEY + value: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnFHYObBh4Ar/s5/OG2swoUvmw25DNfX5j30itd3lFCzNnzXWobin/Jfywtj9HIXJ1euqiJMHchRgn7n0iY8X227/1+f+eml/bNs+roHtwP3GpO77ZLV/uP4RsGYbHUXKlGIf2EYglWNLs8ZNDFnpEIZzAEVzQrt1etr0HkwgwAKKkMbSdyRQTXoBgCPheyFgaLRtSHod4IijnBptolbK7LLKfkVaImQcs5R3GF81lM7cCtd1c+ERqZ2/pWAdlKHjt7zMuWWQypwVav59MgJprWv3oE9dvh5M0Ma+J4iH4DNiIzz6kYqAHpIJ1q813kjWlcUmwm4qSdgkDXwdGHxitwIDAQAB + - name: FEDERATION_MANAGER_HOST + value: http://federation-manager.federation-manager.svc.cluster.local:8989/operatorplatform/federation/v1 + image: ghcr.io/sunriseopenoperatorplatform/oeg/oeg:1.0.1 + name: oegcontroller + ports: + - containerPort: 8080 + resources: {} + imagePullPolicy: Always + restartPolicy: Always + +status: {} +--- +apiVersion: v1 +kind: Service +metadata: + name: oeg + namespace: sunrise6g +spec: + type: ClusterIP + selector: + io.kompose.service: oegcontroller + ports: + - name: http + port: 80 + targetPort: 8080 +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: oegcontroller-ingress + namespace: sunrise6g + annotations: + traefik.ingress.kubernetes.io/router.entrypoints: web + # traefik.ingress.kubernetes.io/rewrite-target: /$2 +spec: + ingressClassName: traefik + rules: + - host: isiath.duckdns.org + http: + paths: + - path: /oeg + pathType: Prefix + backend: + service: + name: oeg + port: + number: 80 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: artefact-manager + namespace: sunrise6g +spec: + replicas: 1 + selector: + matchLabels: + app: artefact-manager + template: + metadata: + labels: + app: artefact-manager + spec: + containers: + - name: artefact-manager + image: ghcr.io/sunriseopenoperatorplatform/artefactmanager:0.5 + ports: + - containerPort: 8000 + env: + - name: PYTHONPATH + value: "/app" +--- +apiVersion: v1 +kind: Service +metadata: + name: artefact-manager-service + namespace: sunrise6g +spec: + type: NodePort + selector: + app: artefact-manager + ports: + - protocol: TCP + port: 8000 + targetPort: 8000 + nodePort: 30080 # Optional, must be between 30000–32767. Omit to let Kubernetes assign. + +