stencil
Stencil is a schema registry that provides schema management and validation dynamically, efficiently, and reliably to ensure data compatibility across applications.
파일 탐색기
최종 버전 다운로드 (.zip)- bug_report.md
- feature_request.md
- docs.yml
- lint.yml
- release-java-client.yml
- release-js-client.yml
- release-server.yml
- test-clojure-client.yml
- test-go-client.yml
- test-java-client.yml
- test-js-client.yml
- test-server.yaml
- core.clj
- decode.clj
- encode.clj
- one.proto
- testdata.desc
- core_test.clj
- serde_test.clj
- .gitignore
- LICENSE
- project.clj
- README.md
- 1.proto
- 1.proto
- 2.proto
- 3.proto
- extension.proto
- client.go
- client_test.go
- downloader.go
- go.mod
- go.sum
- LICENSE
- logger.go
- protoutils.go
- README.md
- refresh_strategy.go
- resolver.go
- store.go
- gradle-wrapper.jar
- gradle-wrapper.properties
- SchemaCacheLoader.java
- SchemaRefreshStrategy.java
- ClassLoadStencilClient.java
- MultiURLStencilClient.java
- StencilClient.java
- URLStencilClient.java
- StencilConfig.java
- StencilRuntimeException.java
- RemoteFile.java
- RemoteFileImpl.java
- RetryHttpClient.java
- DescriptorMapBuilder.java
- Parser.java
- SchemaUpdateListener.java
- StencilClientFactory.java
- SchemaCacheLoaderTest.java
- SchemaRefreshStrategyTest.java
- ClassLoadStencilClientTest.java
- URLStencilClientWithCacheTest.java
- RemoteFileImplTest.java
- RetryHttpClientTest.java
- DescriptorMapBuilderTest.java
- MultiURLStencilClientTest.java
- URLStencilClientTest.java
- NestedProtoMessage.proto
- ProtoWithoutJavaPackage.proto
- ProtoWithoutPackage.proto
- RecursiveProtoMessage.proto
- TestMessage.proto
- .gitignore
- build.gradle
- gradlew
- gradlew.bat
- lombok.config
- README.md
- settings.gradle
- multi_url_stencil.js
- refresh_strategy.js
- stencil.js
- one.proto
- main.test.js
- refresh_strategy.test.js
- .eslintrc.yml
- .gitignore
- jest.config.js
- main.js
- package-lock.json
- package.json
- README.md
- __init__.py
- stencil.py
- store.py
- one.proto
- test_client.py
- .gitignore
- conftest.py
- LICENSE
- README.md
- requirements.txt
- setup.py
- README.md
- cdk.go
- check.go
- client.go
- config.go
- create.go
- delete.go
- diff.go
- download.go
- edit.go
- errors.go
- graph.go
- help.go
- info.go
- list.go
- namespace.go
- print.go
- root.go
- schema.go
- search.go
- server.go
- build.go
- config.go
- config.yaml
- load.go
- namespace.go
- service.go
- namespace_service.go
- schema_cache.go
- schema_parsed.go
- schema_provider.go
- schema_repository.go
- provider.go
- compatibility.go
- schema.go
- service.go
- service_test.go
- utils.go
- search.go
- service.go
- 2021-08-20-stenciil-launch.md
- authors.yml
- clojure.md
- go.md
- java.md
- js.md
- overview.md
- contribution.md
- avro.md
- json.md
- protobuf.md
- 0_introduction.md
- 1_quickstart.md
- 2_manage_namespace.md
- 3_manage_schemas.md
- 4_clients.md
- api.md
- cli.md
- overview.md
- rules.md
- glossary.md
- installation.md
- introduction.md
- roadmap.md
- usecases.md
- Container.js
- GridBlock.js
- custom.css
- icons.css
- theme.css
- help.js
- index.js
- intro.svg
- overview.svg
- swagger.yml
- banner.svg
- favicon.ico
- logo.svg
- pattern.svg
- gojek.png
- goto.png
- jago.png
- mapan.png
- midtrans.png
- moka.png
- paylater.png
- .nojekyll
- .gitignore
- babel.config.js
- docusaurus.config.js
- package.json
- README.md
- sidebars.js
- yarn.lock
- provider.go
- schema.go
- schema_test.go
- closedContent.json
- openContent.json
- partialOpenContent.json
- deleted.json
- modified.json
- noChange.json
- prev.json
- deleted.json
- modified.json
- noChange.json
- prev.json
- 2020items.json
- 2020prefixItems.json
- 2020prev.json
- 2020updated.json
- draft7additionalItems.json
- draft7items.json
- draft7prev.json
- draft7updated.json
- currSchema.json
- prevSchema.json
- curr_addition.json
- curr_removal.json
- non_enum.json
- prev.json
- deleted.json
- modified.json
- noChange.json
- prev.json
- added.json
- prev.json
- removed.json
- modifiedSchema.json
- prevSchema.json
- modified.json
- prev.json
- removed.json
- added.json
- modified.json
- prev.json
- removed.json
- typeCheckSchema.json
- collection.json
- compatibility.go
- compatibility_helper.go
- compatibility_helper_test.go
- compatibility_test.go
- error.go
- provider.go
- provider_test.go
- schema.go
- utils.go
- utils_test.go
- 1.proto
- 2.proto
- 1.proto
- 2.proto
- 1.proto
- 1.proto
- 1.proto
- 1.proto
- 1.proto
- compatibility.go
- compatibility_test.go
- error.go
- provider.go
- provider_test.go
- schema.go
- schema_test.go
- utils.go
- stencil.connect.go
- stencil.pb.go
- namespace_service.go
- schema_service.go
- search_service.go
- test.desc
- api.go
- api_test.go
- namespace.go
- schema.go
- schema_test.go
- search.go
- error_response.go
- logger.go
- recovery.go
- server.go
- 000001_initialize_schema.down.sql
- 000001_initialize_schema.up.sql
- 000002_create_search_data_idx.down.sql
- 000002_create_search_data_idx.up.sql
- namespace_repository.go
- namespace_repository_test.go
- postgres.go
- postgres_test.go
- schema_repository.go
- schema_repository_test.go
- search_repository.go
- errors.go
- graph.go
- logger.go
- favicon.ico
- index.html
- logo192.png
- logo512.png
- manifest.json
- robots.txt
- api.ts
- App.css
- App.test.tsx
- App.tsx
- index.css
- index.tsx
- logo.svg
- react-app-env.d.ts
- reportWebVitals.ts
- setupTests.ts
- .gitignore
- embed.go
- Makefile
- package.json
- README.md
- tsconfig.json
- yarn.lock
- .gitignore
- .golangci.yaml
- .goreleaser.yaml
- buf.gen.yaml
- docker-compose.yml
- Dockerfile
- go.mod
- go.sum
- LICENSE
- main.go
- Makefile
- README.md
# 설치 가이드
git clone https://github.com/raystack/stencil
깃허브에서 프로젝트 코드 전체를 내 컴퓨터로 내려받습니다.
cd stencil
방금 내려받은 프로젝트 폴더 안으로 이동합니다.
2. 공식 설치 스크립트
쉬움 추천- Homebrew macOS/Linux용 패키지 매니저입니다.
brew install raystack/tap/stencil
Homebrew로 이미 빌드된 패키지를 바로 설치합니다. 소스 빌드가 필요 없습니다.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
3. Docker
쉬움- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Docker Desktop 컨테이너를 빌드하고 실행하려면 필요합니다. 설치 후 실행해서 백그라운드에 켜두세요.
docker pull raystack/stencil:latest
이 명령어를 터미널에 그대로 입력해 실행하세요.
docker pull raystack/stencil:v0.5.1
이 명령어를 터미널에 그대로 입력해 실행하세요.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
4. Gradle (Java/Kotlin)
보통- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- JDK (Java) Java/Kotlin 프로젝트를 빌드/실행하려면 필요합니다.
- Gradle 레포에 포함된 gradlew(Gradle Wrapper)를 쓰면 Gradle을 따로 설치할 필요가 없습니다.
cd clients/java
이 프로젝트의 관련 파일이 하위 폴더 안에 있어서, 먼저 그 폴더로 이동합니다.
./gradlew build
Gradle로 빌드를 진행합니다.
5. Node.js
쉬움- Yarn (Needed for UI)
이 명령어를 터미널에 그대로 입력해 실행하세요.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
6. Python
쉬움pip install -r clients/python/requirements.txt
requirements.txt 등에 명시된 파이썬 라이브러리를 설치합니다.
python <실행할 파일명>.py # README에서 정확한 실행 파일명을 확인하세요
파이썬 스크립트(또는 모듈)를 실행합니다.
7. Go
보통cd clients/go
이 프로젝트의 관련 파일이 하위 폴더 안에 있어서, 먼저 그 폴더로 이동합니다.
go build ./...
Go 프로그램을 컴파일해 실행 파일을 만듭니다.
go run .
따로 빌드하지 않고 바로 Go 프로그램을 실행합니다.
8. Make
보통- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Make Linux/macOS는 보통 기본 설치되어 있습니다. Windows는 별도 설치(예: MSYS2, WSL)가 필요합니다.
make
생성된 빌드 설정을 바탕으로 실제 컴파일을 진행해 실행 파일을 만듭니다.
