diff --git a/kubernetes/main/apps/network/external-dns/cloudflare/dnsendpoint-crd.yaml b/kubernetes/main/apps/network/external-dns/cloudflare/dnsendpoint-crd.yaml deleted file mode 100644 index 9254f89d1ebde..0000000000000 --- a/kubernetes/main/apps/network/external-dns/cloudflare/dnsendpoint-crd.yaml +++ /dev/null @@ -1,93 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.5.0 - api-approved.kubernetes.io: "https://github.com/kubernetes-sigs/external-dns/pull/2007" - creationTimestamp: null - name: dnsendpoints.externaldns.k8s.io -spec: - group: externaldns.k8s.io - names: - kind: DNSEndpoint - listKind: DNSEndpointList - plural: dnsendpoints - singular: dnsendpoint - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: DNSEndpointSpec defines the desired state of DNSEndpoint - properties: - endpoints: - items: - description: Endpoint is a high-level way of a connection between a service and an IP - properties: - dnsName: - description: The hostname of the DNS record - type: string - labels: - additionalProperties: - type: string - description: Labels stores labels defined for the Endpoint - type: object - providerSpecific: - description: ProviderSpecific stores provider specific config - items: - description: ProviderSpecificProperty holds the name and value of a configuration which is specific to individual DNS providers - properties: - name: - type: string - value: - type: string - type: object - type: array - recordTTL: - description: TTL for the record - format: int64 - type: integer - recordType: - description: RecordType type of record, e.g. CNAME, A, SRV, TXT etc - type: string - setIdentifier: - description: Identifier to distinguish multiple records with the same name and type (e.g. Route53 records with routing policies other than 'simple') - type: string - targets: - description: The targets the DNS record points to - items: - type: string - type: array - type: object - type: array - type: object - status: - description: DNSEndpointStatus defines the observed state of DNSEndpoint - properties: - observedGeneration: - description: The generation observed by the external-dns controller. - format: int64 - type: integer - type: object - type: object - served: true - storage: true - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/kubernetes/main/apps/network/external-dns/cloudflare/helmrelease.yaml b/kubernetes/main/apps/network/external-dns/cloudflare/helmrelease.yaml index ff9399c0366da..18d1199b9dced 100644 --- a/kubernetes/main/apps/network/external-dns/cloudflare/helmrelease.yaml +++ b/kubernetes/main/apps/network/external-dns/cloudflare/helmrelease.yaml @@ -15,10 +15,12 @@ spec: name: external-dns namespace: flux-system install: + crds: CreateReplace remediation: retries: 3 upgrade: cleanupOnFail: true + crds: CreateReplace remediation: strategy: rollback retries: 3 diff --git a/kubernetes/main/apps/network/external-dns/cloudflare/kustomization.yaml b/kubernetes/main/apps/network/external-dns/cloudflare/kustomization.yaml index 31fe873ba644e..4eed917b96fa1 100644 --- a/kubernetes/main/apps/network/external-dns/cloudflare/kustomization.yaml +++ b/kubernetes/main/apps/network/external-dns/cloudflare/kustomization.yaml @@ -3,6 +3,5 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - - ./dnsendpoint-crd.yaml - ./externalsecret.yaml - ./helmrelease.yaml diff --git a/kubernetes/main/bootstrap/readme.md b/kubernetes/main/bootstrap/readme.md index 20c3716a9d6be..2729f704b6898 100644 --- a/kubernetes/main/bootstrap/readme.md +++ b/kubernetes/main/bootstrap/readme.md @@ -4,7 +4,7 @@ This is how I am bootstrapping Talos over PXE Boot using [Vyos](https://vyos.io/ ## Vyos Config -### TFTP +### TFTP Setup > [!NOTE] > My router IP address is `192.168.0.1` @@ -12,21 +12,24 @@ This is how I am bootstrapping Talos over PXE Boot using [Vyos](https://vyos.io/ ```sh set service tftp-server directory '/config/tftpboot' set service tftp-server listen-address 192.168.0.1 +``` + +### TFTP assets + +```sh curl -L -o /config/tftpboot/ipxe.efi http://boot.ipxe.org/ipxe.efi curl -L -o /config/tftpboot/undionly.kpxe http://boot.ipxe.org/undionly.kpxe -sudo chown -R tftp:tftp /config/tftpboot/ ``` -### Matchbox +### Matchbox Setup > [!NOTE] -> My container network is `192.168.254.0/24`. Configuration files under the **matchbox** dir need to go into the respected directories on Vyos. +> My container network is `192.168.254.0/24`. Configuration files under the **matchbox** dir need to go into the respected directories on Vyos: `mkdir -p /config/containers/matchbox/data/{assets,groups,profiles}` ```sh -mkdir -p /config/containers/matchbox/data/{assets,groups,profiles} set container name matchbox arguments '-address=0.0.0.0:80 -log-level=debug' set container name matchbox cap-add 'net-bind-service' -set container name matchbox image 'quay.io/poseidon/matchbox:v0.10.0' +set container name matchbox image 'quay.io/poseidon/matchbox:v0.11.0' set container name matchbox memory '0' set container name matchbox network containers address '192.168.254.12' set container name matchbox shared-memory '0' @@ -34,14 +37,19 @@ set container name matchbox volume matchbox-data destination '/var/lib/matchbox' set container name matchbox volume matchbox-data mode 'rw' set container name matchbox volume matchbox-data propagation 'private' set container name matchbox volume matchbox-data source '/config/containers/matchbox/data' -curl -L -o /config/containers/matchbox/data/assets/vmlinuz https://factory.talos.dev/image/d715f723f882b1e1e8063f1b89f237dcc0e3bd000f9f970243af59c8baae0100/v1.6.4/kernel-amd64 -curl -L -o /config/containers/matchbox/data/assets/initramfs.xz https://factory.talos.dev/image/d715f723f882b1e1e8063f1b89f237dcc0e3bd000f9f970243af59c8baae0100/v1.6.4/initramfs-amd64.xz +``` + +### Talos assets + +```sh +curl -L -o /config/containers/matchbox/data/assets/kernel-amd64 https://factory.talos.dev/image/d715f723f882b1e1e8063f1b89f237dcc0e3bd000f9f970243af59c8baae0100/v1.6.7/kernel-amd64 +curl -L -o /config/containers/matchbox/data/assets/initramfs-amd64.xz https://factory.talos.dev/image/d715f723f882b1e1e8063f1b89f237dcc0e3bd000f9f970243af59c8baae0100/v1.6.7/initramfs-amd64.xz ``` ### DHCP > [!NOTE] -> My node network is `192.168.42.0/24` +> My Kubernetes node network is `192.168.42.0/24` ```sh set service dhcp-server global-parameters 'option system-arch code 93 = unsigned integer 16;' diff --git a/kubernetes/storage/apps/network/external-dns/bind/helmrelease.yaml b/kubernetes/storage/apps/network/external-dns/bind/helmrelease.yaml index 2ab5b8385813b..0b75783f3a15f 100644 --- a/kubernetes/storage/apps/network/external-dns/bind/helmrelease.yaml +++ b/kubernetes/storage/apps/network/external-dns/bind/helmrelease.yaml @@ -9,16 +9,18 @@ spec: chart: spec: chart: external-dns - version: 1.14.3 + version: 1.14.4 sourceRef: kind: HelmRepository name: external-dns namespace: flux-system install: + crds: CreateReplace remediation: retries: 3 upgrade: cleanupOnFail: true + crds: CreateReplace remediation: strategy: rollback retries: 3