Skip to content

Commit

Permalink
fix: release.yaml
Browse files Browse the repository at this point in the history
  • Loading branch information
mahendraintelops committed Nov 28, 2023
1 parent dc80967 commit 0121af1
Show file tree
Hide file tree
Showing 4 changed files with 88 additions and 14 deletions.
4 changes: 4 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,10 @@ jobs:
- run: git fetch --force --tags
- name: Initialize and update submodules
run: git submodule update --init --recursive
- name: List Nested Directories
run: |
# List all nested directories
find . -type f
- uses: actions/setup-go@v4
with:
go-version: 1.21
Expand Down
10 changes: 10 additions & 0 deletions .goreleaser.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -88,3 +88,13 @@ nfpms:
formats:
- rpm
- deb

files:
# Include specific files or directories from submodules
- templates/compage-template-go/**
- templates/compage-template-java/**
- templates/compage-template-javascript/**
- templates/compage-template-python/**
- templates/compage-template-typescript/**
- templates/compage-template-rust/**
- templates/compage-template-ruby/**
87 changes: 73 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ IoT and edge services, K8s controllers, K8s CRDs, K8s custom APIs, K8s Operators
by automatically applying best practice methods like software supply chain security measures, SBOM, openAPI,
cloud-events, vulnerability reports, etc. Auto generate code after defining requirements in UI as architecture diagram.

**Specify the requirements for backend workloads in the yaml file, and then auto-generate code, customize it and maintain it.**
**Specify the requirements for backend workloads in the yaml file, and then auto-generate code, customize it and
maintain it.**
> Our goal is to support both auto-generate code and import existing code. Let's see how far we can go with importing
> existing code support. One step at a time!
Expand Down Expand Up @@ -91,6 +92,7 @@ Solution: **Compage**
-------------------------

#### Current features in compage

- An opensource tool that runs on your local cluster (mostly a local cluster running on developer's machine), helps to
visually develop backend workloads for cloud-native & K8s.
- Easy to adopt & use.
Expand All @@ -104,7 +106,7 @@ Solution: **Compage**

#### Languages supported:

> OpenApi Generator based templates (REST)
> OpenApi Generator-based templates (REST)
- GoLang
- Java
Expand All @@ -123,23 +125,80 @@ contribution.

#### How to use Compage?

- A user can download the compage executable binary from releases page suitable for the user's machine architecture. The user can even build the binary from source code.
- Once the binary is downloaded, user can create a yaml file as configuration to be supplied to compage binary. The yaml file can be created by running the command `compage init` and then user can edit the yaml file to add the required configuration.
- A user can download the compage executable binary from releases page suitable for the user's machine architecture. The
user can even build the binary from source code.
- Once the binary is downloaded, user can create a yaml file as configuration to be supplied to compage binary. The yaml
file can be created by running the command `compage init` and then user can edit the yaml file to add the required
configuration.

### Getting Started

To use Compage:

- Download the `compage` binary for your platform from the
official [release page](https://github.com/intelops/compage/releases).

#### Verifying Binary Signatures

Compage's release process signs binaries using Cosign's keyless signing mode.
To verify a specific binary, retrieve the release checksum, signature, and public certificate for your desired `TAG`.
Detailed instructions are available in the [Sigstore blog](https://blog.sigstore.dev/cosign-2-0-released/).

```shell
# Example commands to verify a binary
$ wget https://github.com/intelops/compage/releases/download/v2.0.0-beta/checksums.txt
$ wget https://github.com/intelops/compage/releases/download/v2.0.0-beta/checksums.txt.pem
$ wget https://github.com/intelops/compage/releases/download/v2.0.0-beta/checksums.txt.sig

cosign verify-blob \
--certificate-identity "https://github.com/intelops/compage/.github/workflows/release.yml@refs/tags/v2.0.0-beta" \
--certificate-oidc-issuer "https://token.actions.githubusercontent.com" \
--cert ./checksums.txt.pem \
--signature ./checksums.txt.sig \
./checksums.txt
```

If verification is successful, you'll see "**Verified OK.**"

#### Installation

- Download the compage binary from the official [release page](https://github.com/intelops/compage/releases)
- Move the executable to your `PATH` for convenience.

#### Quick Start

For a quick start, run the following command to generate a sample project:

```shell
compage init
compage generate
```

#### Building from Source

The easiest way to build the `compage` executable is using

#### Build from source code
```shell
## clone the repo
git clone https://github.com/intelops/compage.git
## change directory to compage
cd compage
go build -o compage .
## initialize the config.yaml file
./compage init --serverType grpc
## edit the config.yaml file as per your requirement
## generate the code. Below command accepts serverType [rest, grpc and rest-grpc]
./compage generate
```

This will build the binary from source and place the `compage` binary in the current folder.

To build compage from source:

- Clone the compage repository: `git clone https://github.com/intelops/compage.git`
- Navigate to the project directory: `cd compage`
- Build compage: `CGO_ENABLED=0 go build -o compage .`

The generated binary - compage will be available in the current working directory. You can move it to your PATH or use it
from the current directory.

The `init` command of the compage has a serverType argument which can be used to generate the code for the serverType:

- `rest` for Rest API
- `grpc` for gRPC
- `rest-grpc` for Rest API and gRPC

## Contributing

You are warmly welcome to contribute to Compage.
Expand Down
1 change: 1 addition & 0 deletions cmd/init.go
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ func createOrUpdateDefaultConfigFile() {
}
err = executor.Execute(filePaths, data)
cobra.CheckErr(err)
log.Infof("config file created at %s", configFilePath)
}

func init() {
Expand Down

0 comments on commit 0121af1

Please sign in to comment.