From a51c7f0397b7e614c5feb85c437a1980876d25e7 Mon Sep 17 00:00:00 2001 From: Diana Huang Date: Tue, 16 Jan 2024 15:00:43 -0500 Subject: [PATCH] temp: add auto-generated devspace configs. --- devspace-analyticsapi.yaml | 80 ++++ devspace-cms.yaml | 90 +++++ devspace-complete.yaml | 716 +++++++++++++++++++++++++++++++++ devspace-discovery.yaml | 84 ++++ devspace-ecommerce.yaml | 72 ++++ devspace-elasticsearch710.yaml | 57 +++ devspace-forum.yaml | 49 +++ devspace-kafka.yaml | 80 ++++ devspace-lms.yaml | 92 +++++ devspace-memcached.yaml | 22 + devspace-mongo.yaml | 58 +++ devspace-mysql57.yaml | 55 +++ devspace-mysql80.yaml | 55 +++ devspace-opensearch12.yaml | 59 +++ devspace-redis.yaml | 36 ++ devspace-registrar-worker.yaml | 86 ++++ devspace-registrar.yaml | 108 +++++ devspace-schema-registry.yaml | 46 +++ devspace-zookeeper.yaml | 41 ++ devspace.yaml | 714 ++++++++++++++++++++++++++++++++ devspace_start.sh | 36 ++ 21 files changed, 2636 insertions(+) create mode 100755 devspace-analyticsapi.yaml create mode 100755 devspace-cms.yaml create mode 100755 devspace-complete.yaml create mode 100755 devspace-discovery.yaml create mode 100755 devspace-ecommerce.yaml create mode 100755 devspace-elasticsearch710.yaml create mode 100755 devspace-forum.yaml create mode 100755 devspace-kafka.yaml create mode 100755 devspace-lms.yaml create mode 100755 devspace-memcached.yaml create mode 100755 devspace-mongo.yaml create mode 100755 devspace-mysql57.yaml create mode 100755 devspace-mysql80.yaml create mode 100755 devspace-opensearch12.yaml create mode 100755 devspace-redis.yaml create mode 100755 devspace-registrar-worker.yaml create mode 100755 devspace-registrar.yaml create mode 100755 devspace-schema-registry.yaml create mode 100755 devspace-zookeeper.yaml create mode 100755 devspace.yaml create mode 100755 devspace_start.sh diff --git a/devspace-analyticsapi.yaml b/devspace-analyticsapi.yaml new file mode 100755 index 0000000000..dafcd6a29b --- /dev/null +++ b/devspace-analyticsapi.yaml @@ -0,0 +1,80 @@ +version: v2beta1 +name: analyticsapi + +# This is a list of `deployments` that DevSpace can create for this project +deployments: + analyticsapi: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - source /edx/app/analytics_api/analytics_api_env && while true; do python /edx/app/analytics_api/analytics_api/manage.py runserver 0.0.0.0:19001 --settings analyticsdataserver.settings.devstack; sleep 2; done + command: + - "" + env: + - name: DB_HOST + value: edx.devstack.mysql80 + - name: DB_PASSWORD + value: password + - name: DB_PORT + value: "3306" + - name: DB_USER + value: analytics001 + - name: ELASTICSEARCH_LEARNERS_HOST + value: edx.devstack.elasticsearch710 + image: edxops/analytics-api-dev:latest + name: edx-devstack-analyticsapi + volumeMounts: + - containerPath: /edx/var/analyticsapi + volume: + name: analyticsapi-1 + shared: true + - containerPath: /edx/etc/analytics_api.yml + volume: + name: volume-1 + readOnly: false + service: + ports: + - containerPort: 19001 + port: 19001 + protocol: TCP + volumes: + - name: analyticsapi-1 + size: 5Gi + - emptyDir: {} + name: volume-1 + +# This is a list of `dev` containers that are based on the containers created by your deployments +dev: + analyticsapi: + labelSelector: + app.kubernetes.io/component: analyticsapi + command: + - "" + # Sync files between the local filesystem and the development container + sync: + - path: /configuration_files/analytics_api.yml:/edx/etc/analytics_api.yml + startContainer: true + # Forward the following ports to be able access your application via localhost + ports: + - port: "19001" +dependencies: + elasticsearch710: + path: devspace-elasticsearch710.yaml + mysql57: + path: devspace-mysql57.yaml + mysql80: + path: devspace-mysql80.yaml + +# Define dependencies to other projects with a devspace.yaml +# dependencies: +# api: +# git: https://... # Git-based dependencies +# tag: v1.0.0 +# ui: +# path: ./ui # Path-based dependencies (for monorepos) diff --git a/devspace-cms.yaml b/devspace-cms.yaml new file mode 100755 index 0000000000..4b9af4ba13 --- /dev/null +++ b/devspace-cms.yaml @@ -0,0 +1,90 @@ +version: v2beta1 +name: cms + +# This is a list of `deployments` that DevSpace can create for this project +deployments: + cms: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - source /edx/app/edxapp/edxapp_env && while true; do python /edx/app/edxapp/edx-platform/manage.py cms runserver 0.0.0.0:18010 --settings devstack_docker; sleep 2; done + command: + - "" + env: + - name: CMS_CFG + value: /edx/etc/studio.yml + - name: DJANGO_WATCHMAN_TIMEOUT + value: "30" + - name: EDXAPP_TEST_MONGO_HOST + value: edx.devstack.mongo + - name: FRONTEND_TEST_SERVER_CMS_PORT + value: "18131" + - name: FRONTEND_TEST_SERVER_HOSTNAME + value: edx.devstack.cms + - name: FRONTEND_TEST_SERVER_LMS_PORT + value: "18103" + - name: LMS_CFG + value: /edx/etc/lms.yml + - name: NO_PYTHON_UNINSTALL + value: "1" + - name: PATH + value: '/edx/app/edxapp/venvs/edxapp/bin:/edx/app/edxapp/nodeenv/bin:/edx/app/edxapp/edx-platform/node_modules/.bin:/edx/app/edxapp/edx-platform/bin:' + - name: SERVICE_VARIANT + value: cms + - name: VIRTUAL_ENV + value: /edx/app/edxapp/venvs/edxapp + image: openedx/lms-dev:latest + name: edx-devstack-cms + volumeMounts: + - containerPath: /edx/var/edxapp/staticfiles + volume: + name: edxapp_cms_assets + shared: true + service: + ports: + - containerPort: 18010 + port: 18010 + protocol: TCP + - containerPort: 19877 + port: 19877 + protocol: TCP + volumes: + - name: edxapp_cms_assets + size: 5Gi + +# This is a list of `dev` containers that are based on the containers created by your deployments +dev: + cms: + labelSelector: + app.kubernetes.io/component: cms + # Forward the following ports to be able access your application via localhost + ports: + - port: "18010" + - port: "19877" +dependencies: + elasticsearch710: + path: devspace-elasticsearch710.yaml + lms: + path: devspace-lms.yaml + memcached: + path: devspace-memcached.yaml + mongo: + path: devspace-mongo.yaml + mysql57: + path: devspace-mysql57.yaml + mysql80: + path: devspace-mysql80.yaml + +# Define dependencies to other projects with a devspace.yaml +# dependencies: +# api: +# git: https://... # Git-based dependencies +# tag: v1.0.0 +# ui: +# path: ./ui # Path-based dependencies (for monorepos) diff --git a/devspace-complete.yaml b/devspace-complete.yaml new file mode 100755 index 0000000000..8b80342175 --- /dev/null +++ b/devspace-complete.yaml @@ -0,0 +1,716 @@ +version: v2beta1 +name: docker-compose + +# This is a list of `deployments` that DevSpace can create for this project +deployments: + chrome: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - command: + - ./manage.py + - runserver + image: edxops/chrome:latest + name: edx-devstack-chrome + volumeMounts: + - containerPath: /edx/app/edxapp/edx-platform/common/test/data + volume: + name: volume-1 + readOnly: false + service: + ports: + - containerPort: 5900 + port: 15900 + protocol: TCP + volumes: + - emptyDir: {} + name: volume-1 + coursegraph: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - command: + - "" + env: + - name: NEO4J_AUTH + value: neo4j/edx + image: neo4j:3.5.28 + name: edx-devstack-coursegraph + volumeMounts: + - containerPath: /data + volume: + name: coursegraph_data + shared: true + service: + ports: + - containerPort: 7474 + port: 7474 + protocol: TCP + - containerPort: 7687 + port: 7687 + protocol: TCP + volumes: + - name: coursegraph_data + size: 5Gi + credentials: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - source /edx/app/credentials/credentials_env && while true; do python /edx/app/credentials/credentials/manage.py runserver 0.0.0.0:18150; sleep 2; done + env: + - name: CACHE_LOCATION + value: edx.devstack.memcached:11211 + - name: DB_HOST + value: edx.devstack.mysql80 + - name: DJANGO_WATCHMAN_TIMEOUT + value: "30" + - name: ENABLE_DJANGO_TOOLBAR + value: "1" + - name: SOCIAL_AUTH_EDX_OIDC_URL_ROOT + value: http://edx.devstack.lms:18000/oauth2 + image: edxops/credentials:latest + name: edx-devstack-credentials + service: + ports: + - containerPort: 18150 + port: 18150 + protocol: TCP + edx-notes-api: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - while true; do python /edx/app/notes/manage.py runserver 0.0.0.0:18120 --settings notesserver.settings.devstack; sleep 4; done + env: + - name: DB_ENGINE + value: django.db.backends.mysql + - name: DB_HOST + value: edx.devstack.mysql80 + - name: DB_NAME + value: notes + - name: DB_PASSWORD + value: password + - name: DB_PORT + value: "3306" + - name: DB_USER + value: notes001 + - name: DJANGO_WATCHMAN_TIMEOUT + value: "30" + - name: ELASTICSEARCH_DSL + value: http://edx.devstack.elasticsearch710:9200 + - name: ELASTICSEARCH_URL + value: http://edx.devstack.elasticsearch710:9200 + - name: ENABLE_DJANGO_TOOLBAR + value: "1" + image: openedx/edx-notes-api-dev:latest + name: edx-devstack-edxnotesapi + service: + ports: + - containerPort: 18120 + port: 18120 + protocol: TCP + firefox: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - command: + - "" + image: edxops/firefox:latest + name: edx-devstack-firefox + volumeMounts: + - containerPath: /edx/app/edxapp/edx-platform/common/test/data + volume: + name: volume-1 + readOnly: false + service: + ports: + - containerPort: 5900 + port: 25900 + protocol: TCP + volumes: + - emptyDir: {} + name: volume-1 + frontend-app-account: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - npm ci || exit 1; while true; do npm start; sleep 2; done + env: + - name: NODE_ENV + value: development + image: node:16 + name: edx-devstack-frontend-app-account + service: + ports: + - containerPort: 1997 + port: 1997 + protocol: TCP + frontend-app-authn: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - npm ci || exit 1; while true; do npm start; sleep 2; done + env: + - name: NODE_ENV + value: development + image: node:16 + name: edx-devstack-frontend-app-authn + service: + ports: + - containerPort: 1999 + port: 1999 + protocol: TCP + frontend-app-course-authoring: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - npm ci || exit 1; while true; do npm start; sleep 2; done + env: + - name: NODE_ENV + value: development + image: node:16 + name: edx-devstack-frontend-app-course-authoring + service: + ports: + - containerPort: 2001 + port: 2001 + protocol: TCP + frontend-app-gradebook: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - npm ci || exit 1; while true; do npm start; sleep 2; done + env: + - name: NODE_ENV + value: development + image: node:16 + name: edx-devstack-frontend-app-gradebook + service: + ports: + - containerPort: 1994 + port: 1994 + protocol: TCP + frontend-app-learning: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - npm ci || exit 1; while true; do npm start; sleep 2; done + env: + - name: NODE_ENV + value: development + image: node:16 + name: edx-devstack-frontend-app-learning + service: + ports: + - containerPort: 2000 + port: 2000 + protocol: TCP + frontend-app-library-authoring: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - npm ci || exit 1; while true; do npm start; sleep 2; done + env: + - name: NODE_ENV + value: development + image: node:16 + name: edx-devstack-frontend-app-library-authoring + service: + ports: + - containerPort: 3001 + port: 3001 + protocol: TCP + frontend-app-ora-grading: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - npm ci || exit 1; while true; do npm start; sleep 2; done + env: + - name: NODE_ENV + value: development + image: node:16 + name: edx-devstack-frontend-app-ora-grading + service: + ports: + - containerPort: 1993 + port: 1993 + protocol: TCP + frontend-app-payment: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - npm ci || exit 1; while true; do npm start; sleep 2; done + env: + - name: NODE_ENV + value: development + image: node:16 + name: edx-devstack-frontend-app-payment + service: + ports: + - containerPort: 1998 + port: 1998 + protocol: TCP + frontend-app-profile: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - npm ci || exit 1; while true; do npm start; sleep 2; done + env: + - name: NODE_ENV + value: development + image: node:16 + name: edx-devstack-frontend-app-profile + service: + ports: + - containerPort: 1995 + port: 1995 + protocol: TCP + frontend-app-program-console: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - npm ci || exit 1; while true; do npm start; sleep 2; done + env: + - name: NODE_ENV + value: development + image: node:16 + name: edx-devstack-frontend-app-program-console + service: + ports: + - containerPort: 1976 + port: 1976 + protocol: TCP + frontend-app-publisher: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - npm ci || exit 1; while true; do npm start; sleep 2; done + env: + - name: NODE_ENV + value: development + image: node:16 + name: edx-devstack-frontend-app-publisher + service: + ports: + - containerPort: 18400 + port: 18400 + protocol: TCP + insights: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - source /edx/app/insights/insights_env && while true; do python /edx/app/insights/insights/manage.py runserver 0.0.0.0:18110 --settings analytics_dashboard.settings.devstack; sleep 2; done + command: + - "" + env: + - name: ANALYTICS_DASHBOARD_CFG + value: /edx/etc/insights.yml + - name: DB_HOST + value: edx.devstack.mysql80 + - name: DB_NAME + value: dashboard + - name: DB_PASSWORD + value: password + - name: DB_PORT + value: "3306" + - name: DB_USER + value: analytics001 + - name: DJANGO_SETTINGS_MODULE + value: analytics_dashboard.settings.devstack + - name: LMS_HOST + value: http://localhost:18000 + image: edxops/insights-dev:latest + name: edx-devstack-insights + volumeMounts: + - containerPath: /edx/var/insights + volume: + name: insights-1 + shared: true + - containerPath: /edx/etc/insights.yml + volume: + name: volume-1 + readOnly: false + service: + ports: + - containerPort: 18110 + port: 18110 + protocol: TCP + volumes: + - name: insights-1 + size: 5Gi + - emptyDir: {} + name: volume-1 + kafka-control-center: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - env: + - name: CONFLUENT_METRICS_TOPIC_REPLICATION + value: "1" + - name: CONTROL_CENTER_BOOTSTRAP_SERVERS + value: edx.devstack.kafka:29092 + - name: CONTROL_CENTER_INTERNAL_TOPICS_PARTITIONS + value: "1" + - name: CONTROL_CENTER_MONITORING_INTERCEPTOR_TOPIC_PARTITIONS + value: "1" + - name: CONTROL_CENTER_REPLICATION_FACTOR + value: "1" + - name: CONTROL_CENTER_SCHEMA_REGISTRY_URL + value: http://edx.devstack.schema-registry:8081 + - name: PORT + value: "9021" + image: confluentinc/cp-enterprise-control-center:6.2.1 + name: edx-devstack-kafka-control-center + service: + ports: + - containerPort: 9021 + port: 9021 + protocol: TCP + xqueue: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - source /edx/app/xqueue/xqueue_env && while true; do python /edx/app/xqueue/xqueue/manage.py runserver 0.0.0.0:18040 ; sleep 2; done + command: + - "" + env: + - name: XQUEUE_CFG + value: /edx/etc/xqueue.yml + image: edxops/xqueue-dev:latest + name: edx-devstack-xqueue + volumeMounts: + - containerPath: /edx/app/xqueue/xqueue + volume: + name: volume-1 + readOnly: false + - containerPath: /edx/etc/xqueue.yml + volume: + name: volume-2 + readOnly: false + service: + ports: + - containerPort: 18040 + port: 18040 + protocol: TCP + volumes: + - emptyDir: {} + name: volume-1 + - emptyDir: {} + name: volume-2 + xqueue-consumer: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - source /edx/app/xqueue/xqueue_env && while true; do python /edx/app/xqueue/xqueue/manage.py run_consumer ; sleep 2; done + command: + - "" + image: edxops/xqueue-dev:latest + name: edx-devstack-xqueue-consumer + volumeMounts: + - containerPath: /edx/app/xqueue/xqueue + volume: + name: volume-1 + readOnly: false + - containerPath: /edx/etc/xqueue.yml + volume: + name: volume-2 + readOnly: false + volumes: + - emptyDir: {} + name: volume-1 + - emptyDir: {} + name: volume-2 + +# This is a list of `dev` containers that are based on the containers created by your deployments +dev: + chrome: + labelSelector: + app.kubernetes.io/component: chrome + command: + - ./manage.py + - runserver + # Sync files between the local filesystem and the development container + sync: + - path: ../edx-platform/common/test/data:/edx/app/edxapp/edx-platform/common/test/data + startContainer: true + # Forward the following ports to be able access your application via localhost + ports: + - port: 15900:5900 + coursegraph: + labelSelector: + app.kubernetes.io/component: coursegraph + # Forward the following ports to be able access your application via localhost + ports: + - port: "7474" + - port: "7687" + credentials: + labelSelector: + app.kubernetes.io/component: credentials + # Forward the following ports to be able access your application via localhost + ports: + - port: "18150" + edx-notes-api: + labelSelector: + app.kubernetes.io/component: edx_notes_api + # Forward the following ports to be able access your application via localhost + ports: + - port: "18120" + firefox: + labelSelector: + app.kubernetes.io/component: firefox + command: + - "" + # Sync files between the local filesystem and the development container + sync: + - path: ../edx-platform/common/test/data:/edx/app/edxapp/edx-platform/common/test/data + startContainer: true + # Forward the following ports to be able access your application via localhost + ports: + - port: 25900:5900 + frontend-app-account: + labelSelector: + app.kubernetes.io/component: frontend-app-account + # Forward the following ports to be able access your application via localhost + ports: + - port: "1997" + frontend-app-authn: + labelSelector: + app.kubernetes.io/component: frontend-app-authn + # Forward the following ports to be able access your application via localhost + ports: + - port: "1999" + frontend-app-course-authoring: + labelSelector: + app.kubernetes.io/component: frontend-app-course-authoring + # Forward the following ports to be able access your application via localhost + ports: + - port: "2001" + frontend-app-gradebook: + labelSelector: + app.kubernetes.io/component: frontend-app-gradebook + # Forward the following ports to be able access your application via localhost + ports: + - port: "1994" + frontend-app-learning: + labelSelector: + app.kubernetes.io/component: frontend-app-learning + # Forward the following ports to be able access your application via localhost + ports: + - port: "2000" + frontend-app-library-authoring: + labelSelector: + app.kubernetes.io/component: frontend-app-library-authoring + # Forward the following ports to be able access your application via localhost + ports: + - port: "3001" + frontend-app-ora-grading: + labelSelector: + app.kubernetes.io/component: frontend-app-ora-grading + # Forward the following ports to be able access your application via localhost + ports: + - port: "1993" + frontend-app-payment: + labelSelector: + app.kubernetes.io/component: frontend-app-payment + # Forward the following ports to be able access your application via localhost + ports: + - port: "1998" + frontend-app-profile: + labelSelector: + app.kubernetes.io/component: frontend-app-profile + # Forward the following ports to be able access your application via localhost + ports: + - port: "1995" + frontend-app-program-console: + labelSelector: + app.kubernetes.io/component: frontend-app-program-console + # Forward the following ports to be able access your application via localhost + ports: + - port: "1976" + frontend-app-publisher: + labelSelector: + app.kubernetes.io/component: frontend-app-publisher + # Forward the following ports to be able access your application via localhost + ports: + - port: "18400" + insights: + labelSelector: + app.kubernetes.io/component: insights + command: + - "" + # Sync files between the local filesystem and the development container + sync: + - path: /configuration_files/insights.yml:/edx/etc/insights.yml + startContainer: true + # Forward the following ports to be able access your application via localhost + ports: + - port: "18110" + kafka-control-center: + labelSelector: + app.kubernetes.io/component: kafka-control-center + # Forward the following ports to be able access your application via localhost + ports: + - port: "9021" + xqueue: + labelSelector: + app.kubernetes.io/component: xqueue + command: + - "" + # Sync files between the local filesystem and the development container + sync: + - path: /xqueue:/edx/app/xqueue/xqueue + startContainer: true + - path: /configuration_files/xqueue.yml:/edx/etc/xqueue.yml + startContainer: true + # Forward the following ports to be able access your application via localhost + ports: + - port: "18040" + xqueue-consumer: + labelSelector: + app.kubernetes.io/component: xqueue_consumer + command: + - "" + # Sync files between the local filesystem and the development container + sync: + - path: /xqueue:/edx/app/xqueue/xqueue + startContainer: true + - path: /configuration_files/xqueue.yml:/edx/etc/xqueue.yml + startContainer: true +dependencies: + analyticsapi: + path: devspace-analyticsapi.yaml + cms: + path: devspace-cms.yaml + ecommerce: + path: devspace-ecommerce.yaml + elasticsearch710: + path: devspace-elasticsearch710.yaml + kafka: + path: devspace-kafka.yaml + lms: + path: devspace-lms.yaml + memcached: + path: devspace-memcached.yaml + mysql57: + path: devspace-mysql57.yaml + mysql80: + path: devspace-mysql80.yaml + registrar: + path: devspace-registrar.yaml + schema-registry: + path: devspace-schema-registry.yaml + +# Define dependencies to other projects with a devspace.yaml +# dependencies: +# api: +# git: https://... # Git-based dependencies +# tag: v1.0.0 +# ui: +# path: ./ui # Path-based dependencies (for monorepos) diff --git a/devspace-discovery.yaml b/devspace-discovery.yaml new file mode 100755 index 0000000000..fcbf78c1aa --- /dev/null +++ b/devspace-discovery.yaml @@ -0,0 +1,84 @@ +version: v2beta1 +name: discovery + +# This is a list of `deployments` that DevSpace can create for this project +deployments: + discovery: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - source /edx/app/discovery/discovery_env && while true; do python /edx/app/discovery/discovery/manage.py runserver 0.0.0.0:18381; sleep 2; done + command: + - "" + env: + - name: DB_MIGRATION_HOST + value: edx.devstack.mysql80 + - name: DJANGO_WATCHMAN_TIMEOUT + value: "30" + - name: ENABLE_DJANGO_TOOLBAR + value: "1" + - name: TEST_ELASTICSEARCH_URL + value: edx.devstack.elasticsearch710 + image: edxops/discovery-dev:latest + name: edx-devstack-discovery + volumeMounts: + - containerPath: /edx/var/discovery + volume: + name: discovery_assets + shared: true + - containerPath: /edx/etc/discovery.yml + volume: + name: volume-1 + readOnly: false + service: + ports: + - containerPort: 18381 + port: 18381 + protocol: TCP + volumes: + - name: discovery_assets + size: 5Gi + - emptyDir: {} + name: volume-1 + +# This is a list of `dev` containers that are based on the containers created by your deployments +dev: + discovery: + labelSelector: + app.kubernetes.io/component: discovery + command: + - "" + # Sync files between the local filesystem and the development container + sync: + - path: /configuration_files/discovery.yml:/edx/etc/discovery.yml + startContainer: true + # Forward the following ports to be able access your application via localhost + ports: + - port: "18381" +dependencies: + elasticsearch710: + path: devspace-elasticsearch710.yaml + memcached: + path: devspace-memcached.yaml + mysql57: + path: devspace-mysql57.yaml + mysql80: + path: devspace-mysql80.yaml + opensearch12: + path: devspace-opensearch12.yaml + redis: + path: devspace-redis.yaml + +# Define dependencies to other projects with a devspace.yaml +# dependencies: +# api: +# git: https://... # Git-based dependencies +# tag: v1.0.0 +# ui: +# path: ./ui # Path-based dependencies (for monorepos) diff --git a/devspace-ecommerce.yaml b/devspace-ecommerce.yaml new file mode 100755 index 0000000000..a9e90c6766 --- /dev/null +++ b/devspace-ecommerce.yaml @@ -0,0 +1,72 @@ +version: v2beta1 +name: ecommerce + +# This is a list of `deployments` that DevSpace can create for this project +deployments: + ecommerce: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - source /edx/app/ecommerce/ecommerce_env && while true; do python /edx/app/ecommerce/ecommerce/manage.py runserver 0.0.0.0:18130; sleep 2; done + command: + - "" + env: + - name: DJANGO_WATCHMAN_TIMEOUT + value: "30" + - name: ENABLE_DJANGO_TOOLBAR + value: "1" + image: edxops/ecommerce-dev:latest + name: edx-devstack-ecommerce + volumeMounts: + - containerPath: /edx/etc/ecommerce.yml + volume: + name: volume-1 + readOnly: false + service: + ports: + - containerPort: 18130 + port: 18130 + protocol: TCP + volumes: + - emptyDir: {} + name: volume-1 + +# This is a list of `dev` containers that are based on the containers created by your deployments +dev: + ecommerce: + labelSelector: + app.kubernetes.io/component: ecommerce + command: + - "" + # Sync files between the local filesystem and the development container + sync: + - path: /configuration_files/ecommerce.yml:/edx/etc/ecommerce.yml + startContainer: true + # Forward the following ports to be able access your application via localhost + ports: + - port: "18130" +dependencies: + discovery: + path: devspace-discovery.yaml + lms: + path: devspace-lms.yaml + memcached: + path: devspace-memcached.yaml + mysql57: + path: devspace-mysql57.yaml + mysql80: + path: devspace-mysql80.yaml + +# Define dependencies to other projects with a devspace.yaml +# dependencies: +# api: +# git: https://... # Git-based dependencies +# tag: v1.0.0 +# ui: +# path: ./ui # Path-based dependencies (for monorepos) diff --git a/devspace-elasticsearch710.yaml b/devspace-elasticsearch710.yaml new file mode 100755 index 0000000000..04c816fdd8 --- /dev/null +++ b/devspace-elasticsearch710.yaml @@ -0,0 +1,57 @@ +version: v2beta1 +name: elasticsearch710 + +# This is a list of `deployments` that DevSpace can create for this project +deployments: + elasticsearch710: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - command: + - "" + env: + - name: ES_JAVA_OPTS + value: -Xms512m -Xmx512m + - name: bootstrap.memory_lock + value: "true" + - name: discovery.type + value: single-node + image: elasticsearch:7.10.1 + name: edx-devstack-elasticsearch710 + volumeMounts: + - containerPath: /usr/share/elasticsearch/data + volume: + name: elasticsearch710_data + shared: true + service: + ports: + - containerPort: 9200 + port: 9201 + protocol: TCP + - containerPort: 9300 + port: 9301 + protocol: TCP + volumes: + - name: elasticsearch710_data + size: 5Gi + +# This is a list of `dev` containers that are based on the containers created by your deployments +dev: + elasticsearch710: + labelSelector: + app.kubernetes.io/component: elasticsearch710 + # Forward the following ports to be able access your application via localhost + ports: + - port: 9201:9200 + - port: 9301:9300 + +# Define dependencies to other projects with a devspace.yaml +# dependencies: +# api: +# git: https://... # Git-based dependencies +# tag: v1.0.0 +# ui: +# path: ./ui # Path-based dependencies (for monorepos) diff --git a/devspace-forum.yaml b/devspace-forum.yaml new file mode 100755 index 0000000000..b710ab2eca --- /dev/null +++ b/devspace-forum.yaml @@ -0,0 +1,49 @@ +version: v2beta1 +name: forum + +# This is a list of `deployments` that DevSpace can create for this project +deployments: + forum: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - source /edx/app/forum/ruby_env && source /edx/app/forum/devstack_forum_env && cd /edx/app/forum/cs_comments_service && bundle install && while true; do ./bin/unicorn -c config/unicorn_tcp.rb -I .; sleep 2; done + image: edxops/forum:latest + name: edx-devstack-forum + service: + ports: + - containerPort: 4567 + port: 44567 + protocol: TCP + +# This is a list of `dev` containers that are based on the containers created by your deployments +dev: + forum: + labelSelector: + app.kubernetes.io/component: forum + # Forward the following ports to be able access your application via localhost + ports: + - port: 44567:4567 +dependencies: + elasticsearch710: + path: devspace-elasticsearch710.yaml + memcached: + path: devspace-memcached.yaml + mongo: + path: devspace-mongo.yaml + opensearch12: + path: devspace-opensearch12.yaml + +# Define dependencies to other projects with a devspace.yaml +# dependencies: +# api: +# git: https://... # Git-based dependencies +# tag: v1.0.0 +# ui: +# path: ./ui # Path-based dependencies (for monorepos) diff --git a/devspace-kafka.yaml b/devspace-kafka.yaml new file mode 100755 index 0000000000..55c9ee3459 --- /dev/null +++ b/devspace-kafka.yaml @@ -0,0 +1,80 @@ +version: v2beta1 +name: kafka + +# This is a list of `deployments` that DevSpace can create for this project +deployments: + kafka: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - env: + - name: CONFLUENT_METRICS_ENABLE + value: "true" + - name: CONFLUENT_METRICS_REPORTER_BOOTSTRAP_SERVERS + value: edx.devstack.kafka:29092 + - name: CONFLUENT_METRICS_REPORTER_TOPIC_REPLICAS + value: "1" + - name: CONFLUENT_SUPPORT_CUSTOMER_ID + value: anonymous + - name: KAFKA_ADVERTISED_LISTENERS + value: PLAINTEXT://edx.devstack.kafka:29092,PLAINTEXT_HOST://localhost:9092 + - name: KAFKA_BROKER_ID + value: "1" + - name: KAFKA_CONFLUENT_BALANCER_TOPIC_REPLICATION_FACTOR + value: "1" + - name: KAFKA_CONFLUENT_LICENSE_TOPIC_REPLICATION_FACTOR + value: "1" + - name: KAFKA_CONFLUENT_SCHEMA_REGISTRY_URL + value: http://edx.devstack.schema-registry:8081 + - name: KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS + value: "0" + - name: KAFKA_JMX_HOSTNAME + value: localhost + - name: KAFKA_JMX_PORT + value: "9101" + - name: KAFKA_LISTENER_SECURITY_PROTOCOL_MAP + value: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT + - name: KAFKA_METRIC_REPORTERS + value: io.confluent.metrics.reporter.ConfluentMetricsReporter + - name: KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR + value: "1" + - name: KAFKA_TRANSACTION_STATE_LOG_MIN_ISR + value: "1" + - name: KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR + value: "1" + - name: KAFKA_ZOOKEEPER_CONNECT + value: edx.devstack.zookeeper:2181 + image: confluentinc/cp-server:6.2.1 + name: edx-devstack-kafka + service: + ports: + - containerPort: 9092 + port: 9092 + protocol: TCP + - containerPort: 9101 + port: 9101 + protocol: TCP + +# This is a list of `dev` containers that are based on the containers created by your deployments +dev: + kafka: + labelSelector: + app.kubernetes.io/component: kafka + # Forward the following ports to be able access your application via localhost + ports: + - port: "9092" + - port: "9101" +dependencies: + zookeeper: + path: devspace-zookeeper.yaml + +# Define dependencies to other projects with a devspace.yaml +# dependencies: +# api: +# git: https://... # Git-based dependencies +# tag: v1.0.0 +# ui: +# path: ./ui # Path-based dependencies (for monorepos) diff --git a/devspace-lms.yaml b/devspace-lms.yaml new file mode 100755 index 0000000000..56748feb77 --- /dev/null +++ b/devspace-lms.yaml @@ -0,0 +1,92 @@ +version: v2beta1 +name: lms + +# This is a list of `deployments` that DevSpace can create for this project +deployments: + lms: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - source /edx/app/edxapp/edxapp_env && while true; do python /edx/app/edxapp/edx-platform/manage.py lms runserver 0.0.0.0:18000 --settings devstack_docker; sleep 2; done + command: + - "" + env: + - name: CMS_CFG + value: /edx/etc/studio.yml + - name: DJANGO_WATCHMAN_TIMEOUT + value: "30" + - name: EDXAPP_TEST_MONGO_HOST + value: edx.devstack.mongo + - name: FRONTEND_TEST_SERVER_CMS_PORT + value: "18031" + - name: FRONTEND_TEST_SERVER_HOSTNAME + value: edx.devstack.lms + - name: FRONTEND_TEST_SERVER_LMS_PORT + value: "18003" + - name: LMS_CFG + value: /edx/etc/lms.yml + - name: NO_PYTHON_UNINSTALL + value: "1" + - name: PATH + value: '/edx/app/edxapp/venvs/edxapp/bin:/edx/app/edxapp/nodeenv/bin:/edx/app/edxapp/edx-platform/node_modules/.bin:/edx/app/edxapp/edx-platform/bin:' + - name: SERVICE_VARIANT + value: lms + - name: VIRTUAL_ENV + value: /edx/app/edxapp/venvs/edxapp + image: openedx/lms-dev:latest + name: edx-devstack-lms + volumeMounts: + - containerPath: /edx/var/edxapp/staticfiles + volume: + name: edxapp_lms_assets + shared: true + service: + ports: + - containerPort: 18000 + port: 18000 + protocol: TCP + - containerPort: 19876 + port: 19876 + protocol: TCP + volumes: + - name: edxapp_lms_assets + size: 5Gi + +# This is a list of `dev` containers that are based on the containers created by your deployments +dev: + lms: + labelSelector: + app.kubernetes.io/component: lms + # Forward the following ports to be able access your application via localhost + ports: + - port: "18000" + - port: "19876" +dependencies: + discovery: + path: devspace-discovery.yaml + elasticsearch710: + path: devspace-elasticsearch710.yaml + forum: + path: devspace-forum.yaml + memcached: + path: devspace-memcached.yaml + mongo: + path: devspace-mongo.yaml + mysql57: + path: devspace-mysql57.yaml + mysql80: + path: devspace-mysql80.yaml + +# Define dependencies to other projects with a devspace.yaml +# dependencies: +# api: +# git: https://... # Git-based dependencies +# tag: v1.0.0 +# ui: +# path: ./ui # Path-based dependencies (for monorepos) diff --git a/devspace-memcached.yaml b/devspace-memcached.yaml new file mode 100755 index 0000000000..a52db91a17 --- /dev/null +++ b/devspace-memcached.yaml @@ -0,0 +1,22 @@ +version: v2beta1 +name: memcached + +# This is a list of `deployments` that DevSpace can create for this project +deployments: + memcached: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - image: memcached:1.5.10-alpine + name: edx-devstack-memcached + +# Define dependencies to other projects with a devspace.yaml +# dependencies: +# api: +# git: https://... # Git-based dependencies +# tag: v1.0.0 +# ui: +# path: ./ui # Path-based dependencies (for monorepos) diff --git a/devspace-mongo.yaml b/devspace-mongo.yaml new file mode 100755 index 0000000000..d9535f11a6 --- /dev/null +++ b/devspace-mongo.yaml @@ -0,0 +1,58 @@ +version: v2beta1 +name: mongo + +# This is a list of `deployments` that DevSpace can create for this project +deployments: + mongo: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - mongod + - --nojournal + - --storageEngine + - wiredTiger + command: + - ./manage.py + - runserver + image: mongo:4.4.18 + name: edx-devstack-mongo + volumeMounts: + - containerPath: /data/db + volume: + name: mongo_data + shared: true + - containerPath: /data/configdb + volume: + name: mongo_config_data + shared: true + service: + ports: + - containerPort: 27017 + port: 27017 + protocol: TCP + volumes: + - name: mongo_data + size: 5Gi + - name: mongo_config_data + size: 5Gi + +# This is a list of `dev` containers that are based on the containers created by your deployments +dev: + mongo: + labelSelector: + app.kubernetes.io/component: mongo + # Forward the following ports to be able access your application via localhost + ports: + - port: "27017" + +# Define dependencies to other projects with a devspace.yaml +# dependencies: +# api: +# git: https://... # Git-based dependencies +# tag: v1.0.0 +# ui: +# path: ./ui # Path-based dependencies (for monorepos) diff --git a/devspace-mysql57.yaml b/devspace-mysql57.yaml new file mode 100755 index 0000000000..50eb8b7307 --- /dev/null +++ b/devspace-mysql57.yaml @@ -0,0 +1,55 @@ +version: v2beta1 +name: mysql57 + +# This is a list of `deployments` that DevSpace can create for this project +deployments: + mysql57: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - mysqld + - --character-set-server=utf8 + - --collation-server=utf8_general_ci + command: + - "" + env: + - name: MYSQL_ALLOW_EMPTY_PASSWORD + value: "yes" + - name: MYSQL_ROOT_PASSWORD + value: "" + image: edxops/mysql:5.7 + name: edx-devstack-mysql57 + volumeMounts: + - containerPath: /var/lib/mysql + volume: + name: mysql57_data + shared: true + service: + ports: + - containerPort: 3306 + port: 3506 + protocol: TCP + volumes: + - name: mysql57_data + size: 5Gi + +# This is a list of `dev` containers that are based on the containers created by your deployments +dev: + mysql57: + labelSelector: + app.kubernetes.io/component: mysql57 + # Forward the following ports to be able access your application via localhost + ports: + - port: 3506:3306 + +# Define dependencies to other projects with a devspace.yaml +# dependencies: +# api: +# git: https://... # Git-based dependencies +# tag: v1.0.0 +# ui: +# path: ./ui # Path-based dependencies (for monorepos) diff --git a/devspace-mysql80.yaml b/devspace-mysql80.yaml new file mode 100755 index 0000000000..f77e1de382 --- /dev/null +++ b/devspace-mysql80.yaml @@ -0,0 +1,55 @@ +version: v2beta1 +name: mysql80 + +# This is a list of `deployments` that DevSpace can create for this project +deployments: + mysql80: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - mysqld + - --character-set-server=utf8 + - --collation-server=utf8_general_ci + command: + - "" + env: + - name: MYSQL_ALLOW_EMPTY_PASSWORD + value: "yes" + - name: MYSQL_ROOT_PASSWORD + value: "" + image: mysql:8.0.33-oracle + name: edx-devstack-mysql80 + volumeMounts: + - containerPath: /var/lib/mysql + volume: + name: mysql80data + shared: true + service: + ports: + - containerPort: 3306 + port: 3406 + protocol: TCP + volumes: + - name: mysql80data + size: 5Gi + +# This is a list of `dev` containers that are based on the containers created by your deployments +dev: + mysql80: + labelSelector: + app.kubernetes.io/component: mysql80 + # Forward the following ports to be able access your application via localhost + ports: + - port: 3406:3306 + +# Define dependencies to other projects with a devspace.yaml +# dependencies: +# api: +# git: https://... # Git-based dependencies +# tag: v1.0.0 +# ui: +# path: ./ui # Path-based dependencies (for monorepos) diff --git a/devspace-opensearch12.yaml b/devspace-opensearch12.yaml new file mode 100755 index 0000000000..7bd5c842f9 --- /dev/null +++ b/devspace-opensearch12.yaml @@ -0,0 +1,59 @@ +version: v2beta1 +name: opensearch12 + +# This is a list of `deployments` that DevSpace can create for this project +deployments: + opensearch12: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - command: + - "" + env: + - name: ES_JAVA_OPTS + value: -Xms512m -Xmx512m + - name: bootstrap.memory_lock + value: "true" + - name: discovery.type + value: single-node + - name: plugins.security.disabled + value: "true" + image: opensearchproject/opensearch:1.2.0 + name: edx-devstack-opensearch12 + volumeMounts: + - containerPath: /usr/share/opensearch/data + volume: + name: opensearch12_data + shared: true + service: + ports: + - containerPort: 9200 + port: 9202 + protocol: TCP + - containerPort: 9600 + port: 9600 + protocol: TCP + volumes: + - name: opensearch12_data + size: 5Gi + +# This is a list of `dev` containers that are based on the containers created by your deployments +dev: + opensearch12: + labelSelector: + app.kubernetes.io/component: opensearch12 + # Forward the following ports to be able access your application via localhost + ports: + - port: 9202:9200 + - port: "9600" + +# Define dependencies to other projects with a devspace.yaml +# dependencies: +# api: +# git: https://... # Git-based dependencies +# tag: v1.0.0 +# ui: +# path: ./ui # Path-based dependencies (for monorepos) diff --git a/devspace-redis.yaml b/devspace-redis.yaml new file mode 100755 index 0000000000..89ca652ebe --- /dev/null +++ b/devspace-redis.yaml @@ -0,0 +1,36 @@ +version: v2beta1 +name: redis + +# This is a list of `deployments` that DevSpace can create for this project +deployments: + redis: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - redis-server + - --requirepass + - password + command: + - "" + image: redis:7.2 + name: edx-devstack-redis + volumeMounts: + - containerPath: /data + volume: + name: redis_data + shared: true + volumes: + - name: redis_data + size: 5Gi + +# Define dependencies to other projects with a devspace.yaml +# dependencies: +# api: +# git: https://... # Git-based dependencies +# tag: v1.0.0 +# ui: +# path: ./ui # Path-based dependencies (for monorepos) diff --git a/devspace-registrar-worker.yaml b/devspace-registrar-worker.yaml new file mode 100755 index 0000000000..4160829654 --- /dev/null +++ b/devspace-registrar-worker.yaml @@ -0,0 +1,86 @@ +version: v2beta1 +name: registrar-worker + +# This is a list of `deployments` that DevSpace can create for this project +deployments: + registrar-worker: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - cd /edx/app/registrar && celery -A registrar worker -l debug -c 2 + command: + - "" + env: + - name: CELERY_BROKER_HOSTNAME + value: edx.devstack.redis:6379 + - name: CELERY_BROKER_PASSWORD + value: password + - name: CELERY_BROKER_TRANSPORT + value: redis + - name: CELERY_BROKER_VHOST + value: "10" + - name: DB_HOST + value: edx.devstack.mysql80 + - name: DB_NAME + value: registrar + - name: DB_PASSWORD + value: password + - name: DB_PORT + value: "3306" + - name: DB_USER + value: registrar001 + - name: DJANGO_SETTINGS_MODULE + value: registrar.settings.devstack + - name: DJANGO_WATCHMAN_TIMEOUT + value: "30" + - name: LMS_HOST + value: http://localhost:18000 + - name: MEMCACHE_HOST + value: edx.devstack.memcached + image: edxops/registrar-dev:latest + name: edx-devstack-registrar-worker + volumeMounts: + - containerPath: /edx/var/registrar + volume: + name: registrar-worker-1 + shared: true + service: + ports: + - containerPort: 18735 + port: 18735 + protocol: TCP + volumes: + - name: registrar-worker-1 + size: 5Gi + +# This is a list of `dev` containers that are based on the containers created by your deployments +dev: + registrar-worker: + labelSelector: + app.kubernetes.io/component: registrar-worker + # Forward the following ports to be able access your application via localhost + ports: + - port: "18735" +dependencies: + lms: + path: devspace-lms.yaml + mysql57: + path: devspace-mysql57.yaml + mysql80: + path: devspace-mysql80.yaml + redis: + path: devspace-redis.yaml + +# Define dependencies to other projects with a devspace.yaml +# dependencies: +# api: +# git: https://... # Git-based dependencies +# tag: v1.0.0 +# ui: +# path: ./ui # Path-based dependencies (for monorepos) diff --git a/devspace-registrar.yaml b/devspace-registrar.yaml new file mode 100755 index 0000000000..f5928072db --- /dev/null +++ b/devspace-registrar.yaml @@ -0,0 +1,108 @@ +version: v2beta1 +name: registrar + +# This is a list of `deployments` that DevSpace can create for this project +deployments: + registrar: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - while true; do python /edx/app/registrar/manage.py runserver 0.0.0.0:18734; sleep 2; done + command: + - "" + env: + - name: ANALYTICS_DASHBOARD_CFG + value: /edx/etc/registrar.yml + - name: CELERY_ALWAYS_EAGER + value: "false" + - name: CELERY_BROKER_HOSTNAME + value: edx.devstack.redis:6379 + - name: CELERY_BROKER_PASSWORD + value: password + - name: CELERY_BROKER_TRANSPORT + value: redis + - name: CELERY_BROKER_VHOST + value: "10" + - name: DB_HOST + value: edx.devstack.mysql80 + - name: DB_NAME + value: registrar + - name: DB_PASSWORD + value: password + - name: DB_PORT + value: "3306" + - name: DB_USER + value: registrar001 + - name: DJANGO_SETTINGS_MODULE + value: registrar.settings.devstack + - name: DJANGO_WATCHMAN_TIMEOUT + value: "30" + - name: LMS_HOST + value: http://localhost:18000 + - name: MEMCACHE_HOST + value: edx.devstack.memcached + image: edxops/registrar-dev:latest + name: edx-devstack-registrar + volumeMounts: + - containerPath: /edx/var/registrar + volume: + name: registrar-1 + shared: true + - containerPath: /edx/etc/registrar.yml + volume: + name: volume-1 + readOnly: false + service: + ports: + - containerPort: 18734 + port: 18734 + protocol: TCP + volumes: + - name: registrar-1 + size: 5Gi + - emptyDir: {} + name: volume-1 + +# This is a list of `dev` containers that are based on the containers created by your deployments +dev: + registrar: + labelSelector: + app.kubernetes.io/component: registrar + command: + - "" + # Sync files between the local filesystem and the development container + sync: + - path: /configuration_files/registrar.yml:/edx/etc/registrar.yml + startContainer: true + # Forward the following ports to be able access your application via localhost + ports: + - port: "18734" +dependencies: + discovery: + path: devspace-discovery.yaml + lms: + path: devspace-lms.yaml + memcached: + path: devspace-memcached.yaml + mysql57: + path: devspace-mysql57.yaml + mysql80: + path: devspace-mysql80.yaml + redis: + path: devspace-redis.yaml + registrar-worker: + path: devspace-registrar-worker.yaml + +# Define dependencies to other projects with a devspace.yaml +# dependencies: +# api: +# git: https://... # Git-based dependencies +# tag: v1.0.0 +# ui: +# path: ./ui # Path-based dependencies (for monorepos) diff --git a/devspace-schema-registry.yaml b/devspace-schema-registry.yaml new file mode 100755 index 0000000000..9c1ef53e38 --- /dev/null +++ b/devspace-schema-registry.yaml @@ -0,0 +1,46 @@ +version: v2beta1 +name: schema-registry + +# This is a list of `deployments` that DevSpace can create for this project +deployments: + schema-registry: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - env: + - name: SCHEMA_REGISTRY_HOST_NAME + value: schema-registry.devstack.edx + - name: SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS + value: edx.devstack.kafka:29092 + - name: SCHEMA_REGISTRY_LISTENERS + value: http://0.0.0.0:8081 + image: confluentinc/cp-schema-registry:6.2.1 + name: edx-devstack-schema-registry + service: + ports: + - containerPort: 8081 + port: 8081 + protocol: TCP + +# This is a list of `dev` containers that are based on the containers created by your deployments +dev: + schema-registry: + labelSelector: + app.kubernetes.io/component: schema-registry + # Forward the following ports to be able access your application via localhost + ports: + - port: "8081" +dependencies: + kafka: + path: devspace-kafka.yaml + +# Define dependencies to other projects with a devspace.yaml +# dependencies: +# api: +# git: https://... # Git-based dependencies +# tag: v1.0.0 +# ui: +# path: ./ui # Path-based dependencies (for monorepos) diff --git a/devspace-zookeeper.yaml b/devspace-zookeeper.yaml new file mode 100755 index 0000000000..8b76256752 --- /dev/null +++ b/devspace-zookeeper.yaml @@ -0,0 +1,41 @@ +version: v2beta1 +name: zookeeper + +# This is a list of `deployments` that DevSpace can create for this project +deployments: + zookeeper: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - env: + - name: ZOOKEEPER_CLIENT_PORT + value: "2181" + - name: ZOOKEEPER_TICK_TIME + value: "2000" + image: confluentinc/cp-zookeeper:6.2.1 + name: edx-devstack-zookeeper + service: + ports: + - containerPort: 2181 + port: 2181 + protocol: TCP + +# This is a list of `dev` containers that are based on the containers created by your deployments +dev: + zookeeper: + labelSelector: + app.kubernetes.io/component: zookeeper + # Forward the following ports to be able access your application via localhost + ports: + - port: "2181" + +# Define dependencies to other projects with a devspace.yaml +# dependencies: +# api: +# git: https://... # Git-based dependencies +# tag: v1.0.0 +# ui: +# path: ./ui # Path-based dependencies (for monorepos) diff --git a/devspace.yaml b/devspace.yaml new file mode 100755 index 0000000000..af61060a76 --- /dev/null +++ b/devspace.yaml @@ -0,0 +1,714 @@ +version: v2beta1 +name: docker-compose + +# This is a list of `deployments` that DevSpace can create for this project +deployments: + chrome: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - command: + - "" + image: edxops/chrome:latest + name: edx-devstack-chrome + volumeMounts: + - containerPath: /edx/app/edxapp/edx-platform/common/test/data + volume: + name: volume-1 + readOnly: false + service: + ports: + - containerPort: 5900 + port: 15900 + protocol: TCP + volumes: + - emptyDir: {} + name: volume-1 + coursegraph: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - command: + - "" + env: + - name: NEO4J_AUTH + value: neo4j/edx + image: neo4j:3.5.28 + name: edx-devstack-coursegraph + volumeMounts: + - containerPath: /data + volume: + name: coursegraph_data + shared: true + service: + ports: + - containerPort: 7474 + port: 7474 + protocol: TCP + - containerPort: 7687 + port: 7687 + protocol: TCP + volumes: + - name: coursegraph_data + size: 5Gi + credentials: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - source /edx/app/credentials/credentials_env && while true; do python /edx/app/credentials/credentials/manage.py runserver 0.0.0.0:18150; sleep 2; done + env: + - name: CACHE_LOCATION + value: edx.devstack.memcached:11211 + - name: DB_HOST + value: edx.devstack.mysql80 + - name: DJANGO_WATCHMAN_TIMEOUT + value: "30" + - name: ENABLE_DJANGO_TOOLBAR + value: "1" + - name: SOCIAL_AUTH_EDX_OIDC_URL_ROOT + value: http://edx.devstack.lms:18000/oauth2 + image: edxops/credentials:latest + name: edx-devstack-credentials + service: + ports: + - containerPort: 18150 + port: 18150 + protocol: TCP + edx-notes-api: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - while true; do python /edx/app/notes/manage.py runserver 0.0.0.0:18120 --settings notesserver.settings.devstack; sleep 4; done + env: + - name: DB_ENGINE + value: django.db.backends.mysql + - name: DB_HOST + value: edx.devstack.mysql80 + - name: DB_NAME + value: notes + - name: DB_PASSWORD + value: password + - name: DB_PORT + value: "3306" + - name: DB_USER + value: notes001 + - name: DJANGO_WATCHMAN_TIMEOUT + value: "30" + - name: ELASTICSEARCH_DSL + value: http://edx.devstack.elasticsearch710:9200 + - name: ELASTICSEARCH_URL + value: http://edx.devstack.elasticsearch710:9200 + - name: ENABLE_DJANGO_TOOLBAR + value: "1" + image: openedx/edx-notes-api-dev:latest + name: edx-devstack-edxnotesapi + service: + ports: + - containerPort: 18120 + port: 18120 + protocol: TCP + firefox: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - command: + - "" + image: edxops/firefox:latest + name: edx-devstack-firefox + volumeMounts: + - containerPath: /edx/app/edxapp/edx-platform/common/test/data + volume: + name: volume-1 + readOnly: false + service: + ports: + - containerPort: 5900 + port: 25900 + protocol: TCP + volumes: + - emptyDir: {} + name: volume-1 + frontend-app-account: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - npm ci || exit 1; while true; do npm start; sleep 2; done + env: + - name: NODE_ENV + value: development + image: node:16 + name: edx-devstack-frontend-app-account + service: + ports: + - containerPort: 1997 + port: 1997 + protocol: TCP + frontend-app-authn: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - npm ci || exit 1; while true; do npm start; sleep 2; done + env: + - name: NODE_ENV + value: development + image: node:16 + name: edx-devstack-frontend-app-authn + service: + ports: + - containerPort: 1999 + port: 1999 + protocol: TCP + frontend-app-course-authoring: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - npm ci || exit 1; while true; do npm start; sleep 2; done + env: + - name: NODE_ENV + value: development + image: node:16 + name: edx-devstack-frontend-app-course-authoring + service: + ports: + - containerPort: 2001 + port: 2001 + protocol: TCP + frontend-app-gradebook: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - npm ci || exit 1; while true; do npm start; sleep 2; done + env: + - name: NODE_ENV + value: development + image: node:16 + name: edx-devstack-frontend-app-gradebook + service: + ports: + - containerPort: 1994 + port: 1994 + protocol: TCP + frontend-app-learning: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - npm ci || exit 1; while true; do npm start; sleep 2; done + env: + - name: NODE_ENV + value: development + image: node:16 + name: edx-devstack-frontend-app-learning + service: + ports: + - containerPort: 2000 + port: 2000 + protocol: TCP + frontend-app-library-authoring: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - npm ci || exit 1; while true; do npm start; sleep 2; done + env: + - name: NODE_ENV + value: development + image: node:16 + name: edx-devstack-frontend-app-library-authoring + service: + ports: + - containerPort: 3001 + port: 3001 + protocol: TCP + frontend-app-ora-grading: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - npm ci || exit 1; while true; do npm start; sleep 2; done + env: + - name: NODE_ENV + value: development + image: node:16 + name: edx-devstack-frontend-app-ora-grading + service: + ports: + - containerPort: 1993 + port: 1993 + protocol: TCP + frontend-app-payment: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - npm ci || exit 1; while true; do npm start; sleep 2; done + env: + - name: NODE_ENV + value: development + image: node:16 + name: edx-devstack-frontend-app-payment + service: + ports: + - containerPort: 1998 + port: 1998 + protocol: TCP + frontend-app-profile: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - npm ci || exit 1; while true; do npm start; sleep 2; done + env: + - name: NODE_ENV + value: development + image: node:16 + name: edx-devstack-frontend-app-profile + service: + ports: + - containerPort: 1995 + port: 1995 + protocol: TCP + frontend-app-program-console: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - npm ci || exit 1; while true; do npm start; sleep 2; done + env: + - name: NODE_ENV + value: development + image: node:16 + name: edx-devstack-frontend-app-program-console + service: + ports: + - containerPort: 1976 + port: 1976 + protocol: TCP + frontend-app-publisher: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - npm ci || exit 1; while true; do npm start; sleep 2; done + env: + - name: NODE_ENV + value: development + image: node:16 + name: edx-devstack-frontend-app-publisher + service: + ports: + - containerPort: 18400 + port: 18400 + protocol: TCP + insights: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - source /edx/app/insights/insights_env && while true; do python /edx/app/insights/insights/manage.py runserver 0.0.0.0:18110 --settings analytics_dashboard.settings.devstack; sleep 2; done + command: + - "" + env: + - name: ANALYTICS_DASHBOARD_CFG + value: /edx/etc/insights.yml + - name: DB_HOST + value: edx.devstack.mysql80 + - name: DB_NAME + value: dashboard + - name: DB_PASSWORD + value: password + - name: DB_PORT + value: "3306" + - name: DB_USER + value: analytics001 + - name: DJANGO_SETTINGS_MODULE + value: analytics_dashboard.settings.devstack + - name: LMS_HOST + value: http://localhost:18000 + image: edxops/insights-dev:latest + name: edx-devstack-insights + volumeMounts: + - containerPath: /edx/var/insights + volume: + name: insights-1 + shared: true + - containerPath: /edx/etc/insights.yml + volume: + name: volume-1 + readOnly: false + service: + ports: + - containerPort: 18110 + port: 18110 + protocol: TCP + volumes: + - name: insights-1 + size: 5Gi + - emptyDir: {} + name: volume-1 + kafka-control-center: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - env: + - name: CONFLUENT_METRICS_TOPIC_REPLICATION + value: "1" + - name: CONTROL_CENTER_BOOTSTRAP_SERVERS + value: edx.devstack.kafka:29092 + - name: CONTROL_CENTER_INTERNAL_TOPICS_PARTITIONS + value: "1" + - name: CONTROL_CENTER_MONITORING_INTERCEPTOR_TOPIC_PARTITIONS + value: "1" + - name: CONTROL_CENTER_REPLICATION_FACTOR + value: "1" + - name: CONTROL_CENTER_SCHEMA_REGISTRY_URL + value: http://edx.devstack.schema-registry:8081 + - name: PORT + value: "9021" + image: confluentinc/cp-enterprise-control-center:6.2.1 + name: edx-devstack-kafka-control-center + service: + ports: + - containerPort: 9021 + port: 9021 + protocol: TCP + xqueue: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - source /edx/app/xqueue/xqueue_env && while true; do python /edx/app/xqueue/xqueue/manage.py runserver 0.0.0.0:18040 ; sleep 2; done + command: + - "" + env: + - name: XQUEUE_CFG + value: /edx/etc/xqueue.yml + image: edxops/xqueue-dev:latest + name: edx-devstack-xqueue + volumeMounts: + - containerPath: /edx/app/xqueue/xqueue + volume: + name: volume-1 + readOnly: false + - containerPath: /edx/etc/xqueue.yml + volume: + name: volume-2 + readOnly: false + service: + ports: + - containerPort: 18040 + port: 18040 + protocol: TCP + volumes: + - emptyDir: {} + name: volume-1 + - emptyDir: {} + name: volume-2 + xqueue-consumer: + # This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations + helm: + # Under `values` we can define the values for this Helm chart used during `helm install/upgrade` + # You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"] + values: + containers: + - args: + - bash + - -c + - source /edx/app/xqueue/xqueue_env && while true; do python /edx/app/xqueue/xqueue/manage.py run_consumer ; sleep 2; done + command: + - "" + image: edxops/xqueue-dev:latest + name: edx-devstack-xqueue-consumer + volumeMounts: + - containerPath: /edx/app/xqueue/xqueue + volume: + name: volume-1 + readOnly: false + - containerPath: /edx/etc/xqueue.yml + volume: + name: volume-2 + readOnly: false + volumes: + - emptyDir: {} + name: volume-1 + - emptyDir: {} + name: volume-2 + +# This is a list of `dev` containers that are based on the containers created by your deployments +dev: + chrome: + labelSelector: + app.kubernetes.io/component: chrome + command: + - "" + # Sync files between the local filesystem and the development container + sync: + - path: ../edx-platform/common/test/data:/edx/app/edxapp/edx-platform/common/test/data + startContainer: true + # Forward the following ports to be able access your application via localhost + ports: + - port: 15900:5900 + coursegraph: + labelSelector: + app.kubernetes.io/component: coursegraph + # Forward the following ports to be able access your application via localhost + ports: + - port: "7474" + - port: "7687" + credentials: + labelSelector: + app.kubernetes.io/component: credentials + # Forward the following ports to be able access your application via localhost + ports: + - port: "18150" + edx-notes-api: + labelSelector: + app.kubernetes.io/component: edx_notes_api + # Forward the following ports to be able access your application via localhost + ports: + - port: "18120" + firefox: + labelSelector: + app.kubernetes.io/component: firefox + command: + - "" + # Sync files between the local filesystem and the development container + sync: + - path: ../edx-platform/common/test/data:/edx/app/edxapp/edx-platform/common/test/data + startContainer: true + # Forward the following ports to be able access your application via localhost + ports: + - port: 25900:5900 + frontend-app-account: + labelSelector: + app.kubernetes.io/component: frontend-app-account + # Forward the following ports to be able access your application via localhost + ports: + - port: "1997" + frontend-app-authn: + labelSelector: + app.kubernetes.io/component: frontend-app-authn + # Forward the following ports to be able access your application via localhost + ports: + - port: "1999" + frontend-app-course-authoring: + labelSelector: + app.kubernetes.io/component: frontend-app-course-authoring + # Forward the following ports to be able access your application via localhost + ports: + - port: "2001" + frontend-app-gradebook: + labelSelector: + app.kubernetes.io/component: frontend-app-gradebook + # Forward the following ports to be able access your application via localhost + ports: + - port: "1994" + frontend-app-learning: + labelSelector: + app.kubernetes.io/component: frontend-app-learning + # Forward the following ports to be able access your application via localhost + ports: + - port: "2000" + frontend-app-library-authoring: + labelSelector: + app.kubernetes.io/component: frontend-app-library-authoring + # Forward the following ports to be able access your application via localhost + ports: + - port: "3001" + frontend-app-ora-grading: + labelSelector: + app.kubernetes.io/component: frontend-app-ora-grading + # Forward the following ports to be able access your application via localhost + ports: + - port: "1993" + frontend-app-payment: + labelSelector: + app.kubernetes.io/component: frontend-app-payment + # Forward the following ports to be able access your application via localhost + ports: + - port: "1998" + frontend-app-profile: + labelSelector: + app.kubernetes.io/component: frontend-app-profile + # Forward the following ports to be able access your application via localhost + ports: + - port: "1995" + frontend-app-program-console: + labelSelector: + app.kubernetes.io/component: frontend-app-program-console + # Forward the following ports to be able access your application via localhost + ports: + - port: "1976" + frontend-app-publisher: + labelSelector: + app.kubernetes.io/component: frontend-app-publisher + # Forward the following ports to be able access your application via localhost + ports: + - port: "18400" + insights: + labelSelector: + app.kubernetes.io/component: insights + command: + - "" + # Sync files between the local filesystem and the development container + sync: + - path: /configuration_files/insights.yml:/edx/etc/insights.yml + startContainer: true + # Forward the following ports to be able access your application via localhost + ports: + - port: "18110" + kafka-control-center: + labelSelector: + app.kubernetes.io/component: kafka-control-center + # Forward the following ports to be able access your application via localhost + ports: + - port: "9021" + xqueue: + labelSelector: + app.kubernetes.io/component: xqueue + command: + - "" + # Sync files between the local filesystem and the development container + sync: + - path: /xqueue:/edx/app/xqueue/xqueue + startContainer: true + - path: /configuration_files/xqueue.yml:/edx/etc/xqueue.yml + startContainer: true + # Forward the following ports to be able access your application via localhost + ports: + - port: "18040" + xqueue-consumer: + labelSelector: + app.kubernetes.io/component: xqueue_consumer + command: + - "" + # Sync files between the local filesystem and the development container + sync: + - path: /xqueue:/edx/app/xqueue/xqueue + startContainer: true + - path: /configuration_files/xqueue.yml:/edx/etc/xqueue.yml + startContainer: true +dependencies: + analyticsapi: + path: devspace-analyticsapi.yaml + cms: + path: devspace-cms.yaml + ecommerce: + path: devspace-ecommerce.yaml + elasticsearch710: + path: devspace-elasticsearch710.yaml + kafka: + path: devspace-kafka.yaml + lms: + path: devspace-lms.yaml + memcached: + path: devspace-memcached.yaml + mysql57: + path: devspace-mysql57.yaml + mysql80: + path: devspace-mysql80.yaml + registrar: + path: devspace-registrar.yaml + schema-registry: + path: devspace-schema-registry.yaml + +# Define dependencies to other projects with a devspace.yaml +# dependencies: +# api: +# git: https://... # Git-based dependencies +# tag: v1.0.0 +# ui: +# path: ./ui # Path-based dependencies (for monorepos) diff --git a/devspace_start.sh b/devspace_start.sh new file mode 100755 index 0000000000..d681506bcc --- /dev/null +++ b/devspace_start.sh @@ -0,0 +1,36 @@ +#!/bin/bash +set +e # Continue on errors + +COLOR_BLUE="\033[0;94m" +COLOR_GREEN="\033[0;92m" +COLOR_RESET="\033[0m" + +# Print useful output for user +echo -e "${COLOR_BLUE} + %########% + %###########% ____ _____ + %#########% | _ \ ___ __ __ / ___/ ____ ____ ____ ___ + %#########% | | | | / _ \\\\\ \ / / \___ \ | _ \ / _ | / __// _ \\ + %#############% | |_| |( __/ \ V / ____) )| |_) )( (_| |( (__( __/ + %#############% |____/ \___| \_/ \____/ | __/ \__,_| \___\\\\\___| + %###############% |_| + %###########%${COLOR_RESET} + + +Welcome to your development container! + +This is how you can work with it: +- Files will be synchronized between your local machine and this container +- Some ports will be forwarded, so you can access this container via localhost +- Run \`${COLOR_GREEN}python main.py${COLOR_RESET}\` to start the application +" + +# Set terminal prompt +export PS1="\[${COLOR_BLUE}\]devspace\[${COLOR_RESET}\] ./\W \[${COLOR_BLUE}\]\\$\[${COLOR_RESET}\] " +if [ -z "$BASH" ]; then export PS1="$ "; fi + +# Include project's bin/ folder in PATH +export PATH="./bin:$PATH" + +# Open shell +bash --norc