diff --git a/.github/actions/start_ccm_e2e/action.yml b/.github/actions/start_ccm_e2e/action.yml index 6ab70bba..91b44b59 100644 --- a/.github/actions/start_ccm_e2e/action.yml +++ b/.github/actions/start_ccm_e2e/action.yml @@ -32,7 +32,7 @@ runs: using: "composite" steps: - name: โฌ‡๏ธ Checkout CAPOSC - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: repository: 'outscale/cluster-api-provider-outscale' path: "cluster-api-provider-outscale" diff --git a/.github/workflows/auto-changelog.yaml b/.github/workflows/auto-changelog.yaml new file mode 100644 index 00000000..b1a136f9 --- /dev/null +++ b/.github/workflows/auto-changelog.yaml @@ -0,0 +1,22 @@ +name: ๐Ÿ“ Changelog + +on: + release: + types: [published] + +permissions: + contents: write + pull-requests: write + +jobs: + changelog: + runs-on: ubuntu-latest + steps: + - name: โฌ‡๏ธ Checkout repository + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + with: + persist-credentials: false + - name: ๐Ÿ“ Changelog + uses: outscale/.github/post-release@dfa747ea77f97fdc5a0bf745e4933a8d68631f89 # v1.1.2 + with: + changelog: docs/CHANGELOG.md diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1e2e0f21..97e85cf1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,7 +26,9 @@ jobs: runs-on: ubuntu-latest steps: - name: โฌ‡๏ธ Checkout repository - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + with: + persist-credentials: false - name: ๐Ÿ”Ž Docker Lint run: bash -c "make dockerlint" - name: ๐Ÿ”Ž golangci-lint @@ -36,8 +38,6 @@ jobs: shell: bash - name: Test run: bash -c "make test" - - name: Image - run: bash -c "make build-image" - name: ๐Ÿ”Ž Check docs run: bash -c "make check-helm-docs" - name: ๐Ÿ”Ž Check manifest diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 3fe4aaae..e566da91 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -28,7 +28,9 @@ jobs: steps: - name: Checkout - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + with: + persist-credentials: false - name: Initialize CodeQL uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4 diff --git a/.github/workflows/compliance.yml b/.github/workflows/compliance.yml index d3548aa1..ae6bda18 100644 --- a/.github/workflows/compliance.yml +++ b/.github/workflows/compliance.yml @@ -13,6 +13,6 @@ jobs: steps: - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 - name: Plumber - uses: outscale/.github/pipeline-compliance@d1bf523f2ce3fccb0784dfd03ca3cd5e0b906be8 # main + uses: outscale/.github/pipeline-compliance@7c476168e128fc5886b1019a61964f45e42e2452 # v1.1.1 with: github-token: ${{ secrets.PLUMBER_TOKEN }} diff --git a/.github/workflows/e2e_test.yml b/.github/workflows/e2e_test.yml index ebee213b..56fdc2e3 100644 --- a/.github/workflows/e2e_test.yml +++ b/.github/workflows/e2e_test.yml @@ -26,35 +26,51 @@ jobs: runs-on: [self-hosted, linux] steps: - name: โฌ‡๏ธ Checkout - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + with: + persist-credentials: false - name: โฌ‡๏ธ Install kubectl - uses: azure/setup-kubectl@829323503d1be3d00ca8346e5391ca0b07a9ab0d # v5 + uses: azure/setup-kubectl@829323503d1be3d00ca8346e5391ca0b07a9ab0d # v5.1.0 with: - version: v1.34.2 + version: v1.34.9 - name: โฌ‡๏ธ Install Helm - uses: azure/setup-helm@9bc31f4ebc9c6b171d7bfbaa5d006ae7abdb4310 # v5 + uses: azure/setup-helm@9bc31f4ebc9c6b171d7bfbaa5d006ae7abdb4310 # v5.0.1 - name: โฌ‡๏ธ Install Python uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6 - name: โฌ‡๏ธ Install Go uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 with: go-version-file: 'go.mod' + - name: โฌ‡๏ธ Set up Docker Buildx + uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4.1.0 - name: ๐Ÿ” Set AK/SK name based on runner region run: .github/scripts/runneraksk.sh - name: ๐Ÿงน Frieza - uses: outscale/frieza-github-actions/frieza-clean@68ffd39d7e181f3548369e332242b329b04a3182 # master + uses: outscale/frieza-github-actions/frieza-clean@1d8b83bc64d2230a0c3bc9f018ba6c0c67df98e8 # v0.15.0+hotfix.0 with: access_key: ${{ secrets[env.OSC_ACCESS_KEY_NAME] }} secret_key: ${{ secrets[env.OSC_SECRET_KEY_NAME] }} region: ${{ env.OSC_REGION }} exclude_resource_types: access_key - - name: ๐Ÿ“ฆ Build and push Docker image + - name: ๐Ÿณ Login to Harbor + uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4.2.0 + with: + registry: ${{ vars.REGISTRY }} + username: admin + password: ${{ secrets.HARBOR_ADMIN_PASSWORD }} + - name: ๐Ÿ“ฆ Run GoReleaser + uses: goreleaser/goreleaser-action@f06c13b6b1a9625abc9e6e439d9c05a8f2190e94 # v7.2.3 + with: + version: 'v2.15.4' + args: release --clean --snapshot + - name: ๐Ÿ“ฆ Push the Docker image run: | - docker login ${{ vars.REGISTRY }} -u admin -p ${{ secrets.HARBOR_ADMIN_PASSWORD }} - make buildx-image image-tag image-push + make image-tag image-push env: - REGISTRY_IMAGE: ${{ vars.REGISTRY }}/outscale/cloud-provider-osc - VERSION: ${{ format('{0}.{1}', github.sha, github.run_attempt) }} + IMAGE: "outscale/cloud-provider-osc" + IMAGE_TAG: "${{ github.sha }}-amd64" + REGISTRY_IMAGE: "${{ vars.REGISTRY }}/outscale/cloud-provider-osc" + REGISTRY_TAG: ${{ github.sha }} ## Create VPC Cluster - name: ๐Ÿงช Test on VPC cluster uses: ./.github/actions/start_ccm_e2e @@ -66,5 +82,5 @@ jobs: oks_secret_key: ${{ secrets.OKS_SECRET_KEY }} oks_region: ${{ vars.OKS_REGION }} image_name: ${{ vars.OMI_NAME }} - version: ${{ format('{0}.{1}', github.sha, github.run_attempt) }} + version: ${{ github.sha }} registry: ${{ vars.REGISTRY }} diff --git a/.github/workflows/pr-auto-tagging.yaml b/.github/workflows/pr-auto-tagging.yaml new file mode 100644 index 00000000..debe332d --- /dev/null +++ b/.github/workflows/pr-auto-tagging.yaml @@ -0,0 +1,18 @@ +name: ๐Ÿ”– PR autotagging + +on: + pull_request: null + +jobs: + autotagging: + permissions: + contents: read + pull-requests: write + runs-on: ubuntu-latest + steps: + - name: โฌ‡๏ธ Checkout repository + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + with: + persist-credentials: false + - name: ๐Ÿ”– Tag PR + uses: outscale/.github/auto-tagging@dfa747ea77f97fdc5a0bf745e4933a8d68631f89 # v1.1.2 diff --git a/.github/workflows/publish-helm.yml b/.github/workflows/publish-helm.yml deleted file mode 100644 index c3f85ced..00000000 --- a/.github/workflows/publish-helm.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: Publish Helm - -on: - release: - types: [published] - -permissions: - contents: read - -jobs: - push-helm-chart: - if: ${{ contains(github.ref, 'helm') }} - runs-on: ubuntu-22.04 - steps: - - name: Check the repo - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 - with: - fetch-depth: 0 - - uses: azure/setup-helm@9bc31f4ebc9c6b171d7bfbaa5d006ae7abdb4310 # v5 - with: - version: v3.18.3 - - name: Docker login - run: docker login -u $DOCKER_USER -p $DOCKER_PASSWORD - env: - DOCKER_USER: ${{secrets.DOCKER_USER_HELM}} - DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD_HELM}} - - name : push to Artifact Hub - run: - make helm-push - env: - DOCKER_USER: ${{secrets.DOCKER_USER_HELM}} - diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml deleted file mode 100644 index 3c05f4bf..00000000 --- a/.github/workflows/publish.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: Publish - -on: - release: - types: [published] - -permissions: - contents: read - -jobs: - push-image: - if: ${{ !contains(github.ref, 'helm') }} - runs-on: ubuntu-22.04 - steps: - - name: Check the repo - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 - - name: Docker login - run: docker login -u $DOCKER_USER -p $DOCKER_PASSWORD - env: - DOCKER_USER: ${{secrets.DOCKER_USER}} - DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}} - - name : push to Docker Hub - run: make build-image image-push \ No newline at end of file diff --git a/.github/workflows/release-helm.yml b/.github/workflows/release-helm.yml index e383e763..05ad2831 100644 --- a/.github/workflows/release-helm.yml +++ b/.github/workflows/release-helm.yml @@ -4,8 +4,8 @@ on: push: tags: - 'v*' - workflow_dispatch: - + workflow_dispatch: + permissions: contents: write @@ -15,27 +15,27 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: - fetch-depth: 0 - - name: Get changelog for release - id: changelog - uses: mindsers/changelog-reader-action@32aa5b4c155d76c94e4ec883a223c947b2f02656 # v2 + persist-credentials: false + - name: โฌ‡๏ธ Install helm + uses: azure/setup-helm@9bc31f4ebc9c6b171d7bfbaa5d006ae7abdb4310 # v5.0.1 with: - path: "docs/CHANGELOG.md" - version: ${{ github.ref_name }} - - uses: azure/setup-helm@9bc31f4ebc9c6b171d7bfbaa5d006ae7abdb4310 # v5 + version: v3.21.1 + - name: ๐Ÿ“ฆ Run GoReleaser + uses: goreleaser/goreleaser-action@f06c13b6b1a9625abc9e6e439d9c05a8f2190e94 # v7.2.3 with: - version: v3.18.3 - - name : Create Helm-package - run: make helm-package - - name: Create Release - uses: softprops/action-gh-release@b4309332981a82ec1c5618f44dd2e27cc8bfbfda # v3 - if: startsWith(github.ref, 'refs/tags/') + version: 'v2.15.4' + args: release --clean --config .goreleaser-helm.yaml + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: ๐Ÿณ Login to Docker Hub + uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4.2.0 with: - tag_name: ${{ github.ref_name }} - name: Helm Release ${{ github.ref_name }} - draft: true - prerelease: false - body: ${{ steps.changelog.outputs.changes }} - files: out-helm/* \ No newline at end of file + username: ${{secrets.DOCKER_USER_HELM}} + password: ${{secrets.DOCKER_PASSWORD_HELM}} + - name : โฌ†๏ธ Push to Docker Hub + run: + make helm-push + env: + DOCKER_USER: ${{secrets.DOCKER_USER_HELM}} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f3d9ea73..ef940eab 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,21 +15,24 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: - fetch-depth: 0 - - name: Get changelog for release - id: changelog - uses: mindsers/changelog-reader-action@32aa5b4c155d76c94e4ec883a223c947b2f02656 # v2 + persist-credentials: false + - name: โฌ‡๏ธ Install Go + uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 with: - path: "docs/CHANGELOG.md" - version: ${{ github.ref_name }} - - name: Create Release - uses: softprops/action-gh-release@b4309332981a82ec1c5618f44dd2e27cc8bfbfda # v3 - if: startsWith(github.ref, 'refs/tags/') + go-version-file: 'go.mod' + - name: โฌ‡๏ธ Set up Docker Buildx + uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4.1.0 + - name: ๐Ÿณ Login to Docker Hub + uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4.2.0 with: - tag_name: ${{ github.ref_name }} - name: Release ${{ github.ref_name }} - draft: true - prerelease: false - body: ${{ steps.changelog.outputs.changes }} + username: ${{ secrets.DOCKER_USER }} + password: ${{ secrets.DOCKER_PASSWORD }} + - name: ๐Ÿ“ฆ Run GoReleaser + uses: goreleaser/goreleaser-action@f06c13b6b1a9625abc9e6e439d9c05a8f2190e94 # v7.2.3 + with: + version: 'v2.15.4' + args: release --clean + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/sync-labels.yml b/.github/workflows/sync-labels.yml deleted file mode 100644 index 1acfaf58..00000000 --- a/.github/workflows/sync-labels.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Sync labels -on: - workflow_dispatch: - -permissions: - issues: write # needed to edit labels - -jobs: - sync: - runs-on: ubuntu-latest - steps: - - uses: EndBug/label-sync@52074158190acb45f3077f9099fea818aa43f97a # v2 - with: - config-file: 'https://raw.githubusercontent.com/outscale/.github/main/labels.yml' - # delete-other-labels: false # set to true for strict sync - # dry-run: false # set to true to preview changes diff --git a/.github/workflows/trivy.yml b/.github/workflows/trivy.yml index dd5d17d3..0c86d595 100644 --- a/.github/workflows/trivy.yml +++ b/.github/workflows/trivy.yml @@ -23,16 +23,18 @@ jobs: runs-on: ubuntu-latest steps: - name: โฌ‡๏ธ Checkout repository - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 - - name: Image - run: | - make build-image - env: - VERSION: ${{ github.sha }} + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + with: + persist-credentials: false + - name: ๐Ÿ“ฆ Run GoReleaser + uses: goreleaser/goreleaser-action@f06c13b6b1a9625abc9e6e439d9c05a8f2190e94 # v7.2.3 + with: + version: 'v2.15.4' + args: release --clean --snapshot - name: ๐Ÿ”Ž Trivy-Scan uses: aquasecurity/trivy-action@ed142fd0673e97e23eac54620cfb913e5ce36c25 # v0.36.0 with: - image-ref: outscale/cloud-provider-osc:${{ github.sha }} + image-ref: outscale/cloud-provider-osc:${{ github.sha }}-amd64 format: 'sarif' output: 'trivy-results.sarif' severity: 'CRITICAL,HIGH' @@ -40,6 +42,6 @@ jobs: version: 'v0.72.0' - name: โฌ†๏ธ Upload Trivy results if: ${{ github.event_name != 'pull_request' }} - uses: github/codeql-action/upload-sarif@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4 + uses: github/codeql-action/upload-sarif@54f647b7e1bb85c95cddabcd46b0c578ec92bc1a # v4.36.3 with: sarif_file: 'trivy-results.sarif' diff --git a/.gitignore b/.gitignore index c83e018c..01a50b51 100644 --- a/.gitignore +++ b/.gitignore @@ -58,8 +58,9 @@ vendor/ .env/ tests/e2e/single_az_test_e2e_report/ out-helm/ +dist/ # Ignore docs in the helm package deploy/k8s-osc-ccm/CHANGELOG.md deploy/k8s-osc-ccm/README.md -deploy/k8s-osc-ccm/LICENSE \ No newline at end of file +deploy/k8s-osc-ccm/LICENSE diff --git a/.goreleaser-helm.yaml b/.goreleaser-helm.yaml new file mode 100644 index 00000000..fbe680a0 --- /dev/null +++ b/.goreleaser-helm.yaml @@ -0,0 +1,26 @@ +# This is an example .goreleaser.yml file with some sensible defaults. +# Make sure to check the documentation at https://goreleaser.com + +# The lines below are called `modelines`. See `:help modeline` +# Feel free to remove those if you don't want/need to use them. +# yaml-language-server: $schema=https://goreleaser.com/static/schema.json +# vim: set ts=2 sw=2 tw=0 fo=cnqoj + +version: 2 + +before: + hooks: + # This generates a out-helm/osc-bsu-csi-driver-.tgz archive + - make helm-package + +builds: + - skip: true + +changelog: + use: github-native + +release: + draft: true + name_template: "Helm Release v{{.Version}}" + extra_files: + - glob: ./out-helm/*.tgz diff --git a/.goreleaser.yaml b/.goreleaser.yaml new file mode 100644 index 00000000..a430b464 --- /dev/null +++ b/.goreleaser.yaml @@ -0,0 +1,57 @@ +# yaml-language-server: $schema=https://goreleaser.com/static/schema.json +# vim: set ts=2 sw=2 tw=0 fo=cnqoj + +version: 2 + +before: + hooks: + - go mod tidy + +builds: + - id: "osc-cloud-controller-manager" + binary: osc-cloud-controller-manager + env: + - CGO_ENABLED=0 + goos: + - linux + goarch: + - amd64 + ldflags: + - "-s -w {{ if not .IsSnapshot }}-X {{ .ModulePath }}/ccm/utils.version=v{{.Version}}{{ end }}" + main: ./cmd/osc-cloud-controller-manager + - id: "osc-labeler" + binary: osc-labeler + env: + - CGO_ENABLED=0 + goos: + - linux + goarch: + - amd64 + ldflags: + - "-s -w {{ if not .IsSnapshot }}-X {{ .ModulePath }}/ccm/utils.version=v{{.Version}}{{ end }}" + main: ./cmd/osc-labeler + +changelog: + use: github-native + +release: + draft: true + name_template: "Release v{{.Version}}" + +dockers_v2: + - images: + - "outscale/cloud-provider-osc" + tags: + - "v{{ .Version }}" + - "{{ if .IsSnapshot }}{{ .FullCommit }}{{ end }}" + platforms: + - linux/amd64 + labels: + "org.opencontainers.image.description": "cloud-provider-osc" + "org.opencontainers.image.created": "{{.Date}}" + "org.opencontainers.image.name": "{{.ProjectName}}" + "org.opencontainers.image.revision": "{{.FullCommit}}" + "org.opencontainers.image.version": "{{.Version}}" + "org.opencontainers.image.source": "{{.GitURL}}" + build_args: + VERSION: "v{{ .Version }}" diff --git a/Dockerfile b/Dockerfile index fcd3958d..cdb8a1a5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,48 +10,11 @@ # See the License for the specific language governing permissions and # limitations under the License. -################################################################################ -## BUILD ARGS ## -################################################################################ -# This build arg allows the specification of a custom Golang image. -ARG GOLANG_IMAGE=golang:1.26.4@sha256:792443b89f65105abba56b9bd5e97f680a80074ac62fc844a584212f8c8102c3 - -# The distroless image on which the CPI manager image is built. -# -# Please do not use "latest". Explicit tags should be used to provide -# deterministic builds. This image doesn't have semantic version tags, but -# the fully-qualified image can be obtained by entering -# "gcr.io/distroless/static:latest" in a browser and then copying the -# fully-qualified image from the web page. ARG DISTROLESS_IMAGE=gcr.io/distroless/static@sha256:3592aa8171c77482f62bbc4164e6a2d141c6122554ace66e5cc910cadb961ff0 -################################################################################ -## BUILD STAGE ## -################################################################################ -# Build the manager as a statically compiled binary so it has no dependencies -# libc, muscl, etc. -FROM ${GOLANG_IMAGE} AS builder - -# This build arg is the version to embed in the CPI binary -ARG VERSION=${VERSION} - -# This build arg controls the GOPROXY setting -ARG GOPROXY - -WORKDIR /build -COPY go.mod . -COPY go.sum . -RUN go mod download -COPY . . -ENV CGO_ENABLED=0 -ENV GOPROXY=${GOPROXY:-https://proxy.golang.org} -RUN make build - -################################################################################ -## MAIN STAGE ## -################################################################################ -# Copy the manager into the distroless image. FROM ${DISTROLESS_IMAGE} -COPY --from=builder /build/osc-cloud-controller-manager /bin/osc-cloud-controller-manager -COPY --from=builder /build/osc-labeler /bin/osc-labeler +ARG TARGETPLATFORM + +COPY $TARGETPLATFORM/osc-cloud-controller-manager /bin/osc-cloud-controller-manager +COPY $TARGETPLATFORM/osc-labeler /bin/osc-labeler ENTRYPOINT [ "/bin/osc-cloud-controller-manager" ] diff --git a/Makefile b/Makefile index b3356fc3..57d056ae 100644 --- a/Makefile +++ b/Makefile @@ -33,8 +33,8 @@ GOPATH ?= $(shell go env GOPATH) # Full log with -v -x #GO_ADD_OPTIONS := -v -x -IMAGE = "outscale/cloud-provider-osc" -IMAGE_TAG = "${VERSION}" +IMAGE ?= "outscale/cloud-provider-osc" +IMAGE_TAG ?= "${VERSION}" export GO111MODULE=on #GOPATH=$(PWD) diff --git a/go.mod b/go.mod index 94e65430..8f447059 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,9 @@ module github.com/outscale/cloud-provider-osc -go 1.26.3 +go 1.26.0 + +toolchain go1.26.5 + // Outscale imports require ( diff --git a/go.sum b/go.sum index ec616f1b..813aa640 100644 --- a/go.sum +++ b/go.sum @@ -128,8 +128,6 @@ github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20260115054156-294ebfa9ad83 h1:z2ogiKUYzX5Is6zr/vP9vJGqPwcdqsWjOt+V8J7+bTc= -github.com/google/pprof v0.0.0-20260115054156-294ebfa9ad83/go.mod h1:MxpfABSjhmINe3F1It9d+8exIHFvUqtLIRCdOGNXqiI= github.com/google/pprof v0.0.0-20260402051712-545e8a4df936 h1:EwtI+Al+DeppwYX2oXJCETMO23COyaKGP6fHVpkpWpg= github.com/google/pprof v0.0.0-20260402051712-545e8a4df936/go.mod h1:MxpfABSjhmINe3F1It9d+8exIHFvUqtLIRCdOGNXqiI= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= @@ -210,16 +208,10 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= -github.com/oapi-codegen/runtime v1.2.0 h1:RvKc1CVS1QeKSNzO97FBQbSMZyQ8s6rZd+LpmzwHMP4= -github.com/oapi-codegen/runtime v1.2.0/go.mod h1:Y7ZhmmlE8ikZOmuHRRndiIm7nf3xcVv+YMweKgG1DT0= github.com/oapi-codegen/runtime v1.3.1 h1:RgDY6J4OGQLbRXhG/Xpt3vSVqYpHQS7hN4m85+5xB9g= github.com/oapi-codegen/runtime v1.3.1/go.mod h1:kOdeacKy7t40Rclb1je37ZLFboFxh+YLy0zaPCMibPY= -github.com/onsi/ginkgo/v2 v2.28.1 h1:S4hj+HbZp40fNKuLUQOYLDgZLwNUVn19N3Atb98NCyI= -github.com/onsi/ginkgo/v2 v2.28.1/go.mod h1:CLtbVInNckU3/+gC8LzkGUb9oF+e8W8TdUsxPwvdOgE= github.com/onsi/ginkgo/v2 v2.28.3 h1:4JvMdwtFU0imd8fHx25OJXoDMRexnf8v5NHKYSTTji4= github.com/onsi/ginkgo/v2 v2.28.3/go.mod h1:+aXOY+vzZ5mu2iI2HpTZUPmM//oQfsNFX6gU9kNcA44= -github.com/onsi/gomega v1.39.1 h1:1IJLAad4zjPn2PsnhH70V4DKRFlrCzGBNrNaru+Vf28= -github.com/onsi/gomega v1.39.1/go.mod h1:hL6yVALoTOxeWudERyfppUcZXjMwIMLnuSfruD2lcfg= github.com/onsi/gomega v1.40.0 h1:Vtol0e1MghCD2ZVIilPDIg44XSL9l2QAn8ZNaljWcJc= github.com/onsi/gomega v1.40.0/go.mod h1:M/Uqpu/8qTjtzCLUA2zJHX9Iilrau25x1PdoSRbWh5A= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= @@ -234,16 +226,8 @@ github.com/opencontainers/selinux v1.11.1 h1:nHFvthhM0qY8/m+vfhJylliSshm8G1jJ2jD github.com/opencontainers/selinux v1.11.1/go.mod h1:E5dMC3VPuVvVHDYmi78qvhJp8+M586T4DlDRYpFkyec= github.com/outscale/goutils/k8s v0.0.2 h1:GkYQu4qIIB09PAEOiD0fXZCFVKbPfOTr1cMIFsPzrg0= github.com/outscale/goutils/k8s v0.0.2/go.mod h1:tTa+38LngOZfihy3b6to2lTTqsohk+OKTRD9H2/ytGI= -github.com/outscale/goutils/sdk v0.0.2 h1:btnhPmo2Sitm3PDtE4bBeuFpF0B4YEHUc91NT7rsVPM= -github.com/outscale/goutils/sdk v0.0.2/go.mod h1:2Ae3lIQmdOC+n/VnOABrzS+kpjq/Hm0PJQhABpiFW8M= -github.com/outscale/goutils/sdk v0.0.4 h1:hm+LZyeHUBYj066MjVVYYEPnlZRQSv4v74TZgfIQkRM= -github.com/outscale/goutils/sdk v0.0.4/go.mod h1:LiXmAIA3CAXCdanEARKQ3Q/Lb8n8dKeGSbPRxIe43kc= github.com/outscale/goutils/sdk v0.0.5 h1:UVu7uC38VOSCPqeCORsw1rKWaoHrsv+TTp6TGUHenjo= github.com/outscale/goutils/sdk v0.0.5/go.mod h1:LiXmAIA3CAXCdanEARKQ3Q/Lb8n8dKeGSbPRxIe43kc= -github.com/outscale/osc-sdk-go/v3 v3.0.0-rc.1 h1:6/JP3i0HRV4BYuVfyVWowA0sX2HnrIqyi3YhaKe6PoI= -github.com/outscale/osc-sdk-go/v3 v3.0.0-rc.1/go.mod h1:907IGb1sqHsDhXMDB8lkEqsOH5kK7/VTJ74+ZHqSLx0= -github.com/outscale/osc-sdk-go/v3 v3.0.0-rc.2 h1:uj8s4jaqqzq2hFqQVAB6PTVwuPm43e5Ti/ZFQqvCAB0= -github.com/outscale/osc-sdk-go/v3 v3.0.0-rc.2/go.mod h1:Yi0j2XAZ0/8g0ObVFofMSL5+IuNIDp/AiEI6gXc7txc= github.com/outscale/osc-sdk-go/v3 v3.0.0-rc.3 h1:dE2Swgp2M3gSdv5Yx28JFHF1LBhGzVOb6NbVjyshFAs= github.com/outscale/osc-sdk-go/v3 v3.0.0-rc.3/go.mod h1:Yi0j2XAZ0/8g0ObVFofMSL5+IuNIDp/AiEI6gXc7txc= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -356,24 +340,18 @@ go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.47.0 h1:V6e3FRj+n4dbpw86FJ8Fv7XVOql7TEwpHapKoMJ/GO8= -golang.org/x/crypto v0.47.0/go.mod h1:ff3Y9VzzKbwSSEzWqJsJVBnWmRwRSHt/6Op5n9bQc4A= golang.org/x/crypto v0.50.0 h1:zO47/JPrL6vsNkINmLoo/PH1gcxpls50DNogFvB5ZGI= golang.org/x/crypto v0.50.0/go.mod h1:3muZ7vA7PBCE6xgPX7nkzzjiUq87kRItoJQM1Yo8S+Q= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.32.0 h1:9F4d3PHLljb6x//jOyokMv3eX+YDeepZSEo3mFJy93c= -golang.org/x/mod v0.32.0/go.mod h1:SgipZ/3h2Ci89DlEtEXWUk/HteuRin+HHhN+WbNhguU= golang.org/x/mod v0.35.0 h1:Ww1D637e6Pg+Zb2KrWfHQUnH2dQRLBQyAtpr/haaJeM= golang.org/x/mod v0.35.0/go.mod h1:+GwiRhIInF8wPm+4AoT6L0FA1QWAad3OMdTRx4tFYlU= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o= -golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8= golang.org/x/net v0.53.0 h1:d+qAbo5L0orcWAr0a9JweQpjXF19LMXJE8Ey7hwOdUA= golang.org/x/net v0.53.0/go.mod h1:JvMuJH7rrdiCfbeHoo3fCQU24Lf5JJwT9W3sJFulfgs= golang.org/x/oauth2 v0.33.0 h1:4Q+qn+E5z8gPRJfmRy7C2gGG3T4jIprK6aSYgTXGRpo= @@ -381,8 +359,6 @@ golang.org/x/oauth2 v0.33.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwE golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= -golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4= golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -390,18 +366,12 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ= -golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/sys v0.43.0 h1:Rlag2XtaFTxp19wS8MXlJwTvoh8ArU6ezoyFsMyCTNI= golang.org/x/sys v0.43.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= -golang.org/x/term v0.39.0 h1:RclSuaJf32jOqZz74CkPA9qFuVTX7vhLlpfj/IGWlqY= -golang.org/x/term v0.39.0/go.mod h1:yxzUCTP/U+FzoxfdKmLaA0RV1WgE0VY7hXBwKtY/4ww= golang.org/x/term v0.42.0 h1:UiKe+zDFmJobeJ5ggPwOshJIVt6/Ft0rcfrXZDLWAWY= golang.org/x/term v0.42.0/go.mod h1:Dq/D+snpsbazcBG5+F9Q1n2rXV8Ma+71xEjTRufARgY= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE= -golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8= golang.org/x/text v0.36.0 h1:JfKh3XmcRPqZPKevfXVpI1wXPTqbkE5f7JA92a55Yxg= golang.org/x/text v0.36.0/go.mod h1:NIdBknypM8iqVmPiuco0Dh6P5Jcdk8lJL0CUebqK164= golang.org/x/time v0.7.0 h1:ntUhktv3OPE6TgYxXWv9vKvUSJyIFJlyohwbkEwPrKQ= @@ -410,8 +380,6 @@ golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.41.0 h1:a9b8iMweWG+S0OBnlU36rzLp20z1Rp10w+IY2czHTQc= -golang.org/x/tools v0.41.0/go.mod h1:XSY6eDqxVNiYgezAVqqCeihT4j1U2CCsqvH3WhQpnlg= golang.org/x/tools v0.44.0 h1:UP4ajHPIcuMjT1GqzDWRlalUEoY+uzoZKnhOjbIPD2c= golang.org/x/tools v0.44.0/go.mod h1:KA0AfVErSdxRZIsOVipbv3rQhVXTnlU6UhKxHd1seDI= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=