This was required as setup-envtest@latest no longer works with Go
versions less than 1.22.
controller-tools was also updated as it panics if 0.13.0 is used with Go
1.22. 0.14.0 must be used instead.
Go version also moved to 1.21 to comply with new mod shape.
This should be safe given Go's compatability guarantees and it makes
using ASO easier with dev.sh and other Go projects which may have moved
to a newer Go version before we did easier.
* Add Backend / NamedValue / Subscription
* Added samples
* Adding samples
* APIM Integration Tests
* Added deletes into recording
* Working envtest recording
* envtest working for teh rest of the APIM services
* Added keyvault properties
* Added the preview version of apim
* KeyVaultId is an armReference
* Backend Proxy Password is now a secret
* Backend ResorceId is now an armReference
* PrimaryKey/SecondaryKey importConfigMap
* Add comment for BackendCredentialsContract
* Index md new format
* KeyVault is not a real ARM Id
* Whoops!
* keys should be secrets
* Adding CRD tests
* WIP - testing
* Removed the azureGeneratedSecrets
* AzureGeneratedSecrets for APIM
* OwnerId (UserId) is an ARM Reference
* Working samples
* Comment future APIM
* Remove preview version
* Add Azure Generated Secrets back in
* Adding Policy Fragment test
* Fixed up ARM References
* Added Secret tests
* Tests that delete the resourec group after
* Remove comments of stuff that is implemented
* Better comments for authoring apim tests
* Put samples test back
* Comment out 2 sample tests
* Renamed VersionSet ApiVersionSet
* Api VersionSet samples
* Working CRD recording
* Update v2/internal/controllers/crd_apimanagement_20220801_test.go
Co-authored-by: Bevan Arps <bevan.arps@outlook.com>
* Removed restore comment
* Format on save for linters
* Added go.sum fix
* Better comment about running subtests in sequence
---------
Co-authored-by: Matthew Christopher <matthchr@users.noreply.github.com>
Co-authored-by: Bevan Arps <bevan.arps@outlook.com>
This is so that even if somebody launches the container and runs it
using their user identity (matching the UID/GID of the files they've
mounted into the container locally) docker will still be able to find
the buildx extension.
* Update dependencies
* Update Taskfile to ensure task --force works
* Fix wait-for-operator-ready script
Previously it only waited 5s which was less than the total time required
to list all CRDs. This caused the script to fail if it happened to run
after all CRDs were added (list takes long time) but succeed if it ran
right as CRDs were being added (list takes less time because not all
CRDs added yet).
* Fix failing ASOv1 test
* Use item format for deps
* Create `quick-checks` task
* Remove crossplane CRD codegen from quick checks
* Run CI sequentially for clearer logs
* Rename task to docs:build-site and relocate
* Don't need to regenerate CRDs for asoctl:unit-test
* Don't need to regenerate CRDs for asoctl:lint
* Don't need to regenerate CRDs for asoctl:build
* Rename task to doc:render-diagrams and relocate
* Rename task to doc:crd-api and relocate
* Rename task to doc:frontmatter-check and relocate
* Add zip to devcontainer
* Compress asoctl
* Support Workload Identity KIND clusters
* Restructure scripts directory
Make it easier to exclude v2 scripts from v1 CI job, and also more clear
which scripts are for v2 vs v1.
* Add replacementPatterns to link checker config
* Update links
* Code gardening
* Move dependencies from Taskfile to devcontainer
* Fix up _index files
* Document link checker exclusions
* Fix end of file
* Refactor secrets handling to prepare for configmap support
Refactors some code which can be shared between configmap and secrets.
* Use generic Resolved implementation
This reduces a small amount of duplciate code and paves the way
for other types of resolved references such as for configmaps.
* Change golangci-lint installation
* Update admission review verstion to v1
* Update to newer envtest setup, remove Kubebuilder
* Make Dockerfile work for any UID/GID
Co-authored-by: Matthew Christopher <matthchr@users.noreply.github.com>
This seems to pass locally without any other changes.
Changes produced by `go get -u sigs.k8s.io/controller-runtime`, and manually updating `install-dependencies.sh`.
`kubebuilder` no longer installed.
* Add workflow for helm chart; Add workflow for API docs gen; Add pre-run task for gen-helm-manifest; Add helm installation for devcontainer
* Change trigger to workflow_dispatch for helm-chart and api-docs workflows
* Add new lines at the end of files
* Update install-dependency.sh to change helm installation
Co-authored-by: Harshdeep Singh <harshdsingh@microsoft.com>
Co-authored-by: Matthew Christopher <matthchr@microsoft.com>
* Add support for doc.go file creation in code generator; Add doc.go files for CRDs
* Add doc generation task and script
* Add api docs; Add api docs templates
* Add doc.go for v2/api/resources
Co-authored-by: Harshdeep Singh <harshdsingh@microsoft.com>
* Add E2E test infrastructure
* Add a single test to this infrastructure to showcase its use.
* E2E tests (in Kind) are run as part of CI on each PR.
* Give CI job access to creds
* Support ok-to-test workflow
We should present the docs in a format that they are nice to read on GitHub Pages.
![preview image of website](https://user-images.githubusercontent.com/12575/137663893-17a89af8-5713-4a7b-81d7-b71ef49ee7b4.png)
### TODO list (after merge)
- [x] ~~Note that build is expected to fail at the moment until links are fixed.~~
- [ ] Set up GitHub Pages.
- [ ] Publish to GitHub Pages on master merge.
- [ ] Get a better design.
### Open questions
- Do we want to include design docs/decision records? (I think yes, I have put them at the bottom of the list)
- Do we want to move the README/setup instructions to the site and have the GitHub README be more minimal? (probably?)