-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
(feat) Add a README.md and shunt the deployment docs to DEPLOY.md
(fix) Fix a link in home.md (feat) API URLs now come from zq2_spec.yaml
- Loading branch information
1 parent
7291871
commit 56cb9c2
Showing
5 changed files
with
271 additions
and
206 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,229 @@ | ||
# Developer portal | ||
|
||
## Deploying applications with z | ||
|
||
`z` is the one-stop shop for the Zilliqa provisioning and deployment operations. To deploy applications with z ensure the `z` | ||
binary is installed in your operative system PATH environment variable. For more details about `z` please refer to the [documentation](https://github.com/Zilliqa/devops/blob/main/docs/z2.md). | ||
|
||
## Deploying applications to localdev | ||
|
||
To deploy the localdev/development environment go to the project folder in the zilliqa-developer repository: | ||
|
||
```sh | ||
cd ./products/developer-portal | ||
``` | ||
|
||
The `./products/developer-portal/z.yaml` contains all the relevant configurations for the development environment. | ||
Now set the following environment variables to reference the project's `z.yaml` file: | ||
|
||
- `Z_ENV` to the path in which your `z.yaml` resides. | ||
- `ZQ_USER` to your username (the bit before `@` in your email address) | ||
|
||
for example: | ||
|
||
```sh | ||
export Z_ENV=z.yaml | ||
export ZQ_USER=<user_id>@zilliqa.com | ||
``` | ||
|
||
Create the local kind cluster (if not created previously): | ||
|
||
```sh | ||
z local create | ||
``` | ||
|
||
Execute the manifests (in this case for ensuring the installation of the ingress-nginx controller, required for localdev/development environments): | ||
|
||
```sh | ||
z k-apply | ||
``` | ||
|
||
Build and push the image: | ||
|
||
```sh | ||
make image/build-and-push | ||
``` | ||
|
||
And deploy the application to your local cluster with: | ||
|
||
```sh | ||
z app sync | ||
``` | ||
|
||
Verify your application is running correct from the `http://localhost` URL and with `kubectl` commands (if required). | ||
|
||
## Deploying applications to staging | ||
|
||
To deploy the staging environment we need to clone the devops repository and execute `z` from there: | ||
|
||
```sh | ||
git clone https://github.com/Zilliqa/devops.git | ||
cd devops | ||
source setenv | ||
``` | ||
|
||
### Set the following environment variables | ||
|
||
- `Z_ENV` to the path in which your `z.yaml` resides. | ||
- `ZQ_USER` to your username (the bit before `@` in your email address) | ||
- `GITHUB_PAT` (if you are deploying staging or production apps) to a classic PAT with all the repo permissions ticked. | ||
|
||
for example: | ||
|
||
```sh | ||
export Z_ENV=`pwd`/infra/live/gcp/non-production/prj-d-staging/z_ase1.yaml | ||
export ZQ_USER=<user_id>@zilliqa.com | ||
export GITHUB_PAT=<GITHUB_PAT> | ||
``` | ||
|
||
### Login to Google Cloud | ||
|
||
```sh | ||
z login | ||
``` | ||
|
||
### Add the application to the staging `z.yaml` file. Skip this step if it is an existing application | ||
|
||
1. Create a branch: | ||
|
||
```sh | ||
git checkout -b users/<username>/add_developer_portal_to_staging_cluster | ||
``` | ||
|
||
2. In the file `infra/live/gcp/non-production/prj-d-staging/z_ase1.yaml` add the following: | ||
|
||
- in `apps` stanza add: | ||
|
||
```yaml | ||
clusters: | ||
staging: | ||
apps: | ||
developer-portal: | ||
repo: https://github.com/Zilliqa/zilliqa-developer | ||
path: products/developer-portal/cd/overlays/staging | ||
track: staging | ||
type: kustomize | ||
``` | ||
- in `subdomains` stanza add: | ||
|
||
```yaml | ||
infrastructure: | ||
dns: | ||
vars: | ||
subdomains: | ||
developer-portal: {} | ||
``` | ||
|
||
3. Push the changes | ||
|
||
```sh | ||
git add . | ||
git commit -m "Add Developer Portal to staging cluster" | ||
git push origin users/<username>/add_developer_portal_to_staging_cluster | ||
``` | ||
|
||
4. Open a Pull Request to the main branch | ||
|
||
5. Apply the changes | ||
|
||
```sh | ||
z plan | ||
z apply | ||
``` | ||
|
||
### Deploy the application | ||
|
||
```sh | ||
z app sync --cache-dir=.cache developer-portal | ||
``` | ||
|
||
Verify your application is running correct from the staging URL and with `kubectl` commands (if required). | ||
|
||
## Deploying applications to production | ||
|
||
To deploy the production environment we need to clone the devops repository and execute `z` from there: | ||
|
||
```sh | ||
git clone https://github.com/Zilliqa/devops.git | ||
cd devops | ||
source setenv | ||
``` | ||
|
||
### Set the following environment variables | ||
|
||
- `Z_ENV` to the path in which your `z.yaml` resides. | ||
- `ZQ_USER` to your username (the bit before `@` in your email address) | ||
- `GITHUB_PAT` (if you are deploying staging or production apps) to a classic PAT with all the repo permissions ticked. | ||
|
||
for example: | ||
|
||
```sh | ||
export Z_ENV=`pwd`/infra/live/gcp/production/prj-p-prod-apps/z_ase1.yaml | ||
export ZQ_USER=<user_id>@zilliqa.com | ||
export GITHUB_PAT=<GITHUB_PAT> | ||
``` | ||
|
||
### Login to Google Cloud | ||
|
||
```sh | ||
z login | ||
``` | ||
|
||
### Add the application to the production `z.yaml` file. Skip this step if it is an existing application | ||
|
||
1. Create a branch: | ||
|
||
```sh | ||
git checkout -b users/<username>/add_developer_portal_to_production_cluster | ||
``` | ||
|
||
2. In the file `infra/live/gcp/production/prj-p-prod-apps/z_ase1.yaml` add the following: | ||
|
||
- in `apps` stanza add: | ||
|
||
```yaml | ||
clusters: | ||
production: | ||
apps: | ||
developer-portal: | ||
repo: https://github.com/Zilliqa/zilliqa-developer | ||
path: products/developer-portal/cd/overlays/production | ||
track: production | ||
type: kustomize | ||
``` | ||
- in `subdomains` stanza add: | ||
|
||
```yaml | ||
infrastructure: | ||
dns: | ||
vars: | ||
subdomains: | ||
dev: {} | ||
``` | ||
|
||
3. Push the changes | ||
|
||
```sh | ||
git add . | ||
git commit -m "Add Developer Portal to production cluster" | ||
git push origin users/<username>/add_developer_portal_to_production_cluster | ||
``` | ||
|
||
4. Open a Pull Request to the main branch | ||
|
||
5. Apply the changes | ||
|
||
```sh | ||
z plan | ||
z apply | ||
``` | ||
|
||
### Deploy the application | ||
|
||
```sh | ||
z app sync --cache-dir=.cache developer-portal | ||
``` | ||
|
||
Verify your application is running correct from the production URL and with `kubectl` commands (if required). |
Oops, something went wrong.