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

Added protocol in port configuration #2993

Merged
merged 15 commits into from
Jan 12, 2024

Conversation

zc-devs
Copy link
Contributor

@zc-devs zc-devs commented Dec 22, 2023

Closes #2727

@zc-devs
Copy link
Contributor Author

zc-devs commented Dec 22, 2023

Test

Pipeline

services:
  database:
    image: mysql
    environment:
      - MYSQL_DATABASE=test
      - MYSQL_ROOT_PASSWORD=example
    ports:
      - 3306/tcp
steps:
  get-version:
    image: ubuntu
    commands:
      - ( apt update && apt dist-upgrade -y && apt install -y mysql-client 2>&1 )> /dev/null
      - sleep 60s # need to wait for mysql-server init
      - echo 'SHOW VARIABLES LIKE "version"' | mysql -uroot -hdatabase test -pexample

Result
Screenshot 2023-12-22 232101

Service

apiVersion: v1
kind: Service
spec:
  ports:
    - name: port-3306
      protocol: TCP
      port: 3306
      targetPort: 3306
  selector:
    step: wp-01hj9gsstcw0nyjchk262fwfh2-0-services-0
  clusterIP: 2001:cafe:43::f429
  clusterIPs:
    - 2001:cafe:43::f429
  type: ClusterIP
  sessionAffinity: None
  ipFamilies:
    - IPv6
  ipFamilyPolicy: SingleStack
  internalTrafficPolicy: Cluster

Step Pod:

apiVersion: v1
kind: Pod
spec:
  containers:
    - name: wp-01hj9gsstcw0nyjchk262fwfh2-0-step-0
  hostAliases:
    - ip: 2001:cafe:43::f429
      hostnames:
        - database

Step's /etc/hosts

# Entries added by HostAliases.
2001:cafe:43::f429      database

@6543 6543 added enhancement improve existing features backend/kubernetes labels Dec 22, 2023
@6543 6543 added this to the 2.2.0 milestone Dec 22, 2023
@woodpecker-bot
Copy link
Collaborator

woodpecker-bot commented Dec 22, 2023

Deployment of preview was successful: https://woodpecker-ci-woodpecker-pr-2993.surge.sh

Copy link

codecov bot commented Dec 22, 2023

Codecov Report

Attention: 6 lines in your changes are missing coverage. Please review.

Comparison is base (9bbc446) 35.08% compared to head (c61c47d) 35.22%.

Files Patch % Lines
pipeline/frontend/yaml/compiler/convert.go 71.42% 5 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2993      +/-   ##
==========================================
+ Coverage   35.08%   35.22%   +0.13%     
==========================================
  Files         228      228              
  Lines       14852    14887      +35     
==========================================
+ Hits         5211     5244      +33     
- Misses       9257     9259       +2     
  Partials      384      384              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

lafriks pushed a commit that referenced this pull request Dec 22, 2023
@qwerty287
Copy link
Contributor

And is it possible to support this for docker as well? Only if it's supported at docker's side of course

@zc-devs
Copy link
Contributor Author

zc-devs commented Dec 23, 2023

If I understand correctly, in Docker it works in different way. There is Network shared between containers. There is no isolation between containers in a network, the ports are defined in Dockerfile. What port application in container listens to, that port will be available in shared network.

So, there is nothing to do for Docker, I think. If I'm wrong, correct me.

@6543
Copy link
Member

6543 commented Dec 23, 2023

docker images can specify ports but you can always tell the runtime to do otherwhise or add some

and udp is done similar: https://docs.docker.com/network/#published-ports

@zc-devs
Copy link
Contributor Author

zc-devs commented Dec 23, 2023

"This creates a firewall rule in the host, mapping a container port to a port on the Docker host to the outside world"

I'm not convinced.


nicolaka/netshoot has no exposed ports. I'm not exposing ports.

Server

> docker run -it --name server nicolaka/netshoot
# ip addr
ip addr
19: eth0@if20
    inet 172.17.0.2/16
# echo 'This is test UDP server' | nc -l -u 1234

Client

> docker run -it --name client nicolaka/netshoot
# ip addr
21: eth0@if22
    inet 172.17.0.3/16
# nc -v 172.17.0.2 1234
nc: connect to 172.17.0.2 port 1234 (tcp) failed: Connection refused
# nc -v -u 172.17.0.2 1234
Connection to 172.17.0.2 1234 port [udp/*] succeeded!
This is test UDP server

What port application in container listens to, that port will be available in shared network.

@6543
Copy link
Member

6543 commented Dec 23, 2023

@zc-devs yes the default network you use do prohibit this.

but asap you work within a dedicated create network you are able to do so:

docker-compose.yml

version: '3'

services:
  server:
    build: .
    networks:
      - docker-network

  client:
    build: .
    networks:
      - docker-network

networks:
  docker-network:

Dockerfile

FROM nicolaka/netshoot
CMD sleep 10m

this simulate woodpecker env better.

get the ips:

docker compose build
docker compose up -d
docker compose exec -it server /bin/bash -c "ip add | grep inet | grep -v '127.0.0.1'"

and make your experiment again:

docker compose exec -it server /bin/bash -c "echo 'This is test UDP server' | nc -l -u 1234"
docker compose exec -it server /bin/bash -c "nc -u -v <Server IP> 1234"

@6543
Copy link
Member

6543 commented Dec 23, 2023

☝️ in this regards they are not as isolated ... I have to look how docker backend do setup things :)

@zc-devs
Copy link
Contributor Author

zc-devs commented Dec 24, 2023

grep -v '127.0.0.1'

Why are you grepping localhost? It won't work, of course.


docker compose build
docker compose up -d

Server

# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
11: eth0@if12: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:ac:13:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.19.0.3/16 brd 172.19.255.255 scope global eth0
       valid_lft forever preferred_lft forever
# echo 'This is test UDP server' | nc -l -u 1234

Client

# nc -u -v 172.19.0.3 1234
Connection to 172.19.0.3 1234 port [udp/*] succeeded!
This is test UDP server

All is the same.

servicenetwork_docker-network.json
servicenetwork-client-1.json
servicenetwork-server-1.json

the ports are defined in Dockerfile

I should have been more accurate here. Exposed ports make container available outside the network. In the rest I'm right.


And is it possible to support this for docker as well?

If we used port publishing (exposing) in the docker backend, then I could add this. But we do not.

And if we do, then github.com\docker\[email protected]+incompatible\api\types\container\hostconfig.go:HostConfig:PortBindings will serve that case, I suppose.


Thanks for comments, though. It made me think about it and I ended with...
\me went make a prototype

@zc-devs zc-devs marked this pull request as draft December 24, 2023 12:40
@zc-devs
Copy link
Contributor Author

zc-devs commented Dec 24, 2023

and I ended with

Forget, doesn't work well.

Instead, I found another flaw. Now ports are set in service's Pod/container too.

Test

Service's Pod:

spec:
  containers:
    - name: wp-01hjebs09gerq904fjnde4tyw3-0-services-0
      image: digitalocean/doks-debug
      ports:
        - containerPort: 1234
          protocol: UDP

@zc-devs zc-devs marked this pull request as ready for review December 24, 2023 17:27
@6543 6543 modified the milestones: 2.2.0, 3.0.0 Jan 12, 2024
zc-devs and others added 3 commits January 12, 2024 16:35
# Conflicts:
#	pipeline/backend/kubernetes/pod.go
#	pipeline/backend/kubernetes/pod_test.go
#	pipeline/backend/kubernetes/service.go
#	pipeline/backend/kubernetes/service_test.go
#	pipeline/backend/types/step.go
@6543 6543 modified the milestones: 2.3.0, 2.2.0 Jan 12, 2024
@6543 6543 merged commit 0611fa9 into woodpecker-ci:main Jan 12, 2024
8 checks passed
@woodpecker-bot woodpecker-bot mentioned this pull request Jan 12, 2024
1 task
@zc-devs zc-devs deleted the 2727-service-port-type branch January 12, 2024 22:59
6543 pushed a commit that referenced this pull request Jan 21, 2024
This PR was opened by the
[ready-release-go](https://github.com/woodpecker-ci/plugin-ready-release-go)
plugin. When you're ready to do a release, you can merge this
pull-request and a new release with version `2.2.0` will be created
automatically. If you're not ready to do a release yet, that's fine,
whenever you add more changes to `main` this pull-request will be
updated.

## Options

- [ ] Mark this version as a release candidate

##
[2.2.0](https://github.com/woodpecker-ci/woodpecker/releases/tag/2.2.0)
- 2024-01-21

### 🔒 Security

- Update web dependencies
[[#3234](#3234)]

### ✨ Features

- Support custom steps entrypoint
[[#2985](#2985)]

### 📚 Documentation

- Add 2.2 docs
[[#3237](#3237)]
- Fix/improve issue templates
[[#3232](#3232)]
- Delete `FUNDING.yaml`
[[#3193](#3193)]
- Remove contributing/security to use globally defined
[[#3192](#3192)]
- Add "Kaniko" Plugin
[[#3183](#3183)]
- Document core development ideas
[[#3184](#3184)]
- Add continous deployment cookbook
[[#3098](#3098)]
- Make k8s backend configuration docs in the same format as others
[[#3081](#3081)]
- Hide backend config options from TOC
[[#3126](#3126)]
- Add X/Twitter account
[[#3127](#3127)]
- Add ansible plugin
[[#3115](#3115)]
- Format depends_on example
[[#3118](#3118)]
- Use WOODPECKER_AGENT_SECRET instead of deprecated alternative
[[#3103](#3103)]
- Add Reviewdog ESLint plugin
[[#3102](#3102)]
- Mark local backend as stable
[[#3088](#3088)]
- Update Owners 2024
[[#3075](#3075)]
- Add reviewdog golangci plugin
[[#3080](#3080)]
- Add Codeberg Pages Deploy plugin to plugins list
[[#3054](#3054)]

### 🐛 Bug Fixes

- Fixed Pods creation of WP services
[[#3236](#3236)]
- Fix Bitbucket get pull requests that ignores pagination
[[#3235](#3235)]
- Make PipelineConfig unique again
[[#3215](#3215)]
- Fix feed sorting
[[#3155](#3155)]
- Step status update dont set to running again once it got stoped
[[#3151](#3151)]
- Use step uuid instead of name in GRPC status calls
[[#3143](#3143)]
- Use UUID instead of step name where possible
[[#3136](#3136)]
- Use step type to detect services in Kubernetes backend
[[#3141](#3141)]
- Fix config base64 parsing to utf-8
[[#3110](#3110)]
- Pin Gitea version
[[#3104](#3104)]
- Fix step `depends_on` as string in schema
[[#3099](#3099)]
- Fix slice unmarshaling
[[#3097](#3097)]
- Allow PR secrets to be used on close
[[#3084](#3084)]
- make event in pipeline schema also a constraint_list
[[#3082](#3082)]
- Fix badge's repoUrl with rootpath
[[#3076](#3076)]
- Load changed files for closed PR
[[#3067](#3067)]
- Fix build output paths
[[#3065](#3065)]
- Fix `when` and `depends_on`
[[#3063](#3063)]
- Fix DAG cycle detection
[[#3049](#3049)]
- Fix duplicated icons
[[#3045](#3045)]

### 📈 Enhancement

- Retrieve all user repo perms with a single API call
[[#3211](#3211)]
- Secured kubernetes backend configuration
[[#3204](#3204)]
- Use `assert` for tests
[[#3201](#3201)]
- Replace `goimports` with `gci`
[[#3202](#3202)]
- Remove multipart logger
[[#3200](#3200)]
- Added protocol in port configuration
[[#2993](#2993)]
- Kubernetes AppArmor and seccomp
[[#3123](#3123)]
- `cli exec`: let override existing environment values but print a
warning [[#3140](#3140)]
- Enable golangci linter forcetypeassert
[[#3168](#3168)]
- Enable golangci linter contextcheck
[[#3170](#3170)]
- Remove panic recovering
[[#3162](#3162)]
- More docker backend test remove more undocumented
[[#3156](#3156)]
- Lowercase all log strings
[[#3173](#3173)]
- Cleanups + prefer .yaml
[[#3069](#3069)]
- Use UUID as podName and cleanup arguments for Kubernetes backend
[[#3135](#3135)]
- Enable golangci linter stylecheck
[[#3167](#3167)]
- Clean up logging
[[#3161](#3161)]
- Enable `gocritic` and don't ignore globally
[[#3159](#3159)]
- Remove steps for publishing release branches
[[#3125](#3125)]
- Enable `nolintlint`
[[#3158](#3158)]
- Enable some linters
[[#3129](#3129)]
- Use name in backend types instead of alias
[[#3142](#3142)]
- Make service icon rotate
[[#3149](#3149)]
- Add step name as label to docker containers
[[#3137](#3137)]
- Use js-base64 on pipeline log page
[[#3146](#3146)]
- Flexible image pull secret reference
[[#3016](#3016)]
- Always show pipeline step list
[[#3114](#3114)]
- Add loading spinner and no pull request text
[[#3113](#3113)]
- Fix timeout settings contrast
[[#3112](#3112)]
- Unfold workflow when opening via URL
[[#3106](#3106)]
- Remove env argument of addons
[[#3100](#3100)]
- Move `cmd/common` to `shared`
[[#3092](#3092)]
- use semver for version comparsion
[[#3042](#3042)]
- Extend create plugin docs
[[#3062](#3062)]
- Remove old files
[[#3077](#3077)]
- Indicate if step is service
[[#3078](#3078)]
- Add imports checks to linter
[[#3056](#3056)]
- Remove workflow version again
[[#3052](#3052)]
- Add option to disable version check in admin web UI
[[#3040](#3040)]

### Misc

- chore(deps): update docker.io/woodpeckerci/plugin-docker-buildx docker
tag to v3
[[#3229](#3229)]
- Docs: Fix expression syntax docs url
[[#3208](#3208)]
- Add schema test for depends_on
[[#3205](#3205)]
- chore(deps): lock file maintenance
[[#3190](#3190)]
- Do not run prettier with pre-commit
[[#3196](#3196)]
- fix(deps): update module github.com/google/go-github/v57 to v58
[[#3187](#3187)]
- chore(deps): update docker.io/golang docker tag to v1.21.6
[[#3189](#3189)]
- chore(deps): update docker.io/woodpeckerci/plugin-docker-buildx
[[#3186](#3186)]
- fix(deps): update golang (packages)
[[#3185](#3185)]
- declare different when statements once and reuse them
[[#3176](#3176)]
- Add `make clean-all`
[[#3152](#3152)]
- Fix `version.json` updates
[[#3057](#3057)]
- [pre-commit.ci] pre-commit autoupdate
[[#3101](#3101)]
- Update dependency @vitejs/plugin-vue to v5
[[#3074](#3074)]
- Use CI vars for plugin
[[#3061](#3061)]
- Use `yamllint`
[[#3066](#3066)]
- Use dag in ci config
[[#3010](#3010)]
fernandrone pushed a commit to quintoandar/woodpecker that referenced this pull request Feb 1, 2024
fernandrone pushed a commit to quintoandar/woodpecker that referenced this pull request Feb 1, 2024
This PR was opened by the
[ready-release-go](https://github.com/woodpecker-ci/plugin-ready-release-go)
plugin. When you're ready to do a release, you can merge this
pull-request and a new release with version `2.2.0` will be created
automatically. If you're not ready to do a release yet, that's fine,
whenever you add more changes to `main` this pull-request will be
updated.

## Options

- [ ] Mark this version as a release candidate

##
[2.2.0](https://github.com/woodpecker-ci/woodpecker/releases/tag/2.2.0)
- 2024-01-21

### 🔒 Security

- Update web dependencies
[[woodpecker-ci#3234](woodpecker-ci#3234)]

### ✨ Features

- Support custom steps entrypoint
[[woodpecker-ci#2985](woodpecker-ci#2985)]

### 📚 Documentation

- Add 2.2 docs
[[woodpecker-ci#3237](woodpecker-ci#3237)]
- Fix/improve issue templates
[[woodpecker-ci#3232](woodpecker-ci#3232)]
- Delete `FUNDING.yaml`
[[woodpecker-ci#3193](woodpecker-ci#3193)]
- Remove contributing/security to use globally defined
[[woodpecker-ci#3192](woodpecker-ci#3192)]
- Add "Kaniko" Plugin
[[woodpecker-ci#3183](woodpecker-ci#3183)]
- Document core development ideas
[[woodpecker-ci#3184](woodpecker-ci#3184)]
- Add continous deployment cookbook
[[woodpecker-ci#3098](woodpecker-ci#3098)]
- Make k8s backend configuration docs in the same format as others
[[woodpecker-ci#3081](woodpecker-ci#3081)]
- Hide backend config options from TOC
[[woodpecker-ci#3126](woodpecker-ci#3126)]
- Add X/Twitter account
[[woodpecker-ci#3127](woodpecker-ci#3127)]
- Add ansible plugin
[[woodpecker-ci#3115](woodpecker-ci#3115)]
- Format depends_on example
[[woodpecker-ci#3118](woodpecker-ci#3118)]
- Use WOODPECKER_AGENT_SECRET instead of deprecated alternative
[[woodpecker-ci#3103](woodpecker-ci#3103)]
- Add Reviewdog ESLint plugin
[[woodpecker-ci#3102](woodpecker-ci#3102)]
- Mark local backend as stable
[[woodpecker-ci#3088](woodpecker-ci#3088)]
- Update Owners 2024
[[woodpecker-ci#3075](woodpecker-ci#3075)]
- Add reviewdog golangci plugin
[[woodpecker-ci#3080](woodpecker-ci#3080)]
- Add Codeberg Pages Deploy plugin to plugins list
[[woodpecker-ci#3054](woodpecker-ci#3054)]

### 🐛 Bug Fixes

- Fixed Pods creation of WP services
[[woodpecker-ci#3236](woodpecker-ci#3236)]
- Fix Bitbucket get pull requests that ignores pagination
[[woodpecker-ci#3235](woodpecker-ci#3235)]
- Make PipelineConfig unique again
[[woodpecker-ci#3215](woodpecker-ci#3215)]
- Fix feed sorting
[[woodpecker-ci#3155](woodpecker-ci#3155)]
- Step status update dont set to running again once it got stoped
[[woodpecker-ci#3151](woodpecker-ci#3151)]
- Use step uuid instead of name in GRPC status calls
[[woodpecker-ci#3143](woodpecker-ci#3143)]
- Use UUID instead of step name where possible
[[woodpecker-ci#3136](woodpecker-ci#3136)]
- Use step type to detect services in Kubernetes backend
[[woodpecker-ci#3141](woodpecker-ci#3141)]
- Fix config base64 parsing to utf-8
[[woodpecker-ci#3110](woodpecker-ci#3110)]
- Pin Gitea version
[[woodpecker-ci#3104](woodpecker-ci#3104)]
- Fix step `depends_on` as string in schema
[[woodpecker-ci#3099](woodpecker-ci#3099)]
- Fix slice unmarshaling
[[woodpecker-ci#3097](woodpecker-ci#3097)]
- Allow PR secrets to be used on close
[[woodpecker-ci#3084](woodpecker-ci#3084)]
- make event in pipeline schema also a constraint_list
[[woodpecker-ci#3082](woodpecker-ci#3082)]
- Fix badge's repoUrl with rootpath
[[woodpecker-ci#3076](woodpecker-ci#3076)]
- Load changed files for closed PR
[[woodpecker-ci#3067](woodpecker-ci#3067)]
- Fix build output paths
[[woodpecker-ci#3065](woodpecker-ci#3065)]
- Fix `when` and `depends_on`
[[woodpecker-ci#3063](woodpecker-ci#3063)]
- Fix DAG cycle detection
[[woodpecker-ci#3049](woodpecker-ci#3049)]
- Fix duplicated icons
[[woodpecker-ci#3045](woodpecker-ci#3045)]

### 📈 Enhancement

- Retrieve all user repo perms with a single API call
[[woodpecker-ci#3211](woodpecker-ci#3211)]
- Secured kubernetes backend configuration
[[woodpecker-ci#3204](woodpecker-ci#3204)]
- Use `assert` for tests
[[woodpecker-ci#3201](woodpecker-ci#3201)]
- Replace `goimports` with `gci`
[[woodpecker-ci#3202](woodpecker-ci#3202)]
- Remove multipart logger
[[woodpecker-ci#3200](woodpecker-ci#3200)]
- Added protocol in port configuration
[[woodpecker-ci#2993](woodpecker-ci#2993)]
- Kubernetes AppArmor and seccomp
[[woodpecker-ci#3123](woodpecker-ci#3123)]
- `cli exec`: let override existing environment values but print a
warning [[woodpecker-ci#3140](woodpecker-ci#3140)]
- Enable golangci linter forcetypeassert
[[woodpecker-ci#3168](woodpecker-ci#3168)]
- Enable golangci linter contextcheck
[[woodpecker-ci#3170](woodpecker-ci#3170)]
- Remove panic recovering
[[woodpecker-ci#3162](woodpecker-ci#3162)]
- More docker backend test remove more undocumented
[[woodpecker-ci#3156](woodpecker-ci#3156)]
- Lowercase all log strings
[[woodpecker-ci#3173](woodpecker-ci#3173)]
- Cleanups + prefer .yaml
[[woodpecker-ci#3069](woodpecker-ci#3069)]
- Use UUID as podName and cleanup arguments for Kubernetes backend
[[woodpecker-ci#3135](woodpecker-ci#3135)]
- Enable golangci linter stylecheck
[[woodpecker-ci#3167](woodpecker-ci#3167)]
- Clean up logging
[[woodpecker-ci#3161](woodpecker-ci#3161)]
- Enable `gocritic` and don't ignore globally
[[woodpecker-ci#3159](woodpecker-ci#3159)]
- Remove steps for publishing release branches
[[woodpecker-ci#3125](woodpecker-ci#3125)]
- Enable `nolintlint`
[[woodpecker-ci#3158](woodpecker-ci#3158)]
- Enable some linters
[[woodpecker-ci#3129](woodpecker-ci#3129)]
- Use name in backend types instead of alias
[[woodpecker-ci#3142](woodpecker-ci#3142)]
- Make service icon rotate
[[woodpecker-ci#3149](woodpecker-ci#3149)]
- Add step name as label to docker containers
[[woodpecker-ci#3137](woodpecker-ci#3137)]
- Use js-base64 on pipeline log page
[[woodpecker-ci#3146](woodpecker-ci#3146)]
- Flexible image pull secret reference
[[woodpecker-ci#3016](woodpecker-ci#3016)]
- Always show pipeline step list
[[woodpecker-ci#3114](woodpecker-ci#3114)]
- Add loading spinner and no pull request text
[[woodpecker-ci#3113](woodpecker-ci#3113)]
- Fix timeout settings contrast
[[woodpecker-ci#3112](woodpecker-ci#3112)]
- Unfold workflow when opening via URL
[[woodpecker-ci#3106](woodpecker-ci#3106)]
- Remove env argument of addons
[[woodpecker-ci#3100](woodpecker-ci#3100)]
- Move `cmd/common` to `shared`
[[woodpecker-ci#3092](woodpecker-ci#3092)]
- use semver for version comparsion
[[woodpecker-ci#3042](woodpecker-ci#3042)]
- Extend create plugin docs
[[woodpecker-ci#3062](woodpecker-ci#3062)]
- Remove old files
[[woodpecker-ci#3077](woodpecker-ci#3077)]
- Indicate if step is service
[[woodpecker-ci#3078](woodpecker-ci#3078)]
- Add imports checks to linter
[[woodpecker-ci#3056](woodpecker-ci#3056)]
- Remove workflow version again
[[woodpecker-ci#3052](woodpecker-ci#3052)]
- Add option to disable version check in admin web UI
[[woodpecker-ci#3040](woodpecker-ci#3040)]

### Misc

- chore(deps): update docker.io/woodpeckerci/plugin-docker-buildx docker
tag to v3
[[woodpecker-ci#3229](woodpecker-ci#3229)]
- Docs: Fix expression syntax docs url
[[woodpecker-ci#3208](woodpecker-ci#3208)]
- Add schema test for depends_on
[[woodpecker-ci#3205](woodpecker-ci#3205)]
- chore(deps): lock file maintenance
[[woodpecker-ci#3190](woodpecker-ci#3190)]
- Do not run prettier with pre-commit
[[woodpecker-ci#3196](woodpecker-ci#3196)]
- fix(deps): update module github.com/google/go-github/v57 to v58
[[woodpecker-ci#3187](woodpecker-ci#3187)]
- chore(deps): update docker.io/golang docker tag to v1.21.6
[[woodpecker-ci#3189](woodpecker-ci#3189)]
- chore(deps): update docker.io/woodpeckerci/plugin-docker-buildx
[[woodpecker-ci#3186](woodpecker-ci#3186)]
- fix(deps): update golang (packages)
[[woodpecker-ci#3185](woodpecker-ci#3185)]
- declare different when statements once and reuse them
[[woodpecker-ci#3176](woodpecker-ci#3176)]
- Add `make clean-all`
[[woodpecker-ci#3152](woodpecker-ci#3152)]
- Fix `version.json` updates
[[woodpecker-ci#3057](woodpecker-ci#3057)]
- [pre-commit.ci] pre-commit autoupdate
[[woodpecker-ci#3101](woodpecker-ci#3101)]
- Update dependency @vitejs/plugin-vue to v5
[[woodpecker-ci#3074](woodpecker-ci#3074)]
- Use CI vars for plugin
[[woodpecker-ci#3061](woodpecker-ci#3061)]
- Use `yamllint`
[[woodpecker-ci#3066](woodpecker-ci#3066)]
- Use dag in ci config
[[woodpecker-ci#3010](woodpecker-ci#3010)]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend/kubernetes enhancement improve existing features
Projects
None yet
Development

Successfully merging this pull request may close these issues.

(Kubernetes) - Add UDP Port Support for Pipeline Services
5 participants