OpenFeature là một open standard giúp chúng ta có thể hiện thực khái niệm feature flag, on hay off các feature của một ứng dụng. Để sử dụng OpenFeature, chúng ta cần có một service chạy bên ngoài ứng dụng đóng vai trò là một provider giúp chúng ta có thể control được khi nào on, khi nào off một feature của ứng dụng. Có nhiều provider hỗ trợ OpenFeature, một trong đó là open source flagd provider. Trong bài viết này, mình sẽ hướng dẫn các bạn cách cài đặt flagd provider này sử dụng Docker Compose các bạn nhé!
Đầu tiên thì để cài đặt flagd provider sử dụng Docker Compose, chúng ta sẽ cần Docker Image của flagd provider. Các bạn có thể tìm thấy các Docker Image của flagd trên GitHub Container Registry tại đây https://github.com/open-feature/flagd/pkgs/container/flagd. Tùy theo nhu cầu các bạn có thể chọn tag của flagd provider cho phù hợp. Mình thì sẽ sử dụng latest version.
Nội dung của tập tin Docker Compose để cài đặt flagd provider sẽ như sau:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
version: '3.9' services: flagd: image: ghcr.io/open-feature/flagd:latest container_name: 'flagd' volumes: - ./flagd/:/etc/flagd/ tty: true stdin_open: true command: start --uri file:/etc/flagd/flags.flagd.json ports: - 8013:8013 |
Các bạn cần mapping một thư mục bên ngoài container với thư mục /etc/flagd bên trong container và định nghĩa một tập tin cấu hình về feature flag để flagd provider có thể đọc và process, trong thư mục bên ngoài container này.
Khi chạy Docker Container từ Docker Image, flagd provider sẽ cần chạy command “start” với tham số trỏ đến tập tin cấu hình về feature flag.
Mặc định thì flagd provider sẽ chạy ở port 8013 nên các bạn cũng cần expose port này ra bên ngoài để các ứng dụng có thể connect và làm việc với flagd provider các bạn nhé!
Kết quả khi mình chạy command “docker compose up” với tập tin docker-compose.yaml chứa nội dung trên như sau:
Vậy là chúng ta đã cài đặt thành công OpenFeature flagd provider rồi đó các bạn!