Skip to content

Commit

Permalink
Merge branch 'argoproj:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
n888 authored May 24, 2023
2 parents c58a9b3 + cf444ec commit ae734c7
Show file tree
Hide file tree
Showing 26 changed files with 569 additions and 31 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/image-reuse.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ jobs:
go-version: ${{ inputs.go-version }}

- name: Install cosign
uses: sigstore/cosign-installer@204a51a57a74d190b284a0ce69b44bc37201f343 # v3.0.3
uses: sigstore/cosign-installer@dd6b2e2b610a11fd73dd187a43d57cc1394e35f9 # v3.0.5
with:
cosign-release: 'v2.0.2'

Expand Down
1 change: 1 addition & 0 deletions USERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,4 @@ Organizations below are **officially** using Argo Rollouts. Please send a PR wit
1. [Ubie](https://ubie.life/)
1. [VISITS Technologies](https://visits.world/en)
1. [Yotpo](https://www.yotpo.com/)
1. [VGS](https://www.vgs.io)
3 changes: 2 additions & 1 deletion docs/analysis/plugins.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Metric Plugins

!!! important Available since v1.5 - Status: Alpha
!!! important
Available since v1.5 - Status: Alpha

Argo Rollouts supports getting analysis metrics via 3rd party plugin system. This allows users to extend the capabilities of Rollouts
to support metric providers that are not natively supported. Rollout's uses a plugin library called
Expand Down
Binary file added docs/contributing-assets/plugin-loading.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
4 changes: 2 additions & 2 deletions docs/features/specification.md
Original file line number Diff line number Diff line change
Expand Up @@ -276,8 +276,8 @@ spec:
matchTrafficWeight: true

# Sets header based route with specified header values
# Setting header based route will send all 100 traffic to the canary for the requests
# O with a specified header, in this case request header "version":"2"
# Setting header based route will send all traffic to the canary for the requests
# with a specified header, in this case request header "version":"2"
# (supported only with trafficRouting, for Istio only at the moment)
- setHeaderRoute:
# Name of the route that will be created by argo rollouts this must also be configured
Expand Down
21 changes: 21 additions & 0 deletions docs/features/traffic-management/google-cloud.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Google Cloud

With the introduction of the Kubernetes Gateway API it is now possible to use Argo Rollouts with all compliant implementations that support it. The integration is available with the [Argo Rollouts Gateway API plugin](https://github.com/argoproj-labs/rollouts-plugin-trafficrouter-gatewayapi/) currently hosted in Argo Labs.

Useful resources:

* [The Gateway API specification](https://gateway-api.sigs.k8s.io/)
* [Support of the Gateway API in Google Cloud](https://cloud.google.com/kubernetes-engine/docs/concepts/gateway-api)
* [Argo Rollouts Plugin capabilities](../plugins/)
* [Plugin for the Gateway API](https://github.com/argoproj-labs/rollouts-plugin-trafficrouter-gatewayapi)

The process involves the following steps:

1. Creating a Kubernetes cluster with support for the Gateway API in Google Cloud
1. Creating a Load balancer that is managed by the Gateway API in Google Cloud
1. Installing Argo Rollouts + gateway API plugin in the cluster
1. Defining a Rollout that takes advantage of the plugin

For a full application that includes all manifests see the [plugin example](https://github.com/argoproj-labs/rollouts-plugin-trafficrouter-gatewayapi/tree/main/examples/google-cloud).


2 changes: 2 additions & 0 deletions docs/features/traffic-management/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ Argo Rollouts enables traffic management by manipulating the Service Mesh resour
- [AWS ALB Ingress Controller](alb.md)
- [Ambassador Edge Stack](ambassador.md)
- [Apache APISIX](apisix.md)
- [Google Cloud](google-cloud.md)
- [Gateway API](plugins.md)
- [Istio](istio.md)
- [Nginx Ingress Controller](nginx.md)
- [Service Mesh Interface (SMI)](smi.md)
Expand Down
3 changes: 2 additions & 1 deletion docs/features/traffic-management/plugins.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Traffic Router Plugins

!!! important Available since v1.5 - Status: Alpha
!!! important
Available since v1.5 - Status: Alpha

Argo Rollouts supports getting analysis metrics via 3rd party plugin system. This allows users to extend the capabilities of Rollouts
to support metric providers that are not natively supported. Rollout's uses a plugin library called
Expand Down
6 changes: 6 additions & 0 deletions docs/plugins.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@ Argo Rollouts plugins depend on hashicorp's [go-plugin](https://github.com/hashi
provides a way for a plugin to be compiled as a standalone executable and then loaded by the rollouts controller at runtime.
This works by having the plugin executable act as a rpc server and the rollouts controller act as a client. The plugin executable
is started by the rollouts controller and is a long-lived process and that the rollouts controller connects to over a unix socket.

Here is an overview of how plugins are loaded:

[![Loading of plugins](contributing-assets/plugin-loading.png)](contributing-assets/plugin-loading.png)


The communication protocol uses golang built in net/rpc library so plugins have to be written in golang.

## Plugin Repository
Expand Down
2 changes: 1 addition & 1 deletion docs/releasing.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

1. To automatically update the stable tag, select `Update stable tag`. (false by default)

[![GitHub Release Action](release-action.png)](release-action.png)
[![GitHub Release Action](contributing-assets/release-action.png)](contributing-assets/release-action.png)

1. When the action completes, visit the generated draft [Github releases](https://github.com/argoproj/argo-rollouts/releases) and enter the details about the release:
* Getting started (copy from previous release and new version)
Expand Down
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ require (
github.com/prometheus/common v0.42.0
github.com/prometheus/common/sigv4 v0.1.0
github.com/servicemeshinterface/smi-sdk-go v0.5.0
github.com/sirupsen/logrus v1.9.1
github.com/sirupsen/logrus v1.9.2
github.com/soheilhy/cmux v0.1.5
github.com/spaceapegames/go-wavefront v1.8.1
github.com/spf13/cobra v1.7.0
github.com/stretchr/testify v1.8.2
github.com/stretchr/testify v1.8.3
github.com/tj/assert v0.0.3
github.com/valyala/fasttemplate v1.2.2
google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4
Expand Down
8 changes: 4 additions & 4 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -632,8 +632,8 @@ github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPx
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
github.com/sirupsen/logrus v1.9.1 h1:Ou41VVR3nMWWmTiEUnj0OlsgOSCUFgsPAOl6jRIcVtQ=
github.com/sirupsen/logrus v1.9.1/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/sirupsen/logrus v1.9.2 h1:oxx1eChJGI6Uks2ZC4W1zpLlVgqB8ner4EuQwV4Ik1Y=
github.com/sirupsen/logrus v1.9.2/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/slack-go/slack v0.12.1 h1:X97b9g2hnITDtNsNe5GkGx6O2/Sz/uC20ejRZN6QxOw=
github.com/slack-go/slack v0.12.1/go.mod h1:hlGi5oXA+Gt+yWTPP0plCdRKmjsDxecdHxYQdlMQKOw=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
Expand Down Expand Up @@ -672,8 +672,8 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8=
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY=
github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/tj/assert v0.0.3 h1:Df/BlaZ20mq6kuai7f5z2TvPFiwC3xaWJSDQNiIS3Rk=
github.com/tj/assert v0.0.3/go.mod h1:Ne6X72Q+TB1AteidzQncjw9PabbMp4PBMZ1k+vd1Pvk=
github.com/tomnomnom/linkheader v0.0.0-20180905144013-02ca5825eb80 h1:nrZ3ySNYwJbSpD6ce9duiP+QkD3JuLCcWkdaehUS/3Y=
Expand Down
3 changes: 0 additions & 3 deletions manifests/crds/rollout-crd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3321,7 +3321,6 @@ spec:
type: string
required:
- arn
- fullName
- name
type: object
ingress:
Expand All @@ -3336,7 +3335,6 @@ spec:
type: string
required:
- arn
- fullName
- name
type: object
stableTargetGroup:
Expand All @@ -3349,7 +3347,6 @@ spec:
type: string
required:
- arn
- fullName
- name
type: object
type: object
Expand Down
3 changes: 0 additions & 3 deletions manifests/install.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14555,7 +14555,6 @@ spec:
type: string
required:
- arn
- fullName
- name
type: object
ingress:
Expand All @@ -14570,7 +14569,6 @@ spec:
type: string
required:
- arn
- fullName
- name
type: object
stableTargetGroup:
Expand All @@ -14583,7 +14581,6 @@ spec:
type: string
required:
- arn
- fullName
- name
type: object
type: object
Expand Down
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ nav:
- Ambassador: features/traffic-management/ambassador.md
- APISIX: features/traffic-management/apisix.md
- AWS ALB: features/traffic-management/alb.md
- Google Cloud: features/traffic-management/google-cloud.md
- Istio: features/traffic-management/istio.md
- NGINX: features/traffic-management/nginx.md
- Plugins: features/traffic-management/plugins.md
Expand Down
3 changes: 2 additions & 1 deletion pkg/apiclient/rollout/rollout.swagger.json
Original file line number Diff line number Diff line change
Expand Up @@ -734,7 +734,8 @@
"type": "string"
},
"fullName": {
"type": "string"
"type": "string",
"title": "FullName is the full name of the resource\n+optional"
}
}
},
Expand Down
2 changes: 2 additions & 0 deletions pkg/apis/rollouts/v1alpha1/generated.proto

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 5 additions & 4 deletions pkg/apis/rollouts/v1alpha1/openapi_generated.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 4 additions & 2 deletions pkg/apis/rollouts/v1alpha1/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -1013,8 +1013,10 @@ type ALBStatus struct {
}

type AwsResourceRef struct {
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
ARN string `json:"arn" protobuf:"bytes,2,opt,name=arn"`
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
ARN string `json:"arn" protobuf:"bytes,2,opt,name=arn"`
// FullName is the full name of the resource
// +optional
FullName string `json:"fullName" protobuf:"bytes,3,opt,name=fullName"`
}

Expand Down
Loading

0 comments on commit ae734c7

Please sign in to comment.