> ## Documentation Index
> Fetch the complete documentation index at: https://docs.shiftlabs.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Get up and running with ShiftLabs in minutes

This guide walks you through the essential steps to start managing your infrastructure with ShiftLabs.

## Prerequisites

Before you begin, you'll need:

* A ShiftLabs account (sign up at [shiftlabs.dev](https://shiftlabs.dev))
* A Linux server to install the Mesh Agent (if connecting on-premise infrastructure)
* Admin access to your infrastructure services (Kubernetes, Vault, etc.)

## Step 1: Create Your Organization

When you first sign up, you'll create an organization (tenant) for your team.

<Steps>
  <Step title="Sign Up">
    Go to [shiftlabs.dev](https://shiftlabs.dev) and create your account.
  </Step>

  <Step title="Create Organization">
    Enter your organization name. This becomes your workspace for all resources and team members.
  </Step>

  <Step title="Verify Email">
    Check your inbox and click the verification link.
  </Step>
</Steps>

## Step 2: Connect Your Infrastructure

ShiftLabs connects to your infrastructure through either a Mesh Agent or direct integrations.

<Tabs>
  <Tab title="Mesh Agent (On-Premise)">
    Use a Mesh Agent to connect on-premise or private cloud infrastructure.

    <Steps>
      <Step title="Create Agent">
        Go to **Mesh Networking → Mesh Agent** and click **Create Agent**.
      </Step>

      <Step title="Configure">
        Enter a name (e.g., `prod-datacenter`) and the subnets you want to expose (e.g., `10.150.50.0/24`).
      </Step>

      <Step title="Install">
        Run the provided installation script on your Linux server:

        ```bash theme={null}
        curl -fsSL https://tailscale.com/install.sh | sh
        sudo tailscale up \
          --login-server=https://headscale.shiftlabs.dev \
          --authkey=YOUR_AUTH_KEY \
          --advertise-routes=10.150.50.0/24
        ```
      </Step>

      <Step title="Approve Routes">
        Go back to ShiftLabs, open your agent, click the **Routes** tab, and enable the pending routes.
      </Step>
    </Steps>

    <Info>
      The Mesh Agent creates an encrypted WireGuard tunnel—no inbound ports required.
    </Info>
  </Tab>

  <Tab title="Cloud Integrations">
    For cloud-hosted services, configure direct integrations.

    <Steps>
      <Step title="Open Integrations">
        Go to **Settings → Integrations**.
      </Step>

      <Step title="Add Integration">
        Select the service type (Vault, Redis, Kafka, etc.) and click **Add**.
      </Step>

      <Step title="Configure">
        Enter the connection details (URL, credentials) and click **Save**.
      </Step>

      <Step title="Test">
        Click **Health Check** to verify connectivity.
      </Step>
    </Steps>
  </Tab>
</Tabs>

## Step 3: Set Up a Project

Projects organize your resources and control who can access them.

<Steps>
  <Step title="Create Project">
    Go to **Access Management → Projects** and click **Create Project**.
  </Step>

  <Step title="Enter Details">
    * **Project Key**: Unique identifier (e.g., `production`, `staging`)
    * **Display Name**: Friendly name (e.g., `Production Environment`)
  </Step>

  <Step title="Save">
    Click **Create Project**.
  </Step>
</Steps>

<Tip>
  Create separate projects for different environments (production, staging, development) or teams.
</Tip>

## Step 4: Invite Your Team

Add team members and control their access through roles.

<Steps>
  <Step title="Invite User">
    Go to **Access Management → Users** and click **Invite User**.
  </Step>

  <Step title="Enter Details">
    Enter their email address and optionally select an initial role.
  </Step>

  <Step title="Send Invitation">
    Click **Send Invitation**. They'll receive an email with a join link.
  </Step>

  <Step title="Add to Project">
    Once they accept, go to **Projects** → your project → **Members** tab and add them with appropriate roles.
  </Step>
</Steps>

## Step 5: Start Managing

You're ready to manage your infrastructure. Here are common next steps:

<CardGroup cols={2}>
  <Card title="View Kubernetes Clusters" icon="dharmachakra" href="/infrastructure/kubernetes/system/clusters">
    See your connected clusters, nodes, and workloads
  </Card>

  <Card title="Manage Secrets" icon="shield-check" href="/platform-services/vault/secrets">
    Create and organize secrets in Vault
  </Card>

  <Card title="Set Up CI/CD" icon="code-branch" href="/ci-cd-deployments/ci-platform/projects">
    Create build pipelines and deployments
  </Card>

  <Card title="Configure Roles" icon="shield" href="/access-management/roles">
    Create custom roles for fine-grained access control
  </Card>
</CardGroup>

## What's Next

<CardGroup cols={3}>
  <Card title="Platform Overview" icon="map" href="/getting-started/overview">
    Explore all platform capabilities
  </Card>

  <Card title="Why ShiftLabs" icon="lightbulb" href="/getting-started/why-shiftlabs">
    Learn about the benefits
  </Card>

  <Card title="Access Management" icon="users" href="/access-management/users">
    Deep dive into users and permissions
  </Card>
</CardGroup>

## Need Help?

<AccordionGroup>
  <Accordion title="Mesh Agent won't connect">
    1. Verify outbound internet access on port 443 and UDP 41641
    2. Check if the installation script completed without errors
    3. Run `tailscale status` to see connection state
    4. See [Mesh Agent troubleshooting](/mesh-networking/mesh-agent#troubleshooting)
  </Accordion>

  <Accordion title="Can't see my infrastructure">
    1. Verify the Mesh Agent is Active (green status)
    2. Check that routes are approved (not "Pending")
    3. Confirm the subnet includes your infrastructure IPs
  </Accordion>

  <Accordion title="Team member can't access resources">
    1. Verify they accepted the invitation
    2. Check they're added to the correct project
    3. Verify their roles include necessary permissions
    4. See [Users troubleshooting](/access-management/users#troubleshooting)
  </Accordion>

  <Accordion title="Integration health check fails">
    1. Verify the URL is correct and accessible
    2. Check credentials are valid
    3. Ensure network connectivity from ShiftLabs to the service
    4. See [Integrations troubleshooting](/settings/integrations/overview#troubleshooting)
  </Accordion>
</AccordionGroup>
