mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-01-09 15:17:59 -05:00
## Config
- For Supabase, the back end needs `SUPABASE_URL`, `SUPABASE_SERVICE_ROLE_KEY`, and `SUPABASE_JWT_SECRET`
- For the GitHub integration to work, the back end needs `GITHUB_CLIENT_ID` and `GITHUB_CLIENT_SECRET`
- For integrations OAuth flows to work in local development, the back end needs `FRONTEND_BASE_URL` to generate login URLs with accurate redirect URLs
## REST API
- Tweak output of OAuth `/login` endpoint: add `state_token` separately in response
- Add `POST /integrations/{provider}/credentials` (for API keys)
- Add `DELETE /integrations/{provider}/credentials/{cred_id}`
## Back end
- Add Supabase support to `AppService`
- Add `FRONTEND_BASE_URL` config option, mainly for local development use
### `autogpt_libs.supabase_integration_credentials_store`
- Add `CredentialsType` alias
- Add `.bearer()` helper methods to `APIKeyCredentials` and `OAuth2Credentials`
### Blocks
- Add `CredentialsField(..) -> CredentialsMetaInput`
## Front end
### UI components
- `CredentialsInput` for use on `CustomNode`: allows user to add/select credentials for a service.
- `APIKeyCredentialsModal`: a dialog for creating API keys
- `OAuth2FlowWaitingModal`: a dialog to indicate that the application is waiting for the user to log in to the 3rd party service in the provided pop-up window
- `NodeCredentialsInput`: wrapper for `CredentialsInput` with the "usual" interface of node input components
- New icons: `IconKey`, `IconKeyPlus`, `IconUser`, `IconUserPlus`
### Data model
- `CredentialsProvider`: introduces the app-level `CredentialsProvidersContext`, which acts as an application-wide store and cache for credentials metadata.
- `useCredentials` for use on `CustomNode`: uses `CredentialsProvidersContext` and provides node-specific credential data and provider-specific data/functions
- `/auth/integrations/oauth_callback` route to close the loop to the `CredentialsInput` after a user completes sign-in to the external service
- Add `BlockIOCredentialsSubSchema`
### API client
- Add `isAuthenticated` method
- Add methods for integration OAuth flow: `oAuthLogin`, `oAuthCallback`
- Add CRD methods for credentials: `createAPIKeyCredentials`, `listCredentials`, `getCredentials`, `deleteCredentials`
- Add mirrored types `CredentialsMetaResponse`, `CredentialsMetaInput`, `OAuth2Credentials`, `APIKeyCredentials`
- Add GitHub blocks + "DEVELOPER_TOOLS" category
- Add `**kwargs` to `Block.run(..)` signature to support additional kwargs
- Add support for loading blocks from nested modules (e.g. `blocks/github/issues.py`)
#### Executor
- Add strict support for `credentials` fields on blocks
- Fetch credentials for graph execution and pass them down through to the node execution
95 lines
2.0 KiB
YAML
95 lines
2.0 KiB
YAML
# dev values, overwrite base values as needed.
|
|
|
|
image:
|
|
repository: us-east1-docker.pkg.dev/agpt-dev/agpt-server-dev/agpt-server-dev
|
|
pullPolicy: Always
|
|
tag: "latest"
|
|
|
|
serviceAccount:
|
|
annotations:
|
|
iam.gke.io/gcp-service-account: "dev-agpt-server-sa@agpt-dev.iam.gserviceaccount.com"
|
|
name: "dev-agpt-server-sa"
|
|
|
|
service:
|
|
type: ClusterIP
|
|
port: 8000
|
|
targetPort: 8000
|
|
annotations:
|
|
cloud.google.com/neg: '{"ingress": true}'
|
|
|
|
ingress:
|
|
enabled: true
|
|
className: "gce"
|
|
annotations:
|
|
kubernetes.io/ingress.class: gce
|
|
kubernetes.io/ingress.global-static-ip-name: "agpt-dev-agpt-server-ip"
|
|
networking.gke.io/managed-certificates: "autogpt-server-cert"
|
|
networking.gke.io/v1beta1.FrontendConfig: "autogpt-server-frontend-config"
|
|
hosts:
|
|
- host: dev-server.agpt.co
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: autogpt-server
|
|
port: 8000
|
|
defaultBackend:
|
|
service:
|
|
name: autogpt-server
|
|
port:
|
|
number: 8000
|
|
|
|
resources:
|
|
requests:
|
|
cpu: 200m
|
|
memory: 256Mi
|
|
limits:
|
|
cpu: 2
|
|
memory: 2Gi
|
|
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /docs
|
|
port: 8000
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
failureThreshold: 6
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /docs
|
|
port: 8000
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
failureThreshold: 6
|
|
|
|
domain: "dev-server.agpt.co"
|
|
|
|
cloudSqlProxy:
|
|
image:
|
|
repository: gcr.io/cloud-sql-connectors/cloud-sql-proxy
|
|
tag: 2.11.4
|
|
instanceConnectionName: "agpt-dev:us-central1:agpt-server-dev"
|
|
port: 5432
|
|
resources:
|
|
requests:
|
|
memory: "2Gi"
|
|
cpu: "1"
|
|
|
|
env:
|
|
APP_ENV: "dev"
|
|
PYRO_HOST: "0.0.0.0"
|
|
NUM_GRAPH_WORKERS: 100
|
|
NUM_NODE_WORKERS: 5
|
|
REDIS_HOST: "redis-dev-master.redis-dev.svc.cluster.local"
|
|
REDIS_PORT: "6379"
|
|
BACKEND_CORS_ALLOW_ORIGINS: ["https://dev-builder.agpt.co"]
|
|
SUPABASE_SERVICE_ROLE_KEY: ""
|
|
GITHUB_CLIENT_ID: ""
|
|
GITHUB_CLIENT_SECRET: ""
|
|
FRONTEND_BASE_URL: ""
|
|
SUPABASE_URL: ""
|
|
SUPABASE_JWT_SECRET: ""
|