Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(trdl-dev): update Makefile for a more convenient launch of the … #307

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions server/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,6 @@ RUN apk add --no-cache wget && \

FROM ghcr.io/werf/trdl-dev-vault:latest
RUN addgroup vault ping
ENV VAULT_ADDR=http://localhost:8200
ENV VAULT_TOKEN=root
COPY --from=builder /docker-buildx /usr/lib/docker/cli-plugins/docker-buildx
56 changes: 15 additions & 41 deletions server/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@ GOARCH = amd64

UNAME = $(shell uname -s)

PROJECT_NAME ?= trdl-test-project1
SIGNATURES_COUNT ?= 0
GIT_REPO_URL ?= https://github.com/werf/trdl-test-project
GIT_TRDL_PATH ?= p1/trdl.yaml
GIT_TRDL_CHANNELS_PATH ?= p1/trdl_channels.yaml

ifndef OS
ifeq ($(UNAME), Linux)
else ifeq ($(UNAME), Darwin)
Expand All @@ -12,7 +18,7 @@ endif
GOSRC = $(shell find . -type f -name '*.go')
.DEFAULT_GOAL := all

RUN_TRDL_DEV_VAULT = docker run --rm -e VAULT_TOKEN=root -e VAULT_ADDR=http://$$(docker inspect trdl_dev_vault --format "{{ .NetworkSettings.IPAddress }}"):8200 ghcr.io/werf/trdl-dev-vault:latest
RUN_TRDL_DEV_VAULT = docker run --rm -e VAULT_ADDR=http://$$(docker inspect trdl_dev_vault --format "{{ .NetworkSettings.IPAddress }}"):8200 ghcr.io/werf/trdl-dev-vault:latest
RUN_TRDL_DEV_MINIO = docker run -ti --rm -e MC_HOST_main=http://minioadmin:minioadmin@$$(docker inspect trdl_dev_minio --format "{{ .NetworkSettings.IPAddress }}"):9000 minio/mc

.PHONY: fmt lint clean tail
Expand All @@ -27,7 +33,7 @@ lint:
GOOS=$(OS) GOARCH="$(GOARCH)" golangci-lint run ./... --config ../.golangci.yaml

vault/plugins/vault-plugin-secrets-trdl: $(GOSRC)
CGO_ENABLED=0 GOOS=$(OS) GOARCH="$(GOARCH)" go build -o vault/plugins/vault-plugin-secrets-trdl cmd/vault-plugin-secrets-trdl/main.go
CGO_ENABLED=0 GOOS=linux GOARCH="$(GOARCH)" go build -o vault/plugins/vault-plugin-secrets-trdl cmd/vault-plugin-secrets-trdl/main.go

build: vault/plugins/vault-plugin-secrets-trdl

Expand All @@ -52,21 +58,8 @@ restart:
)

# Enable and configure plugin
$(RUN_TRDL_DEV_VAULT) vault secrets enable -path=trdl-test-project1 vault-plugin-secrets-trdl
$(RUN_TRDL_DEV_VAULT) vault write trdl-test-project1/configure s3_secret_access_key=minioadmin s3_access_key_id=minioadmin s3_bucket_name=trdl-test-project1 s3_region=ru-central1 s3_endpoint=http://$$(docker inspect trdl_dev_minio --format "{{ .NetworkSettings.IPAddress }}"):9000 required_number_of_verified_signatures_on_commit=0 git_repo_url=https://github.com/werf/trdl-test-project git_trdl_path=p1/trdl.yaml git_trdl_channels_path=p1/trdl_channels.yaml

$(RUN_TRDL_DEV_VAULT) vault secrets enable -path=trdl-test-project2 vault-plugin-secrets-trdl
$(RUN_TRDL_DEV_VAULT) vault write trdl-test-project2/configure s3_secret_access_key=minioadmin s3_access_key_id=minioadmin s3_bucket_name=trdl-test-project2 s3_region=ru-central1 s3_endpoint=http://$$(docker inspect trdl_dev_minio --format "{{ .NetworkSettings.IPAddress }}"):9000 required_number_of_verified_signatures_on_commit=0 git_repo_url=https://github.com/werf/trdl-test-project git_trdl_path=p2/trdl.yaml git_trdl_channels_path=p2/trdl_channels.yaml

$(RUN_TRDL_DEV_VAULT) vault secrets enable -path=trdl vault-plugin-secrets-trdl
$(RUN_TRDL_DEV_VAULT) vault write trdl/configure s3_secret_access_key=minioadmin s3_access_key_id=minioadmin s3_bucket_name=trdl s3_region=ru-central1 s3_endpoint=http://$$(docker inspect trdl_dev_minio --format "{{ .NetworkSettings.IPAddress }}"):9000 required_number_of_verified_signatures_on_commit=0 git_repo_url=https://github.com/werf/trdl

$(RUN_TRDL_DEV_VAULT) vault secrets enable -path=kubedog vault-plugin-secrets-trdl
$(RUN_TRDL_DEV_VAULT) vault write kubedog/configure s3_secret_access_key=minioadmin s3_access_key_id=minioadmin s3_bucket_name=kubedog s3_region=ru-central1 s3_endpoint=http://$$(docker inspect trdl_dev_minio --format "{{ .NetworkSettings.IPAddress }}"):9000 required_number_of_verified_signatures_on_commit=0 git_repo_url=https://github.com/werf/kubedog

$(RUN_TRDL_DEV_VAULT) vault secrets enable -path=werf vault-plugin-secrets-trdl
$(RUN_TRDL_DEV_VAULT) vault write werf/configure s3_secret_access_key=minioadmin s3_access_key_id=minioadmin s3_bucket_name=werf s3_region=ru-central1 s3_endpoint=http://$$(docker inspect trdl_dev_minio --format "{{ .NetworkSettings.IPAddress }}"):9000 required_number_of_verified_signatures_on_commit=0 git_repo_url=https://github.com/werf/werf git_trdl_channels_branch=multiwerf

$(RUN_TRDL_DEV_VAULT) vault secrets enable -path=$(PROJECT_NAME) vault-plugin-secrets-trdl
$(RUN_TRDL_DEV_VAULT) vault write $(PROJECT_NAME)/configure s3_secret_access_key=minioadmin s3_access_key_id=minioadmin s3_bucket_name=$(PROJECT_NAME) s3_region=ru-central1 s3_endpoint=http://$$(docker inspect trdl_dev_minio --format "{{ .NetworkSettings.IPAddress }}"):9000 required_number_of_verified_signatures_on_commit=$(SIGNATURES_COUNT) git_repo_url=$(GIT_REPO_URL) git_trdl_path=$(GIT_TRDL_PATH) git_trdl_channels_path=$(GIT_TRDL_CHANNELS_PATH)

.run: vault/plugins/vault-plugin-secrets-trdl
# Run minio, create bucket
Expand All @@ -80,16 +73,9 @@ restart:
sleep 1 ; \
done ; \
)
$(RUN_TRDL_DEV_MINIO) mb main/trdl-test-project1
$(RUN_TRDL_DEV_MINIO) anonymous set public main/trdl-test-project1
$(RUN_TRDL_DEV_MINIO) mb main/trdl-test-project2
$(RUN_TRDL_DEV_MINIO) anonymous set public main/trdl-test-project2
$(RUN_TRDL_DEV_MINIO) mb main/werf
$(RUN_TRDL_DEV_MINIO) anonymous set public main/werf
$(RUN_TRDL_DEV_MINIO) mb main/trdl
$(RUN_TRDL_DEV_MINIO) anonymous set public main/trdl
$(RUN_TRDL_DEV_MINIO) mb main/kubedog
$(RUN_TRDL_DEV_MINIO) anonymous set public main/kubedog
$(RUN_TRDL_DEV_MINIO) mb main/$(PROJECT_NAME)
$(RUN_TRDL_DEV_MINIO) anonymous set public main/$(PROJECT_NAME)


# Run vault dev server
docker rm -f trdl_dev_vault || true
Expand All @@ -102,20 +88,8 @@ restart:
)

# Enable and configure plugin
$(RUN_TRDL_DEV_VAULT) vault secrets enable -path=trdl-test-project1 vault-plugin-secrets-trdl
$(RUN_TRDL_DEV_VAULT) vault write trdl-test-project1/configure s3_secret_access_key=minioadmin s3_access_key_id=minioadmin s3_bucket_name=trdl-test-project1 s3_region=ru-central1 s3_endpoint=http://$$(docker inspect trdl_dev_minio --format "{{ .NetworkSettings.IPAddress }}"):9000 required_number_of_verified_signatures_on_commit=0 git_repo_url=https://github.com/werf/trdl-test-project git_trdl_path=p1/trdl.yaml git_trdl_channels_path=p1/trdl_channels.yaml

$(RUN_TRDL_DEV_VAULT) vault secrets enable -path=trdl-test-project2 vault-plugin-secrets-trdl
$(RUN_TRDL_DEV_VAULT) vault write trdl-test-project2/configure s3_secret_access_key=minioadmin s3_access_key_id=minioadmin s3_bucket_name=trdl-test-project2 s3_region=ru-central1 s3_endpoint=http://$$(docker inspect trdl_dev_minio --format "{{ .NetworkSettings.IPAddress }}"):9000 required_number_of_verified_signatures_on_commit=0 git_repo_url=https://github.com/werf/trdl-test-project git_trdl_path=p2/trdl.yaml git_trdl_channels_path=p2/trdl_channels.yaml

$(RUN_TRDL_DEV_VAULT) vault secrets enable -path=trdl vault-plugin-secrets-trdl
$(RUN_TRDL_DEV_VAULT) vault write trdl/configure s3_secret_access_key=minioadmin s3_access_key_id=minioadmin s3_bucket_name=trdl s3_region=ru-central1 s3_endpoint=http://$$(docker inspect trdl_dev_minio --format "{{ .NetworkSettings.IPAddress }}"):9000 required_number_of_verified_signatures_on_commit=0 git_repo_url=https://github.com/werf/trdl

$(RUN_TRDL_DEV_VAULT) vault secrets enable -path=kubedog vault-plugin-secrets-trdl
$(RUN_TRDL_DEV_VAULT) vault write kubedog/configure s3_secret_access_key=minioadmin s3_access_key_id=minioadmin s3_bucket_name=kubedog s3_region=ru-central1 s3_endpoint=http://$$(docker inspect trdl_dev_minio --format "{{ .NetworkSettings.IPAddress }}"):9000 required_number_of_verified_signatures_on_commit=0 git_repo_url=https://github.com/werf/kubedog

$(RUN_TRDL_DEV_VAULT) vault secrets enable -path=werf vault-plugin-secrets-trdl
$(RUN_TRDL_DEV_VAULT) vault write werf/configure s3_secret_access_key=minioadmin s3_access_key_id=minioadmin s3_bucket_name=werf s3_region=ru-central1 s3_endpoint=http://$$(docker inspect trdl_dev_minio --format "{{ .NetworkSettings.IPAddress }}"):9000 required_number_of_verified_signatures_on_commit=0 git_repo_url=https://github.com/werf/werf git_trdl_channels_branch=multiwerf
$(RUN_TRDL_DEV_VAULT) vault secrets enable -path=$(PROJECT_NAME) vault-plugin-secrets-trdl
$(RUN_TRDL_DEV_VAULT) vault write $(PROJECT_NAME)/configure s3_secret_access_key=minioadmin s3_access_key_id=minioadmin s3_bucket_name=$(PROJECT_NAME) s3_region=ru-central1 s3_endpoint=http://$$(docker inspect trdl_dev_minio --format "{{ .NetworkSettings.IPAddress }}"):9000 required_number_of_verified_signatures_on_commit=$(SIGNATURES_COUNT) git_repo_url=$(GIT_REPO_URL) git_trdl_path=$(GIT_TRDL_PATH) git_trdl_channels_path=$(GIT_TRDL_CHANNELS_PATH)

touch .run

Expand Down
51 changes: 51 additions & 0 deletions server/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Local Development Environment for TRDL

This repository provides a Makefile for setting up a local development environment with MinIO and Vault.

## Default Setup

To start the local development environment with default settings, simply run:

```sh
make .run
```

This command will:

1. Start a MinIO server with a default bucket.
2. Start a Vault server in development mode.
3. Configure the Vault plugin with default parameters.

### Default Parameters

| Parameter | Default Value | Description |
| ------------------------ | ------------------------------------------- | --------------------------------------------- |
| `PROJECT_NAME` | `trdl-test-project1` | The name of the project/bucket in MinIO. |
| `SIGNATURES_COUNT` | `0` | Number of required verified signatures. |
| `GIT_REPO_URL` | `https://github.com/werf/trdl-test-project` | Git repository URL for TRDL metadata. |
| `GIT_TRDL_PATH` | `p1/trdl.yaml` | Path to TRDL configuration in the repository. |
| `GIT_TRDL_CHANNELS_PATH` | `p1/trdl_channels.yaml` | Path to TRDL channels configuration. |

## Custom Setup

You can override default values by passing them as arguments:

```sh
make .run PROJECT_NAME=my-custom-project SIGNATURES_COUNT=2 GIT_REPO_URL=https://github.com/example/repo GIT_TRDL_PATH=trdl.yaml GIT_TRDL_CHANNELS_PATH=trdl_channels.yaml
```

This will:

- Use `my-custom-project` as the bucket/project name.
- Require `2` verified signatures.
- Set `GIT_REPO_URL` to `https://github.com/example/repo`.
- Set `GIT_TRDL_PATH` to the path to `trdl.yaml` in your `GIT_REPO_URL`
- Set `GIT_TRDL_CHANNELS_PATH` to the path to `trdl_channels.yaml` in your `GIT_REPO_URL`

## Cleaning Up

To remove all containers and clean up data, run:

```sh
make clean
```
Loading