* chore(deps): bump k8s libs from 0.29.6 to 0.30.2
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
* latest commit
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
* update known types
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
* bump controller-runtime to a version that's compatible with go-client 0.30.x
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
* update go-to-protobuf flag
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
* handle new requirements for proto file locations
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
* bump gitops-engine version
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
* fix openapigen
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
* remove toolchain
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
* bump gitops-engine version
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
* no need for replace now
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
---------
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
* feat: parameterized CMPs
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* values types for parameters
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* Add types for CMP announcement
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* Reorg
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* finish type
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* First pass at working GetParametersAnnouncement
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* Typos
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* Make all fields optional
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* Make sure response makes it to repo server
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* Refactor for testing
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* lint
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* send build env to param announcement gen
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* test parameter announcement
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* tests
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* environ tests
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* Rename workdir to app dir
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* handle empty command, start ui work (#11)
* Add types for CMP announcement
Signed-off-by: zachaller <zachaller@hotmail.com>
* Reorg
Signed-off-by: zachaller <zachaller@hotmail.com>
* finish type
Signed-off-by: zachaller <zachaller@hotmail.com>
* First pass at working GetParametersAnnouncement
Signed-off-by: zachaller <zachaller@hotmail.com>
* Typos
Signed-off-by: zachaller <zachaller@hotmail.com>
* Make all fields optional
Signed-off-by: zachaller <zachaller@hotmail.com>
* Make sure response makes it to repo server
Signed-off-by: zachaller <zachaller@hotmail.com>
* Refactor for testing
Signed-off-by: zachaller <zachaller@hotmail.com>
* values types for parameters
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* lint
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* send build env to param announcement gen
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* test parameter announcement
* tests
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* environ tests
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* Rename workdir to app dir
Signed-off-by: zachaller <zachaller@hotmail.com>
* handle empty command, start ui work
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix order
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix map merging, make params read-only
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
Co-authored-by: zachaller <zachaller@hotmail.com>
* Add helm PoC example plugin
Signed-off-by: zachaller <zachaller@hotmail.com>
* example as kustomize overlay
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* Parameterized cmps docs (#12)
* use printf instead of echo
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* docs
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* test for temp dir cleanup
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* handle empty params
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* handle empty values
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* consolidate types
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix tests
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* docs
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* docs
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* remove duplicate info
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* add warning about param announcements vs param values
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* tests (#13)
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* tests
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix types
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix test
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix codegen
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix codegen
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* revert test hack
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* docs correction
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix indentation
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
* fix spacing
Signed-off-by: CI <michael@crenshaw.dev>
* move util function to util file and add test
Signed-off-by: CI <michael@crenshaw.dev>
* wrap error
Signed-off-by: CI <michael@crenshaw.dev>
* correct version number
Signed-off-by: CI <michael@crenshaw.dev>
* document necessity of collectionType param
Signed-off-by: CI <michael@crenshaw.dev>
* remove part of error message that's not useful (dir name is now randomized)
Signed-off-by: CI <michael@crenshaw.dev>
* fix things so that they are not broken
Signed-off-by: CI <michael@crenshaw.dev>
* don't close file before caller gets a chance to use it
Signed-off-by: CI <michael@crenshaw.dev>
* codegen
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
* fix test
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
* comments
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
* fix test
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
* DON'T PANIC
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
Signed-off-by: zachaller <zachaller@hotmail.com>
Signed-off-by: CI <michael@crenshaw.dev>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: zachaller <zachaller@hotmail.com>
* namespace labels
Signed-off-by: pashavictorovich <pavel@codefresh.io>
* create namespace should support annotations
Signed-off-by: pashavictorovich <pavel@codefresh.io>
* handle also modification hook
Signed-off-by: pashavictorovich <pavel@codefresh.io>
* regenerate entity on modify hook
Signed-off-by: pashavictorovich <pavel@codefresh.io>
* manifests
Signed-off-by: pashavictorovich <pavel@codefresh.io>
* feat: enable metadata to be set on namespaces
This builds upon the work that @pasha-codefresh did in #10288.
The main differences between this PR and the previous one is that we use
SSA to diff between different versions of the namespace, as well as
having a slightly different API in gitops-engine for setting the
namespace modifier.
We now also set the ownership of the namespace in ArgoCD.
Closes#4628Closes#6215Closes#7799
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
* fix: don't always track namespaces
For now, only allow namespaces managed with `managedNamespaceMetadata`
to have tracking set by Argo. Ideally we'd like new namespaces to also
be tracked by Argo, but there's currently an issue with a failing
integration test.
Also wrap error message if setting the app instance errors on the
namespace.
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
* fix: always return true with `hasManagedMetadata`
If `hasManagedMetadata` is set, `true` should always be returned.
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
* docs: add clarifying docs on resource tracking
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
* style: pr tweaks
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
* fix: re-add label unsetting
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
* Update gitops-engine to current master
Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
Signed-off-by: pashavictorovich <pavel@codefresh.io>
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
Co-authored-by: pashavictorovich <pavel@codefresh.io>
Co-authored-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
* add notifications API
we allow to list triggers, templates and services
Signed-off-by: Pavel <aborilov@gmail.com>
* fix: add notification manifest to tests
Signed-off-by: Pavel <aborilov@gmail.com>
* fix: add sleep to fix integration tests
for some reason notification configmap has old data, trying to fix with
the sleep
Signed-off-by: Pavel <aborilov@gmail.com>
* add proposal
Signed-off-by: Pavel <aborilov@gmail.com>
* more info to proposal
Signed-off-by: Pavel <aborilov@gmail.com>
* use struct for notifications objects instead of just strings
to be able easily extend API in the future return list of
trigger/template/service as list of structs
Signed-off-by: Pavel <aborilov@gmail.com>
Signed-off-by: Pavel <aborilov@gmail.com>
* Add initial primitives and tests for GPG related operations
* More tests and test documentation
* Move gpg primitives to own module
* Add initial primitives for running git verify-commit and tests
* Improve and better comment test
* Implement VerifyCommitSignature() primitive for metrics wrapper
* More commentary
* Make reposerver verify gpg signatures when generating manifests
* Make signature validation optional
* Forbid use of local manifests when signature verification is enabled
* Introduce new signatureKeys field in project CRD
* Initial support for only syncing against signed revisions
* Updates to GnuPG primitives and more test cases
* Move signature verification to correct place and add tests
* Add signature verification result to revision metadata and display it in UI
* Add more primitives and move out some stuff to common module
* Add more testdata
* Add key management primitives to ArgoDB
* Move type GnuPGPublicKey to appsv1 package
* Add const ArgoCDGPGKeysConfigMapName
* Handle key operations with appsv1.GnuPGPublicKey
* Add initial API for managing GPG keys
* Remove deprecated code
* Add primitives for adding public keys to configuration
* Change semantics of ValidateGPGKeys to return more key information
* Add key import functionality to public key API
* Fix code quirks reported by linter
* More code quirks fixes
* Fix test
* Add primitives for deleting keys from configuration
* Add delete key operation to API and CLI
* Cosmetics
* Implement logic to sync configuration to keyring in repo-server
* Add IsGPGEnabled() primitive and also update trustdb on ownertrust changes
* Use gpg.IsGPGEnabled() instead of custom test
* Remove all keyring manipulating methods from DB
* Cosmetics/comments
* Require grpc methods from argoproj pkg
* Enable setting config path via ARGOCD_GPG_DATA_PATH
* Allow "no" and any cases in ARGOCD_GPG_ENABLED
* Enable GPG feature on start and start-e2e and set required environment
* Cosmetics/comments
* Cosmetics and commentary
* Update API documentation
* Fix comment
* Only run GPG related operations if GPG is enabled
* Allow setting ARGOCD_GPG_ENABLE from the environment
* Create GPG ConfigMap resource during installation
* Use function instead of constant to get the watcher path
* Re-watch source path in case it gets recreated. Also, error on finish
* Add End-to-End tests for GPG commit verification
* Introduce SignatureKey type for AppProject CRD
* Fix merge error from previous commit
* Adapt test for additional manifest (argocd-gpg-keys-cm.yaml)
* Fix linter issues
* Adapt CircleCI configuration to enable running tests
* Add wrapper scripts for git and gpg
* Sigh.
* Display gpg version in CircleCI
* Install gnupg2 and link it to gpg in CI
* Try to install gnupg2 in CircleCI image
* More CircleCI tweaks
* # This is a combination of 10 commits.
# This is the 1st commit message:
Containerize tests - test cycle
# This is the commit message #2:
adapt working directory
# This is the commit message #3:
Build before running tests (so we might have a cache)
# This is the commit message #4:
Test limiting parallelism
# This is the commit message #5:
Remove unbound variable
# This is the commit message #6:
Decrease parallelism to find out limit
# This is the commit message #7:
Use correct flag
# This is the commit message #8:
Update Docker image
# This is the commit message #9:
Remove build phase and increase parallelism
# This is the commit message #10:
Further increase parallelism
* Dockerize toolchain
* Add new targets to Makefile
* Codegen
* Properly handle permissions for E2E tests
* Remove gnupg2 installation from CircleCI configuration
* Limit parallelism of build
* Fix Yarn lint
* Retrigger CI for possible flaky test
* Codegen
* Remove duplicate target in Makefile
* Pull in pager from dep ensure -v
* Adapt to gitops-engine changes and codegen
* Use new health package for health status constants
* Add GPG methods to ArgoDB mock module
* Fix possible nil pointer dereference
* Fix linter issue in imports
* Introduce RBAC resource type 'gpgkeys' and adapt policies
* Use ARGOCD_GNUPGHOME instead of GNUPGHOME for subsystem configuration
Also remove some deprecated unit tests.
* Also register GPG keys API with gRPC-GW
* Update from codegen
* Update GPG key API
* Add web UI to manage GPG keys
* Lint updates
* Change wording
* Add some plausibility checks for supplied data on key creation
* Update from codegen
* Re-allow binary keys and move check for ASCII armoured to UI
* Make yarn lint happy
* Add editing signature keys for projects in UI
* Add ability to configure signature keys for project in CLI
* Change default value to use for GNUPGHOME
* Do not include data section in default gpg keys CM
* Adapt Docker image for GnuPG feature
* Add required configuration to installation manifests
* Add add-signature-key and remove-signature-key commands to project CLI
* Fix typo
* Add initial user documentation for GnuPG verification
* Fix role name - oops
* Mention required RBAC roles in docs
* Support GPG verification of git annotated tags as well
* Ensure CLI can build succesfully
* Better support verification on tags
* Print key type in upper case
* Update user documentation
* Correctly disable GnuPG verification if ARGOCD_GPG_ENABLE=false
* Clarify that this feature is only available with Git repositories
* codegen
* Move verification code to own function
* Remove deprecated check
* Make things more developer friendly when running locally
* Enable GPG feature by default, and don't require ARGOCD_GNUPGHOME to be set
* Revert changes to manifests to reflect default enable state
* Codegen
* chore: Migrate CI to GitHub actions
* Do not install golangci-lint, we use the action
* Integrate codecov.io upload
* Use some better names for analyze job & steps
* go mod tidy
* Update tools
* Disable CircleCI completely
* Satisfy CircleCI with a dummy step until it's disabled
* chore: Migrate to Go modules
* Update CircleCI config
* Fix path
* Attach vendor for test step correctly
* restore_vendor -> attach_vendor
* Update cache path
* Checkout code before attaching vendor
* Move checkout to even earlier in job
* Don't restore cache for e2e step
* .
* Explicitly set GOPATH
* Restore Build cache
* Fix permissions
* Set correct environment for docker env
* Uncache everything
* Fix permissions
* Use workspace for caching Go code
* .
* go mod tidy
* Try to speed up builds
* Make mod target implicit dependencies
* Do not call make mod-download or mod-vendor
* Fix permissions
* Don't have modules dependendencies on test-e2e-local
* Fix confgi
* Bye bye
* Remove test parallelism
* Get max test parallelism back in, but with lower value
Necessary STDIN changes to support Windows
Added support for SE Linux
Informational message about linting OOM
Updated due to latest helm stable being 3.x
* Generate swagger files
* Add basic Swagger definitions
* Add reposerver swagger file
* Consolidate swagger files
* Move swagger files to swagger-ui directory instead
* Put swagger files in swagger-ui
* Fix order of operations
* Move back to swagger directory
* Serve API server swagger files raw for now
* Serve reposerver swagger files from API server
* Move back to subdirectories, thanks @alexmt
* Fix comment on application Rollback
* Update two more comments
* Fix comment in session.proto
* Update generated code
* Update generated swagger docs
* Fix comment for delete actions in cluster and repository swagger
* Set expected collisions and invoke mixins
* Update generated code
* Create swagger mixins from codegen
* Move swagger.json location, thanks @jazminGonzalez-Rivero
* Add ref cleanup for swagger combined
* Make fewer temp files when generating swagger
* Delete intermediate swagger files
* Serve new file at /swagger.json
* Set up UI server
* Update package lock
* Commit generated swagger.json files
* Add install commands for swagger
* Use ReDoc server instead of Swagger UI server
* Update lockfile
* Make URL paths more consistent
* Update package lock
* Separate out handlers for Swagger UI, JSON
* Rm unnecessary CORS headers
...since we're serving from the app server
* Simplify serving
* Further simplify serving code
* Update package lock
* Factor out swagger serving into util
* Add test for Swagger server
* Use ServeSwaggerUI method to run tests
* Update package lock
* Don't generate swagger for reposerver
* Reset to master Gopkg.lock and server/server.go
* Merge in prev change to server/server.go
* Redo changes to Gopkg.lock
* Fix number of conflicts
* Update generated swagger.json for server
* Fix issue with project feature error