Skip to content

Instantly share code, notes, and snippets.

@hivelogic2018
Created August 6, 2025 00:32
Show Gist options
  • Select an option

  • Save hivelogic2018/9647c14ae5e9b8a42e2c5399f860f1ab to your computer and use it in GitHub Desktop.

Select an option

Save hivelogic2018/9647c14ae5e9b8a42e2c5399f860f1ab to your computer and use it in GitHub Desktop.
Bots vs Teleport

What are Bots? in Teleport ?

Static keys and API keys in your automated workflows are the target of hackers and are one of the primary sources of security breaches.

Teleport Machine ID replaces shared credentials and secrets with short-lived x.509 or SSH certificates and gives you a unified plan to register, define access policies, and audit all your workflows.

How different is that from Forgejo Git Actions to achieve my CI/CD automation & deployment strategy discussed previously with you ?

Teleport's Machine ID and Forgejo Git Actions are both tools for automating workflows, but they address different aspects of the CI/CD process and have distinct security models.

Here's a breakdown of the differences:

1. Primary Function and Scope:

  • Forgejo Git Actions: This is a comprehensive CI/CD platform integrated directly into the Forgejo Git hosting service. Its primary function is to define and execute automated workflows based on events in your Git repository (e.g., pushing code, creating a pull request). It handles the entire CI/CD pipeline, from building and testing code to deploying it to various environments. The "actions" are the building blocks of these workflows, and they can be reused and shared.
  • Teleport Machine ID: This is a security-focused component of the Teleport access platform. Its primary function is to secure machine-to-machine access. It's not a CI/CD platform itself, but a mechanism to replace static, long-lived credentials (like API keys, SSH keys, or passwords) with short-lived, automatically rotating certificates. It provides a secure way for your automated workflows (regardless of where they run) to access other resources like servers, databases, or APIs.

2. Security Model:

  • Forgejo Git Actions: The security model for Forgejo Git Actions revolves around the concept of a workflow runner. The runner is a virtual machine or container that executes your workflow. You typically manage secrets (like API keys) in a secure way within the Forgejo platform, and the runner is granted access to these secrets for the duration of the job. While this is more secure than hardcoding secrets in your repository, the secrets themselves are still static credentials that are managed within the Forgejo system.
  • Teleport Machine ID: Teleport's security model is based on a zero-trust architecture and identity-based access. Instead of managing static secrets, Teleport Machine ID issues short-lived X.509 or SSH certificates to your automated workflows. These certificates are tied to a specific identity (e.g., the identity of the workflow itself) and have a limited lifespan. This means that even if a certificate is compromised, it's only valid for a short period, drastically reducing the window of opportunity for an attacker. Teleport also provides a centralized way to define and audit access policies for these identities.

3. Integration and Deployment Strategy:

  • Forgejo Git Actions: Forgejo Git Actions are deeply integrated with the Forgejo repository. Your CI/CD pipeline is defined in a YAML file within your repository, and it's executed by a runner that is managed either by you or by a hosted service. The deployment strategy is defined within the workflow itself, often using scripts or actions to interact with your target environments.
  • Teleport Machine ID: Teleport Machine ID is a separate component that can be used within your CI/CD workflow, regardless of whether you're using Forgejo, GitHub Actions, or another platform. You would configure your workflow to request a certificate from the Teleport cluster, and then use that certificate to authenticate to your target resources. For example, your Forgejo Git Action might use the Teleport certificate to SSH into a server to deploy your application, instead of using a static SSH key.

In summary, the key difference is that Forgejo Git Actions is the engine for your CI/CD automation, while Teleport Machine ID is a security layer that you can add to that engine.

Think of it this way:

  • Forgejo Git Actions is the automated factory line that builds and packages your product (your software).
  • Teleport Machine ID is the secure access control system that ensures only authorized machines on that factory line can open the doors to the storage room (your servers, databases, etc.) and only for a short, specific period of time.

Using them together would create a more secure and robust CI/CD pipeline. Your Forgejo Git Action would be the driver of the automation, and Teleport Machine ID would be the tool it uses to securely authenticate and access the resources needed for deployment, eliminating the need for static, long-lived credentials.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment