https://github.com/traptitech/piscon-portal-v2
https://github.com/traptitech/piscon-portal-v2
Last synced: 10 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/traptitech/piscon-portal-v2
- Owner: traPtitech
- Created: 2024-12-11T12:48:22.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-22T03:20:25.000Z (over 1 year ago)
- Last Synced: 2025-03-22T04:20:47.756Z (over 1 year ago)
- Language: Go
- Size: 556 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# piscon-portal-v2
## 開発環境
プロジェクトルートディレクトリに以下のように `.env` ファイルを用意してください。`CLIENT_ID`と`CLIENT_SECRET`はtraQのものです。
```
DB_USER=root
DB_PASSWORD=password
DB_HOST=db
DB_PORT=3306
DB_NAME=portal
ROOT_URL=http://localhost:8080
SESSION_SECRET=secret
CLIENT_ID=my-client-id
CLIENT_SECRET=my-client-secret
```
traQで作成するClientは リダイレクトURL に `http://localhost:8080/api/oauth2/callback`、スコープに `openid`, `profile` を指定します。
`task up` で portal server が 8080番 ポートで起動します。`task dev` でホットリロード付きで起動します。
Go 1.24で入った experimental な機能である `testing/synctest` を [runner/runner_test.go](runner/runner_test.go) で使っています。2025/2/26時点でこれを動かすためには、環境変数で `GOEXPERIMENT=synctest` を設定する必要があります。VSCode であれば、 `.vscode/settings.json` に
```json
{
"go.toolsEnvVars": {
"GOEXPERIMENT": "synctest"
}
}
```
を書き込むことで環境変数を設定できます。
### AWS を使ったローカルでの動作
ポータルをローカルのdocker composeで動かし、AWSのインスタンスを操作するには、以下のような設定を行います。
#### 1. AWS CLI のインストール
AWS CLI をインストールします。
#### 2. AWS の認証情報の設定
AWS CLIを使って認証のプロファイルを設定します。`~/.aws/config` と `~/.aws/credentials` ファイルが作成されます。
#### 3. `.env` への追記
`.env` ファイルに以下のように追記します。
```dotenv
AWS_IMAGE_ID=ami-002d61d6436f85f12 # private-isu の AMI の ID
AWS_INSTANCE_TYPE=c7a.large
AWS_REGION=ap-northeast-1
AWS_SUBNET_ID={{ AWS の Subnet ID }}
AWS_SECURITY_GROUP_ID={{ AWS の Security Group ID }}
AWS_KEY_PAIR_NAME={{ AWS の Key Pair 名 }}
INSTANCE_MANAGER=aws
AWS_PROFILE={{ 2で用意した AWS のプロファイル名 }}
AWS_SHARED_CREDENTIALS_FILE=/app/.aws/credentials
AWS_CONFIG_FILE=/app/.aws/config
AWS_SDK_LOAD_CONFIG=true
```
#### 4. 起動
```bash
docker compose --file compose.aws.yaml up
```
## protobuf について
[proto/README.md](proto/README.md) を参照してください。