diff --git a/docs/cli/add/componentversions/index.html b/docs/cli/add/componentversions/index.html index b64e564c..45c0df31 100644 --- a/docs/cli/add/componentversions/index.html +++ b/docs/cli/add/componentversions/index.html @@ -1,5 +1,6 @@ componentversions | Open Component Model

Command: add

Command: clean

Command: Config File Examples

Examples for .ocmconfig files

Pointing the configuration to an existing Docker config json:

type: generic.config.ocm.software/v1
+configurations:
+  - type: credentials.config.ocm.software
+    repositories:
+      - repository:
+          type: DockerConfig/v1
+          dockerConfigFile: "~/.docker/config.json"
+          propagateConsumerIdentity: true
+

Pointing to an existing Docker config json and configure two additional consumers +for a Github repository and a Helm chart repository. +Caching for OCM component versions is switched on. +A key pair for signing / verifiying OCM component versions has been configured, too.

type: generic.config.ocm.software/v1
+configurations:
+  - type: credentials.config.ocm.software
+    consumers:
+      - identity:
+          type: HelmChartRepository
+          hostname: my.repository.mycomp.com
+          pathprefix: artifactory/myhelm-repo
+          port: "443"
+        credentials:
+          - type: Credentials
+            properties:
+              username: myuser
+              password: 8eYwL5Ru44L6ZySyLUcyP
+      - identity:
+          type: Github
+          hostname: github.com
+        credentials:
+          - type: Credentials
+            properties:
+              token: ghp_QRP489abcd1234A9q3x17a8BlD42kabv65
+    repositories:
+      - repository:
+          type: DockerConfig/v1
+          dockerConfigFile: ~/.docker/config.json
+          propagateConsumerIdentity: true
+  - type: attributes.config.ocm.software
+    attributes:
+      cache: ~/.ocm/cache
+  - type: keys.config.ocm.software
+    privateKeys:
+      sap.com:
+        path: /Users/myuser/.ocm/keys/mycomp.com.key
+    publicKeys:
+      sap.com:
+        path: /Users/myuser/.ocm/keys/mycomp.com.pub
+
+ + + \ No newline at end of file diff --git a/docs/cli/configfile/index.html b/docs/cli/configfile/index.html new file mode 100644 index 00000000..c02a3ac3 --- /dev/null +++ b/docs/cli/configfile/index.html @@ -0,0 +1,13 @@ +Config file | Open Component Model

Config file

Description

The command line client supports configuration using a configuration file. +If existent, by default, the file $HOME/.ocmconfig will be read. +Using the option –config an alternative file can be specified.

Configuration File Syntax

For a detailed description of the configuration file structure and all possible attributes see

Examples

+ + + \ No newline at end of file diff --git a/docs/cli/configfile/index.xml b/docs/cli/configfile/index.xml new file mode 100644 index 00000000..09c9e25d --- /dev/null +++ b/docs/cli/configfile/index.xml @@ -0,0 +1,3 @@ +Config file onhttps://ocm.software/docs/cli/configfile/Recent content in Config file onHugo -- gohugo.ioMon, 11 Dec 2023 10:43:19 +0000Config File Exampleshttps://ocm.software/docs/cli/configfile/examples/Mon, 11 Dec 2023 10:43:19 +0000https://ocm.software/docs/cli/configfile/examples/Examples for .ocmconfig files # Pointing the configuration to an existing Docker config json: +type: generic.config.ocm.software/v1 configurations: - type: credentials.config.ocm.software repositories: - repository: type: DockerConfig/v1 dockerConfigFile: "~/.docker/config.json" propagateConsumerIdentity: true Pointing to an existing Docker config json and configure two additional consumers for a Github repository and a Helm chart repository. Caching for OCM component versions is switched on. A key pair for signing / verifiying OCM component versions has been configured, too.Config File Syntaxhttps://ocm.software/docs/cli/configfile/sytnax/Mon, 11 Dec 2023 10:43:19 +0000https://ocm.software/docs/cli/configfile/sytnax/Configuration File Syntax # The command line client supports configuration using a configuration file. If existent, by default, the file $HOME/.ocmconfig will be read. Using the option –config an alternative file can be specified. +The file format is yaml. It uses the same type mechanism used for all kinds of typed specification in the ocm area. The file must have the type of a configuration specification. Instead, the command line client supports a generic configuration specification able to host a list of arbitrary configuration specifications. \ No newline at end of file diff --git a/docs/cli/configfile/sitemap.xml b/docs/cli/configfile/sitemap.xml new file mode 100644 index 00000000..de000d84 --- /dev/null +++ b/docs/cli/configfile/sitemap.xml @@ -0,0 +1 @@ +https://ocm.software/docs/cli/configfile/examples/2023-12-11T10:43:19+00:00weekly0.5https://ocm.software/docs/cli/configfile/sytnax/2023-12-11T10:43:19+00:00weekly0.5 \ No newline at end of file diff --git a/docs/cli/configfile/sytnax/index.html b/docs/cli/configfile/sytnax/index.html new file mode 100644 index 00000000..8a66ea98 --- /dev/null +++ b/docs/cli/configfile/sytnax/index.html @@ -0,0 +1,278 @@ +Config File Syntax | Open Component Model

Config File Syntax

Configuration File Syntax

The command line client supports configuration using a configuration file. +If existent, by default, the file $HOME/.ocmconfig will be read. +Using the option –config an alternative file can be specified.

The file format is yaml. It uses the same type mechanism used for all +kinds of typed specification in the ocm area. The file must have the type of +a configuration specification. Instead, the command line client supports +a generic configuration specification able to host a list of arbitrary configuration +specifications. The type for this spec is generic.config.ocm.software/v1.

The following configuration types are supported:

  • attributes.config.ocm.software +The config type attributes.config.ocm.software can be used to define a list +of arbitrary attribute specifications:

    +    type: attributes.config.ocm.software
    +    attributes:
    +       <name>: <yaml defining the attribute>
    +       ...
    +
  • credentials.config.ocm.software +The config type credentials.config.ocm.software can be used to define a list +of arbitrary configuration specifications:

    +    type: credentials.config.ocm.software
    +    consumers:
    +      - identity:
    +          <name>: <value>
    +          ...
    +        credentials:
    +          - <credential specification>
    +          ... credential chain
    +    repositories:
    +       - repository: <repository specification>
    +         credentials:
    +          - <credential specification>
    +          ... credential chain
    +    aliases:
    +       <name>:
    +         repository: <repository specification>
    +         credentials:
    +          - <credential specification>
    +          ... credential chain
    +
  • downloader.ocm.config.ocm.software +The config type downloader.ocm.config.ocm.software can be used to define a list +of pre-configured download handler registrations (see ocm ocm-downloadhandlers):

    +    type: downloader.ocm.config.ocm.software
    +    descrition: "my standard download handler configuration"
    +    handlers:
    +      - name: oci/artifact
    +        artifactType: ociImage
    +        mimeType:
    +        config: ...
    +      ...
    +
  • generic.config.ocm.software +The config type generic.config.ocm.software can be used to define a list +of arbitrary configuration specifications and named configuration sets:

    +    type: generic.config.ocm.software
    +    configurations:
    +      - type: <any config type>
    +        ...
    +      ...
    +    sets:
    +       standard:
    +          description: my selectable standard config
    +          configurations:
    +            - type: ...
    +              ...
    +            ...
    +

    Configurations are directly applied. Configuration sets are +just stored in the configuration context and can be applied +on-demand. On the CLI, this can be done using the main command option +–config-set <name>.

  • hasher.config.ocm.software +The config type hasher.config.ocm.software can be used to define +the default hash algorithm used to calculate digests for resources. +It supports the field hashAlgorithm, with one of the following +values:

    • NO-DIGEST
    • SHA-256 (default)
    • SHA-512
  • keys.config.ocm.software +The config type keys.config.ocm.software can be used to define +public and private keys. A key value might be given by one of the fields:

    • path: path of file with key data
    • data: base64 encoded binary data
    • stringdata: data a string parsed by key handler
    +    type: keys.config.ocm.software
    +    privateKeys:
    +       <name>:
    +         path: <file path>
    +       ...
    +    publicKeys:
    +       <name>:
    +         data: <base64 encoded key representation>
    +       ...
    +
  • logging.config.ocm.software +The config type logging.config.ocm.software can be used to configure the logging +aspect of a dedicated context type:

    +    type: logging.config.ocm.software
    +    contextType: attributes.context.ocm.software
    +    settings:
    +      defaultLevel: Info
    +      rules:
    +        - ...
    +

    The context type attributes.context.ocm.software is the root context of a +context hierarchy.

    If no context type is specified, the config will be applies to any target +acting as logging context provider, which is not a non-root context.

  • memory.credentials.config.ocm.software +The config type memory.credentials.config.ocm.software can be used to define a list +of arbitrary credentials stored in a memory based credentials repository:

    +    type: memory.credentials.config.ocm.software
    +    repoName: default
    +    credentials:
    +      - credentialsName: ref
    +        reference:  # refer to a credential set stored in some other credential repository
    +          type: Credentials # this is a repo providing just one explicit credential set
    +          properties:
    +            username: mandelsoft
    +            password: specialsecret
    +      - credentialsName: direct
    +        credentials: # direct credential specification
    +            username: mandelsoft2
    +            password: specialsecret2
    +
  • merge.config.ocm.software +The config type merge.config.ocm.software can be used to set some +assignments for the merging of (label) values. It applies to a value +merge handler registry, either directly or via an OCM context.

    +    type: merge.config.ocm.software
    +    labels:
    +    - name: acme.org/audit/level
    +      merge:
    +        algorithm: acme.org/audit
    +        config: ...
    +    assignments:
    +       label:acme.org/audit/level@v1:
    +          algorithm: acme.org/audit
    +          config: ...
    +          ...
    +
  • oci.config.ocm.software +The config type oci.config.ocm.software can be used to define +OCI registry aliases:

    +    type: oci.config.ocm.software
    +    aliases:
    +       <name>: <OCI registry specification>
    +       ...
    +
  • ocm.cmd.config.ocm.software +The config type ocm.cmd.config.ocm.software can be used to +configure predefined aliases for dedicated OCM repositories and +OCI registries.

    +   type: ocm.cmd.config.ocm.software
    +   ocmRepositories:
    +       <name>: <specification of OCM repository>
    +   ...
    +   ociRepositories:
    +       <name>: <specification of OCI registry>
    +   ...
    +
  • ocm.config.ocm.software +The config type ocm.config.ocm.software can be used to set some +configurations for an OCM context;

    +    type: ocm.config.ocm.software
    +    aliases:
    +       myrepo:
    +          type: <any repository type>
    +          <specification attributes>
    +          ...
    +    resolvers:
    +      - repository:
    +          type: <any repository type>
    +          <specification attributes>
    +          ...
    +        prefix: ghcr.io/open-component-model/ocm
    +        priority: 10
    +

    With aliases repository alias names can be mapped to a repository specification. +The alias name can be used in a string notation for an OCM repository.

    Resolvers define a list of OCM repository specifications to be used to resolve +dedicated component versions. These settings are used to compose a standard +component version resolver provided for an OCM context. Optionally, a component +name prefix can be given. It limits the usage of the repository to resolve only +components with the given name prefix (always complete name segments). +An optional priority can be used to influence the lookup order. Larger value +means higher priority (default 10).

    All matching entries are tried to lookup a component version in the following +order:

    • highest priority first
    • longest matching sequence of component name segments first.

    If resolvers are defined, it is possible to use component version names on the +command line without a repository. The names are resolved with the specified +resolution rule. +They are also used as default lookup repositories to lookup component references +for recursive operations on component versions (–lookup option).

  • plugin.config.ocm.software +The config type plugin.config.ocm.software can be used to configure a +plugin.

    +    type: plugin.config.ocm.software
    +    plugin: <plugin name>
    +    config: <arbitrary configuration structure>
    +    disableAutoRegistration: <boolean flag to disable auto registration for handlers>
    +
  • scripts.ocm.config.ocm.software +The config type scripts.ocm.config.ocm.software can be used to define transfer scripts:

    +    type: scripts.ocm.config.ocm.software
    +    scripts:
    +      <name>:
    +        path: <>file path>
    +      <other name>:
    +        script: <>nested script as yaml>
    +
  • transport.ocm.config.ocm.software +The config type transport.ocm.config.ocm.software can be used to define transfer scripts:

    +    type: transport.ocm.config.ocm.software
    +    recursive: true
    +    overwrite: true
    +    localResourcesByValue: false
    +    resourcesByValue: true
    +    sourcesByValue: false
    +    keepGlobalAccess: false
    +    stopOnExistingVersion: false
    +    omitAccessTypes:
    +    - s3
    +
  • uploader.ocm.config.ocm.software +The config type uploader.ocm.config.ocm.software can be used to define a list +of pre-configured download handler registrations (see ocm ocm-downloadhandlers):

    +    type: uploader.ocm.config.ocm.software
    +    descrition: "my standard download handler configuration"
    +    handlers:
    +      - name: oci/artifact
    +        artifactType: ociImage
    +        mimeType:
    +        config: ...
    +      ...
    +

Examples

Pointing to an existing Docker config json:

type: generic.config.ocm.software/v1
+configurations:
+  - type: credentials.config.ocm.software
+    repositories:
+      - repository:
+          type: DockerConfig/v1
+          dockerConfigFile: "~/.docker/config.json"
+          propagateConsumerIdentity: true
+

Pointing to an existing Docker config json and configure two additional consumers, one +for a Github repository and another for a Helm chart repository. +Caching for OCM component versions is switched on. +A key pair for signing / verifiying OCM component versions has been configured, too.

type: generic.config.ocm.software/v1
+configurations:
+  - type: credentials.config.ocm.software
+    consumers:
+      - identity:
+          type: HelmChartRepository
+          hostname: my.repository.mycomp.com
+          pathprefix: artifactory/myhelm-repo
+          port: "443"
+        credentials:
+          - type: Credentials
+            properties:
+              username: myuser
+              password: 8eYwL5Ru44L6ZySyLUcyP
+      - identity:
+          type: Github
+          hostname: github.com
+        credentials:
+          - type: Credentials
+            properties:
+              token: ghp_QRP489abcd1234A9q3x17a8BlD42kabv65
+    repositories:
+      - repository:
+          type: DockerConfig/v1
+          dockerConfigFile: ~/.docker/config.json
+          propagateConsumerIdentity: true
+  - type: attributes.config.ocm.software
+    attributes:
+      cache: ~/.ocm/cache
+  - type: keys.config.ocm.software
+    privateKeys:
+      sap.com:
+        path: /Users/myuser/.ocm/keys/mycomp.com.key
+    publicKeys:
+      sap.com:
+        path: /Users/myuser/.ocm/keys/mycomp.com.pub
+
+ + + \ No newline at end of file diff --git a/docs/cli/create/componentarchive/index.html b/docs/cli/create/componentarchive/index.html index 08c7cb25..8715ec5e 100644 --- a/docs/cli/create/componentarchive/index.html +++ b/docs/cli/create/componentarchive/index.html @@ -1,5 +1,6 @@ componentarchive | Open Component Model

Command: create

\ No newline at end of file diff --git a/docs/cli/describe/index.html b/docs/cli/describe/index.html index 4997ceda..29da50c4 100644 --- a/docs/cli/describe/index.html +++ b/docs/cli/describe/index.html @@ -1,5 +1,5 @@ describe | Open Component Model

Command: describe

Command: download

Command: get

Command Line Client

Command: show

Command: sign

Command: transfer

Command: verify

+
\ No newline at end of file diff --git a/docs/component-descriptors/version-2/index.html b/docs/component-descriptors/version-2/index.html index 8956b302..adae0fc5 100644 --- a/docs/component-descriptors/version-2/index.html +++ b/docs/component-descriptors/version-2/index.html @@ -3,7 +3,8 @@ ocm componentversion get --repo ghcr.io/phoban01/ocm github.com/weaveworks/weave-gitops -oyaml meta: schemaVersion: v2 # component schema version component: name: github.com/weaveworks/weave-gitops # name of the component version: v1.0.0 # version of the component provider: weaveworks # component provider information repositoryContexts: # origin of this document - baseUrl: ghcr.">
+
\ No newline at end of file diff --git a/docs/controller-reference/api-reference/ocm-controller/index.html b/docs/controller-reference/api-reference/ocm-controller/index.html index 15595684..79b70694 100644 --- a/docs/controller-reference/api-reference/ocm-controller/index.html +++ b/docs/controller-reference/api-reference/ocm-controller/index.html @@ -19,7 +19,8 @@ Version Version specifies the version information for the ComponentVersion. repository Repository Repository provides details about the OCI repository from which the component descriptor can be retrieved.">
+
\ No newline at end of file diff --git a/docs/controller-reference/installation/index.html b/docs/controller-reference/installation/index.html index 48cb20a6..4caf516f 100644 --- a/docs/controller-reference/installation/index.html +++ b/docs/controller-reference/installation/index.html @@ -5,7 +5,8 @@ ocm controller install This command will install the ocm-controller in the kubernetes cluster specified by the current KUBECONFIG context. The following flags are available: Flags: -u, --base-url string the base url to the ocm-controller's release page (default "https://github.com/open-component-model/ocm-controller/releases") -c, --controller-name string name of the controller that's used for status check (default "ocm-controller") -d, --dry-run if enabled, prints the downloaded manifest file -h, --help help for install -n, --namespace string the namespace into which the controller is installed (default "ocm-system") -a, --release-api-url string the base url to the ocm-controller's API release page (default "https://api.">
+

ComponentVersion Status

Observed Generation

The ocm-controller reports an observed generation in the ComponentVersion’s .status.observedGeneration. The observed generation is the latest .metadata.generation which resulted in either a ready state, or stalled due to error it can not recover from without human intervention.

Conditions

ComponentVersion has various states during its lifecycle, reflected as Kubernetes Conditions. It can be reconciling while fetching the remote ComponentVersion or verifying signatures, it can be ready, or it can fail during reconciliation.

Component Descriptor

The status contains a reference to the component descriptor for the reconciled component version.

The following fields make up the reference:

  • name: name of the reconciled component.
  • version: version of the reconciled component.
  • extraIdentity: additional identity attributes of the reconciled component.
  • references: a list of component references.
  • componentDescriptorRef: a reference to the ComponentDescriptor Kubernetes representation.

Reconciled Version

The reconciled version status field holds the specific version that was reconciled by the ocm-controller.

Verified

\ No newline at end of file diff --git a/docs/controller-reference/ocm-controller/index.html b/docs/controller-reference/ocm-controller/index.html index 48ed0d05..1d03a760 100644 --- a/docs/controller-reference/ocm-controller/index.html +++ b/docs/controller-reference/ocm-controller/index.html @@ -1,5 +1,5 @@ OCM Controller | Open Component Model +
\ No newline at end of file diff --git a/docs/controller-reference/overview/index.html b/docs/controller-reference/overview/index.html index ab682a1e..9b4283a3 100644 --- a/docs/controller-reference/overview/index.html +++ b/docs/controller-reference/overview/index.html @@ -11,7 +11,8 @@ Handles authentication with OCM repositories, safeguarding secure access to required resources. Artifact Retrieval: Fetches artifacts from OCM repositories, gathering essential software or data necessary for deployment. Component Verification: Conducts verification of components ensuring integrity and correctness.">

Replication Controller

OCM Controller API reference v1alpha1

Packages:

delivery.ocm.software/v1alpha1

Package v1alpha1 contains API Schema definitions for the delivery v1alpha1 API group

Resource Types:

    Component

    Component gathers together reconciled information about a component.

    FieldDescription
    name
    string
    version
    string
    registry
    Registry

    ComponentSubscription

    ComponentSubscription is the Schema for the componentsubscriptions API

    FieldDescription
    metadata
    Kubernetes meta/v1.ObjectMeta
    Refer to the Kubernetes API documentation for the fields of the +

    Replication Controller

    OCM Controller API reference v1alpha1

    Packages:

    delivery.ocm.software/v1alpha1

    Package v1alpha1 contains API Schema definitions for the delivery v1alpha1 API group

    Resource Types:

      Component

      Component gathers together reconciled information about a component.

      FieldDescription
      name
      string
      version
      string
      registry
      Registry

      ComponentSubscription

      ComponentSubscription is the Schema for the componentsubscriptions API

      FieldDescription
      metadata
      Kubernetes meta/v1.ObjectMeta
      Refer to the Kubernetes API documentation for the fields of the metadata field.
      spec
      ComponentSubscriptionSpec


      interval
      Kubernetes meta/v1.Duration

      Interval is the reconciliation interval, i.e. at what interval shall a reconciliation happen. This is used to requeue objects for reconciliation in case of success as well as already reconciling objects.

      source
      OCMRepository
      destination
      OCMRepository
      component
      string
      serviceAccountName
      string
      (Optional)

      ServiceAccountName can be used to configure access to both destination and source repositories. If service account is defined, it’s usually redundant to define access to either source or destination, but diff --git a/docs/demos/index.html b/docs/demos/index.html index 09f8c218..5e3eabd6 100644 --- a/docs/demos/index.html +++ b/docs/demos/index.html @@ -1,5 +1,5 @@ Demos | Open Component Model

      + \ No newline at end of file diff --git a/docs/demos/secure-software-delivery/index.html b/docs/demos/secure-software-delivery/index.html index 65d75d96..9bb04f41 100644 --- a/docs/demos/secure-software-delivery/index.html +++ b/docs/demos/secure-software-delivery/index.html @@ -7,7 +7,8 @@ The demo environment consists of Gitea, Tekton, Flux and the OCM controller. Two Gitea organizations are created: software-provider software-consumer Provider # The provider organization contains a repository which models the podinfo application.">
      +
      \ No newline at end of file diff --git a/docs/guides/input_and_access/index.html b/docs/guides/input_and_access/index.html index d8288234..7c5d8b94 100644 --- a/docs/guides/input_and_access/index.html +++ b/docs/guides/input_and_access/index.html @@ -1,7 +1,8 @@ Input and Access Types | Open Component Model
      +
      \ No newline at end of file diff --git a/docs/overview/context/index.html b/docs/overview/context/index.html index 47a58b14..b7dc8d20 100644 --- a/docs/overview/context/index.html +++ b/docs/overview/context/index.html @@ -1,7 +1,8 @@ Context | Open Component Model
      +
      \ No newline at end of file diff --git a/docs/overview/installation/index.html b/docs/overview/installation/index.html index 2a4acf43..15e340f4 100644 --- a/docs/overview/installation/index.html +++ b/docs/overview/installation/index.html @@ -11,7 +11,8 @@ curl -s https://ocm.software/install.sh | sudo bash Building from source # Prerequisites # git make golang Installation Process # Clone the open-component-model/ocm repo: git clone https://github.">