Moving server files to ./server
@@ -1,27 +0,0 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
Thanks for helping us to improve Corteza! We welcome all bug reports. Once we've verified and fixed your issue, we'll ping you in the comments to see if you can verify the fix.
|
||||
We'll give you details on what version can be used to test the fix. Additionally, if you are interested in testing fixes that you ***didn't*** report, look for the issues with
|
||||
the `status/to-test` label. You can pick any of these up for verification. ***You can delete this message portion of the bug report.***
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
@@ -1,24 +0,0 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
Thanks for helping us to improve Corteza! We welcome all feature requests. Once we've addressed your feature request, we'll ping you in the comments to see if you can verify the change.
|
||||
We'll give you details on what version can be used to test the change. Additionally, if you are interested in testing other fixes or feature requests that you ***didn't*** report,
|
||||
look for the issues with the `status/to-test` label. You can pick any of these up for verification. ***You can delete this message portion of the bug report.***
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the feature request here.
|
||||
@@ -1,16 +0,0 @@
|
||||
Please take a look.
|
||||
|
||||
<!--
|
||||
Checklist:
|
||||
|
||||
1. API changes have been discussed,
|
||||
2. Source code must be formatted (`go fmt`),
|
||||
3. Codegen shouldn't produce modified files,
|
||||
4. Builds pass,
|
||||
5. Tests pass,
|
||||
6. Linked to relevant issues
|
||||
|
||||
When you are writing pull request title and describing changes, follow
|
||||
commit message format in the CONTRIBUTING.md in the codebase root.
|
||||
|
||||
-->
|
||||
|
Before Width: | Height: | Size: 696 KiB |
@@ -1 +0,0 @@
|
||||
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 241.45 38.63"><defs><style>.cls-1{fill:#95b4af;}</style></defs><path class="cls-1" d="M2.51,9.38A18,18,0,0,1,9.37,2.51,19.49,19.49,0,0,1,19.13.05,19.15,19.15,0,0,1,30.21,3.3a17,17,0,0,1,6.64,9h-8.7A9,9,0,0,0,24.5,8.21a10.67,10.67,0,0,0-5.43-1.35A11.24,11.24,0,0,0,13.21,8.4a10.6,10.6,0,0,0-4,4.35,14.41,14.41,0,0,0-1.43,6.59,14.44,14.44,0,0,0,1.43,6.57,10.55,10.55,0,0,0,4,4.38,11.24,11.24,0,0,0,5.86,1.54,10.49,10.49,0,0,0,5.43-1.38,9.16,9.16,0,0,0,3.65-4.08h8.7a16.92,16.92,0,0,1-6.62,9,19.27,19.27,0,0,1-11.1,3.21,19.49,19.49,0,0,1-9.76-2.46,18,18,0,0,1-6.86-6.83A19.69,19.69,0,0,1,0,19.34,19.76,19.76,0,0,1,2.51,9.38Z"/><path class="cls-1" d="M50.43,36.15a18.53,18.53,0,0,1-7-6.89,19.28,19.28,0,0,1-2.59-10A19.13,19.13,0,0,1,43.4,9.38a18.46,18.46,0,0,1,7-6.89,20.29,20.29,0,0,1,19.48,0,18.37,18.37,0,0,1,7,6.89,19.31,19.31,0,0,1,2.56,9.91,19.45,19.45,0,0,1-2.56,10,18.38,18.38,0,0,1-7,6.89,20.31,20.31,0,0,1-19.45,0Zm15.72-5.81a10.53,10.53,0,0,0,4-4.4,14.38,14.38,0,0,0,1.46-6.65,14.2,14.2,0,0,0-1.46-6.62,10.4,10.4,0,0,0-4-4.35,12.72,12.72,0,0,0-12,0,10.34,10.34,0,0,0-4.08,4.35,14.32,14.32,0,0,0-1.46,6.62,14.51,14.51,0,0,0,1.46,6.65,10.47,10.47,0,0,0,4.08,4.4,12.5,12.5,0,0,0,12,0Z"/><path class="cls-1" d="M103.92,38.26,95.6,23.56H92v14.7H84.47V.54H98.62a16.49,16.49,0,0,1,7.46,1.54,10.8,10.8,0,0,1,4.62,4.16,11.32,11.32,0,0,1,1.54,5.86,11.23,11.23,0,0,1-2.16,6.73A11,11,0,0,1,103.65,23l9,15.3ZM92,17.89h6.32A6.33,6.33,0,0,0,103,16.4a5.52,5.52,0,0,0,1.51-4.13,5.29,5.29,0,0,0-1.51-4,6.5,6.5,0,0,0-4.6-1.43H92Z"/><path class="cls-1" d="M142.88.54V6.65h-10V38.26h-7.57V6.65H115.21V.54Z"/><path class="cls-1" d="M155.32,6.65V16.1H168v6h-12.7v10h14.32v6.16H147.75V.49h21.89V6.65Z"/><path class="cls-1" d="M185.42,31.88h17v6.38H176.66V32.42l16.86-25.5H176.66V.54h25.72V6.38Z"/><path class="cls-1" d="M231,31.07H216l-2.49,7.19h-7.94L219.08.49h8.81l13.56,37.77h-8ZM228.91,25,223.46,9.24,218,25Z"/></svg>
|
||||
|
Before Width: | Height: | Size: 1.9 KiB |
@@ -1,23 +0,0 @@
|
||||
name: Build
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 2022.9.x
|
||||
jobs:
|
||||
build:
|
||||
name: Build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- uses: sonarsource/sonarqube-scan-action@master
|
||||
env:
|
||||
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN_202209 }}
|
||||
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}
|
||||
# If you wish to fail your job when the Quality Gate is red, uncomment the
|
||||
# following lines. This would typically be used to fail a deployment.
|
||||
# - uses: sonarsource/sonarqube-quality-gate-action@2022.9.x
|
||||
# timeout-minutes: 5
|
||||
# env:
|
||||
# SONAR_TOKEN: ${{ secrets.SONAR_TOKEN_202209 }}
|
||||
@@ -1,28 +0,0 @@
|
||||
name: checks
|
||||
|
||||
on: [pull_request]
|
||||
|
||||
|
||||
jobs:
|
||||
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v1
|
||||
with:
|
||||
go-version: 1.18
|
||||
- uses: actions/cache@v2
|
||||
if: ${{ !env.ACT }}
|
||||
with:
|
||||
path: ~/go/pkg/mod
|
||||
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
||||
restore-keys: ${{ runner.os }}-go-
|
||||
- run: make test.coverprofile.all
|
||||
env:
|
||||
GOFLAGS: -mod=readonly
|
||||
- uses: codecov/codecov-action@v1
|
||||
with:
|
||||
token: 628a7104-4ec8-46ef-a3a8-50b0c2507082
|
||||
files: .cover.out
|
||||
fail_ci_if_error: true
|
||||
@@ -1,92 +0,0 @@
|
||||
name: notify
|
||||
|
||||
on:
|
||||
issues:
|
||||
issue_comment:
|
||||
release:
|
||||
pull_request_review_comment:
|
||||
types: [ created ]
|
||||
pull_request:
|
||||
types: [ opened, reopened, closed ]
|
||||
|
||||
jobs:
|
||||
send-message:
|
||||
runs-on: ubuntu-latest
|
||||
name: Send message via Matrix on issue
|
||||
steps:
|
||||
|
||||
- name: Dump GitHub context
|
||||
env:
|
||||
GITHUB_CONTEXT: ${{ toJson(github) }}
|
||||
run: |
|
||||
echo "$GITHUB_CONTEXT"
|
||||
|
||||
# only if not a comment
|
||||
- name: Send message on issue
|
||||
if: ${{ !github.event.comment && github.event.issue }}
|
||||
id: matrix-chat-issue
|
||||
uses: fadenb/matrix-chat-message@v0.0.6
|
||||
with:
|
||||
homeserver: ${{ secrets.MATRIX_HOME_SERVER }}
|
||||
token: ${{ secrets.MATRIX_ACCESS_TOKEN }}
|
||||
channel: ${{ secrets.MATRIX_ROOM_ID }}
|
||||
message: |
|
||||
### [ ${{ github.event.repository.name }} ]
|
||||
An issue has been **${{ github.event.action }}** by ${{ github.triggering_actor }}\
|
||||
More info [here](${{ github.event.issue.html_url }})
|
||||
|
||||
# only for comments
|
||||
- name: Send message on issue comment
|
||||
if: github.event_name == 'issue_comment'
|
||||
id: matrix-chat-issue-comment
|
||||
uses: fadenb/matrix-chat-message@v0.0.6
|
||||
with:
|
||||
homeserver: ${{ secrets.MATRIX_HOME_SERVER }}
|
||||
token: ${{ secrets.MATRIX_ACCESS_TOKEN }}
|
||||
channel: ${{ secrets.MATRIX_ROOM_ID }}
|
||||
message: |
|
||||
### [ ${{ github.event.repository.name }} ]
|
||||
An issue comment has been **${{ github.event.action }}** by ${{ github.triggering_actor }}\
|
||||
More info [here](${{ github.event.issue.html_url }})
|
||||
|
||||
# only for releases
|
||||
- name: Send message on release
|
||||
if: github.event_name == 'release'
|
||||
id: matrix-chat-release
|
||||
uses: fadenb/matrix-chat-message@v0.0.6
|
||||
with:
|
||||
homeserver: ${{ secrets.MATRIX_HOME_SERVER }}
|
||||
token: ${{ secrets.MATRIX_ACCESS_TOKEN }}
|
||||
channel: ${{ secrets.MATRIX_ROOM_ID }}
|
||||
message: |
|
||||
### [ ${{ github.event.repository.name }} ]
|
||||
A release **${{ github.event.release.tag_name }}** has been **${{ github.event.action }}** by ${{ github.event.release.author.login }}\
|
||||
More info [here](${{ github.event.release.html_url }})
|
||||
|
||||
# only for PR comments
|
||||
- name: Send message on PR comment
|
||||
if: github.event_name == 'pull_request_review_comment'
|
||||
id: matrix-chat-pr-commented
|
||||
uses: fadenb/matrix-chat-message@v0.0.6
|
||||
with:
|
||||
homeserver: ${{ secrets.MATRIX_HOME_SERVER }}
|
||||
token: ${{ secrets.MATRIX_ACCESS_TOKEN }}
|
||||
channel: ${{ secrets.MATRIX_ROOM_ID }}
|
||||
message: |
|
||||
### [ ${{ github.event.repository.name }} ]
|
||||
A Pull Request has been **commented on** by ${{ github.event.sender.login }}\
|
||||
More info [here](${{ github.event.pull_request._links.html.href }})
|
||||
|
||||
# only for PR actions
|
||||
- name: Send message on PR action
|
||||
if: github.event_name == 'pull_request'
|
||||
id: matrix-chat-pr
|
||||
uses: fadenb/matrix-chat-message@v0.0.6
|
||||
with:
|
||||
homeserver: ${{ secrets.MATRIX_HOME_SERVER }}
|
||||
token: ${{ secrets.MATRIX_ACCESS_TOKEN }}
|
||||
channel: ${{ secrets.MATRIX_ROOM_ID }}
|
||||
message: |
|
||||
### [ ${{ github.event.repository.name }} ]
|
||||
A Pull Request has been **${{ github.event.action }}** by ${{ github.event.sender.login }}\
|
||||
More info [here](${{ github.event.pull_request._links.html.href }})
|
||||
@@ -1,126 +0,0 @@
|
||||
name: release
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- '**'
|
||||
|
||||
|
||||
jobs:
|
||||
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
GOFLAGS: -mod=readonly
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v1
|
||||
with:
|
||||
go-version: 1.18
|
||||
- uses: actions/cache@v2
|
||||
if: ${{ !env.ACT }}
|
||||
with:
|
||||
path: ~/go/pkg/mod
|
||||
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
||||
restore-keys: ${{ runner.os }}-go-
|
||||
- run: make test.all
|
||||
|
||||
# Building web console for server and cache it for release-* steps
|
||||
# we'll do this in parallel with tests to gain a few seconds
|
||||
build-web-console:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: '16'
|
||||
- uses: actions/cache@v2
|
||||
if: ${{ !env.ACT }}
|
||||
with:
|
||||
path: ~/.npm
|
||||
key: ${{ runner.OS }}-node-${{ hashFiles('**/yarn.lock') }}
|
||||
restore-keys: ${{ runner.OS }}-node-
|
||||
- name: Install dependencies
|
||||
working-directory: ./webconsole
|
||||
run: yarn install
|
||||
- name: Build Package
|
||||
working-directory: ./webconsole
|
||||
run: yarn build
|
||||
|
||||
- name: Cache console build
|
||||
uses: actions/cache@v2
|
||||
with: { path: ./webconsole/dist, key: console-build }
|
||||
|
||||
release-linux:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [ build-web-console, test ]
|
||||
env:
|
||||
BUILD_OS: linux
|
||||
BUILD_ARCH: amd64
|
||||
RELEASE_SFTP_KEY: ${{ secrets.RELEASE_SFTP_KEY }}
|
||||
RELEASE_SFTP_URI: ${{ secrets.RELEASE_SFTP_URI }}
|
||||
steps:
|
||||
- run: echo "BUILD_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v1
|
||||
with:
|
||||
go-version: 1.18
|
||||
|
||||
- name: Restore console build from cache
|
||||
uses: actions/cache@v2
|
||||
with: { path: ./webconsole/dist, key: console-build }
|
||||
|
||||
- run: make release-clean release
|
||||
- run: make upload
|
||||
if: ${{ !env.ACT }}
|
||||
|
||||
release-darwin:
|
||||
runs-on: macos-latest
|
||||
needs: [ build-web-console, test ]
|
||||
env:
|
||||
BUILD_OS: darwin
|
||||
BUILD_ARCH: amd64
|
||||
BUILD_VERSION: ${{ format(github.ref, 'refs/tags/', '') }}
|
||||
RELEASE_SFTP_KEY: ${{ secrets.RELEASE_SFTP_KEY }}
|
||||
RELEASE_SFTP_URI: ${{ secrets.RELEASE_SFTP_URI }}
|
||||
steps:
|
||||
- run: echo "BUILD_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v1
|
||||
with:
|
||||
go-version: 1.18
|
||||
- uses: actions/cache@v2
|
||||
if: ${{ !env.ACT }}
|
||||
with:
|
||||
path: ~/go/pkg/mod
|
||||
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
||||
restore-keys: ${{ runner.os }}-go-
|
||||
|
||||
- name: Restore console build from cache
|
||||
uses: actions/cache@v2
|
||||
with: { path: ./webconsole, key: console-build }
|
||||
|
||||
- run: make release-clean release
|
||||
- run: make upload
|
||||
if: ${{ !env.ACT }}
|
||||
|
||||
release-docker:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [ release-linux ]
|
||||
env:
|
||||
BUILD_OS: linux
|
||||
BUILD_ARCH: amd64
|
||||
steps:
|
||||
- run: echo "BUILD_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
|
||||
- uses: actions/checkout@v2
|
||||
- uses: docker/login-action@v1
|
||||
if: ${{ !env.ACT }}
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
- run: |
|
||||
docker build --build-arg "VERSION=${{ env.BUILD_VERSION }}" \
|
||||
-t cortezaproject/corteza-server:${{ env.BUILD_VERSION }} .
|
||||
if: ${{ !env.ACT }}
|
||||
- run: docker push cortezaproject/corteza-server:${{ env.BUILD_VERSION }}
|
||||
if: ${{ !env.ACT }}
|
||||
@@ -1,64 +0,0 @@
|
||||
name: snapshot
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 2021.3.x*
|
||||
- 2021.6.x*
|
||||
- 2021.9.x*
|
||||
- 2021.12.x*
|
||||
- 2022.3.x*
|
||||
- 2022.9.x*
|
||||
|
||||
jobs:
|
||||
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
GOFLAGS: -mod=readonly
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v1
|
||||
with:
|
||||
go-version: 1.18
|
||||
- uses: actions/cache@v2
|
||||
if: ${{ !env.ACT }}
|
||||
with:
|
||||
path: ~/go/pkg/mod
|
||||
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
||||
restore-keys: ${{ runner.os }}-go-
|
||||
- run: make test.all
|
||||
|
||||
snapshot-docker:
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
- test
|
||||
env:
|
||||
BUILD_OS: linux
|
||||
BUILD_ARCH: amd64
|
||||
BUILD_VERSION_SHA: ${GITHUB_SHA}
|
||||
steps:
|
||||
- run: echo "BUILD_VERSION_REF=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV
|
||||
- uses: actions/checkout@v2
|
||||
- uses: docker/login-action@v1
|
||||
if: ${{ !env.ACT }}
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
- uses: docker/login-action@v1
|
||||
if: ${{ !env.ACT }}
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: |
|
||||
docker build --build-arg "BUILD_VERSION=${{ env.BUILD_VERSION_REF }}" \
|
||||
--tag ghcr.io/cortezaproject/corteza-server:${{ env.BUILD_VERSION_SHA }} \
|
||||
--tag ghcr.io/cortezaproject/corteza-server:${{ env.BUILD_VERSION_REF }} \
|
||||
--file Dockerfile.snapshot \
|
||||
.
|
||||
if: ${{ !env.ACT }}
|
||||
- run: docker push ghcr.io/cortezaproject/corteza-server:${{ env.BUILD_VERSION_SHA }}
|
||||
if: ${{ !env.ACT }}
|
||||
- run: docker push ghcr.io/cortezaproject/corteza-server:${{ env.BUILD_VERSION_REF }}
|
||||
if: ${{ !env.ACT }}
|
||||
@@ -1,27 +0,0 @@
|
||||
# This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time.
|
||||
#
|
||||
# You can adjust the behavior by modifying this file.
|
||||
# For more information, see:
|
||||
# https://github.com/actions/stale
|
||||
name: Mark stale issues and pull requests
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '27 6 * * *'
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
- uses: actions/stale@v3
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
stale-issue-message: 'Stale issue message'
|
||||
stale-pr-message: 'Stale pull request message'
|
||||
stale-issue-label: 'no-issue-activity'
|
||||
stale-pr-label: 'no-pr-activity'
|
||||
@@ -1,77 +0,0 @@
|
||||
# Contributing
|
||||
|
||||
Thank you for helping us make [our vision](https://cortezaproject.org/about/what-is-corteza/) a reality!
|
||||
All contributions are welcome; from bug reports, codefixes, and new features!
|
||||
|
||||
## Ground Rules
|
||||
|
||||
Corteza projects are [Apache 2.0 licensed](LICENSE) and accept contributions via GitHub pull requests.
|
||||
|
||||
Cover the [terminology](https://docs.cortezaproject.org/corteza-docs/2022.3/developer-guide/release-cycle/index.html#_terminology) for the development process and versioning.
|
||||
|
||||
Cover the [Git and GitHub](https://docs.cortezaproject.org/corteza-docs/2022.3/developer-guide/release-cycle/index.html#_github) ground rules regarding branch naming and conventions.
|
||||
|
||||
When you wish to start working on a code contribution, assign yourself to a GitHub issue.
|
||||
If there is no issue, create one beforehand.
|
||||
|
||||
A quick summary on [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/):
|
||||
|
||||
1. Separate subject from body with a blank line
|
||||
2. Limit the subject line to 50 characters
|
||||
3. Capitalize the subject line
|
||||
4. Do not end the subject line with a period
|
||||
5. Use the imperative mood in the subject line
|
||||
6. Wrap the body at 72 characters
|
||||
7. Use the body to explain what and why vs. how
|
||||
|
||||
## Core repositories
|
||||
|
||||
### Corteza Server
|
||||
|
||||
Corteza server is the back-end of the Corteza ecosystem.
|
||||
The core logic is written in GO, using [go-chi](https://pkg.go.dev/github.com/go-chi/chi@v3.3.4+incompatible?utm_source=gopls) for the routing.
|
||||
|
||||
Communication between the Corteza server and web applications is done using the REST API and web sockets.
|
||||
Communication between back-end services (Corteza server and Corredor) is done using gRPC.
|
||||
|
||||
The [Developer Guide/Corteza Server](https://docs.cortezaproject.org/corteza-docs/2022.3/developer-guide/corteza-server/index.html) covers the [development setup](https://docs.cortezaproject.org/corteza-docs/2022.3/developer-guide/corteza-server/index.html#_development_setup), the [project structure](https://docs.cortezaproject.org/corteza-docs/2022.3/developer-guide/corteza-server/structure.html), and the feature insight documents.
|
||||
|
||||
|
||||
### Corteza Web Applications
|
||||
|
||||
The web applications are written in Vue.js and provide the user interface to interact with the entire system.
|
||||
The repositories:
|
||||
|
||||
1. [corteza-webapp-one](https://github.com/cortezaproject/corteza-webapp-one)
|
||||
2. [corteza-webapp-admin](https://github.com/cortezaproject/corteza-webapp-admin)
|
||||
3. [corteza-webapp-compose](https://github.com/cortezaproject/corteza-webapp-compose)
|
||||
4. [corteza-webapp-workflow](https://github.com/cortezaproject/corteza-webapp-workflow)
|
||||
4. [corteza-webapp-reporter](https://github.com/cortezaproject/corteza-webapp-reporter)
|
||||
4. [corteza-webapp-discovery](https://github.com/cortezaproject/corteza-webapp-discovery)
|
||||
|
||||
Communication between the Corteza server and web applications is done using the REST API and web sockets.
|
||||
|
||||
The [Developer Guide/Corteza Web Applications](https://docs.cortezaproject.org/corteza-docs/2022.3/developer-guide/web-applications/index.html) covers the [development setup](https://docs.cortezaproject.org/corteza-docs/2022.3/developer-guide/web-applications/index.html#_development_setup), the [project structure](https://docs.cortezaproject.org/corteza-docs/2022.3/developer-guide/web-applications/structure.html), and the feature insight documents.
|
||||
|
||||
### Documentation
|
||||
|
||||
The documentation is written in [AsciiDoc](https://asciidoc.org/) and compiled using [Antora](https://antora.org/).
|
||||
The source code is available on the [GitHub cortezaproject/corteza-docs repository](https://github.com/cortezaproject/corteza-docs); the generated output is available on the [documentation page](http://docs.cortezaproject.org/).
|
||||
|
||||
The [Developer Guide/Documentation](https://docs.cortezaproject.org/corteza-docs/2022.3/developer-guide/documentation/index.html) covers the [conventions](https://docs.cortezaproject.org/corteza-docs/2022.3/developer-guide/documentation/index.html#_conventions), [writing guidelines](https://docs.cortezaproject.org/corteza-docs/2022.3/developer-guide/documentation/index.html#documentation-writing-guidelines), as well as some [examples](https://docs.cortezaproject.org/corteza-docs/2022.3/developer-guide/documentation/examples/index.html) to help you get started.
|
||||
|
||||
## Bug reporting
|
||||
|
||||
Please submit any bug reports on the **issues** section of the corresponding GitHub repository.
|
||||
If you are unsure where to submit the issue, or you are unsure if this is a feature; reach out to us on [our forum](https://forum.cortezaproject.org/).
|
||||
|
||||
## Feature requests
|
||||
|
||||
Feature and improvement requests should be submitted on [our forum](https://forum.cortezaproject.org/).
|
||||
Before opening a new topic, search around to see if there are any similar topics that would cover your case.
|
||||
|
||||
## DCO
|
||||
|
||||
By contributing to this project you agree to the Developer Certificate of Origin (DCO).
|
||||
This document was created by the Linux Kernel community and is a simple statement that you, as a contributor, have the legal right to make the contribution.
|
||||
See the [DCO](DCO) file for details.
|
||||
@@ -1,111 +0,0 @@
|
||||
<h1 align="center">
|
||||
<img width="300px" src=".github/assets/corteza_logo.svg" />
|
||||
<br />
|
||||
<p>Corteza Server</p>
|
||||
|
||||
<div align="center">
|
||||
|
||||
[](https://img.shields.io/docker/pulls/cortezaproject/corteza-server)
|
||||
[](https://img.shields.io/github/v/tag/cortezaproject/corteza-server?label=stable%20version)
|
||||
[](https://img.shields.io/github/license/cortezaproject/corteza-server)
|
||||
|
||||
[](https://goreportcard.com/report/github.com/cortezaproject/corteza-server)
|
||||
[](https://img.shields.io/codecov/c/github/cortezaproject/corteza-server)
|
||||
|
||||
</div>
|
||||
</h1>
|
||||
|
||||
<br />
|
||||
|
||||
**Corteza server** is the **back-end** of the Corteza ecosystem.
|
||||
The core logic is written in GO, using [go-chi](https://pkg.go.dev/github.com/go-chi/chi@v3.3.4+incompatible?utm_source=gopls) for the routing.
|
||||
External communication occurs via the **REST API and web sockets**; internal communication happens via gRPC.
|
||||
|
||||
Non-binary data is handled by the store layer and stored inside a database; currently **MySQL and PostgreSQL**.
|
||||
We will add support for additional databases in the future.
|
||||
Binary data is handled locally or on a supported cloud provider using [MinIO](https://min.io/).
|
||||
|
||||
<br />
|
||||
|
||||
## What is Corteza?
|
||||
|
||||
<div align="center">
|
||||
<img style="max-height: 350px;" src=".github/assets/corteza_dashboard.png" />
|
||||
</div>
|
||||
|
||||
Corteza is the only **100% free**, **open-source**, **standardized** and **enterprise-grade** Low-code platform.
|
||||
It is developed entirely in the public domain and maintained by [Crust Technology](https://www.crust.tech/), its founder.
|
||||
|
||||
With Corteza, you can quickly **build scalable cloud applications** that are **integrable** with external services and **accessible (WCAG 2.1)**.
|
||||
|
||||
### Core features:
|
||||
|
||||
* quick setup,
|
||||
* flexible and intuitive low-code configuration,
|
||||
* powerful automation system using workflows and automation scripts,
|
||||
* flexible reporting capabilities,
|
||||
* secure RBAC access control system.
|
||||
|
||||
## Online demo
|
||||
|
||||
You can check out Corteza online by creating an account on our community instance https://latest.cortezaproject.org.
|
||||
|
||||
## Deploying Corteza
|
||||
|
||||
Refer to the [DevOps guide](https://docs.cortezaproject.org/corteza-docs/2022.3/devops-guide/index.html) for a complete guide on how to get Corteza up and running.
|
||||
Additionally, we've provided some [video instructions](https://forum.cortezaproject.org/t/videos-on-how-to-set-up-corteza/91).
|
||||
|
||||
Quick references:
|
||||
|
||||
* [data backup and restore](https://docs.cortezaproject.org/corteza-docs/2022.3/devops-guide/maintenance/backups.html)
|
||||
* [troubleshooting](https://docs.cortezaproject.org/corteza-docs/2022.3/devops-guide/troubleshooting/index.html)
|
||||
* [setting up an email relay](https://docs.cortezaproject.org/corteza-docs/2022.3/devops-guide/email-relay.html)
|
||||
* [setting up sink routes](https://docs.cortezaproject.org/corteza-docs/2022.3/devops-guide/sink-route.html)
|
||||
|
||||
## Upgrading Corteza
|
||||
|
||||
[](https://img.shields.io/github/v/tag/cortezaproject/corteza-server?label=latest%20stable%20version)
|
||||
|
||||
Refer to the [changelog](https://docs.cortezaproject.org/corteza-docs/2022.3/changelog/index.html) and the [upgrade guide](https://docs.cortezaproject.org/corteza-docs/2022.3/devops-guide/upgrade/index.html) to upgrade your Corteza instance.
|
||||
|
||||
## Using Corteza
|
||||
|
||||
Refer to the [End-User Guide](https://docs.cortezaproject.org/corteza-docs/2022.3/end-user-guide/index.html) to learn the built-in applications and features from the end-user perspective.
|
||||
|
||||
Quick references:
|
||||
|
||||
* [Corteza CRM](https://docs.cortezaproject.org/corteza-docs/2022.3/end-user-guide/crm/index.html)
|
||||
* [Corteza Case Management](https://docs.cortezaproject.org/corteza-docs/2022.3/end-user-guide/case-management/index.html)
|
||||
|
||||
## Create with Corteza
|
||||
|
||||
Refer to the [Integrator Guide](https://docs.cortezaproject.org/corteza-docs/2022.3/integrator-guide/index.html) to learn how you can build on the core features to create virtually anything.
|
||||
|
||||
Quick references:
|
||||
|
||||
* [Corteza Compose configuration](https://docs.cortezaproject.org/corteza-docs/2022.3/integrator-guide/compose-configuration/index.html)
|
||||
* automation using [workflows](https://docs.cortezaproject.org/corteza-docs/2022.3/integrator-guide/automation/workflows/index.html) and [automation scripts](https://docs.cortezaproject.org/corteza-docs/2022.3/integrator-guide/automation/automation-scripts/index.html)
|
||||
* [using the REST API](https://docs.cortezaproject.org/corteza-docs/2022.3/integrator-guide/accessing-corteza/index.html),
|
||||
|
||||
## Contributing
|
||||
|
||||
Refer to the [Developer Guide/Corteza Server](https://docs.cortezaproject.org/corteza-docs/2022.3/developer-guide/corteza-server/index.html) document for details regarding the [development setup](https://docs.cortezaproject.org/corteza-docs/2022.3/developer-guide/corteza-server/index.html#_development_setup), the [project structure](https://docs.cortezaproject.org/corteza-docs/2022.3/developer-guide/corteza-server/structure.html), and the feature insight documents.
|
||||
|
||||
Refer to the [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines and code of conduct.
|
||||
|
||||
Quick command reference:
|
||||
|
||||
* run server: `make watch` or `make realize`
|
||||
* run unit tests: `make test.unit`
|
||||
* run integration tests: `make test.integration`
|
||||
* run all tests `make test.all`
|
||||
* run MailHog (local SMTP server): `make mailhog.up` (requires Docker)
|
||||
|
||||
## Community
|
||||
|
||||
Reach out to us on [our forum](https://forum.cortezaproject.org/).
|
||||
|
||||
## License
|
||||
|
||||
Corteza is released under the Apache-2.0 license.
|
||||
Refer to the [LICENSE](LICENSE) file for additional information.
|
||||
@@ -1,16 +0,0 @@
|
||||
# Corteza Server automated testing
|
||||
|
||||
Corteza server has three types of automated tests: unit, store and integration tests.
|
||||
|
||||
## Unit tests
|
||||
|
||||
Unit tests follow common Golang testing patterns with `_test.go` files inside packages.
|
||||
Test files use the same package name as the non-test files to allow testing of unexported functions
|
||||
|
||||
## Store tests
|
||||
|
||||
[Store tests](store/tests) are intended to verify implementation of the persistence layer across multiple store backends.
|
||||
|
||||
## Integration tests
|
||||
|
||||
[integration tests](tests/README.md) are intended to verify correct exectution of API request to storage layer and back.
|
||||
@@ -1,82 +0,0 @@
|
||||
# Corteza codegen tools and definitions
|
||||
|
||||
## History
|
||||
|
||||
See [old codegen](../pkh/codegen/README.md).
|
||||
|
||||
## Plans
|
||||
|
||||
Right now, Corteza is migrating its old YAML definitions to CUE.
|
||||
We are also simplifying all templates by moving as much data manipulation to Cue as possible.
|
||||
|
||||
### Todo
|
||||
- options documentation (see assets/templates/docs/options.gen.adoc.tpl)
|
||||
|
||||
|
||||
## Intro
|
||||
|
||||
Codegen tools are based on [cuelang](https://cuelang.org/docs/tutorials/) and golang templates.
|
||||
|
||||
**What you can find here:**
|
||||
- [codegen definitions in `codegen/`](./)
|
||||
- [templates in `codegen/asset/templates`](./asset/templates)
|
||||
- [schemas in `codegen/schema`](./schema)
|
||||
- [template exec tool in `codegen/tool`](./tool)
|
||||
|
||||
Platform, component and resource definitions (.cue files) can be found in:
|
||||
- `app`
|
||||
- `automation`
|
||||
- `system`
|
||||
- `compose`
|
||||
- `federation`
|
||||
|
||||
## Running code generator
|
||||
|
||||
When a definitions or templates are changed all outputs need to be regenerated
|
||||
|
||||
This can be done with the following command (the root of the project)
|
||||
```shell
|
||||
make codegen
|
||||
```
|
||||
|
||||
Inside `/codegen` you can run codegen with different options
|
||||
```shell
|
||||
# generate all
|
||||
make
|
||||
|
||||
# generate only server files (golang code, .env.example, ...)
|
||||
make server
|
||||
|
||||
# generate only docs (asciidoc files)
|
||||
make docs
|
||||
|
||||
# generate for only one specific codegen definition
|
||||
make server.options.cue
|
||||
make docs.options.cue
|
||||
|
||||
# or more of them at once
|
||||
make server.options.cue docs.options.cue
|
||||
```
|
||||
|
||||
|
||||
## How does it work?
|
||||
|
||||
### High-level overview
|
||||
|
||||
See [Makefile's `codegen` task](../Makefile)
|
||||
|
||||
1. evaluate codegen instructions (see [platform.cue](./platform.cue))
|
||||
2. output instructions as JSON
|
||||
3. pipe JSON into [template exec tool](./tool)
|
||||
4. process instructions, load and execute templates and write to output files.
|
||||
|
||||
### Definition structure
|
||||
|
||||
#### Codegen instructions
|
||||
|
||||
Collection of `#codegen` structs with template + payload + output instructions. Template exec tool iterates over collection and creates output from each one.
|
||||
endpoints (unrelated to specific component)
|
||||
|
||||
# Troubleshooting
|
||||
|
||||
1. Make sure you have the latest version of cue (0.4.2 or newer)
|
||||
@@ -1,14 +0,0 @@
|
||||
# Code generation package
|
||||
|
||||
See [latest codegen version](../../codegen/README.md).
|
||||
|
||||
It consumes YAMLs from all known locations and provides them to
|
||||
templates
|
||||
|
||||
- determinate all known locations for yaml files
|
||||
- determinate all known output types (go?, html?, adocs?)
|
||||
- can we read this from the filename?
|
||||
- define structure for all locations
|
||||
- define outputs
|
||||
- can be a static file
|
||||
- can have placeholders that are assembled from the structure, and yaml file contents
|
||||
@@ -1,37 +0,0 @@
|
||||
# Security
|
||||
|
||||
At Corteza, the security of our products and services is important to us.
|
||||
All of our source code repositories are managed through GitHub organisations.
|
||||
Here is the list of [Corteza Repositories](https://github.com/orgs/cortezaproject/repositories)
|
||||
|
||||
If you believe you have found a security vulnerability in any Corteza repository, please report it to us as described below.
|
||||
|
||||
## Reporting Security Issues
|
||||
|
||||
**Please do not report security vulnerabilities through public GitHub issues.**
|
||||
|
||||
Instead, please send email to [info@cortezaproject.org](mailto:info@cortezaproject.org).
|
||||
|
||||
You should receive a response within 24 business hours. If for some reason you do not,
|
||||
please follow up via email to ensure we received your original message.
|
||||
|
||||
Please include the requested information listed below (as much as you can provide)
|
||||
to help us better understand the nature and scope of the possible issue:
|
||||
|
||||
* Type of issue,
|
||||
* full paths of source file(s) related to the manifestation of the issue,
|
||||
* the location of the affected source code (tag/branch/commit or direct URL),
|
||||
* any special configuration required to reproduce the issue,
|
||||
* step-by-step instructions to reproduce the issue,
|
||||
* proof-of-concept or exploit code (if possible),
|
||||
* impact of the issue, including how an attacker might exploit the issue.
|
||||
|
||||
This information will help us triage your report more quickly.
|
||||
|
||||
## Preferred Languages
|
||||
|
||||
We prefer all communications to be in English.
|
||||
|
||||
## Policy
|
||||
|
||||
[Corteza Privacy Policy](https://cortezaproject.org/privacy-policy/)
|
||||
|
Before Width: | Height: | Size: 702 B After Width: | Height: | Size: 702 B |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 1.8 MiB After Width: | Height: | Size: 1.8 MiB |