Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/appuio/machine-api-provider-cloudscale
Provider for cloudscale.ch for the OpenShift machine-api.
https://github.com/appuio/machine-api-provider-cloudscale
cloudscale-ch openshift vshn-project-ocp
Last synced: 6 days ago
JSON representation
Provider for cloudscale.ch for the OpenShift machine-api.
- Host: GitHub
- URL: https://github.com/appuio/machine-api-provider-cloudscale
- Owner: appuio
- License: bsd-3-clause
- Created: 2024-10-10T14:10:15.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2024-10-18T16:49:15.000Z (3 months ago)
- Last Synced: 2024-10-19T10:52:53.487Z (3 months ago)
- Topics: cloudscale-ch, openshift, vshn-project-ocp
- Language: Go
- Homepage:
- Size: 129 KB
- Stars: 0
- Watchers: 5
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
Awesome Lists containing this project
README
# machine-api-provider-cloudscale
Provider for cloudscale.ch for the OpenShift machine-api.
## Development
## Updating OCP dependencies
```bash
RELEASE=release-4.XX
go get -u "github.com/openshift/api@${RELEASE}"
go get -u "github.com/openshift/library-go@${RELEASE}"
go get -u "github.com/openshift/machine-api-operator@${RELEASE}"
go mod tidy# Update the CRDs required for testing on a local non-OCP cluster
make sync-crds
```### Testing on a local non-OCP cluster
```bash
# Apply required upstream CRDs
kubectl apply -k config/crdsmake run
# Apply a generic machine object that will not join a cluster
kubectl apply -f config/samples/machine-cloudscale-generic.yml
```### Testing on a Project Syn managed OCP cluster
```bash
# Switch to the openshift-machine-api namespace
yq -i '.current-context as $cc | with((.contexts[] | select(.name == $cc) | .context); .namespace = "openshift-machine-api")' ${KUBECONFIG:-$HOME/.kube/config}
# Become system:admin
yq -i '.current-context as $cc | (.contexts[] | select(.name == $cc) | .context.user) as $cu | with(.users[] | select(.name == $cu); .user.as = "system:admin")' ${KUBECONFIG:-$HOME/.kube/config}
oc whoami# Deploy nodelink controller if required
hack/deploy-nodelink-controller.sh# Generate the userData secret from the main.tf.json in the cluster catalog
./pkg/machine/userdata/userdata-secret-from-maintfjson.sh manifests/openshift4-terraform/main.tf.json | k apply -f-make run
# Apply a known working machine object
# This will join the cluster and become a worker node
# You want to update:
# - metadata.labels["machine.openshift.io/cluster-api-cluster"]
# - spec.providerSpec.value.zone
# - spec.providerSpec.value.baseDomain
# - spec.providerSpec.value.image
# - spec.providerSpec.value.interfaces[0].networkUUID
kubectl apply -f config/samples/machine-cloudscale-known-working.yml
```