---
title: Overview
---

Integrations are the foundation of InfraKitchen's connectivity to external systems. They securely store credentials and configuration needed to interact with cloud providers, Git repositories, and authentication systems.

## What are Integrations?

An **Integration** in InfraKitchen is a secure record that contains:

- **Connection details** (URLs, endpoints, account IDs)
- **Authentication credentials** (API keys, tokens, OAuth credentials)
- **Configuration settings** (regions, scopes, permissions)

All credentials are **encrypted at rest** and decrypted only when needed for operations.

## Integration Properties

All integrations share common properties:

| Property          | Description                           | Required |
| ----------------- | ------------------------------------- | -------- |
| **Name**          | Human-readable identifier             | ✅       |
| **Type**          | Cloud/Git/Auth provider               | ✅       |
| **Provider**      | Specific provider (AWS, GitHub, etc.) | ✅       |
| **Configuration** | Provider-specific settings            | ✅       |
| **Description**   | Purpose and usage notes               | ❌       |

## Managing Integrations

### Create

Only platform engineers can create integrations:

1. **Navigate to Integrations**

    Open the Integrations page.

2. **Create Integration**

    Click <kbd>Create Integration</kbd>, select the provider type, and fill in the required fields.

3. **Save**

    Optionally test the connection, then save.

### Update

Credentials can be rotated without affecting resources:

1. **Edit existing integration**

    Update the credentials or configuration and save.

Existing resources continue working.

### Delete

:::warning
Deleting an integration will prevent resources using it from being provisioned or destroyed.
:::

Before deletion:

- Ensure no resources reference it
- Update or destroy dependent resources
- Document the change

## Provider-Specific Guides

### Cloud Providers

- [AWS Setup Guide](/infrakitchen/integrations/cloud#aws) - IAM roles, permissions, and best practices
- [Azure Setup Guide](/infrakitchen/integrations/cloud#azure) - Service principals and RBAC
- [GCP Setup Guide](/infrakitchen/integrations/cloud#google-cloud) - Service accounts and IAM
- [MongoDB Atlas Guide](/infrakitchen/integrations/cloud#mongodb-atlas) - API keys and project setup
- [Datadog Guide](/infrakitchen/integrations/cloud#datadog) - API and application keys

### Git Providers

- [GitHub Setup Guide](/infrakitchen/integrations/git#github) - PATs, permissions, and SSH
- [GitLab Setup Guide](/infrakitchen/integrations/git#gitlab) - Personal and group access tokens
- [Bitbucket Setup Guide](/infrakitchen/integrations/git#bitbucket) - API tokens and scopes
- [Azure DevOps Guide](/infrakitchen/integrations/git#azure-devops) - PATs and organization setup

### Auth Providers

- [GitHub OAuth Setup](/infrakitchen/integrations/auth#github) - App registration and scopes
- [Google OAuth Setup](/infrakitchen/integrations/auth#google) - OAuth client registration and redirect URI
- [Microsoft OAuth Setup](/infrakitchen/integrations/auth#microsoft) - App registration and Azure AD
- [Backstage Integration](/infrakitchen/integrations/auth#backstage) - Plugin configuration
- [Service Accounts](/infrakitchen/integrations/auth#service-account) - API token management
- [Guest Access](/infrakitchen/integrations/auth#guest) - Development mode

### Notification Providers

- [Slack Setup Guide](/infrakitchen/integrations/notification#slack) - Bot token, scopes, and channel setup
