|
| 1 | +--- |
| 2 | +layout: 'guide' |
| 3 | +menu: |
| 4 | + v2_1_0_selfhost-setup_docs_menu: |
| 5 | + identifier: selfhost-cloud-demo-deployment |
| 6 | + name: Cloud Demo Deployment |
| 7 | + parent: selfhosted-installer |
| 8 | + weight: 10 |
| 9 | +menu_name: v2_1_0_selfhost-setup_docs_menu |
| 10 | +section_menu: selfhost-setup |
| 11 | +--- |
| 12 | + |
| 13 | +# Deploying AppsCode Platform: Cloud Demo |
| 14 | + |
| 15 | +Welcome to the AppsCode Platform's "Cloud Demo" deployment! Follow these steps to deploy the AppsCode Platform in Cloud Demo mode. |
| 16 | + |
| 17 | +### Prerequisites |
| 18 | + |
| 19 | +Before you begin, please ensure your Kubernetes cluster meets the following minimum system requirements: |
| 20 | +* Worker Nodes: At least one dedicated worker node. |
| 21 | +* CPU: 4–6 vCPUs. |
| 22 | +* Memory: 16 GB of RAM. |
| 23 | +* Networking: A routable IP address for external connectivity. |
| 24 | + |
| 25 | + |
| 26 | + |
| 27 | +You will get an instruction to deploy a k3s cluster in Ubuntu VM or you can skip this step if you already have a cluster. |
| 28 | + |
| 29 | +### 1. Visit the AppsCode Self-Hosted Page |
| 30 | + |
| 31 | +Navigate to [AppsCode Self-Hosted](https://appscode.com/selfhost). Here you will find your previously generated self-hosted installers. <br> |
| 32 | +Click on the `Create New Installer` button to get started. |
| 33 | + |
| 34 | +### 2. Choose Deployment Mode |
| 35 | + |
| 36 | +Choose `Deployment Type` -> `Cloud Demo` and give it a name in the installer name section. |
| 37 | + |
| 38 | +Before beginning the installation, identify your target infrastructure and cluster type. |
| 39 | + |
| 40 | +* **DNS & Connectivity:** |
| 41 | + * **Enable DNS:** Toggle this to allow the installer to manage or integrate with your DNS provider. |
| 42 | + * **Target IP:** Provide the static IP addresses for your cluster nodes or load balancer. |
| 43 | +* **Cluster Type:** Determine if you are installing on **AWS EKS Cluster** or **Red Hat OpenShift Cluster**. |
| 44 | + |
| 45 | +#### Additional configuration for EKS cluster |
| 46 | + |
| 47 | +**Prerequisite:** <br/> |
| 48 | +* EBS CSI Driver must be installed |
| 49 | +* AWS Load Balancer Controller must be installed |
| 50 | + |
| 51 | +Run the following command to get Kube API Server |
| 52 | + |
| 53 | +``` |
| 54 | +aws eks describe-cluster --name <cluster-name> --region <region> --query "cluster.endpoint" --output text |
| 55 | +``` |
| 56 | + |
| 57 | +**Run the following command to get Subnet IDs** |
| 58 | +``` |
| 59 | +aws ec2 describe-subnets --filters "Name=vpc-id,Values=$(aws eks describe-cluster --name <cluster-name> --region <region> --query "cluster.resourcesVpcConfig.vpcId" --output text)" "Name=map-public-ip-on-launch,Values=true" --region <region> --query "Subnets[*].SubnetId" --output text |
| 60 | +``` |
| 61 | + |
| 62 | +**Subnet IDs:** Make sure you have added the allocation id of Target IP as well. Run the following command to create EIP Allocation IDs `aws ec2 allocate-address --region <region>` |
| 63 | + |
| 64 | +**EIP Allocation IDs:** Give EIP allocation IDs for your public subnets. |
| 65 | + |
| 66 | +### 3. Global Administrative Settings |
| 67 | +These credentials define the primary super-user and the initial organizational structure. |
| 68 | + |
| 69 | +* **System Admin:** In this section, provide the administrator's following information. |
| 70 | + - **Admin Account Display Name:** The display name for the administrator account. |
| 71 | + - **Admin Account Email:** The email address for the administrator account. |
| 72 | + - **Admin Account Password:** The password for the administrator account. You may manually set a password or leave it blank to allow the system to **auto-generate** a secure administrative password. |
| 73 | + - **Initial Organization Name:** You can choose what will be the initial organization name for your account |
| 74 | + |
| 75 | +<br/> |
| 76 | +<img width="50%" src="../images/admin-setting.png"> |
| 77 | + |
| 78 | +### 4. Registry |
| 79 | +Ace requires access to various container registries and Helm repositories to pull necessary images and charts. |
| 80 | + |
| 81 | +**Docker Registry:** Go to the docker registry section first then look for the following settings |
| 82 | +* **Proxies:** Put registry name for Appscode `r.appscode.com` and other Public Registries like Docker Hub, GitHub Container Registry (`ghcr.io`), Kubernetes Registry, Microsoft (`mcr.microsoft.com`), and Quay. |
| 83 | +* **Helm Repositories:** In the helm repositories section put your helm repository url |
| 84 | +If using private or authenticated registries, provide: |
| 85 | +* **Credentials:** Username and Password. |
| 86 | +* **Certs:** Upload CA Cert, Client Cert, and Client Key if required for mutual TLS. |
| 87 | +* **Image Pull Secrets:** Define the secrets used by the cluster to authenticate with the registries. You can enable create namespace during helm install, allow nondistributable artifacts and insecure option for insecure registry |
| 88 | + |
| 89 | + |
| 90 | +### 5. Settings |
| 91 | + |
| 92 | +#### Domain White List and Proxy Servers |
| 93 | + |
| 94 | +* Add domain one by one for whitelisting |
| 95 | +* **Proxy Servers:** If you have proxy servers then put **HTTP Proxy**, **HTTPS Proxy** and **No Proxy** |
| 96 | +* Put Login and Logout URL for your app |
| 97 | + |
| 98 | +<br/> |
| 99 | +<img width="50%" src="../images/domain-whitelisting.png"> |
| 100 | + |
| 101 | +### 6. Ingress & Gateway |
| 102 | + |
| 103 | +Configure how the application is exposed to the internet or your internal network. |
| 104 | + |
| 105 | +* **Ingress & Gateway:** Enable either the **Gateway API** or standard **Ingress**. |
| 106 | + |
| 107 | +<br/> |
| 108 | +<img width="50%" src="../images/ingress-gateway.png"> |
| 109 | + |
| 110 | + |
| 111 | +### 7. Self Management |
| 112 | +In this section you can enable or disable features |
| 113 | + |
| 114 | +<br/> |
| 115 | +<img width="50%" src="../images/features.png"> |
| 116 | + |
| 117 | +### 8. Branding & UI Customization |
| 118 | +Administrators can globally re-brand the Ace interface to match corporate identity. |
| 119 | + |
| 120 | +* **App Name:** Changes the browser tab title. |
| 121 | +* **Primary Color:** Enter a Hex code (default: `#009948`). |
| 122 | +* **Assets:** |
| 123 | + * **Logo:** Upload a 200x30px image (SVG/PNG recommended). |
| 124 | + * **Favicon:** Upload a 20KB icon file. |
| 125 | +* **App Tag:** Toggle **"Show App Tag"** to display or hide the version/tagging info in the UI. |
| 126 | + |
| 127 | +<br/> |
| 128 | +<img width="50%" src="../images/branding.png"> |
| 129 | + |
| 130 | +### 9. Generate Installer and Documentation |
| 131 | + |
| 132 | +Click the "Deploy" button to submit your information. AppsCode will generate the installer and provide the necessary documentation. |
| 133 | + |
| 134 | +### 10. Deploy AppsCode Platform |
| 135 | + |
| 136 | +Follow the documentation provided by AppsCode to deploy the AppsCode Platform on your system. |
| 137 | + |
| 138 | +### 11. Explore the Deployed Platform |
| 139 | + |
| 140 | +Once deployed, access the AppsCode Platform using the specified domain. Log in with the admin account credentials provided during the creation process. |
| 141 | + |
| 142 | +<br/> |
| 143 | +<img width="50%" src="../images/ace-dashboard.png"> |
| 144 | + |
| 145 | +## Get Support |
| 146 | + |
| 147 | +If you encounter any challenges during the deployment or have questions, reach out to AppsCode support for assistance. |
| 148 | + |
| 149 | +Congratulations! You have successfully deployed the AppsCode Platform in Cloud Demo mode. Explore the features and capabilities of the platform in your customized environment. |
0 commit comments