Console reference

Console procedures

Use these procedures before making application, AWS, DNS, billing, or access changes. Each task includes its purpose, requirements, completion criteria, and recovery guidance.

01 / APPLICATIONS

Create, deploy, and change an app.

Purpose: create an AWS-backed application stack and deploy a Docker image from the selected Git branch or immutable ref.

Requirements
  • Use an AWS account that is connected and has an available CodeConnection in the selected Region.
  • Provide a repository with a root-level Linux/amd64 Dockerfile.
  • Configure the application to listen on 0.0.0.0:PORT and return HTTP 2xx from /.
  • Use an app name and hostname that do not conflict with an existing app or Route 53 record.
  1. 01
    Open Fleet and select New app

    Choose the connected AWS account, then choose a Region with an available source connection. Do not select a Region merely because the account is connected; the source connection must exist in that Region.

  2. 02
    Enter application settings

    Enter the repository URL, branch, container port, instance type, and hostname. Enable a reserved IP only when the application needs a stable public IPv4 address. The wizard checks Elastic IP quota before creating a new reserved address.

  3. 03
    Create the app and wait for infrastructure

    Select Create. Fleet displays creating, then CloudFormation creates the application stack. The first branch deployment starts automatically only after the stack exposes its CodeBuild, ECR, instance, and network outputs.

  4. 04
    Verify the first deployment

    Open the app. Confirm that the status is running, the deployment is succeeded, and the hostname returns the application response. Review deployment logs when the image build or health check fails.

  5. 05
    Apply a configuration change

    In App configuration, change the instance type, Spot option, repository, branch, continuous deployment setting, hostname, or Region. Select Save. The app changes to transitioning; conflicting controls remain unavailable until the CloudFormation update reaches a terminal state.

  6. 06
    Verify the changed configuration

    Wait for the change event to show success and for the app to return to running. Astroscale redeploys the current image after an infrastructure update so the instance has a running container. For a source or branch change, deploy the selected branch if no deployment is queued.

  1. 01
    Confirm the failure is regional infrastructure

    Open the app and compare its Region with the Region embedded in the CodeConnection ARN, ECR repository URI, and CodeBuild project ARN shown in the failure. Use this procedure when the app is in the destination Region but one of those resources still points to the source Region.

  2. 02
    Start the repair

    In Source, select Repair regional build infrastructure. Astroscale discovers reusable app-tagged ECR and log resources in the destination Region, creates a replacement stack, and changes the app to transitioning.

  3. 03
    Wait for replacement readiness

    Open change history and wait for the repair event to complete. Do not start another repair while CloudFormation is creating, updating, or rolling back the replacement stack.

  4. 04
    Verify with a deployment

    Deploy the configured branch. Confirm the build starts in the app Region, pushes the immutable image to the destination ECR repository, and returns the app to running.

  5. 05
    Remove a source stack retained by an older repair

    If Clean up old regional infrastructure appears, verify the current deployment and public hostname first, then confirm the cleanup. Astroscale deletes only the source stack recorded in the completed repair. It does not delete the active stack, DNS, shared host, or retained migration database.

02 / CONNECTED AWS ACCOUNTS

Connect an AWS account with Quick Create.

Purpose: authorize Astroscale to assume a least-privilege, external-ID-protected role instead of collecting AWS access keys.

Requirements
  • You can create CloudFormation stacks and IAM resources in the AWS account.
  • You know the Region where the first app will deploy.
  • You can authorize a GitHub CodeConnection with a GitHub identity that can access the required repositories.
  1. 01
    Create the regional source connection in AWS

    Open AWS Developer Tools → Settings → Connections in the deployment Region. Create a GitHub connection and complete the GitHub browser authorization. Confirm that its status is exactly Available.

  2. 02
    Generate Quick Create in Astroscale

    Open AWS accounts, enter the CodeConnection ARN, and select Generate onboarding. Review the selected Region and connection ARN. The connection Region becomes the initial deployment Region for this account.

  3. 03
    Create the onboarding stack

    Select Open AWS Quick Create while signed in to the target AWS account. Review the supplied parameters, acknowledge the IAM capability, and create the stack. Do not edit the external ID or trust relationship.

  4. 04
    Wait for CloudFormation completion

    In AWS CloudFormation, wait for CREATE_COMPLETE. Return to Astroscale. Quick Create reports completion to the console and the account should appear as connected. If a manual fallback is necessary, copy DeployerRoleArn from Outputs and use the verification form.

  5. 05
    Verify the usable account state

    Confirm that the account shows the AWS account ID, deployment Region, deployer role, and an Available source connection. Create a test app only after all four values appear.

03 / DOMAINS

Connect an existing domain or register a new one.

Purpose: allow an app to receive HTTPS traffic on a customer hostname while restricting DNS access to the exact Route 53 hosted zone selected by the organization.

  1. 01
    Select the account and public hosted zone

    Open Domains. Select the AWS account that owns the zone, then choose a public hosted zone. Private hosted zones cannot receive traffic from the public internet.

  2. 02
    Run Domain Quick Create

    Select Prepare Route 53 authorization and then Open AWS Quick Create. Create the scoped stack in the same AWS account. It authorizes only the chosen hosted zone; it does not expose the account's other Route 53 zones.

  3. 03
    Verify the zone

    Remain in the console. Astroscale verifies the role and zone automatically. If the callback is delayed, use Verify and connect domain only after CloudFormation is complete.

  4. 04
    Assign the hostname

    Open New app or App configuration, select the verified domain, and enter either the root hostname or a subdomain. A root hostname can serve one app while other apps use different subdomains in the same zone.

  1. 01
    Verify domain ownership

    Create a dedicated app with Reserved IP enabled and wait for it to run. In Domains, choose Use your own DNS provider, enter the domain, then create and verify the displayed TXT record.

  2. 02
    Create the app A record

    Open App configuration → Public hostname, select the verified external domain, and create the displayed A record at your provider. It must point only to the app's static Elastic IP; remove conflicting A and AAAA records.

  3. 03
    Start safe cutover

    Astroscale verifies DNS, serves both hostnames, provisions TLS, and checks HTTPS before removing the old Astroscale record. The old hostname remains active if validation fails.

  4. 04
    Maintain external records

    Keep the static Elastic IP enabled. Astroscale cannot change or remove provider-managed records, so remove stale records yourself when changing hostname or deleting the app.

  1. 01
    Search and review price

    Enter the full domain name and select Check availability. Review the availability result and annual price before continuing. A search does not reserve, charge for, or register the name.

  2. 02
    Select the purchase destination

    Choose Astroscale-managed billing to pay through Stripe, or choose an eligible connected AWS account to use that account's Route 53 Domains billing. The chosen account owns the registration and hosted zone.

  3. 03
    Provide registrant data and submit

    Enter accurate legal contact details, including phone number in E.164 format such as +12025550123. Confirm the displayed price and submit. The order remains cancellable only until AWS begins registration.

  4. 04
    Verify the registration result

    Wait for the order state to become registered, then connect or select the created hosted zone for an app. Domain registration can take longer than application stack creation.

04 / COSTS AND BILLING

Interpret usage data and manage managed-account billing.

Purpose: inspect AWS Cost Explorer data for connected accounts and manage payment only when the organization uses the Astroscale-managed account.

  1. 01
    Choose a billing period

    Open Costs. The default view is the current month. Select an earlier period to inspect historical data. The application allocation table lists only applications with spend greater than zero in the selected period and can be sorted by its columns.

  2. 02
    Refresh Cost Explorer data

    Select Refresh to request a new sync. Confirm the sync timestamp updates. AWS commonly delays Cost Explorer data by 24 to 48 hours, so a recent instance, Elastic IP, RDS, or data-transfer charge can legitimately appear later. Activate both platform:app-id and astroscale:managed cost allocation tags in AWS.

  3. 03
    Interpret allocation boundaries

    Direct app spend has an app tag and is broken down by AWS service. Shared managed spend is tagged as Astroscale-managed but cannot be mapped to one app, including shared regional infrastructure and some network usage. External or untagged spend is not billed or attributed because it can belong to unrelated account resources. Deleted apps can still appear in historical periods if their tag has spend in that period.

  4. 04
    Enable managed-account billing when needed

    As an organization administrator, open Billing and select Add payment method. Complete Stripe-hosted Checkout. Verify that the managed account is available before creating an app that uses it.

05 / EDGE CONNECTORS

Enroll a Linux device and deploy a constrained local workload.

Purpose: register a Raspberry Pi or other Linux system, verify Docker readiness, and deploy a resource-limited workload from a public GitHub repository. Public HTTP relay remains a separately gated preview.

Requirements
  • An organization administrator enables the Edge Connector feature on the Astroscale control plane.
  • The device runs 64-bit ARM Linux for a Raspberry Pi or 64-bit x86 Linux for an x86 system.
  • Python 3.9 or later is installed and the device has outbound HTTPS access to console.astroscale.dev.
  • No inbound firewall rule, public IP, router port-forwarding, VPN, or connected AWS account is required.
  1. 01
    Create the device enrollment

    Open Settings. In Enroll a Linux device, enter the name, architecture, CPU, memory, storage, and maximum-app limits. These values are explicit future scheduling limits; reported hardware does not override them.

  2. 02
    Copy the command block once

    Select Create enrollment. The console displays a one-time token and an expiry time. Copy every command before closing the panel. Astroscale stores only a token hash and cannot display the token again.

  3. 03
    Enroll and install the runtime

    Run the displayed commands on the device with sudo. The connector creates a local identity, exchanges the one-time token for a device token, writes its private state with mode 0600, installs Docker if necessary, grants the service Docker socket access, and installs the astroscale-edge.service systemd service.

  4. 04
    Keep heartbeats automatic

    The enabled systemd service starts at boot and retries after network or process failures. It sends connector version, architecture, CPU, memory, and root filesystem capacity over outbound HTTPS every 30 seconds. No foreground terminal command or inbound port is required.

  5. 05
    Verify device and runtime state

    Return to Settings. Confirm the device state is online, a last-heartbeat time appears, and the recorded architecture and limits match the values selected at enrollment. Select Run preflight to make the connector report Docker and Compose readiness. A successful result is required before creating a local workload.

06 / ACCESS AND AUTOMATION

Manage people, continuous deployment, and agents.

Purpose: grant users and automations the smallest capability set required to operate the organization.

  1. 01
    Invite a teammate

    Open Settings → Members, enter the user's email address, and select Invite. The email contains a one-time enrollment link. The recipient sets a password, enrolls MFA, and signs in. Revoke pending invitations or active members from the same page; the final organization administrator cannot be removed.

  2. 02
    Install the GitHub App for continuous deployment

    Open Settings → GitHub App and install Astroscale for the GitHub organization or user. Grant access to the repositories that should deploy. For each mapped app, leave Continuous deployment enabled. A signed push to its configured branch then creates a deployment automatically.

  3. 03
    Confirm continuous deployment

    Open the app's deployment history after a test push. Confirm a deployment identifies the GitHub event and the new commit. If no deployment appears, confirm that the GitHub App installation includes the repository, the pushed branch matches the app branch, and the toggle remains enabled.

  4. 04
    Create an API key only for non-browser automation

    Open API keys, create a key with the minimum required scopes, copy it once, and store it in a secret manager. Revoke it when the automation is retired. API keys do not replace an interactive user's AWS or GitHub browser consent.

  5. 05
    Connect an MCP client

    Configure the MCP server URL https://mcp.astroscale.dev/mcp in Codex or Claude, then complete browser sign-in and MFA using the same Astroscale user identity. MCP access tokens expire and refresh automatically while the client preserves its refresh token.