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

# Developer

> Welcome to the Developer learning track on Vantage University!

## <Icon size={24} color="#6742D6" iconType="solid" icon="book-copy" /> Lesson 1: Introduction to the Developer Track

<Frame>
  <iframe className="w-full aspect-video rounded-xl" src="https://www.youtube.com/embed/tdgT4r58keE?si=4wlae02kKDVO4Ff8" title="Introduction to the Developer Track" frameBorder="0" allow="accelerometer;  clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerPolicy="strict-origin-when-cross-origin" allowFullScreen />
</Frame>

## <Icon size={24} color="#6742D6" iconType="solid" icon="book-copy" /> Lesson 2: Managing Resources

<Frame>
  <div style={{position:'relative',width:'100%',aspectRatio:'16/9',borderRadius:'12px',overflow:'hidden'}}>
    <img src="https://app.navattic.com/api/poster/cml9vyd6e000204ji527n2olr" alt="Lesson 2: Managing Resources" style={{width:'100%',height:'100%',objectFit:'cover'}} />

    <div
      style={{
position:'absolute',
top:0,
left:0,
right:0,
bottom:0,
backdropFilter:'blur(2px)',
backgroundColor:'rgba(255,255,255,0.1)',
display:'flex',
alignItems:'center',
justifyContent:'center'
}}
    >
      <button
        onClick={(e) => {
e.preventDefault();
if(typeof NavatticEmbed !== 'undefined' && NavatticEmbed.open) {
  NavatticEmbed.open('https://capture.navattic.com/cml9vyd6e000204ji527n2olr', 'Managing Resources');
} else {
  window.open('https://capture.navattic.com/cml9vyd6e000204ji527n2olr', '_blank', 'width=1200,height=800');
}
}}
        style={{
padding:'16px 32px',
backgroundColor:'#6742D6',
color:'white',
border:'none',
borderRadius:'8px',
cursor:'pointer',
fontSize:'18px',
fontWeight:'600',
boxShadow:'0 4px 12px rgba(103, 66, 214, 0.4)',
transition:'all 0.2s ease',
zIndex:10
}}
        onMouseEnter={(e) => {
e.currentTarget.style.transform = 'scale(1.05)';
e.currentTarget.style.boxShadow = '0 6px 16px rgba(103, 66, 214, 0.5)';
}}
        onMouseLeave={(e) => {
e.currentTarget.style.transform = 'scale(1)';
e.currentTarget.style.boxShadow = '0 4px 12px rgba(103, 66, 214, 0.4)';
}}
        onFocus={(e) => {
e.currentTarget.style.transform = 'scale(1.05)';
e.currentTarget.style.boxShadow = '0 6px 16px rgba(103, 66, 214, 0.5)';
}}
        onBlur={(e) => {
e.currentTarget.style.transform = 'scale(1)';
e.currentTarget.style.boxShadow = '0 4px 12px rgba(103, 66, 214, 0.4)';
}}
      >
        Click to start demo <span style={{color:'white',display:'inline-block',verticalAlign:'text-bottom',marginLeft:'4px'}}><Icon icon="external-link" size={16} color="white" /></span>
      </button>
    </div>
  </div>
</Frame>

## <Icon size={24} color="#6742D6" iconType="solid" icon="book-copy" /> Lesson 3: Optimizing Kubernetes Efficiency

<Tabs>
  <Tab title="Watch: Vantage Kubernetes Agent Explainer">
    <Frame>
      <iframe className="w-full aspect-video rounded-xl" src="https://www.youtube.com/embed/Jg7ehw6SDiI?si=Qn4FWXyiep7WdQg7" title="Vantage Kubernetes Agent Explainer" frameBorder="0" allow="accelerometer;  clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerPolicy="strict-origin-when-cross-origin" allowFullScreen />
    </Frame>
  </Tab>

  <Tab title="Try it: Hands-on demo">
    <Frame>
      <div style={{position:'relative',width:'100%',aspectRatio:'16/9',borderRadius:'12px',overflow:'hidden'}}>
        <img src="https://app.navattic.com/api/poster/cmla9yztq000004l16unw0ba2" alt="Kubernetes Efficiency hands-on demo" style={{width:'100%',height:'100%',objectFit:'cover'}} />

        <div
          style={{
position:'absolute',
top:0,
left:0,
right:0,
bottom:0,
backdropFilter:'blur(2px)',
backgroundColor:'rgba(255,255,255,0.1)',
display:'flex',
alignItems:'center',
justifyContent:'center'
}}
        >
          <button
            onClick={(e) => {
e.preventDefault();
if(typeof NavatticEmbed !== 'undefined' && NavatticEmbed.open) {
  NavatticEmbed.open('https://capture.navattic.com/cmla9yztq000004l16unw0ba2', 'Kubernetes Efficiency');
} else {
  window.open('https://capture.navattic.com/cmla9yztq000004l16unw0ba2', '_blank', 'width=1200,height=800');
}
}}
            style={{
padding:'16px 32px',
backgroundColor:'#6742D6',
color:'white',
border:'none',
borderRadius:'8px',
cursor:'pointer',
fontSize:'18px',
fontWeight:'600',
boxShadow:'0 4px 12px rgba(103, 66, 214, 0.4)',
transition:'all 0.2s ease',
zIndex:10
}}
            onMouseEnter={(e) => {
e.currentTarget.style.transform = 'scale(1.05)';
e.currentTarget.style.boxShadow = '0 6px 16px rgba(103, 66, 214, 0.5)';
}}
            onMouseLeave={(e) => {
e.currentTarget.style.transform = 'scale(1)';
e.currentTarget.style.boxShadow = '0 4px 12px rgba(103, 66, 214, 0.4)';
}}
            onFocus={(e) => {
e.currentTarget.style.transform = 'scale(1.05)';
e.currentTarget.style.boxShadow = '0 6px 16px rgba(103, 66, 214, 0.5)';
}}
            onBlur={(e) => {
e.currentTarget.style.transform = 'scale(1)';
e.currentTarget.style.boxShadow = '0 4px 12px rgba(103, 66, 214, 0.4)';
}}
          >
            Click to start demo <span style={{color:'white',display:'inline-block',verticalAlign:'text-bottom',marginLeft:'4px'}}><Icon icon="external-link" size={16} color="white" /></span>
          </button>
        </div>
      </div>
    </Frame>
  </Tab>
</Tabs>

## <Icon size={24} color="#6742D6" iconType="solid" icon="book-copy" /> Lesson 4: Get Started with Vantage Developer Resources

Choose a path below. Replace placeholders with your own token and workspace, then run the commands or follow the setup.

<Tabs>
  <Tab title="API">
    Call the Vantage API to list workspaces. You need a [Vantage API token](/api/authentication) with Read scope.

    ```bash List workspaces theme={null}
    curl --request GET \
         --url https://api.vantage.sh/v2/workspaces \
         --header 'accept: application/json' \
         --header 'authorization: Bearer ACCESS_TOKEN'
    ```

    Replace `ACCESS_TOKEN` with your token. The response includes workspace tokens for Terraform or more API calls.

    <div style={{marginBottom:'16px',display:'flex',flexWrap:'wrap',gap:'12px',alignItems:'center'}}>
      <a href="/api/quickstart" target="_blank" rel="noopener noreferrer" style={{display:'inline-flex',alignItems:'center',gap:'8px',padding:'12px 20px',backgroundColor:'#6742D6',color:'white',borderRadius:'8px',fontWeight:'600',textDecoration:'none',fontSize:'15px',boxShadow:'0 4px 12px rgba(103, 66, 214, 0.4)',transition:'all 0.2s ease'}} onMouseOver={(e)=>{e.currentTarget.style.transform='scale(1.02)';e.currentTarget.style.boxShadow='0 6px 16px rgba(103, 66, 214, 0.5)';}} onMouseOut={(e)=>{e.currentTarget.style.transform='scale(1)';e.currentTarget.style.boxShadow='0 4px 12px rgba(103, 66, 214, 0.4)';}}>Open API Quickstart <Icon icon="external-link" size={14} color="white" /></a>
      <a href="https://console.vantage.sh/settings/access_tokens/personal" target="_blank" rel="noopener noreferrer" style={{display:'inline-flex',alignItems:'center',gap:'8px',padding:'12px 20px',backgroundColor:'rgba(103, 66, 214, 0.12)',color:'#6742D6',border:'2px solid #6742D6',borderRadius:'8px',fontWeight:'600',textDecoration:'none',fontSize:'15px',transition:'all 0.2s ease'}} onMouseOver={(e)=>{e.currentTarget.style.backgroundColor='rgba(103, 66, 214, 0.2)';}} onMouseOut={(e)=>{e.currentTarget.style.backgroundColor='rgba(103, 66, 214, 0.12)';}}>Get API token <Icon icon="external-link" size={14} color="#6742D6" /></a>
    </div>
  </Tab>

  <Tab title="Terraform">
    Create a folder in Vantage with the Terraform provider. Set `VANTAGE_API_TOKEN` in your environment and replace `wrkspc_YOUR_WORKSPACE_TOKEN` with a workspace token.

    ```terraform main.tf theme={null}
    terraform {
      required_providers {
        vantage = {
          source = "vantage-sh/vantage"
        }
      }
    }

    provider "vantage" {}

    resource "vantage_folder" "demo" {
      title            = "Demo Folder"
      workspace_token  = "wrkspc_YOUR_WORKSPACE_TOKEN"
    }
    ```

    Run `terraform init`, then `terraform plan`. Use `terraform apply` to create the folder.

    <div style={{marginBottom:'16px',display:'flex',flexWrap:'wrap',gap:'12px',alignItems:'center'}}>
      <a href="https://registry.terraform.io/providers/vantage-sh/vantage/latest/docs" target="_blank" rel="noopener noreferrer" style={{display:'inline-flex',alignItems:'center',gap:'8px',padding:'12px 20px',backgroundColor:'#6742D6',color:'white',borderRadius:'8px',fontWeight:'600',textDecoration:'none',fontSize:'15px',boxShadow:'0 4px 12px rgba(103, 66, 214, 0.4)',transition:'all 0.2s ease'}} onMouseOver={(e)=>{e.currentTarget.style.transform='scale(1.02)';e.currentTarget.style.boxShadow='0 6px 16px rgba(103, 66, 214, 0.5)';}} onMouseOut={(e)=>{e.currentTarget.style.transform='scale(1)';e.currentTarget.style.boxShadow='0 4px 12px rgba(103, 66, 214, 0.4)';}}>Terraform provider docs <Icon icon="external-link" size={14} color="white" /></a>
      <a href="https://github.com/vantage-sh/finops-as-code" target="_blank" rel="noopener noreferrer" style={{display:'inline-flex',alignItems:'center',gap:'8px',padding:'12px 20px',backgroundColor:'rgba(103, 66, 214, 0.12)',color:'#6742D6',border:'2px solid #6742D6',borderRadius:'8px',fontWeight:'600',textDecoration:'none',fontSize:'15px',transition:'all 0.2s ease'}} onMouseOver={(e)=>{e.currentTarget.style.backgroundColor='rgba(103, 66, 214, 0.2)';}} onMouseOut={(e)=>{e.currentTarget.style.backgroundColor='rgba(103, 66, 214, 0.12)';}}>Open FinOps as Code repo <Icon icon="external-link" size={14} color="#6742D6" /></a>
    </div>
  </Tab>

  <Tab title="Vantage MCP">
    Query costs and recommendations from your IDE in natural language. Install the Vantage MCP in Cursor (or another MCP client), then ask, "What are my top cost reports?" or "List open cost recommendations."

    Same API and Terraform concepts, from your editor, in plain language.

    <div style={{marginBottom:'16px',display:'flex',flexWrap:'wrap',gap:'12px',alignItems:'center'}}>
      <a href="/vantage_mcp#step-1-download-and-install-an-mcp-client" target="_blank" rel="noopener noreferrer" style={{display:'inline-flex',alignItems:'center',gap:'8px',padding:'12px 20px',backgroundColor:'#6742D6',color:'white',borderRadius:'8px',fontWeight:'600',textDecoration:'none',fontSize:'15px',boxShadow:'0 4px 12px rgba(103, 66, 214, 0.4)',transition:'all 0.2s ease'}} onMouseOver={(e)=>{e.currentTarget.style.transform='scale(1.02)';e.currentTarget.style.boxShadow='0 6px 16px rgba(103, 66, 214, 0.5)';}} onMouseOut={(e)=>{e.currentTarget.style.transform='scale(1)';e.currentTarget.style.boxShadow='0 4px 12px rgba(103, 66, 214, 0.4)';}}>Install Vantage MCP <Icon icon="external-link" size={14} color="white" /></a>
    </div>
  </Tab>
</Tabs>

***

### <Icon size={24} color="#6742D6" iconType="solid" icon="book-open" /> Additional Resources by Lesson

<AccordionGroup>
  <Accordion title="Lesson 2: Managing Resources">
    <Columns cols={2}>
      <Card title="Vantage University: Active Resources" icon="server" href="/vantage_university_per_resource_costs" horizontal />

      <Card title="Active Resources" icon="server" href="/active_resources" horizontal />

      <Card title="EC2 rightsizing recommendations" icon="chart-line" href="/cost_recommendations#aws-recommendations" horizontal />

      <Card title="Kubernetes rightsizing recommendations" icon="dharmachakra" href="/cost_recommendations#kubernetes-rightsizing-recommendations" horizontal />

      <Card title="Network Flow Reports" icon="network-wired" href="/network_flow_reports" horizontal />
    </Columns>
  </Accordion>

  <Accordion title="Lesson 3: Optimizing Kubernetes Efficiency">
    <Columns cols={2}>
      <Card title="Kubernetes Agent installation" icon="download" href="/kubernetes_agent" horizontal />

      <Card title="Kubernetes Efficiency Reports" icon="chart-area" href="/kubernetes" horizontal />

      <Card title="Kubernetes GPU costs" icon="microchip" href="/kubernetes#kubernetes-gpu-idle-costs" horizontal />

      <Card title="Blog on how we built the Kubernetes agent" icon="newspaper" href="https://www.vantage.sh/blog/kubernetes-cost-monitoring-agent" horizontal />
    </Columns>
  </Accordion>
</AccordionGroup>
