diff --git a/.drone.yml b/.drone.yml index 77d34a9..e9e8dea 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,180 +1,211 @@ ---- -kind: pipeline -type: kubernetes -name: Nocr - -metadata: - namespace: musk-drone - -trigger: - branch: - - main - # event: - # - tag - -clone: - disable: true - -steps: - - name: clone - image: alpine/git - settings: - tags: true - commands: - - pwd - - git clone https://gitea.musk.fun/nocr/flea - - cd flea - - git submodule update --init --recursive - - - name: nocr telegram listener build & push - image: plugins/docker - privileged: true - settings: - repo: hub.musk.fun/k8s/nocr/telegram_listener - registry: hub.musk.fun - context: ./flea/telegram-listener - dockerfile: ./flea/telegram-listener/src/Nocr.TelegramListener.Host/Dockerfile - tags: ["${DRONE_COMMIT_SHA:0:7}", "latest"] - username: - from_secret: hub_username - password: - from_secret: hub_password - depends_on: - - clone - - - name: nocr telegram listener nuget package make & push - image: mcr.microsoft.com/dotnet/sdk:8.0 - volumes: - - name: dotnet-cache - path: /app/ - environment: - VERSION: ${DRONE_TAG} - NUGETAPIKEY: - from_secret: nuget_musk_api_key - commands: - - dotnet nuget add source --name musk https://gitea.musk.fun/api/packages/nocr/nuget/index.json - - dotnet pack ./flea/telegram-listener/Nocr.TelegramListener.sln -o ./flea/telegram-listener/bin - - dotnet nuget push ./flea/telegram-listener/bin/*Contract*.nupkg --api-key $NUGETAPIKEY --source musk --skip-duplicate - depends_on: - - nocr telegram listener build & push - - - name: nocr text matcher build & push - image: plugins/docker - privileged: true - settings: - repo: hub.musk.fun/k8s/nocr/text_matcher - registry: hub.musk.fun - context: ./flea/text-matcher - dockerfile: ./flea/text-matcher/src/Nocr.TextMatcher.Host/Dockerfile - tags: ["${DRONE_COMMIT_SHA:0:7}", "latest"] - username: - from_secret: hub_username - password: - from_secret: hub_password - depends_on: - - clone - - - name: nocr text matcher nuget package make & push - image: mcr.microsoft.com/dotnet/sdk:8.0 - volumes: - - name: dotnet-cache - path: /app/ - environment: - VERSION: ${DRONE_TAG} - NUGETAPIKEY: - from_secret: nuget_musk_api_key - commands: - - dotnet nuget add source --name musk https://gitea.musk.fun/api/packages/nocr/nuget/index.json - - dotnet pack ./flea/text-matcher/Nocr.TextMatcher.sln -o ./flea/text-matcher/bin - - dotnet nuget push ./flea/text-matcher/bin/*Contract*.nupkg --api-key $NUGETAPIKEY --source musk --skip-duplicate - depends_on: - - nocr text matcher build & push - - - name: nocr users build & push - image: plugins/docker - privileged: true - settings: - repo: hub.musk.fun/k8s/nocr/users - registry: hub.musk.fun - context: ./flea/users - dockerfile: ./flea/users/src/Nocr.Users.Host/Dockerfile - tags: ["${DRONE_COMMIT_SHA:0:7}", "latest"] - username: - from_secret: hub_username - password: - from_secret: hub_password - depends_on: - - clone - - - name: nocr users nuget package make & push - image: mcr.microsoft.com/dotnet/sdk:8.0 - volumes: - - name: dotnet-cache - path: /app/ - environment: - VERSION: ${DRONE_TAG} - NUGETAPIKEY: - from_secret: nuget_musk_api_key - commands: - - dotnet nuget add source --name musk https://gitea.musk.fun/api/packages/nocr/nuget/index.json - - dotnet pack ./flea/users/Nocr.Users.sln -o ./flea/users/bin - - dotnet nuget push ./flea/users/bin/*Contract*.nupkg --api-key $NUGETAPIKEY --source musk --skip-duplicate - depends_on: - - nocr users build & push - - - name: nocr telegram client build & push - image: plugins/docker - privileged: true - settings: - repo: hub.musk.fun/k8s/nocr/telegram_client - registry: hub.musk.fun - context: ./flea/telegram-client - dockerfile: ./flea/telegram-client/src/Nocr.TelegramClient.Host/Dockerfile - tags: ["${DRONE_COMMIT_SHA:0:7}", "latest"] - username: - from_secret: hub_username - password: - from_secret: hub_password - depends_on: - - clone - - - name: nocr text matcher migrator build & push - image: plugins/docker - privileged: true - settings: - repo: hub.musk.fun/k8s/nocr/text_matcher_migrator - registry: hub.musk.fun - context: ./flea/text-matcher/ - dockerfile: ./flea/text-matcher/src/Nocr.TextMatcher.Migrator/Dockerfile - tags: ["${DRONE_COMMIT_SHA:0:7}", "latest"] - username: - from_secret: hub_username - password: - from_secret: hub_passwordi - depends_on: - - nocr text matcher build & push - - - name: nocr users migrator build & push - image: plugins/docker - privileged: true - settings: - repo: hub.musk.fun/k8s/nocr/users_migrator - registry: hub.musk.fun - context: ./flea/users/ - dockerfile: ./flea/users/src/Nocr.Users.Migrator/Dockerfile - tags: ["${DRONE_COMMIT_SHA:0:7}", "latest"] - username: - from_secret: hub_username - password: - from_secret: hub_password - depends_on: - - nocr users build & push - -volumes: -- name: dotnet-cache - claim: - name: dotnet-cache-claim -- name: kaniko-cache - claim: - name: kaniko-cache-claim - +--- +kind: pipeline +type: kubernetes +name: Nocr + +metadata: + namespace: musk-drone + +trigger: + ref: + - refs/heads/main + - refs/tags/* + + +clone: + disable: true + +steps: + + - name: debug + image: alpine + commands: + - printenv + + - name: clone + image: alpine/git + settings: + tags: true + commands: + - pwd + - git clone https://gitea.musk.fun/nocr/flea + - cd flea + - git submodule update --init --recursive + + - name: kaniko nocr telegram listener build & push + image: plugins/kaniko + settings: + registry: hub.musk.fun + repo: hub.musk.fun/k8s/nocr/telegram_listener + tags: ["${DRONE_COMMIT_SHA:0:7}", "latest"] + context: ./flea/telegram-listener + dockerfile: ./flea/telegram-listener/src/Nocr.TelegramListener.Host/Dockerfile + cache: true + username: + from_secret: hub_username + password: + from_secret: hub_password + # build_args: + # - --cache=true --cache-dir=/cache + volumes: + - name: local-cache + path: /cache +# depends_on: +# - clone + + - name: kaniko nocr text matcher build & push + image: plugins/kaniko + settings: + registry: hub.musk.fun + repo: hub.musk.fun/k8s/nocr/text_matcher + tags: ["${DRONE_COMMIT_SHA:0:7}", "latest"] + context: ./flea/text-matcher + dockerfile: ./flea/text-matcher/src/Nocr.TextMatcher.Host/Dockerfile + username: + from_secret: hub_username + password: + from_secret: hub_password + build_args: + - --cache=true --cache-dir=/cache + volumes: + - name: local-cache + path: /cache +# depends_on: +# - clone + + - name: kaniko nocr users build & push + image: plugins/kaniko + settings: + registry: hub.musk.fun + repo: hub.musk.fun/k8s/nocr/users + tags: ["${DRONE_COMMIT_SHA:0:7}", "latest"] + context: ./flea/users + dockerfile: ./flea/users/src/Nocr.Users.Host/Dockerfile + username: + from_secret: hub_username + password: + from_secret: hub_password + build_args: + - --cache=true --cache-dir=/cache + volumes: + - name: local-cache + path: /cache +# depends_on: +# - clone + + - name: kaniko nocr telegram client build & push + image: plugins/kaniko + settings: + registry: hub.musk.fun + repo: hub.musk.fun/k8s/nocr/telegram_client + tags: ["${DRONE_COMMIT_SHA:0:7}", "latest"] + context: ./flea/telegram-client + dockerfile: ./flea/telegram-client/src/Nocr.TelegramClient.Host/Dockerfile + username: + from_secret: hub_username + password: + from_secret: hub_password + build_args: + - --cache=true --cache-dir=/cache + volumes: + - name: local-cache + path: /cache +# depends_on: +# - clone + + - name: kaniko nocr text matcher migrator build & push + image: plugins/kaniko + settings: + registry: hub.musk.fun + repo: hub.musk.fun/k8s/nocr/text_matcher_migrator + tags: ["${DRONE_COMMIT_SHA:0:7}", "latest"] + context: ./flea/text-matcher/ + dockerfile: ./flea/text-matcher/src/Nocr.TextMatcher.Migrator/Dockerfile + username: + from_secret: hub_username + password: + from_secret: hub_password + build_args: + - --cache=true --cache-dir=/cache + volumes: + - name: local-cache + path: /cache +# depends_on: +# - clone + + - name: kaniko nocr users migrator build & push + image: plugins/kaniko + settings: + registry: hub.musk.fun + repo: hub.musk.fun/k8s/nocr/users_migrator + tags: ["${DRONE_COMMIT_SHA:0:7}", "latest"] + context: ./flea/users/ + dockerfile: ./flea/users/src/Nocr.Users.Migrator/Dockerfile + username: + from_secret: hub_username + password: + from_secret: hub_password + build_args: + - --cache=true --cache-dir=/cache + volumes: + - name: local-cache + path: /cache +# depends_on: +# - kaniko nocr users build & push + + - name: nocr telegram listener nuget package make & push + image: mcr.microsoft.com/dotnet/sdk:8.0 + volumes: + - name: local-cache + path: /app/ + environment: + VERSION: ${DRONE_TAG} + NUGETAPIKEY: + from_secret: nuget_musk_api_key + commands: + - dotnet nuget add source --name musk https://gitea.musk.fun/api/packages/nocr/nuget/index.json + - dotnet pack ./flea/telegram-listener/Nocr.TelegramListener.sln -o ./flea/telegram-listener/bin + - dotnet nuget push ./flea/telegram-listener/bin/*Contract*.nupkg --api-key $NUGETAPIKEY --source musk --skip-duplicate +# depends_on: +# - kaniko nocr telegram listener build & push + + - name: nocr text matcher nuget package make & push + image: mcr.microsoft.com/dotnet/sdk:8.0 + volumes: + - name: local-cache + path: /app/ + environment: + VERSION: ${DRONE_TAG} + NUGETAPIKEY: + from_secret: nuget_musk_api_key + commands: + - dotnet nuget add source --name musk https://gitea.musk.fun/api/packages/nocr/nuget/index.json + - dotnet pack ./flea/text-matcher/Nocr.TextMatcher.sln -o ./flea/text-matcher/bin + - dotnet nuget push ./flea/text-matcher/bin/*Contract*.nupkg --api-key $NUGETAPIKEY --source musk --skip-duplicate +# depends_on: +# - kaniko nocr text matcher migrator build & push + + - name: nocr users nuget package make & push + image: mcr.microsoft.com/dotnet/sdk:8.0 + volumes: + - name: local-cache + path: /app/ + environment: + VERSION: ${DRONE_TAG} + NUGETAPIKEY: + from_secret: nuget_musk_api_key + commands: + - dotnet nuget add source --name musk https://gitea.musk.fun/api/packages/nocr/nuget/index.json + - dotnet pack ./flea/users/Nocr.Users.sln -o ./flea/users/bin + - dotnet nuget push ./flea/users/bin/*Contract*.nupkg --api-key $NUGETAPIKEY --source musk --skip-duplicate +# depends_on: +# - kaniko nocr users build & push + +volumes: +- name: nfs-cache + claim: + name: nfs-cache-claim +- name: local-cache + claim: + name: local-cache-claim + diff --git a/README.md b/README.md index e929bb3..4b4db7e 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,18 @@ Аккумуляция всех вложенных проектов. -[![Build Status](https://drone.musk.fun/api/badges/nocr/flea/status.svg?ref=refs/heads/main)](https://drone.musk.fun/nocr/flea) \ No newline at end of file +[telegram-listener](https://gitea.musk.fun/nocr/telegram-listener) +Модуль, отвечающий за скан открытых каналов и чатов. + +[telegram-client](https://gitea.musk.fun/nocr/telegram-client) +Модуль, отвечающий за клиентский интерфейс самого бота взаимодействия с пользователем. + +[users](https://gitea.musk.fun/nocr/users) +Модуль, отвечающий за управление пользователями сервиса и их предпочтениями. + +[text-matcher](https://gitea.musk.fun/nocr/text-matcher) +Модуль, отвечающий за сравнивание всего объема подписанных сообщений через listener по пересечению с пользовательскими интересами. + + +Статус сборки drone: +[![Build Status](https://drone.musk.fun/api/badges/nocr/flea/status.svg?ref=refs/heads/main)](https://drone.musk.fun/nocr/flea) diff --git a/_deploy/k8s/deployment.yaml b/_deploy/k8s/deployment.yaml index 0621db2..8d2f790 100644 --- a/_deploy/k8s/deployment.yaml +++ b/_deploy/k8s/deployment.yaml @@ -79,6 +79,22 @@ spec: mountPath: /app/.secrets - name: rw-files mountPath: /tmp/rw-files + + livenessProbe: + httpGet: + path: /health + port: 8080 + initialDelaySeconds: 30 + periodSeconds: 30 + timeoutSeconds: 5 + + readinessProbe: + httpGet: + path: /health + port: 8080 + initialDelaySeconds: 5 + periodSeconds: 10 + volumes: - name: secrets secret: diff --git a/telegram-listener b/telegram-listener index 04fff13..269826b 160000 --- a/telegram-listener +++ b/telegram-listener @@ -1 +1 @@ -Subproject commit 04fff13fef788c81470d12726124d4738dedc117 +Subproject commit 269826b70fdf8d1b09402eab40af60074ac74f0a