Quick Start

Sebelum melakukan deployment ke Awanio, ada beberapa hal yang perlu anda siapkan. Pertama anda harus memiliki account pada layanan Awanio. Pada akun anda, setidaknya harus memiliki sebuah team. Setiap aplikasi akan melekat ke sebuah team.

SSH Client

Awanio menggunakan ssh sebagai sarana untuk melakukan deploymet. Anda harus memiliki ssh client di lokal komputer yang digunakan. Anda juga harus menyiapkan ssh public key yang akan digunakan pada saat melakukan proses otentikasi. Untuk melihat isi file ssh public key, umumnya berada di lokasi /home/myname/.ssh/id_rsa.pub. Jika sebelumnya belum ada, anda bisa membaca lebih jauh cara membuat ssh public key pada halaman berikut https://docs.gitlab.com/ce/ssh/README.html. Jika menggunakan sistem operasi Windows, anda bisa menggunakan PuttyGen.

Artikel di atas juga menjelaskan cara penggunaannya. Isi file id_rsa.pub harus diinput ke Awanio sebagai bukti credential yang bisa anda lakukan di halaman dashboard.

Isi file id_rsa.pub harus diinput ke Awanio sebagai bukti credential yang bisa anda lakukan di halaman dashboard. Klik menu Accounts > Add SSH Key

Setelah itu silahkan menjalankan perintah:

ssh git@awan.io

Jika berhasil maka akan ada response seperti di bawah ini:

Hi ikandar You've successfully authenticated to Awanio
Connection to awan.io closed.

Membuat Aplikasi

Untuk membuat sebuah aplikasi, silahkan masuk ke menu "Applications" kemudaan di sisi kanan atas halaman klik tombol "Create Application". Setelah itu akan muncul tampilan seperti berikut:

Git

Git diperlukan untuk mekanisme mendistribukan lokal code ke server Awanio. Pada saat membuat projek di Awanio, anda akan mendapatkan sebuah URL Git yang berformat git@awan.io:TEAM_NAME/APP_NAME.git

URL Git sebuah aplikasi bisa dilihat di halaman detail aplikasi.

awan.yml

Semua project yang akan di-deploy ke Awanio, setidaknya membutuhkan file awan.yml yang diletakan di folder utama aplikasi.

Contoh isi file awan.yml adalah:

Untuk aplikasi berbasis PHP, isi file awan.yml adalah seperti berikut:

version: '1.0'
web:
  type: php
  version: 7.0
  doc_root: ./public

Berikut contoh file awan.yml untuk aplikasi dengan runtime python:

version: '1.0'
web:
  type: python
  version: 3
  run: gunicorn -b :$PORT --workers=2 my_web:app

Starter kit untuk aplikasi berbasis python bisa di-clone di repository ini https://github.com/Awanio/python-starter-kit

Setup Environment Variable

Untuk setup environment variable bisa dilakukan via dashbaord.

Mengakses Resource

Umumnya setiap apps memiliki satu atau lebih resource pendukung. Contoh yang paling umum adalah database. Untuk mengakses resource dari aplikasi, anda bisa memanfaatkan informasi yang ada di environment variables. Sebagai contoh, environment variable untuk MySQL adalah:

MYSQL_DATABASE=database_name
MYSQL_USER=user_access
MYSQL_PASSWORD=db_password
MYSQL_HOST=db_host
MYSQL_PORT=3306

Untuk mendapatkan credential dari sebuah resource, bisa dilihat di halaman detail dari sebauh resource di menu "resource".

Adakalanya kita ingin mengakses sebuah resource dari lokal komputer yang kita gunakan. Untuk ini, kita bisa menggunakan ssh tunneling dengan cara:

ssh tunnel@awan.io -p 2222 -L 3307:ADDON_HOST:3306 -N

Setelah itu connect dengan mysql client dengan perintah:

mysql --host=127.0.0.1 --port=3307 -u user -p

Setup Domain

Secara bawaan setiap aplikasi di Awanio akan mendapatkan sebuah nama subomain dengan format: myapp.diawan.id. Nama subdomain ini bisa anda gunakan sebagai cname pada saat melakukan setup di domain manager tempat anda membeli domain. Berikut contoh tampilan setup cname di Cloudflare:

Terakhir, nama domain yang ingin anda gunakan harus didaftarkan di bagian Routing di halaman apps.

Selamat mencoba.