diff --git a/manifests/base/kustomization.yaml b/manifests/base/kustomization.yaml new file mode 100644 index 00000000..a2c28b13 --- /dev/null +++ b/manifests/base/kustomization.yaml @@ -0,0 +1,7 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - runner-manager + - redis diff --git a/manifests/base/redis/kustomization.yaml b/manifests/base/redis/kustomization.yaml new file mode 100644 index 00000000..6d90ee2a --- /dev/null +++ b/manifests/base/redis/kustomization.yaml @@ -0,0 +1,21 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +secretGenerator: + - name: redis-secrets + envs: + - redis-secrets.env + +commonLabels: + app.kubernetes.io/instance: redis + app.kubernetes.io/name: redis + app.kubernetes.io/component: database + app.kubernetes.io/part-of: runner-manager +images: + - name: redis + newName: bitnami/redis + newTag: 7.0.12-debian-11-r1 +resources: + - statefulset.yaml + - service.yaml diff --git a/manifests/base/redis/redis-secrets.env b/manifests/base/redis/redis-secrets.env new file mode 100644 index 00000000..9f442d06 --- /dev/null +++ b/manifests/base/redis/redis-secrets.env @@ -0,0 +1 @@ +REDIS_PASSWORD=redis_password diff --git a/manifests/base/redis/service.yaml b/manifests/base/redis/service.yaml new file mode 100644 index 00000000..35bd404e --- /dev/null +++ b/manifests/base/redis/service.yaml @@ -0,0 +1,10 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: redis +spec: + ports: + - protocol: TCP + port: 6379 + targetPort: 6379 diff --git a/manifests/base/redis/statefulset.yaml b/manifests/base/redis/statefulset.yaml new file mode 100644 index 00000000..606340e7 --- /dev/null +++ b/manifests/base/redis/statefulset.yaml @@ -0,0 +1,35 @@ +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: redis +spec: + serviceName: redis + replicas: 1 + template: + spec: + securityContext: + fsGroup: 1001 + containers: + - name: redis + image: "bitnami/redis:7.0.12-debian-11-r1" + ports: + - containerPort: 6379 + env: + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + key: REDIS_PASSWORD + name: redis-secrets + volumeMounts: + - name: redis-data + mountPath: /bitnami/redis/data + volumeClaimTemplates: + - metadata: + name: redis-data + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 8Gi diff --git a/manifests/base/runner-manager/deployment.yaml b/manifests/base/runner-manager/deployment.yaml new file mode 100644 index 00000000..eb0fe256 --- /dev/null +++ b/manifests/base/runner-manager/deployment.yaml @@ -0,0 +1,51 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: runner-manager +spec: + template: + spec: + serviceAccountName: default + containers: + - args: + - 'srcs.web.app:app' + - '--host' + - 0.0.0.0 + - '--port' + - '80' + command: + - uvicorn + env: + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + key: REDIS_PASSWORD + name: redis-secrets + - name: SETTING_FILE + value: /app/config/settings.yaml + envFrom: + - configMapRef: + name: runner-manager-config + - secretRef: + name: runner-manager-secrets + image: 'ghcr.io/scality/runner-manager:0.6.3' + imagePullPolicy: IfNotPresent + name: runner-manager + ports: + - containerPort: 80 + name: http + resources: + limits: + cpu: 250m + memory: 1Gi + requests: + cpu: 250m + memory: 1Gi + securityContext: {} + volumeMounts: + - mountPath: /app/config + name: config + volumes: + - name: config + configMap: + name: runner-manager-settings diff --git a/manifests/base/runner-manager/kustomization.yaml b/manifests/base/runner-manager/kustomization.yaml new file mode 100644 index 00000000..515bb25c --- /dev/null +++ b/manifests/base/runner-manager/kustomization.yaml @@ -0,0 +1,30 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +configMapGenerator: +- name: runner-manager-settings + files: + - settings.yaml +- name: runner-manager-config + envs: + - runner-manager-config.env + +secretGenerator: + - name: runner-manager-secrets + envs: + - runner-manager-secrets.env + +commonLabels: + app.kubernetes.io/name: runner-manager + app.kubernetes.io/instance: runner-manager + app.kubernetes.io/version: "0.6.3" + +images: + - name: runner-manager + newName: ghcr.io/scality/runner-manager + newTag: '0.6.3' + +resources: + - service.yaml + - deployment.yaml diff --git a/manifests/base/runner-manager/runner-manager-config.env b/manifests/base/runner-manager/runner-manager-config.env new file mode 100644 index 00000000..e13c0d5a --- /dev/null +++ b/manifests/base/runner-manager/runner-manager-config.env @@ -0,0 +1,2 @@ +AWS_DEFAULT_REGION=us-west-2 +GITHUB_ORGANIZATION=myorganisation diff --git a/manifests/base/runner-manager/runner-manager-secrets.env b/manifests/base/runner-manager/runner-manager-secrets.env new file mode 100644 index 00000000..61bc2a4f --- /dev/null +++ b/manifests/base/runner-manager/runner-manager-secrets.env @@ -0,0 +1,3 @@ +GITHUB_TOKEN='github_token' +REDHAT_USERNAME=redhat_username' +REDHAT_PASSWORD='redhat_password' diff --git a/manifests/base/runner-manager/service.yaml b/manifests/base/runner-manager/service.yaml new file mode 100644 index 00000000..ebdc5d3d --- /dev/null +++ b/manifests/base/runner-manager/service.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: runner-manager + labels: {} +spec: + type: ClusterIP + ports: + - port: 80 + targetPort: http + protocol: TCP + name: runner-manager + selector: {} diff --git a/manifests/base/runner-manager/settings.yaml b/manifests/base/runner-manager/settings.yaml new file mode 100644 index 00000000..c7ac533b --- /dev/null +++ b/manifests/base/runner-manager/settings.yaml @@ -0,0 +1,20 @@ +# GitHub +github_organization: my_organisation +allowed_ssh_keys: "" + +# Cloud connection name +cloud_name: gcloud +# Cloud config, it will change depending on your cloud +cloud_config: {} +python_config: srcs.settings.settings_local +runner_pool: [] + +extra_runner_timer: + hours: 0 + minutes: 10 +timeout_runner_timer: + hours: 0 + minutes: 15 +redis: + host: redis + port: 6379 diff --git a/manifests/kustomization.yaml b/manifests/kustomization.yaml new file mode 100644 index 00000000..5d2d02d3 --- /dev/null +++ b/manifests/kustomization.yaml @@ -0,0 +1,6 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - base