Skip to content

cloudnativedaysjp/cnk-analytics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cnk-analytics

前提条件

1. Nix のインストール

Determinate Systems の nix-installer を使うのが推奨です。

curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install

インストール後、flake サポートが有効になっているか確認します。

nix --version
# nix (Nix) 2.x.x

WSL2 の場合: インストール後にシェルを再起動するか source /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh を実行してください。

2. direnv のインストール(任意)

direnv を使うとプロジェクトディレクトリに入るだけで devshell が自動で有効になります。不要であれば nix develop で代替できます。

# Ubuntu / Debian
sudo apt install direnv

# または Nix で
nix profile install nixpkgs#direnv

シェルへの hook を追加します(~/.bashrc または ~/.zshrc)。

# bash
echo 'eval "$(direnv hook bash)"' >> ~/.bashrc && source ~/.bashrc

# zsh
echo 'eval "$(direnv hook zsh)"' >> ~/.zshrc && source ~/.zshrc

nix devshell の起動は時間がかかるため、タイムアウト警告を抑制しておきます。

mkdir -p ~/.config/direnv
cat >> ~/.config/direnv/direnv.toml <<'EOF'

[global]
warn_timeout = "1h"
EOF

セットアップ

git clone <repository-url>
cd cnk-analytics

ローカル環境変数の設定

Terraform/Terragrunt の実行に必要な環境変数を .envrc.local に記載します。 このファイルは .gitignore に登録されており、リポジトリにはコミットされません。

cp .envrc.local.example .envrc.local  # 存在する場合
# または直接作成:
cat > .envrc.local <<'EOF'
export GOOGLE_CLOUD_PROJECT="<your-gcp-project-id>"
export TF_STATE_BUCKET="<your-tfstate-bucket-name>"
EOF
変数名 説明
GOOGLE_CLOUD_PROJECT GCP プロジェクト ID my-project-prod
TF_STATE_BUCKET Terraform state を保存する GCS バケット名 my-project-tfstate-abc123

direnv を使用している場合、ファイル作成後に direnv allow を再実行すると自動で読み込まれます。

direnv allow

開発環境の起動

方法 A: nix develop

direnv を使わない場合はこちら。

nix develop

方法 B: direnv(自動)

direnv をインストール済みの場合、初回のみ許可が必要です。

direnv allow

以降はディレクトリに入るだけで自動的に環境が有効になります。


gcloud 認証コマンド (gauth)

devshell 内では gauth コマンドで gcloud の認証操作をまとめて実行できます。

Usage: gauth <command> [options]
コマンド 説明
gauth login ブラウザでのインタラクティブログイン
gauth login-adc Application Default Credentials (ADC) ログイン
gauth whoami 現在の認証アカウントを表示
gauth help ヘルプ表示

使用例

# 初回ログイン
gauth login

# ADC の設定(アプリケーションから GCP にアクセスする場合)
gauth login-adc

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors