Listing Thumbnail

    TLC Oracle Linux 9 with GitHub Actions Runner AMI

     Info
    Deployed on AWS
    AWS Free Tier
    Pre-built Oracle Linux 9 AMI with GitHub Actions Runner 2.335.1 installed, automatic root filesystem resizing, and Terraform-based ephemeral runner provisioning for DevOps teams.

    Overview

    Oracle Linux 9 with GitHub Actions Runner by TLC

    This Amazon Machine Image (AMI) from Technology Leadership Corporation (TLC) provides a lean, production-ready Oracle Linux 9 environment with GitHub Actions Runner 2.333.0 pre-installed. Designed for DevOps teams seeking efficient self-hosted runner infrastructure on AWS, this AMI eliminates manual setup steps and reduces costly disk I/O operations.

    Key Capabilities

    Pre-Installed GitHub Actions Runner 2.333.0

    The full 1GB GitHub Actions Runner installation is ready under /home/gh-runner. When adding a new self-hosted runner, you skip the download and installer steps entirely. Simply run the ./config.sh and ./run.sh commands provided by the GitHub UI's "Add Runner" button. This saves time and reduces expensive AWS disk I/O charges associated with downloading and extracting runner packages on every new instance.

    Automatic Root Filesystem Resizing

    Unlike standard Oracle Linux 9 images where cloud-init cannot automatically resize the root volume, this AMI includes TLC's custom rc-local.service. The AMI starts with a lean 14GB root filesystem that boots in approximately one minute with 6GB free. Need more space? Specify a larger volume size at boot and it expands automatically on first boot or any subsequent boot where the volume exceeds 14GB.

    SELinux Ready

    The server launches in SELinux Permissive mode. Toggle to Enforcing mode by adding "setenforce 1" to your EC2 Instance User-Data before launch.

    Terraform-Based Ephemeral Runner Provisioning (tf-files)

    The TLC Terraform plan called tf-files is a modern alternative to expensive platform-in-a-platform solutions like Kubernetes for provisioning GitHub Actions runners. It provides a hybrid ephemeral/long-running solution that is triggered by actual repository events rather than unrelated auto-scaling metrics.

    What tf-files Creates:

    • A complete new VPC with all subnets, routes, internet gateway, security groups, and IAM policies
    • A GitHub Webhook for your repository
    • AWS Lambda components that dynamically create runners on a git push event
    • The GitHub Action workflow, user-data scripts, and runner hooks for complete lifecycle management

    How It Works:

    When a commit occurs, the GitHub Webhook triggers AWS Lambda via Lambda URL. The Lambda function runs boto3 to stand up a new GitHub Actions runner dynamically. The runner registers and becomes available in 90 to 120 seconds from webhook request. At job completion, the runner instance is automatically destroyed.

    Why This Approach Is Superior:

    • No Kubernetes control plane running 24/7 that you are always paying for
    • No auto-scaling groups with triggers unrelated to your actual workflows
    • No streaming telemetry infrastructure, EventBridge rules, or Step Functions chains
    • No container registries, Helm charts, FluxCD, or ArgoCD deployments
    • Runners provision only when needed - on a git push - not on a schedule or threshold
    • Spot instances supported for cost savings; on-demand supported for stability
    • Each job gets an assigned runner when maximum runner count is set high

    Comparison to Kubernetes-Based Runners:

    Kubernetes triggers on a dead pod. tf-files triggers on the push itself. With Kubernetes, worker nodes need pre-provisioned large disks that run all day whether used or not. With tf-files, instances are truly ephemeral and only exist when developers need them. No cluster multiplication across environments, no shared cluster conflicts with other departments.

    AWS Integration

    • EBS-backed HVM image optimized for AWS
    • Works with EC2 spot and on-demand instances
    • Lambda-based dynamic provisioning requires no additional compute infrastructure
    • Compatible with standard EC2 launch workflows and SSH key authentication
    • Terraform plan creates all required AWS networking and IAM resources automatically

    Getting Started

    Select this AMI in AWS Marketplace and launch it like any other AMI. Ensure you use a valid SSH key if you are not using the tf-files Terraform plan. For the full dynamic provisioning experience, download tf-files from the TLC GitHub repository and follow the included README.

    The tf-files Terraform plan is available at: https://github.com/AndrewSimon/tf-files/tree/workflow 

    Highlights

    • GitHub Actions Runner 2.335.1 pre-installed and ready to configure - no download or installer steps required. The full 1GB runner installation lives under /home/gh-runner, saving time and reducing expensive AWS disk I/O charges on every new instance. Simply run the config and run commands from the GitHub UI to register your self-hosted runner immediately. Evaluate by launching on a small instance type to validate the workflow before scaling.
    • Automatic root filesystem resizing via TLC's custom rc-local.service solves a limitation of standard Oracle Linux 9 images where cloud-init cannot resize the root volume. Starts with a lean 14GB root that boots in about one minute with 6GB free. Specify a larger volume at launch and it expands automatically. Built with a minimal attack surface - key-based SSH only, no default passwords, restricted network services, and SELinux ready in Permissive or Enforcing mode.
    • Includes the Tf-files Terraform plan for dynamic ephemeral runner provisioning triggered by GitHub Webhooks, AWS Lambda, and optional Datadog. No Kubernetes clusters, auto-scaling groups, or streaming telemetry required. Runners provision in 90 to 120 seconds on git push (a few minutes longer if you opt-in to Datadog) and self-terminate at job completion. Supports resizing root volume, both spot and on-demand instances, most instance sizes, and lifecycle based on push trigger and job queue.

    Details

    Delivery method

    Delivery option
    64-bit (x86) Amazon Machine Image (AMI)

    Latest version

    Operating system
    OtherLinux Oracle Linux 9.8

    Deployed on AWS
    New

    Introducing multi-product solutions

    You can now purchase comprehensive solutions tailored to use cases and industries.

    Multi-product solutions

    Features and programs

    Financing for AWS Marketplace purchases

    AWS Marketplace now accepts line of credit payments through the PNC Vendor Finance program. This program is available to select AWS customers in the US, excluding NV, NC, ND, TN, & VT.
    Financing for AWS Marketplace purchases

    Pricing

    TLC Oracle Linux 9 with GitHub Actions Runner AMI

     Info
    Pricing is based on actual usage, with charges varying according to how much you consume. Subscriptions have no end date and may be canceled any time. Alternatively, you can pay upfront for a contract, which typically covers your anticipated usage for the contract duration. Any usage beyond contract will incur additional usage-based costs.
    Additional AWS infrastructure costs may apply. Use the AWS Pricing Calculator  to estimate your infrastructure costs.
    If you are an AWS Free Tier customer with a free plan, you are eligible to subscribe to this offer. You can use free credits to cover the cost of eligible AWS infrastructure. See AWS Free Tier  for more details. If you created an AWS account before July 15th, 2025, and qualify for the Legacy AWS Free Tier, Amazon EC2 charges for Micro instances are free for up to 750 hours per month. See Legacy AWS Free Tier  for more details.

    Usage costs (556)

     Info
    • ...
    Dimension
    Cost/hour
    t3.small
    Recommended
    $0.01
    t3.micro
    $0.01
    t2.micro
    $0.01
    c7i-flex.12xlarge
    $0.01
    d3en.4xlarge
    $0.01
    c5.24xlarge
    $0.01
    c3.xlarge
    $0.01
    m5dn.24xlarge
    $0.01
    inf1.xlarge
    $0.01
    r6idn.32xlarge
    $0.01

    AI Insights

     Info

    Dimensions summary

    You pay by the hour for the software running on your chosen EC2 instance type. Each dimension maps to one instance size, so pricing scales with the compute, memory, storage, and accelerator capacity you select. Smaller shared and burstable types cost less per hour, while larger compute, memory, storage, GPU, and bare-metal types cost more. You are not locked into one size; you pick the instance that fits each workload. Because billing is usage-based, you pay only for the hours each instance runs. This suits the dynamic, spot or on-demand runner model the AMI supports.

    Top-of-mind questions for buyers

    You get an Oracle Linux 9 image with the GitHub Actions self-hosted runner already installed under the gh-runner user, plus Python 3.11 and cloud-init. The runner software is over 1GB, so you skip downloading and installing it each time you register a new runner.
    Hourly software charges accrue only while an instance runs. When a runner shuts down or a spot instance is terminated for lack of capacity, software charges stop. The dynamic runner model starts an instance on a code push and terminates it at job completion, so you pay for active runner time.
    The listed hourly rate is the software charge tied to your chosen instance type. AWS bills the underlying EC2 compute and storage separately. The root volume starts lean at 14GB and expands automatically if you set a larger size at boot, which affects your AWS storage costs, not the software rate.
    technology-leadership.com
    Helpful?

    Vendor refund policy

    We do not offer refunds on paid hourly or yearly purchases. You may cancel hourly charges at any time to avoid future charges.

    How can we make this page better?

    Tell us how we can improve this page, or report an issue with this product.
    Tell us how we can improve this page, or report an issue with this product.

    Legal

    Vendor terms and conditions

    Upon subscribing to this product, you must acknowledge and agree to the terms and conditions outlined in the vendor's End User License Agreement (EULA) .

    Content disclaimer

    Vendors are responsible for their product descriptions and other product content. AWS does not warrant that vendors' product descriptions or other product content are accurate, complete, reliable, current, or error-free.

    Usage information

     Info

    Delivery details

    64-bit (x86) Amazon Machine Image (AMI)

    Amazon Machine Image (AMI)

    An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.

    Version release notes

    Oracle Linux 9.8 with Github runner version v2.336.0 pre-installed. Save 2 minutes of time, instance cost and to download and install latest GH runner version on every launch.

    Additional details

    Usage instructions

    To connect to the operating system, use SSH. the keypair you specified at launch, and the username ec2-user Switch to root user with 'sudo su -'

    Support

    Vendor support

    Contact and Support

    For questions, support requests, or to engage Technology Leadership Corporation (TLC) for short, medium, or long-term contracts to enhance your real-time provisioning infrastructure, contact TLC via email at asimon@technology-leadership.com .

    Support Scope

    TLC provides support for AMI boot and configuration issues, GitHub Actions Runner registration, and the tf-files Terraform plan including webhook setup, Lambda provisioning, and IAM policy configuration.

    Documentation and Self-Service Resources

    The tf-files Terraform plan includes a comprehensive README with setup and configuration instructions covering prerequisites, step-by-step deployment, and troubleshooting. Source code and documentation are available at the TLC GitHub repository: https://github.com/AndrewSimon/tf-files/tree/workflow 

    Getting Started Steps

    Single Runner Path:

    1. Launch the AMI with a valid SSH key pair
    2. SSH into the instance
    3. Navigate to /home/gh-runner
    4. Run ./config.sh with your repository URL and runner token from GitHub Settings
    5. Run ./run.sh to start the runner

    Ephemeral Provisioning Path (tf-files):

    1. Clone the tf-files repository
    2. Configure your GitHub Personal Access Token and AWS credentials
    3. Run terraform init and terraform apply
    4. The plan creates VPC, Lambda, webhook, and IAM resources automatically
    5. Push a commit to trigger dynamic runner provisioning

    For refund requests, contact TLC via the email address above with your AWS account ID and subscription details.

    AWS infrastructure support

    AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.

    Similar products

    Customer reviews

    Ratings and reviews

     Info
    0 ratings
    5 star
    4 star
    3 star
    2 star
    1 star
    0%
    0%
    0%
    0%
    0%
    0 reviews
    No customer reviews yet
    Be the first to review this product . We've partnered with PeerSpot to gather customer feedback. You can share your experience by writing or recording a review, or scheduling a call with a PeerSpot analyst.