LogoLogo
  • Welcome to Firefly Documentation
  • Introduction
    • What is Firefly?
    • Who is Firefly for?
    • Why use Firefly?
    • Terminology (Glossary)
  • Key Features
    • Infrastructure-as-Code Automation
    • Cloud Asset Inventory
    • Drift Detection & Remediation
    • Policy-as-Code for Compliance & Governance
    • Cost Visibility & Optimization
    • AI Assistant
    • ChatOps Integration
  • Getting Started
    • Account Setup & Onboarding
    • Connecting Additional Integrations
    • UI Walkthrough & Navigation
    • First Steps in Firefly
  • Detailed Guides
    • Dashboard Overview
    • Cloud Asset Inventory
      • Remediating Drifts
      • Deleting Assets
      • Creating IaC-Ignore Rules
      • Creating Exclude-Drift Rules
    • Policy & Governance
      • Creating Policy-as-Code Governance Rules
      • Remediating Policy Violations
    • Workflows & Guardrails
      • Creating Workflows
      • Creating Guardrail Rules
    • Codification
    • Self-Service
    • IaC Explorer
    • Event Center
    • Backup and Disaster Recovery
    • Notifications
    • User Management
    • SSO Configuration
  • Integrations
    • Integrations Overview
    • Integrating Data Sources
      • AWS
      • Azure
      • Google Cloud
      • Kubernetes
      • Akamai
      • Datadog
      • New Relic
      • Okta
      • GitHub
      • Cloudflare
      • NS1
      • PagerDuty
      • MongoDB Atlas
      • HashiCorp Vault
    • Integrating IaC Remote State
      • Terraform Cloud
      • Google Cloud Storage
      • env0
      • HashiCorp Consul
      • Firefly States Redactor
    • Integrating Version Control
      • GitHub
      • GitLab
      • Azure DevOps
      • CodeCommit
      • Bitbucket
    • Integrating Notifications
      • Slack
      • Microsoft Teams
      • PagerDuty
      • Opsgenie
      • Torq
      • Webex
      • Google Chat
      • Webhook
    • Integrating Project Management
      • Jira
      • ServiceNow
    • Integrating Workflows with CI/CD
    • Integrating Backstage
    • Integrating MCP
  • Use Cases & Best Practices
    • Cloud Governance & Visibility
    • Cost Optimization Strategies
    • Compliance and Security Best Practices
    • Infrastructure Automation & Self-Service
    • Best Practices and Implementation Tips
  • Analytics & Reporting
    • Analytics Dashboard Overview
    • Using Analytics for Improvement
    • Exporting and Sharing Reports
    • Analytics Security and Privacy
  • Code Snippets & Examples
    • Terraform Snippet for an AWS EC2 Instance (Codified via Firefly)
    • Example Rego Policy (OPA) for a Custom Rule
    • GitHub Actions Workflow YAML for Firefly Integration
    • JSON Output Example: Exporting Inventory
  • Troubleshooting & FAQs
    • Common Issues and Solutions
    • FAQs
  • General Information
    • Firefly API
      • Authentication
      • Inventory
      • Codification
      • Workflows
      • Self-Service
      • Policy & Governance
      • IaC Explorer
      • Event Center
      • Backup & Disaster Recovery
      • Notifications
      • Integrations
      • Identity & Access Management
    • Security & Compliance
    • Pricing Tiers & Add-ons
    • Contacting Support
Powered by GitBook
On this page
  • Overview
  • Prerequisites
  • Setup Procedure
  • Features Enabled
  • Best Practices
  • Troubleshooting

Was this helpful?

  1. Integrations
  2. Integrating Version Control

GitLab

Overview

Firefly integrates with GitLab to connect your infrastructure code repositories with your cloud resources. This integration enables powerful features like tracing cloud resources back to their defining code ("Jump to Code") and automatically creating Merge Requests for newly codified resources and drift remediation.

Prerequisites

  • A GitLab account with access to your infrastructure repositories

  • Appropriate permissions to create Personal Access Tokens

  • Repositories containing Terraform, CloudFormation, or other IaC files you want to connect to Firefly

Setup Procedure

  1. Login to your GitLab account and to create a personal access token

  2. Select User Settings > Access Tokens

  3. Enter a Token name and Expiration date

  4. Select both of the following scopes:

    • api

    • read_repository

  5. Select Create token

  6. Copy the token

  7. In Firefly, select Settings > Integrations

  8. Select Add New > GitLab (under version control integrations)

  9. Enter a descriptive name into the Nickname field

  10. Paste the token into the Token field

  11. If you are using GitLab on-premises, enter the GitLab instance URL into the Instance URL field

  12. Select Next

Features Enabled

  • Jump to Code: Trace resources in your cloud inventory back to the GitLab file and specific line that defines them

  • Automated Merge Requests: When Firefly codifies an unmanaged resource, it can commit the new infrastructure code as a Merge Request

  • IaC Tracking: Firefly maintains awareness of which resources are defined in code and which are not

  • Drift Remediation: Firefly can detect drift between the code and the actual resources and create a Merge Request to fix it

Best Practices

  • Consider creating a dedicated GitLab user or bot account for Firefly to make tracking its contributions easier

  • Ensure the access token has appropriate permissions to create Merge Requests

  • Regularly review Merge Requests created by Firefly

  • If you are using GitLab on-premises, ensure the GitLab instance URL is correct

Troubleshooting

  1. For authentication issues:

    • Verify GitLab credentials and permissions

    • Check if the token has expired or been revoked

    • Ensure the OAuth application is properly configured

  2. For repository access issues:

    • Verify the integration has access to the required repositories

    • Check group permissions if applicable

    • Review Firefly integration logs

PreviousGitHubNextAzure DevOps

Last updated 2 months ago

Was this helpful?