Skip to content

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, verifyheader, 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, newheader. 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ếnMặc địnhMục đích
service_namemy-appTên service; cũng dẫn ra các biến thể chuẩn hóa/snake-case.
environmentprodNhã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ó.
projectfountainNhãn dự án.
author_nameKim ErickoTác giả dùng trong header file được sinh.
author_email[email protected]Email tác giả dùng trong header.
copyright_ownerOkelaChủ sở hữu bản quyền trong header.
copyright_websiteokela.ioWebsite bản quyền trong header.
repo_git_url(trống)URL git/module của service.
fountain_repo_git_urlgitlab.soludian.com/soludian/fountainModule path Fountain dùng trong các import được sinh.
go_version / go_version_mainphiên bản Go phát hiện đượcPhiê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, GONOPROXYGONOSUMDB 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.