Skip to content

Latest commit

 

History

History
168 lines (138 loc) · 8.39 KB

QUICKSTART.md

File metadata and controls

168 lines (138 loc) · 8.39 KB

Quickstart guide

Supported Platforms

This guide outlines the platforms supported by our software, detailing the operating systems and cloud environments that you can use for running the application and development. Whether you are setting up a development environment or deploying the application in production, the following platforms are currently supported or will be in future releases.

Operating Systems

  • Linux - Supported
  • Mac (ARM) - Supported
  • Mac (Intel) - Supported
  • Windows - Will be added to a future release

Git Providers

  • GitHub - Supported
  • GitLab - Will be added to a future release
  • Bitbucket - Will be added to a future release

Cloud Providers

  • AWS - Supported
  • Azure - Supported
  • GCP - Supported

Prerequisites

Before you begin the installation process, ensure you have the following prerequisites covered:

GitHub Setup Requirements

You should have:

  1. A user account for the Git platform you're working with. This account will be used to create and manage repositories, make commits, manage users, and perform other tasks, such as executing Terraform scripts. For Github, you can create one following this guide to sign up for a GitHub account.

  2. A GitHub Organization. Organizations are used to group repositories, and CGDevX will create a new repo within a specific organization so that it's easy to find and manage later should you decide to stop using CGDevX. you don't have one, please follow this guide to create a new organization from scratch. to create one. The user from step 1 should be part of this organization.

  3. A personal access token for the account from step 1. This token will enable CGDevX to take action on the user's behalf, creating and managing repos, and so on. To get a personal access token, also known as a "developer token", please follow the steps as described in this guide to managing personal access tokens.

    The GitHub token will be used to authenticate with the GitHub API and perform various actions such as creating and deleting repositories, groups, and other users. To provide permission for these actions, make sure you select the following set of scopes:

    • repo Full control of private repositories
      • repo:status Access commit status
      • repo_deployment Access deployment status
      • public_repo Access public repositories
      • repo:invite Access repository invitations
      • security_events Read and write security events
    • workflow Update GitHub Action workflows
    • write:packages Upload packages to GitHub Package Registry
      • read:packages Download packages from GitHub Package Registry
    • admin:org Full control of orgs and teams, read and write org projects
      • write:org Read and write org and team membership, read and write org projects
      • read:org Read org and team membership, read org projects
      • manage_runners:org Manage org runners and runner groups
    • admin:public_key Full control of user public keys
      • write:public_key Write user public keys
      • read:public_key Read user public keys
    • admin:repo_hook Full control of repository hooks
      • write:repo_hook Write repository hooks
      • read:repo_hook Read repository hooks
    • admin:org_hook Full control of organization hooks
    • user Update ALL user data
      • read:user Read ALL user profile data
      • user:email Access user email addresses (read-only)
      • user:follow Follow and unfollow users
    • delete_repo Delete repositories
    • admin:ssh_signing_key Full control of public user SSH signing keys
      • write:ssh_signing_key Write public user SSH signing keys
      • read:ssh_signing_key Read public user SSH signing keys

Cloud account

AWS deployment

Before deploying to AWS, ensure that you have:

  1. An AWS account with billing enabled. (Remember, deploying clusters will incur charges. Make sure to destroy resources when you're finished with them!)
  2. A public hosted zone with DNS routing. To set this up, you can follow this guide.
  3. A user account with AdministratorAccess. We recommend that rather than using your root account, you set up a new IAM user, then grant it AdministratorAccess. You can use this guide to set up an IAM account, and this guide to grant it AdministratorAccess.
  4. The security credentials for this account, which enables CGDevX to use it. Use this guide to get your access keys.
  5. The AWS CLI installed and configured to use this user. You can use this guide to install the CLI.

Azure deployment

Before deploying to Azure, ensure that you have:

  1. An Azure account with billing enabled. Subscription ID will be used as cloud-profile during setup. (Remember, deploying clusters will incur charges. Make sure to destroy resources when you're finished with them!)
  2. A public DNS zone hosted in Azure DNS. To set this up, you can follow this guide.
  3. A user account with Owner access. You can use this guide to set it up, or this guide to grant permissions to an existing user.
  4. The Azure CLI (az) and kubelogin installed and configured to use this user. You can use this and this guides to install the CLI.

Google Cloud deployment

Before deploying to Google Compute Platform, ensure that you have:

  1. An account with billing enabled. (Remember, deploying clusters will incur charges. Make sure to destroy resources when you're finished with them!)
  2. Google Cloud Project you will be deploying to. You could follow this guide to create one. Project ID will be used as cloud-profile during setup.
  3. A public DNS zone hosted in Cloud DNS. To set this up, you can follow this guide.
  4. A user account with Owner permissions. You can use this guide to grant permissions.
  5. The Google Cloud CLI (gcloud) and google-cloud-cli-gke-gcloud-auth-plugin plugin installed and configured to use this user. You can use this and this guides to install and configure the CLI.

Installation process

Once you have the prerequisites installed and configured, you are ready to install the CGDevX CLI. Follow the instructions in the CLI tool readme.

Once installed the CLI, you should be able to provision a cluster using setup command. You can find the full list of the CLI commands here.

Once you have a running cluster, you could create your first workload using this guide.

For more details please see installation guide.