ftkit env
Cách ftkit đọc cấu hình từ môi trường và file .env.
Không phải lệnh con
Khác với init, new, verify và header, không có lệnh con ftkit env nào được đăng ký trong CLI. Trang này mô tả phần cấu hình bằng biến môi trường mà ftkit nạp khi khởi động (xem cmd/env.go), vốn ảnh hưởng tới việc dựng dự án và render template. Ở đây không có cờ (flag) nào để mô tả.
Lệnh làm gì
Khi ftkit khởi động, nó nạp các biến từ file .env ở thư mục hiện tại (qua godotenv) và đọc một số biến môi trường để dựng bộ dữ liệu template dùng cho init, new và header. Nó cũng chạy go list -m để xác định module path hiện tại và suy ra tên service cùng các biến thể tên từ đó.
Nếu không nạp được file .env, ftkit sẽ báo nhưng vẫn tiếp tục với các giá trị mặc định.
Các biến được nhận diện
Những biến sau được đọc từ môi trường / .env (giá trị mặc định trong ngoặc):
Định danh và metadata
| Biến | Mặc định | Mục đích |
|---|---|---|
service_name | my-app | Tên service; cũng dẫn ra các biến thể chuẩn hóa/snake-case. |
environment | prod | Nhãn môi trường. Khi là dev, thư mục cục bộ ./my-app được dùng làm gốc dự án nếu có. |
project | fountain | Nhãn dự án. |
author_name | Kim Ericko | Tác giả dùng trong header file được sinh. |
author_email | [email protected] | Email tác giả dùng trong header. |
copyright_owner | Okela | Chủ sở hữu bản quyền trong header. |
copyright_website | okela.io | Website bản quyền trong header. |
repo_git_url | (trống) | URL git/module của service. |
fountain_repo_git_url | gitlab.soludian.com/soludian/fountain | Module path Fountain dùng trong các import được sinh. |
go_version / go_version_main | phiên bản Go phát hiện được | Phiên bản Go ghi vào file được sinh. |
Công tắc tính năng
Các biến boolean này (mặc định false trừ khi ghi chú khác) quyết định scaffolding bật những server, cache, database, storage và registry nào:
- Server:
http_server_enable,grpc_server_enable,tcp_server_enable,udp_server_enable - Cache:
redis_cache_enable - Database:
mysql_db_enable,postgres_db_enable(vàsql_db_enable, mặc định bằng MySQL HOẶC Postgres) - Storage:
cassandra_storage_enable,es_storage_enable,s3_storage_enable - DAO manager:
dao_manager_enable(mặc định true nếu có bất kỳ cache/db/storage nào được bật) - Registry:
k8s_reg_enable,etcd_reg_enable,consul_reg_enable
Liên quan: script env.sh
Các dự án service được sinh ra có kèm một script trợ giúp scripts/env.sh (nằm trong layout service, không phải một phần của CLI). Nó cấu hình Git và Go cho host GitLab riêng tư — ghi một mục .netrc/_netrc và đặt GOPRIVATE, GOINSECURE, GONOPROXY và GONOSUMDB cho gitlab.soludian.com/*. Xem Bắt đầu để biết cách cấu hình thủ công tương đương cần để cài ftkit và Fountain.