Skip to content

Commit

Permalink
feat: add server configuration (#39)
Browse files Browse the repository at this point in the history
* feat: add server configuration

Signed-off-by: Mark Phelps <[email protected]>

* chore: rename validater interface

Signed-off-by: Mark Phelps <[email protected]>

* chore: add config docs

Signed-off-by: Mark Phelps <[email protected]>

* fix: map type processing in processValue; add basic unit test

Signed-off-by: Mark Phelps <[email protected]>

* chore: add test workflow

Signed-off-by: Mark Phelps <[email protected]>

* chore: Update docs/configuration.md

Co-authored-by: George <[email protected]>

---------

Signed-off-by: Mark Phelps <[email protected]>
Co-authored-by: George <[email protected]>
  • Loading branch information
markphelps and GeorgeMac authored Nov 19, 2024
1 parent 12095b3 commit 02219bb
Show file tree
Hide file tree
Showing 24 changed files with 693 additions and 86 deletions.
25 changes: 25 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Go Tests

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.23'
check-latest: true

- name: Install dependencies
run: go mod download

- name: Run tests
run: go test -v ./...
44 changes: 22 additions & 22 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,43 +1,43 @@
on:
push:
tags:
- 'v*'
- "v*"

jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Checkout
uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 20
- uses: actions/setup-node@v4
with:
node-version: 20

- run: npm ci
working-directory: ui
- run: npm ci
working-directory: ui

- name: Remove dist entry from .gitignore
run: sed -i '/dist/d' ui/.gitignore
- name: Remove dist entry from .gitignore
run: sed -i '/dist/d' ui/.gitignore

- run: npm run build
working-directory: ui
- run: npm run build
working-directory: ui

- name: Add commit, tag and push changes
run: |
git config user.name "GitHub Actions"
git config user.email "[email protected]"
- name: Add commit, tag and push changes
run: |
git config user.name "GitHub Actions"
git config user.email "[email protected]"
git add ./ui
git add ./ui
git commit -am "feat: adding generated distributable assets"
git commit -am "feat: adding generated distributable assets"
NEW_TAG=$(echo "${{ github.ref }}" | sed 's#^refs/tags/\(.*\)$#ui/\1#')
NEW_TAG=$(echo "${{ github.ref }}" | sed 's#^refs/tags/\(.*\)$#ui/\1#')
echo "Tagging new version $NEW_TAG"
echo "Tagging new version $NEW_TAG"
git tag $NEW_TAG
git tag $NEW_TAG
git push origin $NEW_TAG
git push origin $NEW_TAG
9 changes: 9 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
default_install_hook_types: [commit-msg]
repos:
- repo: https://github.com/compilerla/conventional-pre-commit
rev: v2.3.0
hooks:
- id: conventional-pre-commit
stages: [commit-msg]
33 changes: 33 additions & 0 deletions DEVELOPMENT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Development

## Requirements

- [Go](https://go.dev/) (version 1.23+)
- [Node.js](https://nodejs.org/) (version 20+) (optional, only if you want to build the UI)

## Glu Framework

The core framework is implemented in Go and is designed to be embedded in your own application.
Glu's documentation site goes into details for integrating it into your own codebase and learning the concepts.

If you want to contribute to Glu, then Go (version 1.23+) is currently the only requirement to get building.

## Glu UI

The Glu UI is a [React](https://react.dev/) application that allows you to view and interact with the state of your pipelines.

```
cd ui
npm install
npm start
```

This will start a local server which can be viewed in your browser at http://localhost:1234.

## Conventional Commits

Flipt uses [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) for commit messages. This allows us to automatically generate changelogs and releases. To help with this, we use [pre-commit](https://pre-commit.com/) to automatically lint commit messages. To install pre-commit, run:

`pip install pre-commit` or `brew install pre-commit` (if you're on a Mac)

Then run `pre-commit install` to install the git hook.
23 changes: 3 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,33 +32,16 @@ Use it to implement anything that involes automating updates to Git repositories

- ✅ Track new versions of applications in source repositories (OCI, Helm etc) and trigger updates to target configuration repositories (Git).
- ⌛️ Coordinate any combination of scheduled, event driven or manually triggered promotions from one environment to the next.
- Expose a single pane of glass to compare and manipulating the state of your resources in one environment to the next.
- 🔍 Expose a single pane of glass to compare and manipulate the state of your resources in one environment to the next.
- 🗓️ Export standardized telemetry which ties together your entire end-to-end CI/CD and promotion pipeline sequence of events.

## Development

### Glu Framework

The core framework is implemented in Go and is designed to be embedded in your own application.
Glu's documentation site goes into details for integrating it into your own codebase and learning the concepts.

If you want to contribute to Glu, then Go (version 1.23+) is currently the only requirement to get building.

### Glu UI

The Glu UI is a React application that allows you to view and interact with the state of your pipelines.

```
cd ui
npm install
npm start
```

This will start a local server which can be viewed in your browser at http://localhost:1234.
See [DEVELOPMENT.md](./DEVELOPMENT.md) for more information.

## Roadmap Ideas

In the future we plan to support more use-case, such as:
In the future we plan to support more functionality, such as:

- New sources:
- Helm
Expand Down
2 changes: 1 addition & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Welcome <!-- {docsify-ignore-all} -->
# Welcome <!-- {docsify-ignore} -->

> Glu is progressive delivery as code
Expand Down
2 changes: 2 additions & 0 deletions docs/_sidebar.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- [Getting Started](/)
- [Configuration](/configuration.md)
Loading

0 comments on commit 02219bb

Please sign in to comment.