Skip to content

Commit abd0fa2

Browse files
committed
Add 'foundations/net/' from commit '7722c9534141cf92ea7e990b8687c14ef3c747b2'
git-subtree-dir: foundations/net git-subtree-mainline: 660c736 git-subtree-split: 7722c95
2 parents 660c736 + 7722c95 commit abd0fa2

File tree

169 files changed

+29273
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

169 files changed

+29273
-0
lines changed

foundations/net/.gitattributes

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Don't allow people to merge changes to these generated files, because the result
2+
# may be invalid. You need to run "rush update" again.
3+
pnpm-lock.yaml merge=text
4+
shrinkwrap.yaml merge=binary
5+
npm-shrinkwrap.json merge=binary
6+
yarn.lock merge=binary
7+
8+
# Rush's JSON config files use JavaScript-style code comments. The rule below prevents pedantic
9+
# syntax highlighters such as GitHub's from highlighting these comments as errors. Your text editor
10+
# may also require a special configuration to allow comments in JSON.
11+
#
12+
# For more information, see this issue: https://github.com/microsoft/rushstack/issues/1088
13+
#
14+
*.json linguist-language=JSON-with-Comments
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: ['main']
6+
tags:
7+
- 'v0.7.*'
8+
- 's0.7.*'
9+
pull_request:
10+
branches: ['main']
11+
12+
jobs:
13+
build:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v3
17+
with:
18+
fetch-depth: 2
19+
- uses: actions/setup-node@v3
20+
with:
21+
node-version: 22
22+
- name: Verify Change Logs
23+
run: node common/scripts/install-run-rush.js change --verify
24+
- name: Rush Install
25+
run: node common/scripts/install-run-rush.js install
26+
- name: Rush validate
27+
run: node common/scripts/install-run-rush.js validate --verbose
28+
29+
publish:
30+
runs-on: ubuntu-latest
31+
if: startsWith(github.ref, 'refs/tags/v0.7.') || startsWith(github.ref, 'refs/tags/s0.7.')
32+
steps:
33+
- uses: actions/checkout@v3
34+
with:
35+
fetch-depth: 2
36+
- uses: actions/setup-node@v3
37+
with:
38+
node-version: 22
39+
- name: Install dependencies
40+
run: node common/scripts/install-run-rush.js install
41+
- name: Rush validate
42+
run: node common/scripts/install-run-rush.js validate --verbose
43+
- name: Publish packages
44+
env:
45+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
46+
run: node common/scripts/install-run-rush.js publish --include-all --publish
47+
48+
docker:
49+
runs-on: ubuntu-latest
50+
timeout-minutes: 60
51+
steps:
52+
- name: Set up QEMU
53+
uses: docker/setup-qemu-action@v3
54+
- name: Configure docker
55+
uses: docker/setup-docker-action@v4
56+
with:
57+
daemon-config: |
58+
{
59+
"features": {
60+
"containerd-snapshotter": true
61+
}
62+
}
63+
- uses: actions/checkout@v3
64+
with:
65+
fetch-depth: 2
66+
- uses: actions/setup-node@v3
67+
with:
68+
node-version: 22
69+
- name: Verify Change Logs
70+
run: node common/scripts/install-run-rush.js change --verify
71+
- name: Rush Install
72+
run: node common/scripts/install-run-rush.js install
73+
- name: Rush validate
74+
run: node common/scripts/install-run-rush.js validate --verbose
75+
76+
- name: Docker build
77+
run: |
78+
node common/scripts/install-run-rush.js docker:build -v
79+
docker builder prune -a -f
80+
env:
81+
DOCKER_CLI_HINTS: false
82+
DOCKER_EXTRA: --platform=linux/amd64,linux/arm64
83+
- name: Login to Docker Hub
84+
if: ${{ github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v') || startsWith(github.ref, 'refs/tags/s') }}
85+
uses: docker/login-action@v3
86+
with:
87+
username: hardcoreeng
88+
password: ${{ secrets.DOCKER_ACCESS_TOKEN }}
89+
- name: Docker push tag
90+
if: ${{ startsWith(github.ref, 'refs/tags/v') || startsWith(github.ref, 'refs/tags/s') }}
91+
run: |
92+
echo Pushing release of tag ${{ github.ref }}
93+
node common/scripts/install-run-rush.js docker:push -v

foundations/net/.gitignore

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
.heft/
2+
lib/
3+
_api-extractor-temp/
4+
temp/
5+
.idea
6+
pods/workspace/init/
7+
pods/workspace/init-scripts/
8+
9+
# Logs
10+
*.log
11+
npm-debug.log*
12+
yarn-debug.log*
13+
yarn-error.log*
14+
*./rush-logs
15+
*tests/sanity/screenshots
16+
17+
# Runtime data
18+
*.pid
19+
*.seed
20+
*.pid.lock
21+
22+
# VS Code settings
23+
.vscode/settings.json
24+
25+
# Directory for instrumented libs generated by jscoverage/JSCover
26+
lib-cov
27+
28+
# Coverage directory used by tools like istanbul
29+
coverage
30+
31+
# nyc test coverage
32+
.nyc_output
33+
34+
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
35+
.grunt
36+
37+
# Bower dependency directory (https://bower.io/)
38+
bower_components
39+
40+
# node-waf configuration
41+
.lock-wscript
42+
43+
# Compiled binary addons (https://nodejs.org/api/addons.html)
44+
build/Release
45+
46+
# Dependency directories
47+
node_modules/
48+
jspm_packages/
49+
50+
# Optional npm cache directory
51+
.npm
52+
53+
# Optional eslint cache
54+
.eslintcache
55+
56+
# Optional REPL history
57+
.node_repl_history
58+
59+
# Output of 'npm pack'
60+
*.tgz
61+
62+
# Yarn Integrity file
63+
.yarn-integrity
64+
65+
# dotenv environment variables file
66+
# .env
67+
68+
# next.js build output
69+
.next
70+
71+
# OS X temporary files
72+
.DS_Store
73+
74+
# Rush temporary files
75+
common/deploy/
76+
common/temp/
77+
common/autoinstallers/*/.npmrc
78+
**/.rush/temp/
79+
bundle.js
80+
bundle/*.js
81+
dist
82+
.build
83+
typings
84+
types
85+
.validate
86+
tsconfig.tsbuildinfo
87+
ingest-attachment-*.zip
88+
tsdoc-metadata.json
89+
pods/front/dist
90+
*.cpuprofile
91+
*.pyc
92+
metrics.txt
93+
dev/tool/report*.csv
94+
tests/db_dump
95+
.build
96+
.format
97+
tools/apm/apm.js
98+
deploy
99+
metrics.txt
100+
services/github/pod-github/src/github.graphql
101+
.build
102+
.format
103+
dev/tool/report.csv
104+
bundle/*
105+
bundle.js.map
106+
tests/profiles
107+
**/bundle/model.json
108+
.wrangler
109+
dump
110+
**/logs/**
111+
dev/tool/history.json
112+
.aider*
113+
/combined_dependencies
114+
.tmp
115+
ws-tests/docker-compose.override.yml

foundations/net/.prettierrc

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"$schema": "http://json-schema.org/draft-04/schema#",
3+
"trailingComma": "none",
4+
"tabWidth": 2,
5+
"semi": false,
6+
"singleQuote": true,
7+
"printWidth": 120,
8+
"useTabs": false,
9+
"bracketSpacing": true,
10+
"proseWrap": "preserve",
11+
"plugins": [],
12+
"overrides": [
13+
{
14+
"files": "*.svelte",
15+
"options": {
16+
"parser": "svelte"
17+
}
18+
}
19+
]
20+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"recommendations": [
3+
"dbaeumer.vscode-eslint",
4+
"svelte.svelte-vscode",
5+
"esbenp.prettier-vscode",
6+
"firsttris.vscode-jest-runner"
7+
]
8+
}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
{
2+
// Use IntelliSense to learn about possible attributes.
3+
// Hover to view descriptions of existing attributes.
4+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5+
"version": "0.2.0",
6+
"configurations": [
7+
{
8+
"address": "127.0.0.1",
9+
"localRoot": "${workspaceFolder}",
10+
"name": "Attach to Remote",
11+
"port": 9229,
12+
"request": "attach",
13+
"sourceMaps": true,
14+
"skipFiles": ["<node_internals>/**"],
15+
"type": "node"
16+
},
17+
{
18+
"name": "Debug Network",
19+
"type": "node",
20+
"request": "launch",
21+
"args": ["src/index.ts"],
22+
"env": {
23+
"PORT": "3737",
24+
"DEVELOPMENT": "true"
25+
},
26+
"runtimeArgs": ["--nolazy", "-r", "ts-node/register"],
27+
"runtimeVersion": "22",
28+
"showAsyncStacks": true,
29+
"outputCapture": "std",
30+
"sourceMaps": true,
31+
"cwd": "${workspaceRoot}/pods/network-pod",
32+
"protocol": "inspector"
33+
},
34+
{
35+
"name": "Debug Tool",
36+
"type": "node",
37+
"request": "launch",
38+
"args": ["src/index.ts", "bench-agent"],
39+
"env": {
40+
"NETWORK_HOST": "localhost:37371"
41+
},
42+
"runtimeArgs": ["--nolazy", "-r", "ts-node/register"],
43+
"runtimeVersion": "22",
44+
"showAsyncStacks": true,
45+
"outputCapture": "std",
46+
"sourceMaps": true,
47+
"cwd": "${workspaceRoot}/pods/network-tool",
48+
"protocol": "inspector"
49+
}
50+
]
51+
}

foundations/net/CHANGELOG.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [Unreleased]
9+
10+
### Added
11+
12+
- Comprehensive documentation and examples
13+
- GitHub community health files (CONTRIBUTING.md, SECURITY.md)
14+
- Issue and PR templates
15+
16+
## [0.7.9] - 2025-10-01
17+
18+
### Added
19+
20+
- Initial public release
21+
- Core network implementation with distributed architecture
22+
- ZeroMQ-based RPC communication layer
23+
- Client libraries for network interaction
24+
- Server implementation with multi-client support
25+
- High availability support with stateless containers
26+
- Automatic failover and health monitoring
27+
- Multi-tenant container management
28+
- Comprehensive test suite
29+
- Docker deployment support
30+
- Full documentation and examples
31+
32+
### Features
33+
34+
- Distributed load balancing across multiple agents
35+
- Container lifecycle management with reference counting
36+
- Event broadcasting capabilities
37+
- Request/response communication patterns
38+
- Automatic reconnection and retry logic
39+
- Configurable timeouts for different environments
40+
- Label-based container discovery
41+
- Orphaned container detection and cleanup
42+
43+
[Unreleased]: https://github.com/hcengineering/huly.net/compare/v0.7.9...HEAD
44+
[0.7.9]: https://github.com/hcengineering/huly.net/releases/tag/v0.7.9

0 commit comments

Comments
 (0)