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

all #15

Closed
wants to merge 43 commits into from
Closed

all #15

Show file tree
Hide file tree
Changes from 41 commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
e80d08b
initial version
avivpxi Oct 23, 2023
9b097fa
remove source maps
avivpxi Oct 24, 2023
5af11ff
remove ui/build + add lean build tag
avivpxi Oct 24, 2023
c119d19
remove ui/build + add lean build tag
avivpxi Oct 24, 2023
854dc75
remove lean build tag
avivpxi Oct 24, 2023
9c68d0a
debug
avivpxi Oct 24, 2023
3a8c42d
remove debug
avivpxi Oct 24, 2023
31eb812
fix host in closed network
avivpxi Oct 25, 2023
cfe8125
add getters to allow interfaces
avivpxi Oct 25, 2023
7153b25
redo network to support closed network
avivpxi Oct 26, 2023
cba5456
redo network to support closed network
avivpxi Oct 26, 2023
4f21c27
redo network to support closed network
avivpxi Oct 26, 2023
9a22db2
redo network to support closed network
avivpxi Oct 26, 2023
599ae5a
fix open network
avivpxi Oct 26, 2023
eec5417
fix open network
avivpxi Oct 26, 2023
accce99
fix ui issue with counting api call time
avivpxi Oct 28, 2023
d9ed6de
receive a pointer to seed data to allow late modifications
avivpxi Oct 31, 2023
b67cdaf
UI: make default component tab - output
avivpxi Nov 2, 2023
99798a2
Merge pull request #1 from PerimeterX/light2
avivpxi Nov 2, 2023
bf4d542
fix UI info tab issue
avivpxi Nov 3, 2023
78a72a6
Merge pull request #2 from PerimeterX/fix-ui
avivpxi Nov 3, 2023
e073083
fix broken UI links
avivpxi Nov 5, 2023
c3dcd99
Merge pull request #3 from PerimeterX/fix-link
avivpxi Nov 5, 2023
eebfadf
add partial status - starting and failed
avivpxi Nov 13, 2023
fc912a7
add /etc/hosts validation
avivpxi Nov 14, 2023
5a8364b
fix docker statuses, add scrolling mode in the UI
avivpxi Nov 17, 2023
1c8de64
Merge pull request #4 from PerimeterX/partial-component-status
avivpxi Nov 17, 2023
b5ec5f0
fix hosts file validation
avivpxi Nov 20, 2023
69ffef2
add support to modify new docker components at the network level (#5)
avivpxi Nov 27, 2023
4c4b9a6
rename UI to envite (#6)
avivpxi Dec 2, 2023
2aac9ad
Rename (#7)
avivpxi Dec 2, 2023
ee3eb07
add network options and support to keep stopped containers (#8)
avivpxi Dec 17, 2023
05c4e6f
redo network options (#9)
avivpxi Dec 17, 2023
af3981c
add docker image clone to avoid needed images removed by other runnin…
avivpxi Dec 17, 2023
eed1058
- component graph instead of double layer component slice (#11)
avivpxi Dec 19, 2023
d93e496
fix error handling on stop container (#12)
avivpxi Dec 24, 2023
314be57
prepare first open source release (#13)
avivpxi Feb 17, 2024
1bbb709
update readme
avivpxi Feb 19, 2024
27f94f3
update vulnerable dependencies
avivpxi Feb 21, 2024
b1d71ee
update axois in package.json
avivpxi Feb 21, 2024
d5fab9f
update readme index
avivpxi Feb 21, 2024
597e6cb
Fix error parsing null configs, update docs and legals
avivpxi Feb 25, 2024
0fa02a8
add more tests and add coverage
avivpxi Feb 26, 2024
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
70 changes: 70 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"

on:
push:
branches: [ main ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ main ]
schedule:
- cron: '43 19 * * 4'

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: [ 'go' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://git.io/codeql-language-support

steps:
- name: Checkout repository
uses: actions/checkout@v3

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main

# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2

# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl

# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language

#- run: |
# make bootstrap
# make release

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
20 changes: 20 additions & 0 deletions .github/workflows/dependency-review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Dependency Review Action
#
# This Action will scan dependency manifest files that change as part of a Pull Reqest, surfacing known-vulnerable versions of the packages declared or updated in the PR. Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable packages will be blocked from merging.
#
# Source repository: https://github.com/actions/dependency-review-action
# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement
name: 'Dependency Review'
on: [pull_request]

permissions:
contents: read

jobs:
dependency-review:
runs-on: ubuntu-latest
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v3
- name: 'Dependency Review'
uses: actions/dependency-review-action@v1
25 changes: 25 additions & 0 deletions .github/workflows/go.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Go

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

jobs:

build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: 1.18
avivpxi marked this conversation as resolved.
Show resolved Hide resolved

- name: Build
run: go build -v ./...

- name: Test
run: go test -v ./...
19 changes: 19 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# ui
/ui/node_modules
/ui/.idea
/ui/build

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*
.idea
/envite

dist/
35 changes: 35 additions & 0 deletions .goreleaser.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
version: 1

before:
hooks:
- go mod tidy

builds:
- env:
- CGO_ENABLED=0
goos:
- linux
- windows
- darwin
main: ./cmd/envite

archives:
- format: tar.gz
name_template: >-
{{ .ProjectName }}_
{{- title .Os }}_
{{- if eq .Arch "amd64" }}x86_64
{{- else if eq .Arch "386" }}i386
{{- else }}{{ .Arch }}{{ end }}
{{- if .Arm }}v{{ .Arm }}{{ end }}
# use zip for windows archives
format_overrides:
- goos: windows
format: zip

changelog:
sort: asc
filters:
exclude:
- "^docs:"
- "^test:"
34 changes: 34 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [[0.0.1](https://github.com/PerimeterX/envite/releases/tag/v0.0.1)] - 2023-12-21
avivpxi marked this conversation as resolved.
Show resolved Hide resolved

Initial release.

## [[0.0.2](https://github.com/PerimeterX/envite/compare/v0.0.1...v0.0.2)] - 2023-12-24

### Fixed

- fix error handling on stop container.

## [[0.0.3](https://github.com/PerimeterX/envite/compare/v0.0.2...v0.0.3)] - 2024-02-17

Prepare for open source.

### Added

- CLI support.
- Go releaser support.
- Unit tests.
- Go docs.
- Improved README.md.
- Added several small changes to the SDK API to allow smoother experience in the CLI.


## [[0.0.4](https://github.com/PerimeterX/envite/compare/v0.0.3...v0.0.4)] - 2024-02-21
avivpxi marked this conversation as resolved.
Show resolved Hide resolved

Fix all dependency vulnerabilities.
133 changes: 133 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@

# Contributor Covenant Code of Conduct

## Our Pledge

We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, caste, color, religion, or sexual
identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.

## Our Standards

Examples of behavior that contributes to a positive environment for our
community include:

* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the overall
community

Examples of unacceptable behavior include:

* The use of sexualized language or imagery, and sexual attention or advances of
any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email address,
without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Enforcement Responsibilities

Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.

Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.

## Scope

This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
[[email protected]](mailto:[email protected]).
All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the
reporter of any incident.

## Enforcement Guidelines

Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:

### 1. Correction

**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.

**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.

### 2. Warning

**Community Impact**: A violation through a single incident or series of
actions.

**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or permanent
ban.

### 3. Temporary Ban

**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.

**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.

### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within the
community.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.1, available at
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].

Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].

For answers to common questions about this code of conduct, see the FAQ at
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
[https://www.contributor-covenant.org/translations][translations].

[homepage]: https://www.contributor-covenant.org
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations
47 changes: 47 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# How To Contribute

We'd love to accept your patches and contributions to this project. There are just a few guidelines you need to follow which are described in detail below.

## 1. Fork this repo

You should create a fork of this project in your account and work from there. You can create a fork by clicking the fork button in GitHub.

## 2. One feature, one branch

Work for each new feature/issue should occur in its own branch. To create a new branch from the command line:
```shell
git checkout -b my-new-feature
```
where "my-new-feature" describes what you're working on.

## 3. Add unit tests
If your contribution modifies existing or adds new code please add corresponding unit tests for this.

## 4. Ensure that the build passes

Run
```shell
go test -v
```
and check that there are no errors.

## 5. Add documentation for new or updated functionality

Please review the [README.md](README.md) file in this project to see if they are impacted by your change and update them accordingly.

## 6. Add to CHANGELOG.md

Any notable changes should be recorded in the CHANGELOG.md following the [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) conventions.

## 7. Submit a pull request and describe the change

Push your changes to your branch and open a pull request against the parent repo on GitHub. The project administrators will review your pull request and respond with feedback.

# How your contribution gets merged

Upon pull request submission, your code will be reviewed by the maintainers. They will confirm at least the following:

- Tests run successfully (unit, coverage, style).
- Contribution policy has been followed.

A (human) reviewer will need to sign off on your pull request before it can be merged.
Loading