-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathinstall.default.yaml
More file actions
238 lines (225 loc) · 12.3 KB
/
Copy pathinstall.default.yaml
File metadata and controls
238 lines (225 loc) · 12.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
# ============================================================================
# Copyright (c) 2023-2025 Bito Inc.
# All rights reserved.
#
# This source code is proprietary and confidential to Bito Inc.
# Unauthorized copying, modification, distribution, or use is strictly prohibited.
#
# For licensing information, see the COPYRIGHT file in the root directory.
#
# @company Bito Inc.
# @website https://bito.ai
# ============================================================================
# Bito AI Architect -- Install Configuration
# Edit the REQUIRED values below, then run the install bootstrap.
# ============================================================================
# LOCATION
# This file lives at $HOME/.bitoarch/install.yaml.
# Create it before running the install bootstrap if you know the schema
# (non-interactive install). If absent, the installer seeds a blank template
# here. This file is operator-owned: the installer reads it but never writes
# back to it, so your values, comments and formatting are preserved as-is.
#
# LIFECYCLE
# bitoarch restart --force Re-reads this file and refreshes .env-bitoarch
# bitoarch reset Wipes values (file preserved, edits blanked)
# bitoarch uninstall Deletes this file
#
# MINIMUM REQUIREMENTS
# Host OS: macOS 12+, Ubuntu 20.04+, or WSL2
# Docker: Desktop 20.10+ with Compose v2
# Docker RAM: 6 GB allocated (install checks this)
# Docker CPUs: 3 cores
# Disk: 10 GB free
# Ports: 5001-5005 available on localhost
# ============================================================================
# REQUIRED: Bito API Key (https://alpha.bito.ai/home/advanced)
bito_api_key: ""
# OPTIONAL: Email used to register the local MCP with installed coding agents.
# Leave blank to be prompted at install time; ignored if unused.
user_email: ""
# OPTIONAL: Deployment method for a FRESH install: docker | kubernetes
# Skips the interactive "Deployment Method" prompt. Ignored once a deployment
# exists (the installed method stays authoritative; this key cannot migrate a
# live install between docker and kubernetes).
# deployment:
# method: docker
# ingress: # kubernetes only
# class: "" # empty = bundled controller (ai-architect-nginx); set to reuse yours (nginx, traefik, ...)
# exposure: "" # empty = auto (kind: hostport, else nodeport) | hostport | nodeport | loadbalancer
git:
# REQUIRED: github | gitlab | bitbucket | azure-devops (leave empty to be prompted)
provider: ""
# OPTIONAL: github auth method -- personal_access_token (default) | app
# Leave empty for personal_access_token. Set to "app" for GitHub App auth
# (github only); then fill app_id / installation_id / private_key_path below.
# See docs/github-app-setup.md.
auth_type: ""
# REQUIRED for personal_access_token(PAT) auth.
access_token: ""
# OPTIONAL: enterprise git domain (empty for cloud).
domain_url: ""
# OPTIONAL: bitbucket username/email
user: ""
# REQUIRED for azure-devops cloud: your Azure DevOps organization (e.g. myorg)
organization: ""
# --- GitHub App auth (only used when auth_type: app) --------------------
# REQUIRED for app: numeric GitHub App ID (App settings -> General -> App ID)
app_id: ""
# REQUIRED for app: installation ID (App -> Install App -> number in the URL)
installation_id: ""
# REQUIRED for app: absolute path to the App private-key .pem, auto base64-encoded
private_key_path: ""
# OPTIONAL: Custom LLM provider keys
# Resolution order: Bito API key -> env file -> prompt.
# Leave commented to use Bito's LLM (when available) or be prompted at install.
# Supported providers: Anthropic, OpenAI, Portkey, Google Vertex AI, Azure AI, Novita, AWS Bedrock, Google Gemini, Local OpenAI-compatible.
# llm:
# # Anthropic
# anthropic_api_token: ""
#
# # OpenAI
# openai_api_token: ""
#
# # Portkey (gateway)
# portkey_api_token: ""
# portkey_api_url: "" # optional; defaults to https://api.portkey.ai/v1
# portkey_model_name: "" # required when portkey_api_token is set (format: @provider/model)
#
# # Google Vertex AI (service-account mode; key + project + region required)
# vertex_service_account_key_json: "" # absolute path to your GCP service-account JSON file (auto base64-encoded)
# vertex_project: "" # GCP project ID
# vertex_region: "" # e.g. us-east5 (region must serve your model)
# vertex_model: "" # optional; leave blank to use the workspace default model
#
# # Azure AI (both required)
# azure_ai_api_key: ""
# azure_ai_endpoint: "" # e.g. https://<resource>.openai.azure.com
#
# # Novita
# novita_api_token: ""
#
# # AWS Bedrock (all 3 required)
# aws_access_key_id: ""
# aws_secret_access_key: ""
# aws_bedrock_region: "" # e.g. us-east-1
#
# # Google Gemini
# gemini_api_key: ""
# gemini_model: "" # optional; leave blank to use the default model
#
# # Local OpenAI-compatible — your own server exposing the OpenAI /v1 API
# # (vLLM, Ollama, LM Studio, LocalAI, Text Generation Inference, llama.cpp).
# # At setup the installer verifies the server with GET <base_url>/models.
# localopenai_base_url: "" # required; include the /v1 path and use a DNS hostname reachable from the AI Architect containers (private-network or VPN-resolvable), e.g. https://llm.internal:8000/v1; not localhost/127.0.0.1/0.0.0.0
# localopenai_api_key: "" # optional; leave blank for keyless servers; sent as a Bearer token when set
# localopenai_model: "" # required; must exactly match a model ID your server serves. Recommended: claude-haiku-4.5 (works best with AI Architect)
# localopenai_connector_type: "" # optional; set "copilot-bridge" if using Copilot Bridge, else leave blank
#
# # Per-component default model overrides (optional). Each is applied to the
# # configured provider above; leave blank to use AI Architect's built-in
# # per-component defaults. Model IDs must match the configured provider's dialect.
# plugin_model: "" # model for the plugin use-case (task-analyser, ai-assistant)
# plugin_provider: "" # provider for the plugin usecase (e.g. anthropic); empty = priority-based default
# ai_index_model: "" # model for the AI Architect indexing usecase
# Resource defaults (tune per-host as needed)
resources:
mysql_memory: 1g
mysql_cpu: 0.5
cis_manager_cpu: 1.0
# OPTIONAL: Port overrides (uncomment + edit if defaults conflict)
# ports:
# cis_provider: 5001
# cis_manager: 5002
# cis_config: 5003
# mysql: 5004
# cis_tracker: 5005
# ============================================================================
# JIRA CONNECTION (shared — used by both Insights and the Jira plugin)
# ============================================================================
# Fill the Jira connection once; the ticket-tracker Insights feature and the
# Jira (task-analyzer) plugin both read it.
jira:
domain: "" # e.g. https://acme.atlassian.net
email: ""
api_token: "" # Atlassian → security → API tokens
host_type: cloud # cloud | self
cloud_id: "" # optional; only some Cloud OAuth setups need it
# OPTIONAL: Insights features. Run independently; both work better together.
# Set "true" to enable a feature; leave empty to be prompted during install.
insights:
git: "" # set to true to enable commit-history insights (reuses git creds above)
ticket_tracker:
enabled: "" # set to true to enable Jira ticket insights (uses the Jira connection above)
provider: jira # jira (only supported provider today)
project_keys: "" # comma-separated string ONLY (e.g. "PROJ,INFRA") — YAML list will fail
docs:
enabled: "" # set to true to enable Confluence docs insights
provider: confluence # confluence (only supported provider today)
url: "" # e.g. https://acme.atlassian.net (with or without /wiki — we normalize)
email: "" # defaults to ticket_tracker.email
api_token: ""
git_lookback_days: "" # git insights lookback (days, default: 180, max: 730)
jira_lookback_days: "" # jira insights lookback (days, default: 180, max: 730)
# ============================================================================
# OPTIONAL: Plugins — bundled integrations, installed once the base is healthy
# ============================================================================
# Leave this whole block commented to be OFFERED the plugins interactively at
# the end of a base install (terminal only). To install non-interactively, do
# the plugin's manual setup below first, then uncomment the `plugins:` list.
#
# Every plugin needs:
# - PUBLIC_URL — public HTTPS address of THIS server, reachable from Slack/Jira.
# Your nginx / load balancer must forward it to the AI Architect ingress on
# port 5080 (the INGRESS_PORT default; override with INGRESS_PORT). No trailing slash. Required per plugin.
# - Bito API key + MCP token/URL are inherited from the base config — don't repeat.
# - Auto-generated secrets (encryption/state keys) are not listed here.
#
# --------------------------------------------------------------------------
# ai-assistant — Bito in Slack
# --------------------------------------------------------------------------
# Create the Slack app FIRST (preseed can't open api.slack.com for you):
# 1. Get the manifest:
# https://github.com/gitbito/ai-architect/blob/main/slack-app-manifest.default.yaml
# 2. Replace every YOUR_PUBLIC_URL in it with your PUBLIC_URL
# (e.g. https://ai.acme.com — no trailing slash).
# 3. https://api.slack.com/apps -> "Create New App" -> "From an app manifest"
# -> pick your workspace -> paste the edited manifest -> Create.
# 4. Copy "Basic Information" -> "App Credentials" into the SLACK_* properties below.
#
# AFTER the plugin services are running (mandatory):
# 5. Install to workspace: open https://YOUR_PUBLIC_URL/slack/install -> "Allow".
# 6. Add Bito to a channel: in the channel type /invite @Bito ; if prompted
# choose "Add apps to this channel" -> "Bito" -> "Add".
#
# --------------------------------------------------------------------------
# task-analyzer — Bito in Jira
# --------------------------------------------------------------------------
# The Jira connection (base URL, email, API token) is reused from
# insights.ticket_tracker above — no need to repeat it. Respond mode and
# project scope can be preseeded below, or set later via:
# bitoarch plugin config task-analyzer
#
# AFTER the plugin services are running (mandatory):
# - Jira Cloud — register the webhook manually:
# 1. Jira -> Settings -> System -> WebHooks -> Create a WebHook
# 2. Name: "Bito AI Architect"
# 3. URL: get it from bitoarch plugin status task-analyzer (Webhook line)
# 4. Events: Issue created/updated/deleted, Comment created/updated/deleted
# 5. Save
# - Jira Self-Hosted — webhook auto-registers; no manual step needed.
#
# --------------------------------------------------------------------------
# Uncomment and fill to preseed (single `plugins:` list; either entry optional):
# plugins:
# - source: ai-assistant
# config:
# PUBLIC_URL: "https://your-public-host"
# SLACK_CLIENT_ID: "" # Basic Information -> App Credentials -> Client ID
# SLACK_CLIENT_SECRET: "" # Basic Information -> App Credentials -> Client Secret
# SLACK_SIGNING_SECRET: "" # Basic Information -> App Credentials -> Signing Secret
# - source: task-analyzer
# config:
# PUBLIC_URL: "https://your-public-host"
# JIRA_AUTO_ANALYSIS_ENABLED: "false" # respond mode — "false": analyze when a comment mentions @bito or /bito (on-demand); "true": every new/updated ticket
# TASK_ANALYZER_WEBHOOK_ENABLED_PROJECTS: "" # Jira project keys to watch, comma-separated (e.g. "PROJ,OPS"); leave out or empty = all projects