Commit f6d72cf7 authored by Laskaratos Dimitris's avatar Laskaratos Dimitris
Browse files

Added gitlab CI file

parent 2d716fc8
Loading
Loading
Loading
Loading

.gitlab-ci.yml

0 → 100644
+30 −0
Original line number Diff line number Diff line
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
+6 −7
Original line number Diff line number Diff line
@@ -33,9 +33,9 @@ spec:
      containers:
        - env:
            - name: KUBERNETES_MASTER_IP
              value: 
              value: k3d-sunriseop-server-0
            - name: KUBERNETES_MASTER_PORT
              value: 
              value: "6443"
            - name: K8S_NAMESPACE
              value: 
            - name: KUBERNETES_USERNAME
@@ -43,7 +43,7 @@ spec:
            - 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
+235 −33
Original line number Diff line number Diff line
@@ -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.