Lewati ke konten utama
  1. Posts/

Konfigurasi Sensitif pada Flask

·278 kata·2 menit· 0 · 0 ·
flask heroku
Syahravi
Penulis
Syahravi
Seorang penggemar teknologi dan pengembang perangkat lunak yang membara!! 😄.
Daftar isi
Python: Membuat Aplikasi Flask - This article is part of a series.

Sebagian besar aplikasi memerlukan pengaturan berbeda untuk setiap lingkungan (environment).


Konfigurasi SECRET_KEY pada source code #

Mari edit file config.py*

import os

class Config:
	DEBUG = False
	DEVELOPMENT = False
	SECRET_KEY = os.getenv("SECRET_KEY", "default-key")

class ProductionConfig(Config):
	pass

class StagingConfig(Config):
	DEBUG = True

class DevelopmentConfig(Config):
	DEBUG = True
	DEVELOPMENT = True

SECRET_KEY adalah kunci ’nyata’ dari source code aplikasi.

Kita juga bisa mengubah SECRET_KEY di berbagai lingkungan (environment).

Mari kita perbarui app.py

import os
from flask import Flask

app = Flask(__name__)
env_config = os.getenv("APP_SETTINGS", "config.DevelopmentConfig")
app.config.from_object(env_config)

@app.route("/")
def index():
	secret_key = app.config.get("SECRET_KEY")
	return f"Kuncinya adalah:>> {secret_key}"

Untuk mengetahui apa yang terjadi di app.py.

Mari kita ubah SECRET_KEY disaat kita menjalankan aplikasi langsung.

SECRET_KEY=key-langsung-weh flask run

Perhatikan http://localhost:5000 untuk memahami perintah di atas.

Key Langsung
SECRET_KEY=key-langsung-weh flask run
Default Key
flask run

Biasakan diri dengan add, commit dan push ke staging environment.

git add --all
git commit -m "Add config"
git push staging main

Konfigurasi SECRET_KEY pada Staging Environment #

Key Default
staging environment

Pembaruan telah ada di staging environment.

Mari kita ubah SECRET_KEY pada staging environment.

heroku config:set --remote staging \
SECRET_KEY=the-staging-key \
APP_SETTINGS=config.StagingConfig

Dengan menggunakan config:set kita bisa mengubah SECRET_KEY dan APP_SETTINGS pada staging.

Config Key Staging
The Staging Key

Perhatikan bahwa https://flaskrav-staging.herokuapp.com/ tertulis the-staging-key.

Staging Key

Kita juga bisa melihat pengaturan flask pada Heroku CLI.

heroku config --remote staging

Melihat Key Staging via CLI
Melihat konfigurasi di Heroku CLI

Konfigurasi SECRET_KEY pada Production Environment #

Mari buat versi Production, tentu berbeda dengan staging:

heroku config:set --remote prod \
SECRET_KEY=the-production-key \
APP_SETTINGS=config.ProductionConfig
###
heroku pipelines:promote --remote staging

Promote.
Ubah kunci dan ‘Promote to Production’

Telah dibuat ulang dari SECRET_KEY dan APP_SETTINGS dan juga mempromosikan aplikasi ke production environment.

Perhatikan bahwa https://flaskrav.herokuapp.com/ tertulis the-production-key.

FlaskRav Fixed

Reference: Deploying a Python Flask Example Application Using Heroku - Real Python

Python: Membuat Aplikasi Flask - This article is part of a series.

Related

Deploy Flask Apps in Heroku
·358 kata·2 menit· 0 · 0
flask deployment heroku
Flask Apps Heroku
·513 kata·3 menit· 0 · 0
flask heroku
Python: Manipulasi Datetime
·248 kata·2 menit· 0 · 0
python
Python Dasar : Mengenal dan Menggunakan Bahasa Pemrograman Python
·524 kata·3 menit· 0 · 0
python
Cara menggunakan SSH Git untuk Github
·455 kata·3 menit· 0 · 0
edukasi-teknologi git ssh github
Cara Deploy Hugo dengan Netlify
·294 kata·2 menit· 0 · 0
deployment netlify